函数
###什么是函数?
function->函数,功能
函数就是一个具有特定功能的的代码块
####函数的作用
函数就是把代码进行封装,以提高代码的重用性,提高开发效率,并且降低后期的维护成本
####函数的定义和使用
# 定义函数[基本结构]
def 函数名([参数列表]):
当前函数的具体代码
# 函数封装完并不会马上执行,只是把函数定义了而已
# 如果想使用函数,就必须调用函数
函数的参数
- 普通参数
- 默认参数
- 收集参数
- 命名关键字参数
- 关键字参数收集
###函数的参数
普通参数
普通参数 就是位置参数 ,也叫顺序参数,也就是必须传递的参数
默认参数
比如要求有三个参数,x,y,i 至少传递需要传递两个,那么这时最后一个就是默认参数,但是默认参数,需要在定义时给定
def func(x,y,i = 100):# 默认参数 排在普通参数之后 , 当没有传递给默认参数值时,那么默认参数就会取默认值
print(x,y,i)
func(1,2,3)
func(1,2)
收集参数
定义一个形参,专门收集多余的实参 或者理解为,不确定多少个实参,直接用一个行参来接收
在定义函数时,如果是收集参数,那么这个参数前面需要加一个 * 号 例如 *args
接收的多余的参数,会存储在收集参数中,形成一个元组
def func(x = 0,*t):
print(type(t))
sum = 0 ;
if x=='+' :
for i in t:
sum +=i
elif x == '-':
print('减法运算')
print(sum)
func('+',1,2,3,4,3,13,21,3,21,3,21,32,13,21,3,21)
命名关键字参数
- 1.关键字参数必须在收集参数之后
- 2.关键字参数必须通过形参的名字来进行传递
- 3.普通参数也可以通过命名关键字传参的方式传递
# 命名关键字参数
def love(a,b,c=100,*args,name):
print(a,b,c,args,name)
love(1,2,3,name = '111')
命名关键字参数收集
#kw ==> keyword
def love(a,b,c,*args,**kwargs):
print(a,b,c)
print(args)# 普通收集函数会把多余参数收集成元组
print(kwargs) # 关键字参数收集,会把多余的关键字参数收集为 字典
print(type(kwargs))
love(1,2,3,4,4,5,name = '杜二熊',sex = '男')