Python解析器禁止以这种方式命名变量,以便分别解析数字和变量,因为命名变量1e1
会造成混乱-是数字10.0
还是变量1e1
?
“ Python,请为我输出1e1
!” -“为什么是10.0?我在那里存储了100!”
但是 变量实际上是以允许将以数字开头的字符串绑定到值的方式存储的,因为该功能在任何类型的哈希映射中均无害,因此使用此“技巧”可以实现所需的数字- 带前缀的名称变量,而不会影响解析器的可分割性。
我要说的是,从技术上讲,以这种方式命名变量 python准则,但是强烈建议不要这样做,并且通常是不必要的。使用globals
注入变量是一种非常 ,这种情况不应该是一个突出的案例。
当然,python可以使用诸如字符串之类的数字括起来*123*
,但是我相信发明python的目的是使编程更容易,而不是扩展变量命名空间的限制。
实际上,如果 必须 使用带数字标题的名称,则最好使用自己的字典,而不是globals
:
>>> number_headed_vars = {'1a': 100}
>>> number_headed_vars['1a']
100
这样,您可以创建自己的变量系统-避免滥用globals()
。