add*_*add 0 python printing variables parameters function
是否可以定义作为函数内部参数的变量?我尝试这样做:
def myfunc(variable):
variable = 5
myfunc(x)
print(x)
Run Code Online (Sandbox Code Playgroud)
我期望在屏幕上看到数字“ 5”,因为我正在定义x(即5)然后进行打印。但是我得到这个NameError:
Traceback (most recent call last):
File "C:\Users\yoelc\PycharmProjects\Test\app.py", line 4, in <module>
myfunc(x)
NameError: name 'x' is not defined
Run Code Online (Sandbox Code Playgroud)
我知道可以这样做:
def myfunc():
return 5
x = myfunc()
print(x)
Run Code Online (Sandbox Code Playgroud)
但这不是我要尝试的。有没有办法定义这个?
也许不完全是您想要的,但非常相似:
def myfunc(variable):
globals()[variable] = 5
myfunc('x')
print(x)
Run Code Online (Sandbox Code Playgroud)
话虽这么说,这是一个坏主意,除非您出于某种原因确实需要使用元编程