我试图使用返回功能,我是python的新手,但这是我似乎无法理解的事情之一。
在我的作业中,我必须将每个任务放在一个函数中,以便于阅读和理解,但是例如我在函数中创建一个随机生成的数字,然后我需要在不同的函数中生成相同的数字,我相信这可以做到的唯一方法是返回数据。 例如,我有一个生成随机数的函数:
def generate():
import random
key = random.randint(22, 35)
print(key)
但如果我需要使用变量' key'再一次在不同的函数中保存相同的随机数,它不会工作,因为它没有在新函数中定义。
def generate():
import random
key = random.randint(22, 35)
print(key)
def number():
sum = key + 33
那么我如何返回数据(如果这是您需要使用的)以使其起作用?
答案 0 :(得分:1)
return的用法表示你的方法将某些东西“返回”回叫它的东西。所以,你想要在你的方法中做的只是添加一个return(key):
# 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
调用generate时,请执行以下操作:
result_of_generate = generate()
如果您希望在数字方法中使用它,您实际上可以简单地执行此操作:
def number():
key = generate()
sum = key + 33
如果你必须返回总和,那么再次在方法中使用与generate方法类似的返回。
答案 1 :(得分: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
返回密钥。