zoukankan      html  css  js  c++  java
  • Python 函数(参数组合)

    在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数

    定义一个函数,包含上述4种参数:

    def  func(a,b,c=0,*args,**kw):
        print 'a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw
    

     在函数调用的时候,Python解释器自动按照参数位置和参数名把对应的参数传进去。

    print  func(1,2)  
    # = > a= 1 b= 2 c= 0 args= () kw= {}
    
    print func(1,2,c=3)
    # = > a= 1 b= 2 c= 3 args= () kw= {}
    
    print func(1,2,3,'a','b')
    # => a= 1 b= 2 c= 3 args= ('a', 'b') kw= {}
    
    print  func(1,2,3,'a','b',x=99)
    # =>a= 1 b= 2 c= 3 args= ('a', 'b') kw= {'x': 99}
    

     最神奇的是通过一个tuple和dict,你也可以调用该函数:

    args=(1,2,3,4)
    kw={'x':99}
    print  func(*args,**kw)  # =>a= 1 b= 2 c= 3 args= (4,) kw= {'x': 99}
    

     所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

    转自:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000

  • 相关阅读:
    CF1314G解题报告
    CF1310D解题报告
    CF1310B解题报告
    CF908G解题报告
    oracle的IMU和ora-01555
    oracle事物
    oracle中scn(系统改变号)
    oracle实例恢复之检查点队列
    oracle优化:避免全表扫描(高水位线)
    关于oracle中in和exists的区别
  • 原文地址:https://www.cnblogs.com/zwgblog/p/7196385.html
Copyright © 2011-2022 走看看