-1

有没有办法在 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

基本上我试图将变量 random 从 fun1 传递给 fun2。但是 Eclipse 一直说:“未定义的变量:随机”。

有任何想法吗?

4

2 回答 2

1

在函数之外(在函数定义之前),您可以random通过为其分配一些东西来声明一个实例。(例如:random = none)然后,在您希望使用它的每个功能中,它都可以使用。如有必要,您甚至可能想要包含该行

global random

在每个使用它的函数中,以便清楚地表明您正在使用全局变量。(当然,就其本质而言,使用全局变量并不容易维护,并且违背了面向对象和过程编程的实践。)

于 2013-11-06T17:26:23.730 回答
0

randomfun2首次使用时未定义:

def fun2 (bounds:tuple) -> int: 

    random = fun1 (random) # what value should be passed to fun1 here?
于 2013-11-06T16:46:09.233 回答