如何将Python变量设置为'undefined'?

Duk*_*gal 16 python variables python-3.x

在Python 3中,我有一个以"undefined"开头的全局变量.

然后我把它设置为某种东西.

有没有办法将该变量返回到"未定义"状态?

@martijnpieters

编辑 - 这显示了全局变量如何在未定义的状态下启动.

Python 2.7.5+ (default, Feb 27 2014, 19:37:08) 
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> global x
>>> x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined
>>> 
Run Code Online (Sandbox Code Playgroud)

jus*_*gel 22

您可能希望将其设置为"无".

variable = None
Run Code Online (Sandbox Code Playgroud)


Sve*_*ach 17

您可以删除全局名称x使用

del x
Run Code Online (Sandbox Code Playgroud)

Python在C或Java的意义上没有"变量".在Python中,变量只是一个可以应用于任何对象的标记,而不是一个名称可以修复一些固定的内存位置.

删除不一定会删除名称所指向的对象.

  • 请注意,如果您将其粘贴在函数中,您只会得到一个“UnboundLocalError”,除非该函数声明它使用“global x”行引用全局“x”。 (2认同)

dam*_*ois 8

如果您希望能够测试其“未定义状态”,则应将其设置为 None :

variable = None
Run Code Online (Sandbox Code Playgroud)

并测试

if variable is None: 
Run Code Online (Sandbox Code Playgroud)

如果你想清理东西,你可以删除它,del variable但这应该是垃圾收集器的任务。