国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python11

2019-11-06 06:58:49
字體:
來源:轉載
供稿:網友

函數

def

def用來創建函數,其中標題行由def關鍵字,函數名和參數組成,def子句剩余部分包括一個可選的文檔子串和必需的函數體。

def func_name(args): "function document" func_body
裝飾器

裝飾器指函數,它們接受函數對象,具體還是看例子吧,簡單明了

@decoTwo@decoOnedef func(args1,...): pass#上面等價于def func(args1,...):pass#func = decoTwo(decoOne(func))#以下是帶參數的@deco(args) # deco()用args做了操作并返回函數對象,返回的函數對象以func作為其參數的裝飾器def func(): pass#等價func=deco(args)(func)
參數

python支持默認參數與可變長參數,其中可變長的參數元祖要在位置和默認參數之后,帶元組的函數用法如下:

def func([args,] *args_tuple): func_body

星號操作符之后的形參作為元組傳遞給函數,元組保存了所有傳遞給函數的額外參數,如果沒有則元祖為空。在正常情況下如果函數調用與函數定義的參數不匹配會產生TypeError的異常,通過末尾增加一個可變的參數列表可以處理超出數目的參數,這些超出數目的參數會被添加到參數元組,對于不定數目或者額外集合的關鍵字,參數被放入一個字典中,同時為了區分關鍵字和非關鍵字非正式參數,使用了(**)。

>>> def func(arg1,arg2="default",*nc,**nk):... 函數式編程

lambda:用于創建匿名函數,一個完整的lambda語句代表一個表達式,這個表達式的定義體要和聲明放在一行,參數是可選的,如果使用參數,則參數通常是表達式的一部分,lambda主要用于返回可調用的函數對象,這有點類似一個函數的單行版本,起初剛準備下結論與C++的內聯類似,但看了書中下一句就發現自己想多了~~,lambda語句的目的是由于性能原因,在調用時繞過函數的棧分配,創建了一個框架對象。

lambda [arg1[,arg2,...argN]]:expression

例:

>>> a=lambda x,y=10:x+y>>> a(20)30>>> a(20,30)50>>> b=lambda *z:z>>> b(23,'adf')(23, 'adf')>>> b()()>>> b('adsf')('adsf',)
global

將全局變量的名字聲明在一個函數體內的時候,全局變量的名字會被局部變量覆蓋,因此為了明確使用一個已命名的全局變量,可以在函數體內用global聲明全局變量而無須建立新的局部變量。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明星| 峨边| 保康县| 东明县| 寿光市| 阳新县| 厦门市| 博爱县| 利津县| 江川县| 星座| 藁城市| 金寨县| 海原县| 泽普县| 江都市| 利辛县| 同心县| 固原市| 深圳市| 彭泽县| 吕梁市| 湛江市| 高碑店市| 香港 | 郴州市| 中西区| 友谊县| 鸡西市| 舞阳县| 龙州县| 秀山| 都安| 鹿邑县| 凤阳县| 浑源县| 阳新县| 惠州市| 论坛| 光山县| 丹巴县|