在Python中的不同功能中使用相同的变量
问题描述:
我想要使用返回函数,我是新来的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
那么,如何返回数据(如果这是你需要使用的)它的工作?
答
您可以使用关键字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
返回键代替。
答
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
如果你有返回的总和,话又说回来,利用该收益在性质类似的方法到生成方法。
你提到如何在你的问题'return'中做到这一点。 –
'return key'而不是'print(key)'和'sum = generate()+ 33'而不是'sum = key + 33' –