python-标识符(Identifiers)和关键字(keywords)


标识符:Identifiers
 
定义:
identifier ::= (letter|"_") (letter | digit | "_")*
letter ::= lowercase | uppercase
lowercase ::= "a"..."z"
uppercase ::= "A"..."Z"
digit ::= "0"..."9"

 

翻译成中文就是:
  标识符必须以字母(大小写均可)或者"_"开头,接下来可以重复0到多次(字母|数字|"_")
 
特点:
  1.没有长度限制
  2.区分大小写
 
用处:
  用于作为变量,函数名,类名,方法名等
 

关键字:keywords
 
定义:
  关键字其实就是python内部已经使用了的标识符,如果使用这些关键字,将会覆盖python内置的功能,可能会导致无法预知的错误。
 
包括:
and

del

from not while
as elif global or with
assert else if pass yield
break except import print  
class exec in raise  
continue finally is return  
def for lambda try  
 
 
  以上关键字必须准确拼写,因为python是区分大小写的。
 
版本差异:
 
版本2.4 中的变化:None成为一个常量并且被编译器识别为内建对象None的名字。尽管不是关键字,你也不可以给它赋值一个不同的对象。
 
版本2.5 中的变化:使用as和with作为标识符会引发警告。要使用它们作为关键字,需启用with_statement这个未来特性。
 
版本2.6 中的变化:as和with成为真正的关键字。
 

保留的标识符(或者说是有特殊含义的标识符):
 
_*
  不会被  from module import * 导入,也就是说模块中以"_"开头的函数或者类将不会被 * 号导入,有点私有属性的感觉,当然显式导入应该是没有问题的。
 
  在交互式解释器中(或者说是交互模式中)"_"存储的是上一次计算的结果。
 
__*__
  多为魔法方法,在不清楚自己做了什么的时候不应该随便定义魔法方法。
 
__*
  类的私有变量,或者说是对象的私有属性,它改变了属性访问的入口,防止了在继承过程中的属性冲突。但进行私有化时,例如类里面的一个变量 __name ,其访问入口在类里面还是 __name,但在类的外部的时候,将变成 对象._类名__name 。这里的对象可以是类对象也可以是类的实例,当是类里面的变量时,两个对象都能够访问到这个属性;当这是实例的属性时,例如self.__name,将只有实例对象能进行访问。
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM