国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南汇区| 松桃| 新余市| 江永县| 公安县| 绍兴县| 新竹市| 衡山县| 东明县| 通化市| 莱阳市| 合水县| 尚志市| 资阳市| 盐池县| 铁岭县| 巴彦县| 武威市| 成都市| 虞城县| 内丘县| 武威市| 巴林左旗| 巴林右旗| 武穴市| 武义县| 新乡市| 武平县| 涟源市| 吐鲁番市| 新余市| 高邮市| 郁南县| 彭山县| 沙坪坝区| 阜新| 临沭县| 泾川县| 江城| 梨树县| 沙河市|