2013-05-26 70 views
0

我正在學習python。我瞭解到每個評論都以散列「#」開頭。那麼python解釋器如何讀取這一行呢?python解釋器如何讀取charaset?

# -*- coding: utf-8 -*- 

並將字符集設置爲utf-8? (我正在使用Python 2.7.3) 預先感謝您。

回答

1

是的,這是一條評論。但是這並不意味着python不會呢看到呢。所以它顯然也可以解析它。

python實際上做的是在前兩行使用正則表達式coding[:=]\s*([-\w.]+)。最有可能的是,甚至在實際的Python解析器進入之前完成。

有關詳細信息,請參閱PEP-0263

+0

感謝您的快速響應,您可以解釋一下這個表達式:'coding [:=] \ s *([ - \ w。] +)' – daz3d

+0

是的,它匹配字符串'coding'後跟':'或'='後面跟隨隨機數量的空白,後跟一個可能包含'-'和'.'的字母數字字符串。該字符串作爲一個組被匹配,在它前面沒有「編碼」等。 http://www.debuggex.com/i/GFmypA0NPsJ9FgGU.png – ThiefMaster