作者:huyr830
下是看書歸納所寫。
Python語言介紹:
1. Python是一門跨平臺、開源、免費的解釋型高級動態編程語言。
2. Python支持命令式編程(How to do)、函數式編程(What to do),完全支持面向對象程序設計,擁有大量擴展庫。
3. Python也被譽為膠水語言。
膠水語言:可以把多種不同語言編寫的程序融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同應用領域的需求。
Python版本之爭:
Python目前存在2.x和3.x兩個系列的版本,互相之間不兼容。在選擇Python版本的時候,一定要先考慮清楚自己學習Python的目的是什么,打算做哪方面的開發,該領域或方向有哪些擴展庫可用,這些擴展庫最高支持哪個版本的Python。這些問題全部確定以后,再最終確定選擇哪個版本。
Python 2.x系列最遲將于2020年全面放棄維護和更新。
Python編程規范以及優化建議:
(1)縮進
-
類定義、函數定義、選擇結構、循環結構、with塊,行尾的冒號表示縮進的開始。
-
python程序是依靠代碼塊的縮進來體現代碼之間的邏輯關系的,縮進結束就表示一個代碼塊結束了。
-
同一個級別的代碼塊的縮進量必須相同。
-
一般而言,以4個空格為基本縮進單位。
(2)每個import語句只導入一個模塊,最好按標準庫、擴展庫、自定義庫的順序依次導入。
(3)最好在每個類、函數定義和一段完整的功能代碼之后增加一個空行,在運算符兩側各增加一個空格,逗號后面增加一個空格。
(4)盡量不要寫過長的語句。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實太長而超過屏幕寬度,最好使用續行符(line continuation character)“/”,或者使用圓括號將多行代碼括起來表示是一條語句。
(5)雖然Python運算符有明確的優先級,但對于復雜的表達式建議在適當的位置使用括號使得各種運算的隸屬關系和順序更加明確、清晰。
(6)注釋
-
以#開始,表示本行#之后的內容為注釋。
-
包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內容將被解釋器
(7)在開發速度和運行速度之間盡量取得最佳平衡。
-
內置對象運行速度最快,標準庫對象次之,用C或Fortran編寫的擴展庫速度也比較快,而純Python的擴展庫往往速度慢一些。
-
在開發項目時,應優先使用Python內置對象,其次考慮使用Python標準庫提供的對象,最后考慮使用第三方擴展庫。
(8)根據運算特點選擇最合適的數據類型來提高程序的運行效率。
-
如果定義一些數據只是用來頻繁遍歷,最好優先考慮元組或集合。
-
如果需要頻繁地測試一個元素是否存在于一個序列中并且不關心其位置,盡量采用字典或者集合。
-
列表和元組的in操作的時間復雜度是線性的,而對于集合和字典卻是常數級的,與問題規模幾乎無關。
(9)充分利用關系運算符以及邏輯運算符and和or的惰性求值特點,合理組織條件表達式中多個條件的先后順序,減少不必要的計算。
(10)充分利用生成器對象或類似迭代對象的惰性計算特點,盡量避免將其轉換為列表、元組等類型,這樣可以減少對內存的占用,降低空間復雜度。
(11)減少內循環中的無關計算,盡量往外層提取。
編輯:hfy
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
Python與Java都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常適合初學者。
發表于 11-15 09:31
?382次閱讀
在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現請求的轉發、緩存、負載均衡以及安全控制等功能。Python作為一種功能強大的編程語言,為提
發表于 11-12 07:23
?209次閱讀
Python作為一種高級編程語言,提供了多種并發編程的方式,其中多線程與多進程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進程的概念、區別
發表于 10-23 11:48
?446次閱讀
)請求包,然后等待目標主機返回響應包,從而測量網絡的延遲和丟包情況。隨著Python編程語言的廣泛應用,越來越多的網絡工程師開始使用Python進行自動化網絡測試和管理任務。本篇文章將詳細介紹如何使用
發表于 08-12 17:56
?565次閱讀
在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而
發表于 08-01 15:27
?2134次閱讀
Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python
發表于 07-24 10:41
?606次閱讀
Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括機器學習、深度學習、自然語言處理、
發表于 07-19 17:16
?1241次閱讀
的。以下是對OpenCV和OpenCV-Python的比較: 編程語言: OpenCV是一個跨平臺的庫,支持多種編程語言,如C++、Java、Python等。而OpenCV-
發表于 07-16 10:38
?1308次閱讀
提供了許多有用的功能,如代碼自動完成、調試和版本控制等。您可以從JetBrains的官方網站下載PyCharm,并根據您的需求選擇免費社區版或付費專業版。 創建一個新的Python項目 打開
發表于 07-11 10:11
?907次閱讀
。 為什么使用Python? Python是一種廣泛使用的高級編程語言,以其易讀性和易用性而聞名。Python擁有強大的庫,如TensorFlow、Keras和PyTorch,這些庫提
發表于 07-02 09:58
?432次閱讀
近日,華為云正式發布CodeArts IDE for Python,這是一款內置華為自主創新的Python語言服務,提供智能編程、靈活調試能力的可擴展桌面開發工具,為華為云開發者提供卓越Pyt
發表于 05-08 14:58
?525次閱讀
不僅是谷歌的一名員工,還擔任著Python指導委員會的重要職務,并主導了Python 3.12和3.13版本的發布。
發表于 05-08 11:24
?525次閱讀
近日,谷歌Python工程師Thomas Wouters在社交媒體上透露,谷歌對其Python團隊進行了架構調整,整個團隊被解散。這一變動可能源于公司的成本優化策略,涉及團隊重組和裁員。
發表于 05-06 10:50
?630次閱讀
許多行業的工程師都使用自動化來擴展其測試儀器的功能,而大多是選擇免費的編程語言——Python來完成。作為適用于自動化的主要編程語言,Python具備許多顯著優勢
發表于 03-15 14:31
?2473次閱讀
Python智能家居系統是一種基于Python編程語言開發的智能家居控制系統,在現代家庭中得到了越來越廣泛的應用。本文將詳細介紹Python智能家居系統的代碼實現,包括系統的結構與功能
發表于 01-25 09:46
?1416次閱讀
評論