函數(shù)的返回對象類型是None
函數(shù)中返回對象的數(shù)目:
關鍵字參數(shù):僅僅針對函數(shù)的調(diào)用
choice()是不能直接訪問的像屋,需要導入 random 模塊和二,然后通過 random 靜態(tài)對象調(diào)用該方法。
seq -- 可以是一個列表躯护,元組或字符串
實現(xiàn)返回隨機項
random.randint()的函數(shù)原型為:random.randint(a, b)卧惜,用于生成一個指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限鲁森,參數(shù)b是上限,生成的隨機數(shù)n: a <= n <= b
在函數(shù)調(diào)用中使用*和**符號來制定元組和字典
創(chuàng)建函數(shù):
def語句
前向引用:
Python不允許在函數(shù)未聲明之前對其進行引用或調(diào)用
函數(shù)屬性:
內(nèi)部/內(nèi)嵌函數(shù):在函數(shù)體內(nèi)創(chuàng)建另一個函數(shù)振惰,只可以在函數(shù)體內(nèi)調(diào)用
函數(shù)裝飾器:
裝飾器的語法以@開頭歌溉,接著是裝飾函數(shù)的名字和可選參數(shù)
@decorator(dec_opt_args)
def func2Bdecorated(func_opt_args):
:
其實總體說起來,裝飾器其實也就是一個函數(shù)骑晶,一個用來包裝函數(shù)的函數(shù)痛垛,裝飾器在函數(shù)聲明完成的時候被調(diào)用,調(diào)用之后聲明的函數(shù)被換成一個被裝飾器裝飾過后的函數(shù)
裝飾函數(shù)的參數(shù)是被裝飾的函數(shù)對象桶蛔,返回原函數(shù)對象
有參數(shù)的和無參數(shù)的裝飾器:
@deco
def foo():pass
foo=deco(foo)
帶參數(shù)的裝飾器:
@decomaker(deco_args)
def foo():pass
sleep函數(shù):暫停執(zhí)行給定的秒數(shù)
傳遞函數(shù):
def foo():
print 'in foo()'
bar = foo
bar()
形參:
1.位置參數(shù)
2.默認參數(shù):在函數(shù)調(diào)用時沒有為參數(shù)提供值則使用預先定義的默認值
默認值讓程序的健壯性上升到極高的級別
所有必須的參數(shù)都要在默認參數(shù)之前
可變長度的參數(shù):
(1)參數(shù)以一個*號開頭的代表著一個任意長度的元組(tuple)匙头,可以接收連續(xù)一串參數(shù)
參數(shù)以兩個*號開頭的代表著一個字典,參數(shù)的形式是“key=value”仔雷,接受連續(xù)任意多個參數(shù)蹂析。語法如下:
def function_name([formal_args,] *vargs_tuple):
'function_documention_string'
function_body_suite
星號操作符之后的形參作為元組傳遞給函數(shù)(如果沒有給出額外的參數(shù)舔示,元組為空)
(2)關鍵字變量參數(shù)(字典)
關鍵字變量參數(shù)為函數(shù)定義的最后一個參數(shù)
關鍵字和非關鍵字可變長參數(shù)都有可能用在同一個函數(shù)中,只要關鍵字字典是最后一個參數(shù)并且非關鍵字元組在他前面
函數(shù)式編程:
匿名函數(shù)與lambda:
lambda [arg1[,arg2,...argN]] : expression(匿名函數(shù)电抚,不需要以標準的方式來命名)
內(nèi)建函數(shù):
過濾函數(shù)filter():每個序列元素都通過這個過濾器進行篩選惕稻,保留函數(shù)返回為真的對象。filter函數(shù)為已知的序列的每個元素調(diào)用給定布爾函數(shù)
filter()工作原理:
map()函數(shù):map函數(shù)會根據(jù)提供的函數(shù)對指定序列做映射
map(function, sequence[, sequence, ...]) -> list
當seq只有一個時蝙叛,工作原理:
當seq多于1個時:
reduce()函數(shù):
它是這樣一個過程:每次迭代俺祠,將上一次的迭代結果(第一次時為init的元素,如沒有init則為seq的第一個元素)與下一個元素一同執(zhí)行一個二元的func函數(shù)借帘。在reduce函數(shù)中蜘渣,init是可選的,如果使用肺然,則作為第一次迭代的第一個元素使用蔫缸。
reduce(func,[1,2,3])=func(func(1,2),3)
partial()函數(shù)
偏函數(shù)應用(PFA):
函數(shù)的partial應用
變量作用域:
如果名字在過程的聲明之內(nèi),它的出現(xiàn)即為過程的局部變量际起。
全局變量的特征是除非被刪除捂龄,否則它們的存活到腳本運行結束
閉包:
在內(nèi)部函數(shù)里,對在外部作用域的變量進行引用加叁,則內(nèi)部函數(shù)被認為是閉包倦沧。