在Python中的两个函数之间传递变量

时间:2013-11-06 16:43:48

标签: python python-3.x parameter-passing

有没有办法在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一直说:“未定义变量:随机”。

有什么想法吗?

2 个答案:

答案 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?