從問題應該可以確定題主使用的是 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 必然會退出歷史舞臺。
這個是編碼的問題,python有非ASCLL編碼的字元時,需要新增編碼宣告。
在第一行,或者第二行新增
-*- coding: utf-80 -*-
或者
#coding=utf-8
這種問題沒遇到過,習慣第一行寫
# -*- conding:utf-8 -*-
用的python3,沒遇到過,直接用中文註釋可以的
文字文件中文,兜名字的引號後面逗號加上encoding=‘utf8’就o98k了
windows系統用encoding百呼百應,mac好像有影響
用Python3版本,Python2老掉牙了
#coding:utf-8
使用的Python2。*版本會出現不支援中文問題,建議安裝Python3。*使用。如果有特定的版本要求,建議使用pyenv建立對應版本的虛擬環境,啟用虛擬環境後再進行相關操作
英文註釋,或者拼音
用英文註釋 完美解決[捂臉]