python函式引數後面加冒號,函式後面加箭頭

2021-10-07 09:34:20 字數 1700 閱讀 2466

python的函式注釋:

def

f(text:

str,max_len:

'int>0'=80

)->

str:

"""這個是函式的幫助說明文件,help時會顯示"""

return

true

"""函式宣告中,text:

strtext 是引數 :冒號後面 str是引數的注釋。

如果引數有預設值,還要給注釋,如下寫。

max_len:

'int>0'

=80

->str 是函式返回值的注釋。

這些注釋資訊都是函式的元資訊,儲存在f.__annotations__字典中、

需要注意,python對注釋資訊和f.__annotations__的一致性,不做檢查

不做檢查,不做強制,不做驗證!什麼都不做。

「」"函式注釋示例:

def f(ham: 42, eggs: int = 'spam') -> "nothing to see here":

print("函式注釋", f.__annotations__)

print("引數值列印", ham, eggs)

print(type(ham),type(eggs))

f(「www」)

返回資訊:

函式注釋 

引數值列印 www spam

解釋說明:

注釋的一般規則是引數名後跟乙個冒號(:),然後再跟乙個expression,這個expression可以是任何形式。
返回值的形式是 -> int,annotation可被儲存為函式的attributes。

以上屬於靜態注釋,還有一種方法叫做動態注釋

動態注釋的原理,就是在函式中或者裝飾器中動態的增加 刪除 更改 注釋內容

f.__annotations__ 是乙個字典,可以使用字典的所有操作,這樣就可以動態的更改注釋了
大多數情況,我使用的是一下方法,進行注釋說明

def foo():

""" this is function foo"""

google風格

"""this is a groups style docs.

parameters:

param1 - this is the first param

param2 - this is a second param

returns:

this is a description of what is returned

raises:

keyerror - raises an exception

「」"

rest風格

"""this is a rest style.

:param param1: this is a first param

:param param2: this is a second param

:returns: this is a description of what is returned

:raises keyerror: raises an exception

「」"

函式後面加const

類的成員函式後面加 const,表明這個函式不會對這個類物件的資料成員 準確地說是非靜態資料成員 作任何改變。在設計類的時候,乙個原則就是對於不改變資料成員的成員函式都要在後面加 const,而對於改變資料成員的成員函式不能加 const。所以 const 關鍵字對成員函式的行為作了更加明確的限定 ...

函式後面加const

類的成員函式後面加 const,表明這個函式不會對這個類物件的資料成員 準確地說是非靜態資料成員 作任何改變。在設計類的時候,乙個原則就是對於不改變資料成員的成員 函式都要在後面加 const,而對於改變資料成員的成員函式不能加 const。所以 const 關鍵字對成員函式的行為作了更加明確的限定...

c 成員函式後面加乙個冒號的含義

int a 10 char b r inta 10 charb r 但是括號賦值只能在變數定義並初始化中,不能用在變數定義之後再賦值。有的資料成員需要在建構函式調入之後 函式體執行之前,就進行初始化,比如引用資料成員 常量資料成員 物件資料成員。冒號初始化是在給資料成員分配記憶體空間時 進入函式體之...