Python的詞法(一)

      我們來看看Python的詞法是什麼樣子的.首先,Python採用7-bit ASCII字符集.如果是字符串或者註釋,那麼8-bit的字符集也可以用,但是比較保險的辦法是用八進制和十六進制的轉義符.例如:"和尚",你就寫成"/u548c/u5c1a".至於怎麼轉換就不得而知了.

      運行時字符集依賴於連接到程序的I/O設備, 但通常是ASCII的超集.

      對於向後兼容,假定爲Latin-1或UTF-8都是不明智的,儘管當前的實現偏向於Latin-1, 這一點對於源程序字符集和運行字符集都是適用的.也就是說,目前沒有一致的結論.

      現在我們知道了Python的字符集,那麼Python的程序是怎麼構成的呢.一個或者多個物理行構成邏輯行,一個或者多個邏輯行構成一個Python程序.

      一個物理行由所在平臺的斷行符號結束.在Unix上, 是ASCII LF(換行)字符; 在DOS/Windows上, 是ASCII字符序列CR LF(回車加換行); 在Macintosh上, 是ASCII CR(回車)字符.

      一個邏輯行由一個或多個尾隨着顯式或隱式行連接規則的物理行構成. 顯示連接規則就是一個(/),它後面不能有註釋 (/)不能續註釋和符號.隱式連接規則就是(),[],{}中的表達式可以跨越多個物理行而不需要反斜線.隱式的行連接的後面可以跟註釋.接續行的縮進可以不考慮.空的接續行是不允許的.在隱式的接續行中是不存在NEWLINE符號的, 隱式的行連接在三重引用串(後述)也是合法的, 那種情況下不能加註釋. (複雜啊....)

      邏輯行以一個NEWLINE(新行)符號結束, 語句不能跨多個邏輯行, 除非NEWLINE在語法中允許(例如, 在複合語句的中的語句).

      Python裏面的註釋以'#'字符(不是字符串字面值的一部分)開始,結束於該物理行的結尾.如果沒有隱式的行連接, 那麼註釋就意味着該邏輯行的終止.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章