Python函式引數中的冒號與箭頭

2021-10-07 19:58:35 字數 934 閱讀 6728

在一些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 後面的冒號,表示後面定義的所有成員都是公有...