def program(n):
name = input("What is your name? >")
return name
print(name)
我有一个代码,我试图执行非常类似于此。执行时,它不会返回函数中使用的变量“name”,以便在函数外部使用该变量。为什么是这样? 顺便说一下,我是编码的新手,所以如果我犯了一个愚蠢的错误,请原谅。
答案 0 :(得分:3)
运行程序时,需要将结果(即程序中return
的任何内容分配给另一个变量)。例如:
def get_name():
name = input('Name please! ')
return name
name = get_name()
print('Hello ' + name)
Pssst ..我把你的函数参数n
带走了,因为不用于任何事情。如果你在实际程序中使用它,你应该保留它:)
进行一些更深入的解释...
在你的整洁的小函数内声明的变量一旦你出来就无法看到(虽然有一些例外,我们现在不需要进入)。如果您对它的工作原理感兴趣,那就称为“变量范围”。
答案 1 :(得分:2)
要执行函数的内容,您需要调用函数并将返回值赋给某个变量。要修复您的示例,您可以执行以下操作:
def get_name():
name = input("What is your name? >")
return name
name = get_name()
print(name)
我已将函数名称从program()
更改为get_name()
,因为program()
是函数的模糊名称。
此代码段将调用get_name()
函数并将返回值分配给变量name
。值得注意的是,函数内的name
变量实际上是与我们在函数外部分配的变量不同的变量。 注意:我已从n
删除了get_name()
参数,因为它没有被使用。