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 但是括號賦值只能在變數定義並初始化中,不能用在變數定義之後再賦值。有的資料成員需要在建構函式調入之後 函式體執行之前,就進行初始化,比如引用資料成員 常量資料成員 物件資料成員。冒號初始化是在給資料成員分配記憶體空間時 進入函式體之...