关键字参数:也是相对于位置参数来讲的,在函数调用的时候使用关键字参数;关键字的名字需要从形式参数中去选择,也即是在调用的时候,赋值时需要带上变量的名称
关键字参数的作用:可以提高函数的调用时候的可读性,更容易理解实际参数的意义
关键字参数和位置参数的区别:关键字参数在调用时可以不按照顺序进行传参,可以交换顺序
关键字参数也必须放到位置参数的后面
不定长参数:不限定长度的参数,可以传0个,也可以传任意个,有两种表现形式:*args 和 **kwargs
1、*args:表示位置不定长参数,用来接收不定长度的位置传参,也即是接收函数调用的时候多余的位置参数
2、**kwargs【key world args】:表示关键字不定长参数,用来接收不定长度的关键字传参,也即是接收函数调用时多余的关键字参数
3、*args在函数内部的表现形式是元组,**kwargs在函数内部的表现形式是字典
4、*args加在其他位置参数的后面,**kwargs加在*args的后面,否则会报错
5、在函数中可以只有一个*args或者是**kwargs,不能有多个,会报错也没意义
6、 使用args是为了提高代码可读性,实际上可以替换成其他任何字符
# 普通参数传递
def func(name):
message = "Hi," + name
return message
# 可变参数
def func1(firstName,*names,**kwargs):
print(firstName)
print(names)
print(kwargs)
# 关键字参数
def func2(name):
print("hello," + name)
if __name__ == "__main__":
name = input("请输入姓名:")
print(func(name))
func1("zhangsan","lisi","wangwu",白富美="100")
func2(name = "meng")