zoukankan      html  css  js  c++  java
  • (一)Python入门-5函数:06参数类型-位置参数-默认值参数-命名参数-可变参数-强制命名参数

    参数的几种类型:

      位置参数:

        函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为: “位置参数”

      默认值参数:

        我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的。称为“默认值参数”。 默认值参数放到位置参数后面。

      命名参数:

        我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”。

      可变参数:

        可变参数指的是“可变数量的参数”。分两种情况:

          1. *param(一个星号),将多个参数收集到一个“元组”对象中。

          2. **param(两个星号),将多个参数收集到一个“字典”对象中。

      强制命名参数:

        在带星号的“可变参数”后面增加新的参数,必须在调用的时候“强制命名参数”。

    #测试参数的类型:位置参数、默认值参数、命名参数、可变参数、强制命名参数
    def test01(a,b,c,d):    #位置参数、命名参数
        print('{0}--{1}--{2}--{3}'.format(a,b,c,d))
    
    def test02(a,b,c=30,d=40):          #默认值参数,必须位于其他参数后面
        print('{0}--{1}--{2}--{3}'.format(a, b, c, d))
    
    def f1(a,b,*c):    #可变参数处理(元组)
        print(a,b,c)
    def f2(a,b,**c):     #可变参数处理(字典)
        print(a, b, c)
    def f3(a,b,*c,**d):     #可变参数处理(元组+字典)
        print(a,b,c,d)
    
    def f(*a,b,c):      #强制命名参数
        print(a,b,c)
    
    test01(10,20,30,40)     #位置参数,参数个数不匹配时会报错
    test01(d=11,c=22,a=33,b=44)    #命名参数,通过形参名称来匹配
    test02(66,99)
    test02(66,99,555)
    
    f1(1,2,3,4,5)       #可变参数,3,4,5会放到元组中
    f2(1,2,name='jack',age=18,sal=3000)     #可变参数,后面数据会放到字典中
    f3(1,2,3,4,5,name='jack',age=18)        #可变参数,后面数据会根据规则放到元组、字典中
    
    f(1,2,3,b=5,c=6)        #强制命名参数:“可变参数”后面增加新的参数,必须在调用的时候“强制命名参数”

    运行结果:

      10--20--30--40
      33--44--22--11
      66--99--30--40
      66--99--555--40
      1 2 (3, 4, 5)
      1 2 {'name': 'jack', 'age': 18, 'sal': 3000}
      1 2 (3, 4, 5) {'name': 'jack', 'age': 18}
      (1, 2, 3) 5 6

  • 相关阅读:
    解决方案-BI:百科
    un-Error-ASP.NET:“/tbm6”应用程序中的服务器错误。
    JS-jQuery-EasyUI-Layout-Tabs:Tabs 标签页/选项卡
    JS-jQuery-EasyUI-Layout:Layout 布局
    jQuery-EasyUI-CSS:Icon 图标
    jQuery-EasyUI:Layout
    JS-jQuery-EasyUI:CSS
    JS-jQuery-EasyUI :目录
    ORM:百科
    ORM- IBatisNet:百科
  • 原文地址:https://www.cnblogs.com/jack-zh/p/10840557.html
Copyright © 2011-2022 走看看