我试着去理解一些东西
x = 10
print x
Run Code Online (Sandbox Code Playgroud)
结果将是 10
x is 10
print x
Run Code Online (Sandbox Code Playgroud)
结果将是错误 X 未定义。
x = 10
y = 10
if x == y:
print True
if x is y:
print True
Run Code Online (Sandbox Code Playgroud)
结果是:
True
True
Run Code Online (Sandbox Code Playgroud)
是否有另一种不使用等号来定义变量的方法?
你的问题很奇怪。实际上,您永远不想不使用=来分配给变量。但为了完整起见,可以通过使用globals()(或locals(),视情况而定) 来分配给新变量。
这是一种方法:
globals().__setitem__('x', 10)
Run Code Online (Sandbox Code Playgroud)
证明:
In [139]: x
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-139-401b30e3b8b5> in <module>()
----> 1 x
NameError: name 'x' is not defined
In [140]: globals().__setitem__('x', 10)
In [141]: x
Out[141]: 10
Run Code Online (Sandbox Code Playgroud)
编辑:
别乱搞locals()。酒吧里那个精神不稳定、过于狂热、醉酒的家伙会搞砸你的代码,让你说“他疯了”。
所以就别乱搞了locals()。另一方面,只需使用x = 10并保存你的理智。呸! 这篇文章对身体造成伤害