美文网首页
7-6Python之定义默认参数

7-6Python之定义默认参数

作者: OoYoO | 来源:发表于2017-12-07 22:11 被阅读10次

定义函数的时候,还可以有默认参数。

例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:

>>> int('123')
123
>>> int('123', 8)
83

int()函数的第二个参数是转换进制,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数。

可见,函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。

我们来定义一个计算 x 的N次方的函数:

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

假设计算平方的次数最多,我们就可以把 n 的默认值设定为 2:

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

这样一来,计算平方就不需要传入两个参数了:

>>> power(5)
25

由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:

# OK:
def fn1(a, b=1, c=2):
    pass
# Error:
def fn2(a=1, b):
    pass

任务

请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'

相关文章

  • 7-6Python之定义默认参数

    定义函数的时候,还可以有默认参数。 例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参...

  • Scala入门与进阶(三)- 函数

    1.函数的定义和使用 函数/方法的定义: 2.默认参数 默认参数:在函数定义时,允许指定参数的默认值$SPARK_...

  • Lua中冒号(":")和点号(".")的区别

    一、定义方法的区别 (1)冒号定义——默认会接受self参数 (2)点号定义——默认不会接受self参数 二、调用...

  • 函数默认参数

    定义默认参数时一定要注意默认参数指向不变对象

  • Python学习之路(函数参数)

    函数参数 以及默认参数 定义一个可变参数的函数 一般是list 或者 tuple 函数参数之关键字参数 练习 写一...

  • ES6 函数默认参数、rest运算符(扩展运算符)剩余参数

    一.函数默认参数 1.旧函数默认参数写法 2.新函数默认参数写法 二.函数参数默认已经定义了,不能再使用let,c...

  • 可变参数

    定义默认参数要牢记一点:默认参数必须指向不变对象! 在Python函数中,还可以定义可变参数。顾名思义,可变参数就...

  • Python 函数

    调用函数 定义函数 函数的参数必选参数、默认参数、可变参数、关键字参数、命名关键字参数 位置参数 默认参数 可变参...

  • Python函数的参数(详细版)

    函数的参数有:必选参数、默认参数、可变参数、关键字参数。 在Python中定义函数,可以用必选参数、默认参数、可变...

  • 函数相关

    函数定义 def 定义函数,函数返回值用return; python参数定义顺序必须是:必选参数、默认参数、可变参...

网友评论

      本文标题:7-6Python之定义默认参数

      本文链接:https://www.haomeiwen.com/subject/zwxsixtx.html