1、参数:函数为了实现某项功能,得到外部数据。
2、参数的分类:必选参数、默认参数【缺省参数】、可选参数(元组类型)、关键字参数(字典类型)。
# (1)必选参数:必须要给值得。 def sum(a,b): # a,b为形参,不占用内存地址,只起一个传递参数的作用。 sum = a+b print(sum) pass sum(1,2) # 1,2为实参,实实在在的占用内存地址的。必须要给。 # (2)默认参数,缺省参数。【已经默认赋值了,始终位于参数列表的尾端】 def sum1(a,b =9): # def sum1(a =8,b): # 错误,默认参数位于尾端。否则传值不正确。 print(a+b) pass sum1(1) # 可都默认参数 def sum1(a=1,b =9): print(a+b) pass sum1() # (3)可变参数(接收元组类型):参数个数不确定时使用,比较灵活。 def sum3(*args): print(args) pass sum3(1,23,4) sum3("你好",12,"哈哈") # 可变参数,传入什么就是什么。 # 输出任意传入变量的和。 def sum4(*args): result = 0 for a in args: result +=a pass print(result) pass sum4(1,2,3,4) # (5)关键字可变参数(接收字典类型):【**】 :来定义和传递 def keyFunc(**kwargs): print(kwargs) pass # keyFunc(1,2,3),不是字典类型,不可传递。 # 先定义,再传。 dictA = {"name":"lucy","age":"18"} keyFunc(**dictA) # 直接传键值对。 keyFunc(name = "huahua",age = 10) # (6)各种类型参数组合使用,根据格式相对应: # 语法规定:可选参数必须放在关键字可选参数之前。 # def complexFunc(**kwargs, *args): # 错误 def complexFunc(*args,**kwargs): print(args) print(kwargs) pass complexFunc(1,2,34,name = "小黑") # (1, 2, 34) {'name': '小黑'} complexFunc(name = "小何") # () {'name': '小何'} # 可以不传 complexFunc() # () {}