作者:huyr830
下是看書歸納所寫。
Python語言介紹:
1. Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。
2. Python支持命令式編程(How to do)、函數(shù)式編程(What to do),完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量擴展庫。
3. Python也被譽為膠水語言。
膠水語言:可以把多種不同語言編寫的程序融合到一起實現(xiàn)無縫拼接,更好地發(fā)揮不同語言和工具的優(yōu)勢,滿足不同應(yīng)用領(lǐng)域的需求。
Python版本之爭:
Python目前存在2.x和3.x兩個系列的版本,互相之間不兼容。在選擇Python版本的時候,一定要先考慮清楚自己學(xué)習(xí)Python的目的是什么,打算做哪方面的開發(fā),該領(lǐng)域或方向有哪些擴展庫可用,這些擴展庫最高支持哪個版本的Python。這些問題全部確定以后,再最終確定選擇哪個版本。
Python 2.x系列最遲將于2020年全面放棄維護和更新。
Python編程規(guī)范以及優(yōu)化建議:
(1)縮進
- 類定義、函數(shù)定義、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、with塊,行尾的冒號表示縮進的開始。
- python程序是依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進結(jié)束就表示一個代碼塊結(jié)束了。
- 同一個級別的代碼塊的縮進量必須相同。
- 一般而言,以4個空格為基本縮進單位。
(2)每個import語句只導(dǎo)入一個模塊,最好按標(biāo)準(zhǔn)庫、擴展庫、自定義庫的順序依次導(dǎo)入。
(3)最好在每個類、函數(shù)定義和一段完整的功能代碼之后增加一個空行,在運算符兩側(cè)各增加一個空格,逗號后面增加一個空格。
(4)盡量不要寫過長的語句。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實太長而超過屏幕寬度,最好使用續(xù)行符(line continuation character)“/”,或者使用圓括號將多行代碼括起來表示是一條語句。
(5)雖然Python運算符有明確的優(yōu)先級,但對于復(fù)雜的表達式建議在適當(dāng)?shù)奈恢檬褂美ㄌ柺沟酶鞣N運算的隸屬關(guān)系和順序更加明確、清晰。
(6)注釋
- 以#開始,表示本行#之后的內(nèi)容為注釋。
- 包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內(nèi)容將被解釋器
(7)在開發(fā)速度和運行速度之間盡量取得最佳平衡。
- 內(nèi)置對象運行速度最快,標(biāo)準(zhǔn)庫對象次之,用C或Fortran編寫的擴展庫速度也比較快,而純Python的擴展庫往往速度慢一些。
- 在開發(fā)項目時,應(yīng)優(yōu)先使用Python內(nèi)置對象,其次考慮使用Python標(biāo)準(zhǔn)庫提供的對象,最后考慮使用第三方擴展庫。
(8)根據(jù)運算特點選擇最合適的數(shù)據(jù)類型來提高程序的運行效率。
- 如果定義一些數(shù)據(jù)只是用來頻繁遍歷,最好優(yōu)先考慮元組或集合。
- 如果需要頻繁地測試一個元素是否存在于一個序列中并且不關(guān)心其位置,盡量采用字典或者集合。
- 列表和元組的in操作的時間復(fù)雜度是線性的,而對于集合和字典卻是常數(shù)級的,與問題規(guī)模幾乎無關(guān)。
(9)充分利用關(guān)系運算符以及邏輯運算符and和or的惰性求值特點,合理組織條件表達式中多個條件的先后順序,減少不必要的計算。
(10)充分利用生成器對象或類似迭代對象的惰性計算特點,盡量避免將其轉(zhuǎn)換為列表、元組等類型,這樣可以減少對內(nèi)存的占用,降低空間復(fù)雜度。
(11)減少內(nèi)循環(huán)中的無關(guān)計算,盡量往外層提取。
編輯:hfy
-
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86479
發(fā)布評論請先 登錄
python入門圣經(jīng)-高清電子書(建議下載)
零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

Python Connector for InterBase連接解決方案
對比Python與Java編程語言
Python編程:處理網(wǎng)絡(luò)請求的代理技術(shù)
Python常用函數(shù)大全
Python中多線程和多進程的區(qū)別

使用Python進行Ping測試

評論