• Python 函数的参数形式


    形参:在定义函数时,括号内的参数成为形参
    特点:形参就是变量名
    def foo(x,y): #x=1,y=2
    print(x)
    print(y)

    实参:在调用函数时,括号内的参数成为实参
    特点:实参就是变量值
    foo(1,2)

    在调用阶段实参(变量值)才会绑定形参(变量名)
    调用结束后,解除绑定

    一、、函数形参分为:

        1、位置形参

     2、关键字形参

    二、函数实参分为:

        1、位置实参

     2、关键字实参

    def foo(x,y): #x、y为位置形参
        print(x)
        print(y)
    foo(1,2)#位置实参
    
    def foo(name,age): #x、y为关键字形参
        print(name)
        print(age)
    foo(name=1,age=2)#位置形参

    三、注意事项

    1、位置实参必须在关键字实参的前面

    2、一定不要给同一个形参赋多次值

    四、默认参数

    不用给函数传递参数,函数的参数默认带有值

    def foo(x=1,y=2): #x、y为位置形参
        print(x)
        print(y)
    foo()

    注意事项:

    默认参数必须放在位置参数之前

    默认参数只能在函数定义阶段赋值一次,且仅有一次

    默认参数应该定义为不可变数据类型

    五、可变长参数类开

    可变长参数指的是实参的个数多了
    实参无非位置实参和关键字实参两种

    #形参必须要两种机制来分别处理按照位置定义的实参溢出的情况:*
    #跟按照关键字定义的实参溢出的情况:**

    1、形参*接收多出来的位置参数转化为无组

    2、多出来的关键字参数被**接收转化为字典

    def foo(x,y,*args): #nums=(3,4,5,6,7)
        print(x)
        print(y)
        print(args)
    
    foo(1,2,3,4,5,6,7) 
    
    def foo(x,y,**kwargs): #nums={'z':3,'b':2,'a':1}
        print(x)
        print(y)
        print(kwargs)
    foo(1,2,z=3,a=1,b=2) #**

    六 命名关键参数

    即在*后面定义的形参称为命名关键字参数,必须是被以关键字实参的形式传值

    def foo(name,age,*args,sex='male',group):
        print(name)
        print(age)
        print(args)
        print(sex)
        print(group)
    
    foo('alex',18,19,20,300,group='group1')
  • 相关阅读:
    在 Eclipse 中使用 JUnit4 进行单元测试
    版本控制之道使用Git
    程序员成熟的标志
    Java 编程需要注意的细节
    【netty】netty的websocketframe
    求一个数内含1个次数
    apache bench的使用
    更改centos epel源
    [linux]centos7下解决yum install mysqlserver没有可用包
    cacti的安装与配置
  • 原文地址:https://www.cnblogs.com/liuxiaowei/p/7215600.html
Copyright © 2020-2023  润新知