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 关键点

  • 相关阅读:
    C#socket客户端自己输入消息发送到服务端通信实现通信
    C#设计模式:观察者模式(Observer Pattern)
    C#冒泡排序法学习
    强类型和弱类型
    计算机网络基础知识总结
    推荐几个搜索资源网站
    推荐几个搜索资源网站
    前端:闭包的概念
    前端:闭包的概念
    收集12个经典的程序员段子
  • 原文地址:https://www.cnblogs.com/wangtp/p/11565812.html
Copyright © 2011-2022 走看看