我注意到Python中的某些变量名会被Vim标记为蓝色高亮,而其他变量名则不会。我对保留字的概念很熟悉,但根据this question,“str”似乎不是保留字之一。
尽管有高亮显示,但似乎并没有引起任何问题。举个简单的例子:
str = "Hello"
sfgfgf = "World"
print(str)
print(sfgfgf)
下面是Vim高亮显示的屏幕截图:
在变量定义和print语句中,str
都用蓝色高亮显示,而sfgfgf
没有,但是这段代码很高兴地打印了“Hello”和“World”。
对于“int”也是如此,而且我确信还有其他的例子(下面的代码运行起来也毫无怨言):
int = 1
intentional_or_no = 5
print(int)
print(intentional_or_no)
所以,我的问题是:
1.使用诸如“str”和“int”之类的单词作为变量名有什么问题吗?
1.如果没有,为什么Vim用蓝色突出显示它们?
3条答案
按热度按时间omhiaaxx1#
是的,您应该避免使用str作为变量,因为
A)根据变量的用途来命名变量,使您和其他人都更容易阅读代码。
和B)str()是一个转换字符串中的内容(整数,浮点数等)的函数。这就是为什么它被突出显示。
它仍然可以工作,但最好为变量使用其他名称
rm5edbpk2#
突出显示是掉毛的一部分,暗示你正在做的是不好的做法。随着你的脚本的增长,用你自己的保留字覆盖保留字将导致混乱。
例如,如果你在Python中开发了自己的“str”函数,并且在代码中的其他地方引用了“str”,你会期望使用Python函数还是你的函数?
2vuwiymt3#
要理解为什么这是不好的,请看下面的例子:
将产生:
现在,如果你写:
您将收到此错误:
本地名称会覆盖
global
或built-in
,使它们不可用,除非您引入名称空间,但这并不总是可能的。