最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python到底能不能用中文變量名?

2023-07-16 16:10 作者:Crossin的編程教室  | 我要投稿

大家好,歡迎來到 Crossin的編程教室 !

變量命名是編程中非?;A(chǔ)的一個操作。所有的編程入門書籍都會提及,所有編程學(xué)習(xí)者也都了解過。

先考考大家:以下幾個變量名,在Python哪些是可以的,哪些是不行的?

  1. age

  2. await

  3. __abc__

  4. v index

  5. player.no

  6. 2num

  7. 變量1

  8. count-2

  9. ??o??

  10. ______

  11. adfijaosdfjoadfqowenqoiqiefknyuq2ogn872u3hbasrads23jnfuyadvewnfoaoidv

命名規(guī)范

對于Python來說,變量命令規(guī)范包括以下幾點:

  1. 變量名可由字母、數(shù)字和下劃線組成,不能包含空格和其他特殊字符。

  2. 變量名必須以字母或下劃線開頭,不能以數(shù)字開頭。

  3. 變量名區(qū)分大小寫,例如 age 和 Age 是不同的變量名。

  4. 變量名不應(yīng)該與 Python 中的關(guān)鍵字(如if、else、while等)重復(fù)。

很多書籍和教程里都是上面這么說的,實際用著也沒問題。但這里就存在一個問題:

變量名里到底能不能有中文?

按照上述規(guī)則,應(yīng)該是不可以的,因為中文不屬于「字母、數(shù)字和下劃線」。

但只要你動手拿Python試一下,就會發(fā)現(xiàn)是可以運(yùn)行的:

這是怎么回事?難道那些教程都寫錯了?

是的,錯了。但也可能他們在一開始寫的時候還沒錯。

因為在Python2的早期版本中,的確是不能用中文作為變量名。不過后來早就可以了,到了Python3就全面支持了。

不僅是中文,Unicode中的其他語言文字(比如日語、俄語、泰語等)也都可以用在變量名中。但注意不是所有字符都可以,比如中文全角的標(biāo)點、emoji都不行??梢源笾吕斫鉃椋焊鞣N語言的「文字」都是可以的。

不過,是不是要真的用中文來命名,那就見仁見智了。比如你覺得在代碼中,「最大寬度」和「maxWidth」哪一個看著更舒服?

另外,中文變量名依然有可能在代碼協(xié)作和分發(fā)的過程中出現(xiàn)編碼問題。所以通過仍不鼓勵使用非 ASCII 字符作為變量名。

命名建議

除了上述必須遵守的命名規(guī)范外,變量命名還需要注意其可讀性和可維護(hù)性。

以下是一些變量命名建議:

  1. 變量名應(yīng)該具有描述性,能夠清晰地表達(dá)變量所表示的含義,且長度不應(yīng)過長。

  2. 在變量名中不應(yīng)該使用單個下劃線作為前綴,例如 _name,這種命名方式通常用于私有變量。

  3. 在變量名中不應(yīng)該使用雙下劃線作為前綴和后綴,例如 __name__,這種命名方式通常用于類的特殊方法和屬性。

回到一開始的那幾個變量名:

  1. age? ?

  2. await? ? 這是Python的語法保留字

  3. __abc__? ? 可以但不建議,這種寫法通常是用在類的魔術(shù)方法上

  4. v index? ? 不能有空格

  5. player.no? ? 如果player是一個對象,這樣可以調(diào)用其no屬性,但作為一個變量名是不行的

  6. 2num? ? 數(shù)字不能放在第一位

  7. 變量1? ? 中文是可以的

  8. count-2? ??

  9. ??o??? ? 這其實是某種語言的字母(我也不知道是哪種),所以也是可以的

  10. ______? ? 你以為這是一條分割線嗎?不,它也可以是變量,但同樣不建議

  11. adfijaosdfjoadfqowenqoiqiefknyuq2ogn872u3hbasrads23jnfuyadvewnfoaoidv? ? 太長,可以但不建議

說實話,變量命名的規(guī)則并不復(fù)雜,但寫代碼時候怎么選一個合適的變量名常常讓人糾結(jié)到頭禿。不怪有人說,有了 ChatGPT 之后,最大的好處是不用再糾結(jié)命名了。

在過往的工作和教學(xué)過程中,我經(jīng)常還見到這樣命名的,看看你有沒中槍:

  • 怎么方便怎么來:a,b,c,d,不夠了就 a1,a2,a3……

  • 拼音,全拼也就算了,還經(jīng)常拼錯,搞錯平舌翹舌,前鼻音后鼻音……更有甚者用拼音首字母,那我只能說句yyds了

你喜歡怎么命名變量?歡迎在留言區(qū)中分享。



Python到底能不能用中文變量名?的評論 (共 條)

分享到微博請遵守國家法律
全椒县| 邵武市| 博罗县| 汤原县| 阿荣旗| 班玛县| 外汇| 富川| 台湾省| 克山县| 塘沽区| 东阿县| 襄垣县| 乌拉特中旗| 长沙县| 莒南县| 苍山县| 湾仔区| 龙山县| 金堂县| 图木舒克市| 克拉玛依市| 双鸭山市| 赤壁市| 含山县| 正宁县| 泰安市| 乐业县| 岚皋县| 乌鲁木齐县| 襄汾县| 凤凰县| 同仁县| 八宿县| 台中市| 林甸县| 商丘市| 岑溪市| 勃利县| 江山市| 巴东县|