中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python變量不能以數字開頭的原因是什么

發布時間:2020-10-14 16:46:12 來源:億速云 閱讀:403 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關python變量不能以數字開頭的原因是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Python變量命名規則

變量名只能包含字母、數字和下劃線。變量名可以字母或下劃線開頭,但不能以數字開頭,例如,可將變量命名為message_1,但不能將其命名為1_message。

變量名不能包含空格,但可使用下劃線來分隔其中的單詞。例如,變量名greeting_message可行,但變量名greeting message會引發錯誤。

不要將Python關鍵字和函數名用作變量名,即不要使用Python保留用于特殊用途的單詞,如print。

變量名應既簡短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

慎用小寫字母l和大寫字母O,因給他們可能被人錯看成數字1和0;

注意:應使用小寫的Python變量名。在變量名中使用大寫字母雖然不會導致錯誤,但避免使用大寫字母是個不錯的注意。

那么它為什么不能以數字開頭呢?這應該要從編譯原理的角度來解釋了吧。

這是我今天在做腳本解析時突然想到的。先來說明一下我們的這個語法解析工具,要解析的腳本很簡單,只包括了&,|,~,=,!=,()和{}等操作符。開始時采用了編譯原理的那一套,畫NFA、DFA,找出狀態然后再寫詞法分析生成Token,接著語法分析將生成的Token根據語義生成語法樹,最后求值。后來想一想,這個腳本很簡單只需要一個一個字符判斷遇到不同類型的字符就進入到不同的子函數中進行處理,同時完成詞法解析和語法分析以及求值的過程。不過無論使用那種方法都需要根據讀入的字符來判斷當前進入到哪個Token里了,這就是問題的關鍵所在。

為什么說判斷字符屬于哪個Token是關鍵呢?

假設我們取消掉了變量名定義中不能以數字開頭的限制,這時當詞法分析器進入到一個Token分析的起始狀態時,如果讀取的第一個字符為數字,那么詞法分析器是無法判斷它當前要分析的這個Token是變量名還是數字常量了。好,如果你說分析器可以根據后面的字符來判斷的話,那么如果下一個字符為字母,那么很容易就判斷出當前Token屬于變量名(我們暫且忽略保留關鍵字),但是當如果接下來的字符全都是數字那怎么辦?分析器將無法判斷,因為變量名的定義中允許數字的存在。

呵呵,上面也許說的比較繞口難于理解,用句簡單的話來講就是:當分析"123"這個字符串的時候,如果變量名允許第一個字符為數字,分析器就不知道“123”該是數值常量還是變量名了。

感謝各位的閱讀!關于python變量不能以數字開頭的原因是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福贡县| 赣榆县| 江都市| 大理市| 合阳县| 佳木斯市| 达尔| 永川市| 新巴尔虎左旗| 南阳市| 盐津县| 固阳县| 天等县| 屏山县| 彭水| 贵德县| 房产| 左贡县| 大足县| 汨罗市| 望江县| 龙口市| 平湖市| 滨海县| 桃园县| 镇巴县| 茂名市| 晋州市| 修文县| 库伦旗| 苗栗县| 延吉市| 湟源县| 瑞昌市| 革吉县| 靖宇县| 花垣县| 昂仁县| 车致| 石楼县| 锦州市|