zoukankan      html  css  js  c++  java
  • 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 关键点

  • 相关阅读:
    BZOJ 2055 80人环游世界 有上下界最小费用可行流
    BZOJ 2406 LuoguP4194 矩阵 有上下界可行流
    BZOJ4873 LuoguP3749 寿司餐厅
    51nod 1551 集合交易 最大权闭合子图
    BZOJ 1565 植物大战僵尸 最大权闭合子图+网络流
    [CodeForces]460C Present
    [BZOJ5072] 小A的树
    [TJOI2015]组合数学
    [HNOI2006]鬼谷子的钱袋
    [IOI2007]矿工配餐
  • 原文地址:https://www.cnblogs.com/wangtp/p/11565812.html
Copyright © 2011-2022 走看看