色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python編寫代碼的時候用中文注釋程序會報錯

錢琪琛2年前18瀏覽0評論

python編寫代碼的時候用中文注釋程序會報錯?

從問題應該可以確定題主使用的是 Python 2.x 版本,而在 Python 2 版本中,最坑爹的問題莫過于編碼問題,也是困擾了無數初學者的問題。

原因分析

首先要了解的就是 Python 2 版本是使用 ASCII 作為默認編碼的,上圖是一個簡易的 ASCII 對照表,可以看到 ASCII 只包含了一些符號、數字、字母,是不包含中文字符的。所以在 Python 2 版本默認環境下運行包含中文字符的 Python 代碼的時候,就會得到一個錯誤:

SyntaxError: Non-ASCII character xxx in file, but no encoding declared.

這個錯誤翻譯過來就是“代碼沒有指定編碼(即默認的 ASCII 碼),但是存在非 ASCII 碼的字符”,猜測題主應該也是遇到的是這個錯誤吧。

解決方案

要解決這個問題其實很簡單,只需要在代碼添加一個編碼聲明就可以,可以聲明的編碼有很多種,這里不多做介紹,通常我們會使用 UTF-8 編碼。

而聲明編碼的方式有幾點要注意的:

1. 聲明要添加在代碼開頭第一行或者第二行,并且之前不可以有其他代碼。(如果第一行是代碼,第二行是聲明也是不可以的;同樣強兩行沒有代碼,第三行是聲明也是不可以的)

2. 聲明的格式為滿足一個正則表達式:

^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

這個表達式看不懂?沒關系,通常我們都會使用相同格式如下:

# coding=utf-8

或者

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

雖然使用上面的方案可以解決這個問題,但是還有更好的方案就是去學習使用 Python 3 版本,這些困擾你的問題基本上就全都沒有了。而且 Python 3 已經是現在的主流版本了,只是由于 Python 2 這個坑挖的太大了,所以才導致目前兩種版本并存。相信未來某一天,Python 2 必然會退出歷史舞臺。