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

首頁 > 編程 > Python > 正文

Python中的函數

2019-11-08 01:19:18
字體:
來源:轉載
供稿:網友

總論:函數是抽象出來的結構,是方法的總結。

如何定義函數

def是關鍵詞,括號冒號永不忘,無縮進無真相。沒有return的函數,不足大丈夫。不是真函數。不寫doc的函數,就像沒有性格的人類。 def test(): "哈哈哈" #說明文檔 return 0 PRint test.__doc__ #兩個下劃線,打印說明文檔

函數的參數

參數的種類:位置參數(定義幾個必須填幾個),可選參數(預先設置默認值)。

def test1( a,b,c=4 ): #位置參數a,b;可選參數c return a,b,c #返回的是元組形式 print test1(1,2)參數的值是局部變量(作用域) 參數只在函數內部有用。在函數里面需要修改全局變量,用global定義全局變量,再進行操作。(不推薦使用)如何修改參數:最好使用返回值來修改參數值。參數中** 代表字典,*代表元組參數匹配總結 位置匹配 func(name)關鍵字匹配 func(key = value)收集匹配(***) 一般:*kargs:元組;**kwargs:字典 元組收集 func(name,arg1,arg2) 字典收集 func(name,key1=value1,key1=value2)參數匹配順序 位置匹配的參數—>關鍵字匹配的參數–>匹配的元組參數—>匹配的關鍵字參數 def dictTest(**kr): return kr print test(a = 4,c = 3,d = 6,g = 8) #打印出字典 def tupleTest(*z): return z print test1(1,3,1,4,[1,3,4]) #打印出元組 def mixTest(*z,**kr): return z,kr print test2(1,2,3,[1,2,3],a=4,b=9) def add(*num): #多個參數相加之和 d = 0 for i in num: d += i return d print add(1,2,3,4,5) print add(1,2,3) print add(2,4,6,8,1,2,3,4,12312,12314,123,123,123)

使用函數的好習慣

別管那么多復雜的,先直接把功能實現了。抽象成函數:命名規范,偽代碼,參數默認值。將函數變得更健壯,讓它可以跑很多地方,你永遠知道你的方法會返回什么(異常處理,條件判斷)測試:assert斷言;對函數的返回進行一個值和類型的測試;單元測試規范的命名方法:下劃線命名線 get_doc 駝峰命名法 getDoc

lambda表達式

lambda沒有名稱,存儲的也不是代碼塊,而是表達式,它被用作執行很小的功能,不能在里面使用條件語句。(可以當做一個簡單的函數但是沒有函數名)

d = lambda x:x+1 if x > 0 else 'error' #這個lambda表達式等價于下面的函數 def add1(x): if x > 0: return x+1 return 'error' print d(2) print d(-2) g = lambda x:[(x,i) for i in xrange(0,10)] #lambda可以使用列表推導式 print g(10) t = [1,2,3,4,5] g = filter(lambda x:x>3, t)

簡單接觸遞歸

遞歸就是調用自身

def func1(i): if i<100: return i + func1(i+1) return i print func1(0) #從0累加到99
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 井陉县| 左权县| 池州市| 宣武区| 天水市| 新沂市| 壶关县| 白城市| 山阴县| 徐汇区| 九寨沟县| 兴安县| 葫芦岛市| 个旧市| 达孜县| 乡城县| 咸丰县| 徐闻县| 班戈县| 桃源县| 洛阳市| 阳高县| 台北县| 罗江县| 西藏| 嵩明县| 和政县| 梁山县| 阿图什市| 台安县| 永德县| 城固县| 特克斯县| 德格县| 三门峡市| 兰溪市| 杂多县| 顺义区| 武山县| 海城市| 河津市|