Sublime Text为何特殊高亮Python方法中的非保留字self?
Sublime Text中
self特殊高亮的原因 这个现象和Python语言本身的语法规则无关,完全是Sublime Text编辑器侧的语法高亮设计导致的:
- Sublime Text默认搭载的Python语法高亮规则,没有完全照搬Python官方的保留关键字列表做颜色匹配,而是结合Python社区长期形成的编码惯例做了额外的规则扩展。
- 规则中专门给类实例方法的第一个约定参数
self、类方法的第一个约定参数cls分配了独立的语法作用域标签,配色方案会给这个作用域的文本分配特殊的显示颜色(也就是你看到的红色),和内置关键字、特殊常量的高亮逻辑对齐,目的是让开发者扫代码的时候能快速识别方法上下文,区分普通函数、实例方法、类方法,降低读代码的辨识成本。 - 当你把第一个参数名改成
this这类不符合社区约定的名字时,语法规则匹配不到对应的特殊作用域标签,文本就会按照普通函数参数的默认样式渲染,也就是你看到的普通白色。
补充说明:这个高亮逻辑完全不影响代码实际运行,Python解释器只会按照参数位置把实例/类对象绑定到方法的第一个参数上,不管你给这个参数起什么名字都能正常执行。如果不喜欢这个高亮效果,可以自行修改Python语法定义文件中的匹配规则,或者调整配色方案中对应作用域的颜色配置。
内容的提问来源于stack exchange,提问作者Amir Valizadeh
相关产品推荐
相关产品推荐

