dft2010 发表于 2021-10-17 09:42

python 如何在一个函数里调用另一个函数的变量?

本帖最后由 dft2010 于 2021-10-17 09:44 编辑

自学python一直对函数返回值这一块很懵,函数体内是局部变量,我最近遇到了这样一个问题,不知道如何解决,脑子很乱~电脑不在身边,简单描述一下~


def a():
这个函数内,我用于循环课程列表获取课程信息,包括一些课程类型、时间、已观看时间并在此判断还有多少剩余时间未观看。

def b():
这个函数体,我用于发送课程post循环,对课程进行观看~

if __name__ == "__main__":
这个就不用说了~

我的问题是,未观看时间已经获取到了,类型是int,在a()中,现在我想在B()的while 循环时进行判断,比如剩余X秒时间,变量为d,每次心跳为15秒,那么那么我希望while i<d/15:这样对不同的视频循环,现在我不知道的是如何在B的循环中可以调用A()的变量,并让他每个视频获取一次新的值,毕竟每个视频的剩余时长是不同的,while的次数自然也就不同~~

写的有点乱,不知道大家能不能看懂~~~希望寻得帮助~谢谢~~

yzxqhdx 发表于 2021-10-17 09:50

刷课的吗?{:1_926:}

zx2000 发表于 2021-10-17 09:57

简单直白解决方法,把两个函数要访问的变量放到全局变量,函数体内用global 参数名 访问

夏日已末 发表于 2021-10-17 10:01

def a(视频名字):
    info = 获取视频信息(视频名字)
    return info

def b():
    for 视频 in 视频列表:
      info = a(视频)

我爱你H大 发表于 2021-10-17 10:23

用全局变量,或者酷炫一点写一个类,然后把你两个函数写成类方法,都需要访问的变量设置成类属性,clsxx.run()多酷炫

yinfeng520 发表于 2021-10-17 10:30

引用变量传参就行

anandyuan 发表于 2021-10-17 10:30

4楼说得对

WayneXiong 发表于 2021-10-17 11:38

1、不可变数据类型的变量用 global 关键字访问或修改
2、可变类型的变量直接可以修改
3、用返回值的方式获取
4、高大上的 class类,将两个函数都合并到一个class类里面,示例对象,直接可以访问对象里的函数内的变量

BananaProject 发表于 2021-10-17 11:39

最优解是A()返回一个字典数组,B()遍历数组,取字典值

Wxylkxy 发表于 2021-10-17 12:01

global全局变量
页: [1] 2
查看完整版本: python 如何在一个函数里调用另一个函数的变量?