首页 > 解决方案 > 有没有办法在 Python 中定义一个作为函数内部参数的变量?

问题描述

是否可以在函数内部定义作为参数的变量?我试过这样做:

def myfunc(variable):
    variable = 5


myfunc(x)
print(x)

我期待在我的屏幕上看到数字“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

我知道可以这样做:

def myfunc():
    return 5


x = myfunc()
print(x)

但这不是我想要做的。有没有办法定义这个?

标签: pythonfunctionvariablesprintingparameters

解决方案


也许不完全是你想要的,但非常相似:

def myfunc(variable):
    globals()[variable] = 5
myfunc('x')
print(x)

话虽这么说,这是一个坏主意,除非您出于某种原因确实需要使用元编程


推荐阅读