不定长参数:
在定义函数的时候,参数的个数不是固定的。
未来的调用者,可能自由选择不传或者传几个或者传很多
定义函数:
1、*args
在定义函数是用 *args 来接受,其中 * 是规定的,args可用其他名称替换,但一般习惯用 args 来表示。可变参数在传入函数后,被封装成一个 tuple 来进行使用。所以我们在函数内部,可以通过操作 tuple 的方法来操作参数
调用的时候,是可以直接传多个值的。在函数内部,args是元组形式。
def test_number(*args): print(type(args)) for i in args: print(i, end = "\t") print(type(i)) test_number(2, "hello", 6, 333, 11)
<class 'tuple'> 2 <class 'int'> hello <class 'str'> 6 <class 'int'> 333 <class 'int'> 11 <class 'int'>
当一个函数的参数,即有位置参数,不定长参数,默认参数。 -- 定义函数的时候,顺序是什么? 位置参数 > *args > 默认参数
2、**kwargs 关键字参数 keyword arguments 在函数内部,它是字典的形式 在调用的时候,传参模式:key=value 。注意key不需要引号。
def set_person_info(name, sex, **kwargs): print("名字:", name) print("性别:", sex) if kwargs: print("其它信息:", kwargs) set_person_info("abc", "男", city = "西安", hobby = "看书")
名字: abc 性别: 男 其它信息: {'city': '西安', 'hobby': '看书'}
标签:函数,Python,args,--,参数,kwargs,print,不定 From: https://www.cnblogs.com/shadowyexiaobo/p/16707309.html