新聞中心
1. 概述
本手冊(cè)僅描述 python 編程語言,不宜當(dāng)作教程。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的南岳網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
我希望盡可能地保證內(nèi)容精確無誤,但還是選擇使用自然詞句進(jìn)行描述,正式的規(guī)格定義僅用于句法和詞法解析。這樣應(yīng)該能使文檔對(duì)于普通人來說更易理解,但也可能導(dǎo)致一些歧義。因此,如果你是來自火星并且想憑借這份文檔把 Python 重新實(shí)現(xiàn)一遍,也許有時(shí)需要自行猜測,實(shí)際上最終大概會(huì)得到一個(gè)十分不同的語言。而在另一方面,如果你正在使用 Python 并且想了解有關(guān)該語言特定領(lǐng)域的精確規(guī)則,你應(yīng)該能夠在這里找到它們。如果你希望查看對(duì)該語言更正式的定義,也許你可以花些時(shí)間自己寫上一份 —- 或者發(fā)明一臺(tái)克隆機(jī)器 ????
在語言參考文檔里加入過多的實(shí)現(xiàn)細(xì)節(jié)是很危險(xiǎn)的 —- 具體實(shí)現(xiàn)可能發(fā)生改變,對(duì)同一語言的其他實(shí)現(xiàn)可能使用不同的方式。而在另一方面,CPython 是得到廣泛使用的 Python 實(shí)現(xiàn) (然而其他一些實(shí)現(xiàn)的擁護(hù)者也在增加),其中的特殊細(xì)節(jié)有時(shí)也值得一提,特別是當(dāng)其實(shí)現(xiàn)方式導(dǎo)致額外的限制時(shí)。因此,你會(huì)發(fā)現(xiàn)在正文里不時(shí)會(huì)跳出來一些簡短的 “實(shí)現(xiàn)注釋”。
每種 Python 實(shí)現(xiàn)都帶有一些內(nèi)置和標(biāo)準(zhǔn)的模塊。相關(guān)的文檔可參見 Python 標(biāo)準(zhǔn)庫 索引。少數(shù)內(nèi)置模塊也會(huì)在此提及,如果它們同語言描述存在明顯的關(guān)聯(lián)。
1.1. 其他實(shí)現(xiàn)
雖然官方 Python 實(shí)現(xiàn)差不多得到最廣泛的歡迎,但也有一些其他實(shí)現(xiàn)對(duì)特定領(lǐng)域的用戶來說更具吸引力。
知名的實(shí)現(xiàn)包括:
CPython
這是最早出現(xiàn)并持續(xù)維護(hù)的 Python 實(shí)現(xiàn),以 C 語言編寫。新的語言特性通常在此率先添加。
Jython
Python implemented in Java. This implementation can be used as a scripting language for Java applications, or can be used to create applications using the Java class libraries. It is also often used to create tests for Java libraries. More information can be found at the Jython website.
Python for .NET
此實(shí)現(xiàn)實(shí)際上使用了 CPython 實(shí)現(xiàn),但是屬于 .NET 托管應(yīng)用并且可以引入 .NET 類庫。它的創(chuàng)造者是 Brian Lloyd。想了解詳情可訪問 Python for .NET 主頁。
IronPython
An alternate Python for .NET. Unlike Python.NET, this is a complete Python implementation that generates IL, and compiles Python code directly to .NET assemblies. It was created by Jim Hugunin, the original creator of Jython. For more information, see the IronPython website.
PyPy
An implementation of Python written completely in Python. It supports several advanced features not found in other implementations like stackless support and a Just in Time compiler. One of the goals of the project is to encourage experimentation with the language itself by making it easier to modify the interpreter (since it is written in Python). Additional information is available on the PyPy project’s home page.
以上這些實(shí)現(xiàn)都可能在某些方面與此參考文檔手冊(cè)的描述有所差異,或是引入了超出標(biāo)準(zhǔn) Python 文檔范圍的特定信息。請(qǐng)參考它們各自的專門文檔,以確定你正在使用的這個(gè)實(shí)現(xiàn)有哪些你需要了解的東西。
1.2. 標(biāo)注
句法和詞法解析的描述采用經(jīng)過改進(jìn)的 BNF 語法標(biāo)注。這包含以下定義樣式:
- name ::= lc_letter (lc_letter | "_")*
- lc_letter ::= "a"..."z"
第一行表示 name 是 lc_letter 之后跟零個(gè)或多個(gè) lc_letter 和下劃線。而 lc_letter 則是任意單個(gè) 'a' 至 'z' 字符。(實(shí)際上在本文檔中始終采用此規(guī)則來定義詞法和語法規(guī)則的名稱。)
每條規(guī)則的開頭是一個(gè)名稱 (即該規(guī)則所定義的名稱) 加上 ::=。 豎線 (|) 被用來分隔可選項(xiàng),它是此標(biāo)注中綁定程度最低的操作符。 星號(hào) (*) 表示前一項(xiàng)的零次或多次重復(fù),類似地,加號(hào) (+) 表示一次或多次重復(fù),而由方括號(hào)括起的內(nèi)容 ([ ]) 表示出現(xiàn)零次或一次 (或者說,這部分內(nèi)容是可選的)。 * 和 + 操作符的綁定是最緊密的,圓括號(hào)用于分組。 字符串字面值包含在引號(hào)內(nèi)。 空格的作用僅限于分隔形符。 每條規(guī)則通常為一行,有許多個(gè)可選項(xiàng)的規(guī)則可能會(huì)以豎線為界分為多行。
在詞法定義中 (如上述示例),還額外使用了兩個(gè)約定: 由三個(gè)點(diǎn)號(hào)分隔的兩個(gè)字符字面值表示在指定 (閉) 區(qū)間范圍內(nèi)的任意單個(gè) ASCII 字符。由尖括號(hào) (<...>) 括起來的內(nèi)容是對(duì)于所定義符號(hào)的非正式描述;即可以在必要時(shí)用來說明 ‘控制字符’ 的意圖。
雖然所用的標(biāo)注方式幾乎相同,但是詞法定義和句法定義是存在很大區(qū)別的: 詞法定義作用于輸入源中單獨(dú)的字符,而句法定義則作用于由詞法分析所生成的形符流。在下一章節(jié) (“詞法分析”) 中使用的 BNF 全部都是詞法定義;在之后的章節(jié)中使用的則是句法定義。
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:1.概述
網(wǎng)站網(wǎng)址:http://m.fisionsoft.com.cn/article/dpipphc.html


咨詢
建站咨詢
