国产探花免费观看_亚洲丰满少妇自慰呻吟_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聲明全局變量而無須建立新的局部變量。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 酒泉市| 雷州市| 龙泉市| 治多县| 临漳县| 新源县| 阜新| 南和县| 怀集县| 玉龙| 乌拉特中旗| 高安市| 扎兰屯市| 九寨沟县| 滨海县| 长寿区| 延川县| 威远县| 许昌市| 鹰潭市| 襄城县| 甘泉县| 衡水市| 桐梓县| 永和县| 武城县| 怀化市| 绥江县| 布拖县| 九寨沟县| 江门市| 衡阳县| 瑞金市| 正定县| 黑龙江省| 玉龙| 玉树县| 长宁县| 平顶山市| 定边县| 永登县|