【发布时间】:2019-11-24 20:12:12
【问题描述】:
我正在尝试编写一个带有函数的 Python 脚本。
下面的代码按预期工作,它打印 3。
def function(a,b):
k = a+b
print(k)
a = 1
b = 2
function(a,b)
但是当我像这样将 print 语句移到函数之外时,它就不起作用了。
def function(a,b):
k = a+b
a = 1
b = 2
function(a,b)
print(k) # -> NameError: name 'k' is not defined
关于如何在函数中不包含 print 语句并仍然让这段代码工作的任何想法?
【问题讨论】:
-
请注意,“它不起作用”不是一个有用的问题陈述。在这种情况下,错误很明显,所以我已经为您添加了它,但是将来创建 minimal reproducible example 会很有帮助。
-
顺便说一句,在函数内部和外部都有名为
a和b的变量是不好的做法,因为 shadowing。