2015-09-26 146 views
-2

我想要使用返回函数,我是新来的Python,但它是我似乎不明白的东西之一。在Python中的不同功能中使用相同的变量

在我的任务中,我必须把每个任务放在一个函数中,以便更容易阅读和理解,但例如我在一个函数中创建一个随机生成的数字,然后我需要在不同的函数中生成相同的数字,相信这可以做的唯一方法是通过返回数据。 比如这里我有一个函数产生一个随机数:

def generate(): 
    import random 
    key = random.randint(22, 35) 
    print(key) 

但是,如果我需要使用变量“钥匙”又掌握着不同的功能相同的随机数,它不会因为它的工作没有在新功能中定义。

def generate(): 
    import random 
    key = random.randint(22, 35) 
    print(key) 

def number(): 
    sum = key + 33 

那么,如何返回数据(如果这是你需要使用的)它的工作?

+1

你提到如何在你的问题'return'中做到这一点。 –

+0

'return key'而不是'print(key)'和'sum = generate()+ 33'而不是'sum = key + 33' –

回答

0

您可以使用关键字global告诉你从外部作用域引用变量generate功能:

import random 
key = None 

def generate(): 
    global key 
    key = random.randint(22, 35) 
    print key 

def number(): 
    print key + 33 

# test 
generate() 
number() 

不过,我会建议避免这种从generate返回键代替。

1

return的用法指示你的方法把'返回'返回给任何称之为的东西。所以,你想例如在你的方法做的是简单地增加一个回报(键):

# Keep your imports at the top of your script. Don't put them inside methods. 
import random 

def generate(): 
    key = random.randint(22, 35) 
    print(key) 
    # return here 
    return key 

当你调用生成,这样做:

result_of_generate = generate()

如果你正在寻找在你的电话号码的方法使用它,你其实可以简单地这样做:

def number(): 
    key = generate() 
    sum = key + 33 

如果你有返回的总和,话又说回来,利用该收益在性质类似的方法到生成方法。

相关问题