關(guān)于Python腳本開頭兩行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用

#!/usr/bin/python

是用來說明腳本語言是python的

是要用/usr/bin下面的程序(工具)python,這個解釋器,來解釋python腳本,來運(yùn)行python腳本的。

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

是用來指定文件編碼為utf-8的

詳情可以參考:

PEP 0263 — Defining Python Source Code Encodings

此建議就是:

允許在Python文件中,通過文件開始處的,放在注釋中的,字符串形式的,聲明,聲明自己的python文件,用何種編碼。

由此,需要很多地方做相應(yīng)的改動,尤其是Python文件的解析器,可以識別此種文件編碼聲明。

具體如何聲明python文件編碼?

上面已經(jīng)說了,是,文件開始處的,放在注釋中的,字符串形式的,聲明。

那具體如何聲明,以什么樣的格式去聲明呢?

其實(shí)就是,你之前就見過的,這種:

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

對此格式的詳細(xì)解釋是:

1.如果沒有此文件編碼類型的聲明,則python默認(rèn)以ASCII編碼去處理
1.1如果你沒聲明編碼,但是文件中又包含非ASCII編碼的字符的話,python解析器去解析的python文件,自然就會報錯了。
2.必須放在python文件的第一行或第二行
3.支持的格式,可以有三種:
3.1帶等于號的:

最常見的,帶冒號的標(biāo)準(zhǔn)格式(大多數(shù)編輯器都可以正確識別的)

 #!/usr/bin/python

# -*- coding: <encoding name> -*-

合法的python文件編碼聲明

#!/usr/bin/python

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

import
os, sys

摘自廖雪峰的標(biāo)準(zhǔn)式開頭

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

第1行和第2行是標(biāo)準(zhǔn)注釋,第1行注釋可以讓這個hello.py文件直接在Unix/Linux/Mac上運(yùn)行,第2行注釋表示.py文件本身使用標(biāo)準(zhǔn)UTF-8編碼;

第4行是一個字符串,表示模塊的文檔注釋,任何模塊代碼的第一個字符串都被視為模塊的文檔注釋;

第6行使用author變量把作者寫進(jìn)去,這樣當(dāng)你公開源代碼后別人就可以瞻仰你的大名;

以上就是Python模塊的標(biāo)準(zhǔn)文件模板,當(dāng)然也可以全部刪掉不寫,但是,按標(biāo)準(zhǔn)辦事肯定沒錯。

后面開始就是真正的代碼部分。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容