歌者文明清理员 发表于 2023-4-7 20:39:54

打破python的变量名规则

Python 3.7.8rc1 (tags/v3.7.8rc1:5f3933d61d, Jun 17 2020, 16:59:29) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> globals()['1']=2
>>> 1
1
>>> 1
1
>>> 1
1
>>> 1
1
>>> globals)_
File "<stdin>", line 1
    globals)_
         ^
SyntaxError: invalid syntax
>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '1': 2}
>>> globals()=1
>>>

歌者文明清理员 发表于 2023-4-7 20:41:41

对于 globals() 函数,请参考 https://fishc.com.cn/thread-224416-1-1.html

liuhongrun2022 发表于 2023-4-7 20:57:46

顶顶顶

isdkz 发表于 2023-4-8 01:13:22

没用

歌者文明清理员 发表于 2023-4-8 13:01:15

isdkz 发表于 2023-4-8 01:13
没用

python不支持这些变量名的原因是,这些变量名在python中另有含义。
为什么另有含义就不行?因为python以为这是另一种语法,关键字可以是任意形式的。
if = 1
其实上面代码语法的错误并不在于“if”这个变量名,而是在于“=”。因为if后接表达式,而=不能用于表达式
页: [1]
查看完整版本: 打破python的变量名规则