您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Python中如何使用中文變量名,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Python3.x 已經(jīng)支持全面 Unicode 編碼,比如支持使用中文作為變量名。
>>> 姓名 ="Python貓" >>> print(f"我是{姓名},歡迎關(guān)注!") 我是Python貓,歡迎關(guān)注!
由于我手頭上沒有其它樣本,所以,我不確定有多少新版的書籍還在使用老的規(guī)則。但是,翻譯類的書籍大概率都會(huì)有這樣的問題,另外,有些不嚴(yán)謹(jǐn)?shù)膰鴥?nèi)書籍,也可能因?yàn)榻梃b了過時(shí)的材料而犯錯(cuò)。
如此一來,恐怕有些新接觸 Python 的同學(xué),就會(huì)形成錯(cuò)誤的認(rèn)識(shí)。雖然這可能不會(huì)造成嚴(yán)重的問題,但是它終歸是一個(gè)應(yīng)該避免而且很容易就能避免的問題。
因此,我覺得這個(gè)話題值得聊一聊。
在編程語言中有一個(gè)很常見的概念,即標(biāo)識(shí)符(identifier),通常又會(huì)稱之為名字(name),用于標(biāo)識(shí)出變量、常量、函數(shù)、類、符號(hào)等實(shí)體的名字。
在定義標(biāo)識(shí)符時(shí),有一些必須要考慮的基本規(guī)則:
它可以由哪些字符組成?
它是否區(qū)分大小寫?(即大小寫敏感)
它是否允許出現(xiàn)某些特殊的單詞?(即關(guān)鍵字/保留字)
對(duì)于第一個(gè)問題,大多數(shù)的編程語言在早期版本都遵循這條規(guī)則:標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且不能以數(shù)字為開頭。 少數(shù)的編程語言有例外,還支持使用$、@、%等特殊符號(hào)(例如PHP、Ruby、Perl等等)。
Python 的早期版本,確切地說是 3.0 之前的版本,就遵循以上的命名規(guī)則。下面是官方文檔中的描述:
identifier ::= (letter|"_") (letter | digit | "_")* letter ::= lowercase | uppercase lowercase ::= "a"..."z" uppercase ::= "A"..."Z" digit ::= "0"..."9"
出處:https://docs.python.org/2.7/reference/lexical_analysis.html#identifiers
但是,這條規(guī)則從 3.0 版本起,就被打破了。最新的官方文檔已經(jīng)變成了這樣:
出處:https://docs.python.org/3/reference/lexical_analysis.html#identifiers
隨著互聯(lián)網(wǎng)的普及,各國語言進(jìn)入了國際化的語境中,編程語言也與時(shí)俱進(jìn)地增長了對(duì)國際化的訴求。
Unicode(譯作統(tǒng)一碼、萬國碼)編碼標(biāo)準(zhǔn)在 1994 年發(fā)布,隨后逐步被主流的編程語言所接納。到目前為止,至少有 73 種編程語言支持 Unicode 變量名(數(shù)據(jù)依據(jù):https://rosettacode.org/wiki/Unicode_variable_names)。
2007 年,當(dāng) Python 正在設(shè)計(jì)劃時(shí)代的 3.0 版本時(shí),官方也考慮了對(duì) Unicode 編碼的支持,于是,誕生了重要的《PEP 3131 -- Supporting Non-ASCII Identifiers》。
出處:https://www.python.org/dev/peps/pep-3131
事實(shí)上,除了我們最關(guān)心的中文,Unicode 字符集還包含非常非常多的內(nèi)容。
在對(duì)變量命名時(shí),下面這些用法都是可行的(謹(jǐn)慎使用,如若被打,本貓概不負(fù)責(zé)……):
>>> ψ = 1 >>> Δ = 1 >>> ?_? = "hello"
上述就是小編為大家分享的Python中如何使用中文變量名了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。