Python函数
1> Python提供了许多内建函数,例如print()2> 开发人员可以自己创建函数,这类函数叫用户自定义函数
一、内建函数
什么是内置函数? 就是python给你提供的,拿来直接⽤的函数, 比如print, input等等
1# Python官方文档中print函数2print(*object, sep=" ", end=" ", file=sys.stdout, flush=False)34# 解释 = 的参数。对参数不了解的可以先往下看参数介绍5- sep=" ":接收多个参数之后,输出时,分隔符号默认为空格," ";6- end=" ":输出行的末尾默认是换行符号 " ";7- file=sys.stdout:默认的输出对象是sys.stdout(即,用户正在使用的屏幕)
即:print个函数中有若干个具有默认值的参数,即便我们在调用这个函数的时候,就算没有指定它们,它们也存在于此。
1# 调用print函数2print("Hello", "world!")3# 等价于调用4print("Hello", "world!", sep=" ", end=" ", file=sys.stdout, flush=False)
二、自定义函数
1> 函数代码块以def关键词开头,后接函数名称和圆括号 ()。2> 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。3> 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。4> 函数内容以冒号起始,并且缩进。5> return [表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。67def 函数名(参数列表):8 函数体9 return 返回值
关于函数名称:
11. 名称不能以数字开头。能用在名称开头的有,大小写字母和下划线 _;22. 名称中不能有空格,要么使用下划线连接词汇,如:do_nothing,要么使用驼峰标识,如 :doNothing。推荐使用下划线do_nothing33. 名称不能与关键字重合45# 列出所有关键字6keyword.kwlist
创建一个自定义函数
1# 定义函数 2def printme( str ): 3 # 打印任何传入的字符串 4 print (str) 5 return 6 7# 调用函数 8printme("我要调用用户自定义函数!") 9printme("再次调用同一函数")1011# 输出12我要调用用户自定义函数!13再次调用同一函数
三、函数参数
必需参数 必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
1# 我是函数说明 2def print_str(str): 3 "打印传入的字符串" 4 print(str) 5 return 6# 调用 print_str 函数 7print_str("我是知秋小梦") 8 9# 输出10我是知秋小梦
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
1# 2# 我是函数说明 3def print_str(str): 4 "打印传入的字符串" 5 print(str) 6 return 7# 调用 print_str 函数, 8print_str(str = "我是参数") 910# 输出:11我是参数
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。
1# 我是函数说明 2def printinfo( name, age = 35 ): 3 "打印传入的字符串" 4 print ("名字: ", name) 5 print ("年龄: ", age) 6 return 7#调用printinfo函数 8printinfo(age=50, name="zhangsan" ) 9print("------------------------")10printinfo(name="lisi" )111213# 输出: 14名字: zhangsan15年龄: 5016------------------------17名字: lisi18年龄: 35
不定长参数
一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数
1#我是函数说明 2def printinfo(arg1, *vartuple ): 3 "打印传入的参数" 4 print (arg1) 5 print (vartuple) 6# 调用printinfo 函数 7printinfo( 70, 60, 50 ) 8 910# 输出: 117012(60, 50)
四、匿名函数
python 使用 lambda 来创建匿名函数。lambda [arg1 [,arg2,…..argn]]:expression
注:
1# lambda 的语法结构 2lambda_expr ::= "lambda" [parameter_list] ":" expression 3 4# 下面是用 lambda 关键字写函数: 5add = lambda x, y: x + y 6add(3, 5) 7 8# 等价于自定义函数 9def add(x, y):10 return x + y11add(3, 5)1213# lambda使用场景14a_list = [1, 2, 3, 4, 5, 6]15a_list1617b_list = list(map(lambda x: x * 2, a_list))18b_list1920# 输出:21[1, 2, 3, 4, 5, 6]22[2, 4, 6, 8, 10, 12]
函数中注意参数和返回值,额外需要注意自定义函数名称不能与关键字相同,且Python函数可以返回多个不同类型的值。函数的使用可以减少很多重复代码,注意活学活用!
End.
爱数据网专栏作者:xiaoyi
作者介绍:数据分析从业者,金融风控爱好者,不定期原创技术分享,努力成为数据分析、金融风控领域的终身学习者、实践者、传播者
个人微信公众号:小一的学习笔记(ID:xiaoyi_learning)
本文为挖数网专栏作者原创文章,未经允许禁止转载,需要转载请微信联系授权(微信号:lovedata0520)
- 我的微信公众号
- 微信扫一扫
- 我的微信公众号
- 微信扫一扫
评论