參數的種類:位置參數(定義幾個必須填幾個),可選參數(預先設置默認值)。
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)get_doc
駝峰命名法 getDoc
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新聞熱點
疑難解答