Python---参数

Python从入门到高手(内部资源-配学习资料)_哔哩哔哩_bilibili

# 可变参数+关键字参数
# 关键字参数:key+value
def add(a, b=10):  # 关键字参数,b为默认值
    result = a + b
    print(result)


# 调用
add(5)
add(4, 7)  # a=4,b=7,此时7就会覆盖b原来的默认值


def add1(a, b=10, c=4):
    result = a + b + c
    print(result)


add1(1)
add1(1, 5)  # 给b赋值
# 给c赋值而不是给b赋值
add(2, 6)  # 默认6赋值给b
add1(2, c=6)  # 如果想将6赋值给c,则需要结合关键字key使用

# 函数:打印每位同学的姓名和年龄
students = {'001': ('蔡徐坤', 20), '002': ('王源', 19), '003': ('王俊凯', 20), '004': ('易烊千玺', 20)}


def print_boy(name, **persons):  # persons=students
    print("{}喜欢的小鲜肉是:".format(name))
    if isinstance(persons, dict):
        values = persons.values()
        # print(values)
        for name, age in values:
            print('{}的年龄是{}'.format(name, age))


# 调用
print_boy('ruirui', **students)


def func(a=1, b=2, c=3):
    print(a, b, c)


func()


def func(**kwargs):  # key word argument
    print(kwargs)


# 调用
func(a=1, b=2, c=3)  # 关键字参数
''':cvar
**kwargs说明:只要外面给函数送值,送的必须是key=value

'''
func()
func(a=1)
func(a=1, b=2)

dict = {'001': ('蔡徐坤', 20), '002': ('王源', 19), '003': ('王俊凯', 20), '004': ('易烊千玺', 20)}
func(**dict)  # 将字典进行拆包,拆包为关键字参数形式
''':cvar
1 将字典进行拆包
func('001'= ('蔡徐坤', 20), '002'= ('王源', 19), '003'= ('王俊凯', 20), '004'= ('易烊千玺', 20))
2 func里面的参数都是关键字参数
3 将关键字参数再进行一次装包动作
4 装包成功:kwargs,就是装包成功的字典
'''
''':cvar
使用函数的时候:
def aa(**kwargs)
    pass
'''
''':cvar

'''


def aa(**kwargs):
    print(kwargs)


aa(a=1, b='hello', c='tom')  # 装包的过程{'a': 1, 'b': 'hello', 'c': 'tom'}

# 如果在开发的时候,已知一个字典

dict1 = {"a": 1, "b": "hello", "c": "tom"}

aa(**dict1)  # 拆包的过程


def bb(a, b, *c, **d):
    print(a, b, c, d)


bb(1, 2)  # 1 2 () {}
bb(1, 2, 3, 4)  # 1 2 (3, 4) {}
bb(1, 2, x=100, y=200)  # 1 2 () {'x': 100, 'y': 200}
bb(1, 2, 3, x=100)  # 1 2 (3,) {'x': 100}
# bb(1, 2,x=100, 5, 6) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值