函数基础
一、什么是函数
函数是在开发语言中根据需求,实现定制好的用来实现某种功能。之后,在遇到应用场景时可以直接调用函数。
二、函数的分类
函数分为两类:
1、内置函数:为了方便开发,针对一些简单功能,Python解释器已经为我们定义好了的函数就是内置函数。
对于内置函数我们可以不用实现定义就可以使用。如:len() sum() join()等
2、自定义函数: 内置函数提供的功能是有限的,所以需要我们根据自身需求来事先定义函数来实现某种功能,之后再遇到其他应用场景时可以直接调用。
三、如何自定义函数
#语法 def 函数名(参数1,参数2,参数3......) ‘‘‘ 注释 ‘‘‘ 函数体 return 返回值 # 函数名最好能够反映其意义
def test(x): ‘‘‘ 2*x+1 :param x:整形数字 :return: 返回计算结果 ‘‘‘ y=2*x+1 return y
四、函数的返回值
什么时候该有返回值? 调用函数,经过一系列的操作,最后要拿到一个明确的结果,则必须要有返回值 通常有参函数需要有返回值,输入参数,经过计算,得到一个最终的结果 什么时候不需要有返回值? 调用函数,仅仅只是执行一系列的操作,最后不需要得到什么结果,则无需有返回值 通常无参函数不需要有返回值
无return->None return 1个值->返回1个值 return 逗号分隔多个值->元组
五、函数的参数
参数分为形参和实参:
形参:形参其实就是变量名 ,函数调用时将值帮到变量名上,函数调用结束,解除绑定。
实参:实参就是变量值
具体应用:
位置参数
位置参数:按照从左到右的顺序定义的参数 位置形参:必选参数 位置实参:按照位置给形参传值 补充: 位置参数必须一一对应,缺一不可。 def calc(x,y): res = x**y return(res) res = calc(2,3) #位置参数
关键字参数
关键字参数:按照key=value的形式定义的实参 无需按照位置为形参传值 注意的问题: 1. 关键字实参必须在位置实参右面 2. 对同一个形参不能重复传值 def test(x,y,z):#x=1,y=2,z=3 print(x) print(y) print(z) #关键字参数,无须一一对应,缺一不行多一也不行 test(1,y=2,z=3) #关键字实参必须在位置实参右面
默认参数
默认参数:形参在定义时就已经为其赋值 可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参) 注意的问题: 1. 只在定义时赋值一次 2. 默认参数的定义应该在位置形参右面 3. 默认参数通常应该定义成不可变类型 def handle(x,type=‘mysql‘): print(x) print(type) handle(‘hello‘) # 赋值给x handle(‘hello‘,type=‘sqlite‘) # ‘hello’赋值给x,type值覆盖成‘sqlite’
可变长参数:*列表 **字典
可变长参数: 可变长指的是实参值的个数不固定 而实参有按位置和按关键字两种形式定义,针对这两种形式的可变长,形参对应有两种解决方案来完整地存放它们,分别是*args,**kwargs def foo(x,y,*args): #列表形式存放 print(x,y) print(args) foo(1,2,3,4,5) def foo(x,y,**kwargs): #字典形式存放 print(x,y) print(kwargs) foo(1,y=2,a=1,b=2,c=3)
原文地址:https://www.cnblogs.com/liutianyuan/p/9009713.html
时间: 2024-11-08 22:45:27