zoukankan      html  css  js  c++  java
  • Python之函数(二)函数的动态参数

    函数的动态参数

    动态位置参数(*args 备注 args可以随意改,不是固定的)

    def func(a,b,*args):# *args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
    print(a,b,args)# args接受 多个参数存储类型为元组
    func(1,2,3,4,5)
    结果为: 1 2 (3,4,5)

    def func(a,b,args):#args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
    print(a,b,args)
    func(1,2,3)
    结果为: 1 2 (3,)

    def func(a,b,args):#args是万能(接受任意多个)的位置参数 在函数定义的时候叫做聚合
    print(a,b,
    args)# * 打散
    func(1,2,3,4)
    结果为 1 2 3 4

    优先级: 位置参数 >动态位置参数 > 默认参数

    def func(a,b,args,c=1,d=2):
    print(a,b,c,d,
    args)
    func(1,2,3,4,c=4)#如果要修改默认参数 必须参数名一致 否则改不了 默认参数的值
    结果为1 2 4 2 3 4

    动态关键参数(**kwargs 备注kwargs可随意修改 遵循变量命名)

    def func(a,b,**kwargs):# **kwargs是万能(接受任意多个)关键字参数
    print(a,b,kwargs)
    func(1,2,c=1,d=2)# kwargs 格式要遵循a=1 实参不能跟 位置形参 名一致 否则冲突
    结果为:1 2 {"c":1,"d":2}

    def func(a,b,args,c=1,d=2,**kwargs):
    print(a,b,
    args,c,d,*kwargs)# *kwargs --获取到字典的键
    func(1,2,3,4,c=8,d=10,e="alex",f="wusir")
    结果为:1 2 3 4 8 10 e f

    总结

    def func(args,**kwargs):
    print(
    args,kwargs)
    a=[1,2,3,4,5,6]
    b={"1":2,"3":4}
    func(
    a,**b)
    结果为:1 2 3 4 5 6 1 3
    列表 和字典 作为实参遍历

    我们可以用这种形式 a 等价于遍历 分别传参给args
    **b等价于 "1":2,"3":4

    参数的优先级:位置参数>动态位置参数>默认参数(关键字参数)>动态关键字参数

    1、万能传参:动态位置参数--动态关键字参数(最常用***)

    2、位置参数--动态位置参数

    3、动态位置参数--关键字参数--动态关键字参数

  • 相关阅读:
    python——时间与时间戳之间的转换
    Python3中正则模块re.compile、re.match及re.search
    javascript 模块化开发
    Python细说 xrange 和 range 的区别
    PyInstaller 生成exe文件
    win10安装mysql5.7.14winx64遇到服务无法启动问题解决方法
    Python 自定义队列 数据结构
    spring事务使用心得
    LS 存取文件
    Single Instance Application
  • 原文地址:https://www.cnblogs.com/yhx003/p/11438538.html
Copyright © 2011-2022 走看看