首页 > 编程 > 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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表