1. 参数
参数: 可以在函数调用的时候.给函数传递一些信息分类:
1.形参,在函数定义的时候.需要准备一些变量来接收信息
1.位置参数,按照位置一个一个的去声明变量
2.默认值参数,在函数声明的时候给变量一个默认值,如果实参不传递信息.此时默认值生效,否则就不生效
3.动态传参.1.*args,表示接收所有的位置参数的动态传参
2.**kwargs,表示接收所有的关键字的动态传参顺序:顺序:位置> *args >默认值>**kwargs
2.实参,实际在调用的时候传递的信息
1.位置参数.按照位置进行传递参数
2.关键字参数.按照参数的名字进行传递参数3.混合参数.
顺序:位置参数放前面,关键字参数放后面->否则报错!官方不让这么干
实参在执行的时候.必须要保障形参有数据
def eat(*name):
print(name)
eat("张三","要学习")
def money(**name):
print(name)
money(name="李四",yaozuo="要努力学习",ganshenme= "赚钱")
def func(a,b,c,*args,d="结束",**kwargs):
print(a,b,c,d,args,kwargs)
func(1,2,3,4,5,6,7,8,9,name="王五")
1. 拆包
*在实参位置,是把列表打散成位置参数进行传递
** 在实参位置,可以把字典自动转化成关键字参数进行传递
stu_lst = ["张三","李四","王五","憨憨"]
zd = {"name":"张三","年龄":14}
def func(*args):
print(args)
def zd_func(**kwargs):
print(kwargs)
func(*stu_lst)
zd_func(**zd)
####################控制台
#('张三', '李四', '王五', '憨憨')
#{'name': '张三', '年龄': 14}