参数的种类:位置参数(定义几个必须填几个),可选参数(预先设置默认值)。
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新闻热点
疑难解答