有没有办法在Python中的两个函数之间传递变量而不必使用另一个函数,比如main()?
def fun1 (arg1:int) -> None:
random1 = 10 * arg1
return(random1)
def fun2 (bounds:tuple) -> int:
random2 = fun1 (random1)
if random2 > bounds [1] or random2 > bounds [2]:
return (random2)
else:
pass
基本上我正试图将变量随机从fun1传递给fun2。但Eclipse一直说:“未定义变量:随机”。
有什么想法吗?
答案 0 :(得分:1)
在函数之外(以及函数定义之前),您可以通过为其指定一些内容来声明random
的实例。 (例如:random = none
)然后,在您希望使用它的每个功能中,它都可以使用。如有必要,您甚至可能想要包含
global random
在每个使用它的函数中,以便明确表示您正在使用全局变量。 (当然,全局变量的使用本质上不易维护,并且违背面向对象和程序编程实践。)
答案 1 :(得分:0)
random
中未定义 fun2
:
def fun2 (bounds:tuple) -> int:
random = fun1 (random) # what value should be passed to fun1 here?