• 【Python】函数参数用法:默认参数,必选参数,可变参数等


    Date: 2018.6.22


    1、参考

    https://www.cnblogs.com/mingshengling/p/7842826.html

    2、Python函数参数用法

    函数参数:必选参数、默认参数、可变参数、关键字参数

    (1)必选参数:顾名思义,就是函数必须有的入参;
    (2)默认参数:在函数定义时给定一个初始值,在函数调用时可以不传这个参数,采用默认参数的值;下例中的y就是默认参数;

    def add(x,y=5):
        sum = x + y
        return sum

    注意:设置默认参数时,必选参数在前,默认参数在后!

    (3)可选参数:顾名思义,函数参数的个数是可变的,例如下面的numbers就是可变参数。

    def calc(*numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum

    (4)关键字参数:可选参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:

    def person(name, age, **kw):
        print('name:', name, 'age:', age, 'other:', kw)

    函数person除了必选参数name和age外,还接受关键字参数kw。在调用该函数时,可以只传入必选参数:

    person('Michael', 30)
    name: Michael age: 30 other: {}

    也可以传入任意个数的关键字参数:

    person('Bob', 35, city='Beijing')
    name: Bob age: 35 other: {'city': 'Beijing'}
    
    person('Adam', 45, gender='M', job='Engineer')
    name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

    小结:

    函数参数的用法是非常灵活的,既可以简单调用,也可以传入复杂的参数。
    默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
    要注意定义可变参数和关键字参数的语法:
    *args是可变参数,args接收的是一个tuple;
    **kw是关键字参数,kw接收的是一个dict。

    —————————————–我是有底线的——————————————–

  • 相关阅读:
    深度讲解Go语言-学习笔记
    vagrant常用命令
    CentOS7 安装Python虚拟环境 virtualenvwrapper
    《Android开发艺术探索》读书笔记——Cha3.2.3改变布局参数实现View的滑动
    Map接口的实现类 Map的区别
    Java多线程之内存可见性和原子性操作 一 synchronized
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 64. Minimum Path Sum
    实现线程同步的几种方式
    IOC的底层原理
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532442.html
Copyright © 2020-2023  润新知