python 函数参数 *args 和 **kwargs

例子:

def stu_register1(name,age,*args,**kwargs):
    print(name,age,args,kwargs)
stu_register1("xiaoxue",25,2,3)
stu_register1("Jack",32,"CN","Python",sex="Male",province="ShanDong")

输出:

xiaoxue 25 (2, 3) {}
Jack 32 ('CN', 'Python') {'sex': 'Male', 'province': 'ShanDong'}

可以看出,args,kwargs 是python中的可变参数,*args 表示任何多个无名参数,他是一个tuple;**kwargs 表示关键字参数,是一个字典dict,并且同时使用*args和kwargs时,必须*args参数列要在**kwargs前,否则有时在调用时,会提示语法错误。


知道*args和**kwargs是什么了吧,还有一个漂亮的用法,就是创建字典:

def create_dict(**kwargs):
    # print(kwargs)
    return kwargs
dict1=create_dict(name="zongyimin",sex="male",province="HeBei")
print(dict1)
输出:

{'sex': 'male', 'name': 'zongyimin', 'province': 'HeBei'}

其实python中就带有dict 类,使用dict(a=1,b="two")即可。但是输出结果却是随机输出

print(dict(a=1,b="two"))
输出:
{'b': 'two', 'a': 1} or {'a': 1, 'b': 'two'}
 

变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值