讓你的Python程式碼擁有型別提示
Python是一種動態型別語言,這意味著我們在編寫程式碼的時候更為自由,但是與此同時IDE無法向靜態型別語言那樣分析程式碼,及時給我們相應的提示。為了解決這個問題,Python 3.6 新增了幾個特性PEP 484和PEP 526,幫助編輯器為我們提供更智慧的提示。這些新特性不會影響語言本身,只是增加一點提示。當你使用比較智慧的開發工具比如PyCHarm時,就會感覺到型別提示的方便之處。
變數註解
首先先看看變數註解。它的語法和某些型別後置的語言類似。
# 變數註解
a: int = 5
b: bool = True
f: float = 5.0
s: str = "abc"
宣告型別之後,編輯器和IDE就會讀取到這個型別註解,然後給予我們相應的提示。程式在執行的時候行為完全不變。
如果是自己編寫的類,也可以用作變數註解。
class MyClass:
def fun1(self):
print("fun1")
me: MyClass = MyClass()
me.fun1()
對於較複雜的內建型別、泛型、生成器、自定義型別等,需要引入標準庫typing
。對於更復雜的型別,請直接參考typing標準庫文件。
from typing import TypeVar, Iterable, Tuple, Dict, List
m: Dict[int, int] = {1: 1, 2: 2}
t: Tuple[int, ...] = (1, 2, 3)
l: List[int] = [1, 2, 3, 4]
函式註解
當使用Python編寫複雜的函式時,我們常常為沒有合適的提示而苦惱。函式註解可以幫助我們解決這個問題。
def add(a: int, b: int) -> int:
return a + b
為函式新增註解之後,當我們呼叫這個函式的時候,編輯器就會給予對應的提示。當處理大型專案的時候,這個特性會很有用。
函式註解儲存在函式的__annotations__
屬性中,如果你準備編寫程式讀取它,可以使用這個屬性。
print(add.__annotations__)
相關文章
- 程式碼簽名證書,讓軟體真正擁有姓名!
- Python -型別提示 Type HintsPython型別
- [python] Python型別提示總結Python型別
- 讓你的 Python 程式碼優雅又地道Python
- 如何讓你的Python程式碼更加pythonic ?Python
- 讓你的程式碼更優雅—去掉Xcode工程中某種型別的警告XCode型別
- 讓你的程式碼更優雅---去掉Xcode工程中某種型別的警告XCode型別
- 用 PyPy 讓你的 Python 程式碼執行得更快!Python
- Python才是人工智慧AI的首選程式語言,你值得擁有……Python人工智慧AI
- 程式程式碼共同擁有,有助能力提升
- 三行Python程式碼,讓你的資料處理指令碼快別人4倍Python指令碼
- 你還在手寫TS型別程式碼嗎型別
- Python 中如何編寫型別提示Python型別
- Dockerfile你值得擁有Docker
- iOS程式猿這些工具你值得擁有iOS
- 別讓程式碼愁白頭髮!15 個 Python 函式拯救你的開發生活Python函式
- 擁有這些熱門免費API,讓你工作不犯愁API
- Pylint:讓你的 Python 程式碼保持一致Python
- 幾個小技巧讓你的Python程式碼更PythonicPython
- phpMyAdmin 你值得擁有PHP
- 讓你的設計擁有高轉化率的配色知識簡明指南
- 別讓你的偏愛拖了後腿:快擁抱箭頭函式吧!函式
- 為你的 JavaScript 專案新增智慧提示和型別檢查JavaScript型別
- PHP類方法的型別提示PHP型別
- 如何讓你的程式碼整潔漂亮
- 搭建自己的技術部落格系列(三)讓你的部落格擁有評論功能!
- DoYourData Start Menu——讓你的mac電腦擁有像Windows一樣的選單欄MacWindows
- 真!手把手讓你簡單兩步擁有Oracle 23cOracle
- 別讓你的程式碼成為別人的炮灰——《Android軟體安全與逆向分析》Android
- 加速你的 Python 程式碼Python
- 讓你的Python程式碼更乾淨只需簡單一步Python
- 帶引數的 Python 裝飾器讓你的程式碼更優雅Python
- 你的程式碼有重複嗎?
- 作為程式設計師,有沒有讓你感到既無語又崩潰的程式碼註釋?程式設計師
- python程式設計常用的資料型別有哪些?七大類!Python程式設計資料型別
- 如何快速讓你的程式碼支援Cocoapods!
- 讓你的程式碼自動格式化
- SOD讓你的舊程式碼煥發青春