在一些python的工程專案中,我們會看到函式引數中會有冒號,有的函式後面會跟著乙個箭頭,你可能會疑惑,這些都是什麼東西?
其實函式引數中的冒號是引數的型別建議符,告訴程式設計師希望傳入的實參的型別。函式後面跟著的箭頭是函式返回值的型別建議符,用來說明該函式返回的值是什麼型別。
更官方的解釋:此為type hints,是python 3.5新加的功能,作用如上所述,官方文件為
值得注意的是,型別建議符並非強制規定和檢查,也就是說即使傳入的實際引數與建議引數不符,也不會報錯。我認為型別建議符的作用更多的體現在軟體工程方面:在多人合作的時候,我們對他人開發的**並不熟悉,沒有對型別的解釋說明的話,往往需要花費更多的時間才能看出函式的引數和返回值是什麼型別,有了說明符,可以方便程式設計師理解函式的輸入與輸出(具體涉及到的工作,比如靜態分析與**重構)。
下面我們以乙個簡單的函式twosum為例,該函式計算的是兩個輸入引數的和:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
def twosum(num1: int, num2: int=100) -> int:
sum = num1 + num2
return sum
if __name__ == "__main__":
print(twosum.__annotations__)
print(twosum(1,2))
print(twosum(1))
print(twosum('i love ','arsenal'))
#print(twosum('arsenal'))
3101
i love arsenal
幾點解釋:
python函式引數後面加冒號,函式後面加箭頭
python的函式注釋 def f text str,max len int 0 80 str 這個是函式的幫助說明文件,help時會顯示 return true 函式宣告中,text strtext 是引數 冒號後面 str是引數的注釋。如果引數有預設值,還要給注釋,如下寫。max len int...
python函式引數中 與 的用法
args 表示的是把傳進來的位置引數都放在元組args中,呼叫func a,b,c 時,args a,b,c def func args if len args 0 print none else print args 有時候不確定有多少個引數,此時這種方法傳參,可能為0個也可能為n個。不管有多少個...
C 中的單冒號與雙冒號
1.單冒號 用法 1 表示機構內位域的定義 即該變數佔幾個bit空間 typedef struct 2 建構函式後面的冒號起分割作用,是類給成員變數賦值的方法,初始化列表,更適用於成員變數的常量const型。struct 3 public 和private 後面的冒號,表示後面定義的所有成員都是公有...