• Python学习


    一、参数的定义

    1、函数的参数在哪里定义

    在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开

    案列:

    # 利用函数的参数,定义一个可以完成任意两个数相加的函数
    def add_num(a,b):
        c = a + b
        print(c)
    2、带参数的函数调用:

    函数定义了参数,那么调用函数的时候就需要传入参数

    add_num(11,22)
    #运行结果
    33
    上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参

    而我们调用函数的时候传入的参数叫做实参形参是用来接收实参的

    二、参数分类

    上面我们说了形参和实参,那么形参和实参在在定义和调用的时候,根据形式不同有可以分为几类,

    1、根据实参进行分类

    实参:位置参数、关键字参数

    1.1、位置参数(未命名参数)
    def func(a,b,c):
        print(a)
        print(b)
        print(c)
        
    add_num(11,22,33)
    #运行结果
    11
    22
    33

    上述案列中,的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数,

    1.2、关键字参数(命名参数)
    def func(a,b,c):
        print(a)
        print(b)
        print(c)
        
    add_num(11,c=99,b=33)
    #运行结果
    11
    33
    99

    调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数

    注意:传参的时候先写位置参数,再写命名参数

    2、根据形参进行分类

    形参可以分为三类:必备参数、默然参数、不定长参数

    2.1、必备参数:

    在调用函数的时候必须要传的参数

    def add(a,b):
        c=a+b
        print(c)
       
    add(11,22)

    上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错

    2.2、默认参数(缺省参数):

    调用函数的时候可以传可以不传,不传就用默认值

    def func(a,b,c=99):
        print(a)
        print(b)
        print(c)
    ​
    func(11,22,33)
    print('-----------')
    func(55,66)
    ​
    #运行结果:
    11
    22
    33
    ---------------
    55
    66
    99

    通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值,第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值

    注意:带有默认值的参数一定要位于参数列表的最后面。

    2.3、不定长参数*args和 **kwargs

    调用函数的时候可以传0个或者多个

    2.3.1、*args:接收多传入的位置参数,以元祖的形式保存
    def func(*args):
      print(args)
    
    func(33,44,55,66,77)
    func(*(33,44,55,66,77))
    
    #运行结果 
    (33,44,55,66,77)
    (33,44,55,66,77)

    *args,args接收的是一个元祖;

    调用的时候可以直接传入:func(33,44,55,66,77)

    也可以可以先组装list或tuple,再通过*拆包传入:func(*(33,44,55,66,77))

    2.3.2、**kwargs:接收多传入的关键字参数,以字典的形式保存
    def func(**kwargs):
        print(kwargs)
    func(e=33,h=44,f=55,d=66,c=77)
    func(**{'e':33,'h':44,'d':66,'c':77})
    #运行结果
    {'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}
    {'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}

    **kwargs,kw接收的是一个字典;

    关键字参数既可以直接传入:func(11,22,e=33,h=44,f=55,d=66,c=77)

    也可以先组装dict,再通过**拆包传入:func(**{'e':33,'h':44,'d':66,'c':77})

    注意点:使用*args**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

  • 相关阅读:
    mysql各个版本下载地址
    hadoop-0.20.2完全分布式集群
    04_Spring中使用Quartz
    03_CronTrigger
    02_SimpleTrigger
    02_ActiveMQ入门
    01_JMS概述
    01_Quartz基础结构
    Java开发高性能网站需要关注的事
    06_Jedis完成MySQL的条件查询案例
  • 原文地址:https://www.cnblogs.com/chenyablog/p/15166788.html
Copyright © 2020-2023  润新知