• Python函数的参数


    位置参数:

    比如:

    其中x和n分别占了一个位置,所以称为位置参数,

    位置参数是必须传进来的!

    默认参数:

    比如:

    >>> def power(x, n):
        s = 1
        while n > 0:
            n = n - 1
            s = s * x
        return s
    

      

    必选参数在前,默认参数在后,当不传入默认参数时,

    函数会默认为指定的值。传入默认参数时,会修改为

    传入的值。定义默认参数要牢记一点:默认参数必须指向不变对象!

    可变参数:

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

      

    调用该函数时,可以传入任意个参数,包括0个参数

    Python允许你在list或tuple前面加一个*号,变成可变

    参数传进去。

    关键字参数:

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

    关键字参数允许你传入0个或任意个含参数名的参数

    调用该函数时,可以只传入必选参数,

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

    也可以先组装出一个dict,在前面加**,

    传进去。

    命名关键字参数:

    >>> def person(name, age, *, city, sex):
        print(name, age, city, sex)

    要限制关键字参数的名字,就可以用命名关键字参数

    命名关键字参数需要一个特殊分隔符*

    若已经有了一个可变参数,就不再需要一个特殊分隔符*

    >>> def person(name, age, *args, city, sex):
        print(name, age, args, city, sex)

    命名关键字参数必须传入参数名

    指定的命名关键字参数也必须传入:

    >>> person('a',12,1212,212,1212,city='aaa')
    Traceback (most recent call last):
      File "<pyshell#365>", line 1, in <module>
        person('a',12,1212,212,1212,city='aaa')
    TypeError: person() missing 1 required keyword-only argument: 'job'

    当命名关键字参数有默认值时,可以不传入该参数

    如果没有可变参数,就必须在命名关键字参数前

    有*号,否则无法分辨命名关键字参数与位置参数

    参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数

  • 相关阅读:
    git 学习
    ruby on rails 把阿里云上的图片资源转移到七牛云上写的一个task 文件 自动转移
    修改mysql的默认编码
    ruby on rails 安装中遇到的一些问题
    unity打包资源格式全解析
    unity打包全过程解析
    mmorpg手游中的战斗系统
    在线调试lua原型设计
    lua特性纪要
    软件开发中的哲学问题
  • 原文地址:https://www.cnblogs.com/kwebi/p/9125122.html
Copyright © 2020-2023  润新知