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的次数自然也就不同~~
写的有点乱,不知道大家能不能看懂~~~希望寻得帮助~谢谢~~ 刷课的吗?{:1_926:} 简单直白解决方法,把两个函数要访问的变量放到全局变量,函数体内用global 参数名 访问 def a(视频名字):
info = 获取视频信息(视频名字)
return info
def b():
for 视频 in 视频列表:
info = a(视频) 用全局变量,或者酷炫一点写一个类,然后把你两个函数写成类方法,都需要访问的变量设置成类属性,clsxx.run()多酷炫 引用变量传参就行 4楼说得对 1、不可变数据类型的变量用 global 关键字访问或修改
2、可变类型的变量直接可以修改
3、用返回值的方式获取
4、高大上的 class类,将两个函数都合并到一个class类里面,示例对象,直接可以访问对象里的函数内的变量 最优解是A()返回一个字典数组,B()遍历数组,取字典值 global全局变量
页:
[1]
2