首先嘱丢,復(fù)習(xí)幾個函數(shù)的基本概念:
參數(shù)組
你可以將所有參數(shù)放到一個元組或者一個字典中晨炕,不必顯式地放倒一個函數(shù)調(diào)用中
func(*tuple_group_nonkw_args,**dict_group_kw_args)l
舉個例子绪杏,
from operator import add, sub
from random import randint, choice
ops={'+':add, '-':sub}
op=choice('+-')
nums=[3,1]
ops[op](*nums)
注意此處nums前面的星號是一定不能少的
函數(shù)屬性
句點屬性標(biāo)識保證了不同函數(shù)的名稱空間時互不干涉的
foo.x+bar.x(此處的兩個x表示對應(yīng)部不同的內(nèi)存地址进每,不同的數(shù)字)
內(nèi)嵌函數(shù)
在函數(shù)體內(nèi)創(chuàng)建另外一個函數(shù)對象
函數(shù)與方法裝飾器
修飾僅當(dāng)聲明一個函數(shù)或者方法,才會應(yīng)用的額外調(diào)用
@decorator(dec_opt_args)
def(func2Bdecorated)(fund_opt_args):
帶參數(shù)的裝飾器
裝飾器輸入?yún)?shù)旦万,返回一個函數(shù)對象谜嫉,該函數(shù)對像的參數(shù)正是被裝飾的函數(shù)
裝飾器的本質(zhì)是函數(shù)
引入日志
增加計時邏輯來檢測性能
給函數(shù)加上事物的能力
傳遞函數(shù)
Python和C的最大不同:沒有指針的概念
函數(shù)本身是可以被引用的:bar=foo
函數(shù)本身是可以被調(diào)用的:def bar(argfunc):argfunc()
Property?
簡單來說萎坷,就是使得類中的屬性既保有直接訪問的靈活性,又能夠進行合理的檢查沐兰,保持程序的健壯哆档。
相關(guān)資料可以參考下面的連接,這里不多說了