章节
问答
课签
笔记
评论
占位
占位

Python函数使用默认参数

定义函数的时候,还可以有默认参数,默认参数的意思是当这个参数没有传递的时候,参数就使用定义时的默认值。
例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:

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

int()函数的第二个参数是转换进制base,如果不传,默认是十进制 (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

另外需要注意的是,由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面,否则将会出现错误。

# 错误的定义
def power(n=2, x):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

任务

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

?不会了怎么办

参考答案:

def greet(name='world'):
    print ('Hello, ' + name + '.')

greet()
greet('Alice')
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最赞回答 / weixin_慕圣3493772
就是把name和“.”连起来,这里加号是字符串连接符。

最新回答 / 慕村3371467
因为八进制的(123)等于十进制的(83),int输出默认的是十进制的

最赞回答 / qq_棠梨煎雪故人来_03907185
def greet(x='world'):    print 'hello,'+x就这两行就行的,非搞那么复杂,参数默认值设置成none那和没有默认值也没啥区别了

最新回答 / 慕妹7447611
字符串运算符 +   ,将 + 号两边的字符串连接,比如:print('abc'+ 'de')    结果就是  'abcde'翻译搜索复制

最赞回答 / Yokk
因为你的greet函数中没有return任何东西,所有print(greet())相当于 print(None)

最赞回答 / 白小九
hello 对应 {0},short 对应 {1},python 对应 {2}。hello 对应 {0},short 对应 {1}, python 对应 {2}你 temp3 里没有 {0},自然就不会打印 hello,建议改成:<...code...>
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言