我正在尝试使用函数编写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语句并仍然使此代码正常工作的任何想法?
答案 0 :(得分:4)
{
"extends": ["airbnb", "prettier", "prettier/react"],
"plugins": ["prettier"],
"parser": "react-scripts/node_modules/babel-eslint"
}
是在函数内部定义的局部变量。
案例1:只需将其退回:
k
案例2:使其全球化:
def function(a,b):
k = a+b
return k # just return, does not make it global
a = 1
b = 2
k = function(a,b)
# 3
print(k) # variable was returned by the function
请阅读更多here
答案 1 :(得分:4)
而不是设置全局变量(全局变量通常很糟糕),为什么不返回并打印结果?
类似
def function(a,b)
return a+b
print(function(1,2))