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