• Python【day 10】函数进阶-动态函数


    形参小结

    1、位置参数
    2、默认值参数
    3、动态参数

    1、*args 位置参数的动态传参。
    系统会自动的把所有的位置参数聚合成元组
    2、**kwargs 关键字参数的动态传参。
    系统会自动的把所有的关键字参数聚合成字典
    3、def func(*args,**kwargs): #无敌参数
       pass
    4、顺序: 位置参数,*args,默认值,**kwargs 关键点
    5、上述顺序,在使用的时候,可以任意的进行搭配

    4、在实参上,*,**表示的是打散(位置参数或者关键字参数)
          在形参上,*,**表示聚合(元组或者字典)
    5、例子

    def func1(*args):

    print(args)

    func1(1,2,4,6)

    def func2(*args): #推荐1:将多个位置参数作为列表的元素,通过*li1-实参传入到形参*args
          print(args)
    li1 = [1,5,7]
    func1(*li1)

    def func3(**kwargs):
          print(kwargs)
    func3(name='jack',age=18)

    def func4(**kwargs): #推荐2:将多个关键字参数作为字典的元素(键值对),通过**dic1-实参传递给形参**kwargs
          print(kwargs)
    dic1 = {'name':'jack','age':19}
    func4(**dic1)

    动态参数

    形参:
    1、位置参数
    2、默认值参数
    3、动态参数

    *args 动态接收位置参数,接收的是元组
    **kwargs 动态接收关键字参数,接收的是字典
    def func(*args,**kwargs): #形参
      pass
    func(*li1) #实参1
    func(**dic1) #实参2
    在形参上,* **表示聚合成(元组、字典)
    在实参上,* **表示打散(可迭代解构,字典解构)

    顺序:--实参
    位置参数,*args,默认值,**kwargs 关键点

  • 相关阅读:
    MAC下配置PHP环境详解, Apache,MySQL数据库,vim
    xib和storyboard小谈,
    iOS中block运用
    IOS-UIDynamic
    ProtocolBuffers-3 For Objective C (2)-进阶
    ProtocolBuffers-3 For Objective C (1)-简单的使用
    12. UITextField
    11. KVC And KVO
    10.OC中retainCount返回值不准的原因
    9. 了解 Cocoa-百度百科
  • 原文地址:https://www.cnblogs.com/wangtp/p/11565812.html
Copyright © 2020-2023  润新知