为了账号安全,请及时绑定邮箱和手机立即绑定

Python之定义默认参数

def power(x,n):

s=1

while n>0:

n=n-1

s=s*n

return s

怎么调用函数啊

正在回答

6 回答

偶也,终于看明白了

0 回复 有任何疑惑可以回复我~
def power(x, n=2):
    print 'x = ' ,x
    print 'n = ',n
#调用
power(5) #n参数,调用默认设置的,n=2
power(5,8)  #n传参数了,默认参数就没用了 ,n=8    
=================================================================
假设计算平方的次数最多,我们就可以把 n 的默认值设定为 2:

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s
这样一来,计算平方就不需要传入两个参数了:
>>> power(5)
25

描述,没传n参数,调用默认参数,n=2 
2>0 -->n=2  条件成立
2-1=1 --> n=1
1*5=5 --> s =5
1>0 -->n-1  条件成立
1-1=0 --> n=0
5*5=25 -->s=25
0>0 --> n=0 条件不成立,退出while循环,返回s值


2 回复 有任何疑惑可以回复我~
power(0,5)#x没用啊,而且你这个没有设置默认参数;
#另外,你这个不论输什么,永远都等于零,要么将s=s*n放在n=n-1之上,要么将while n>0改成n>1
0 回复 有任何疑惑可以回复我~
#1

qq_相遇诗意了岁月_04413806 提问者

def power(x,n): s=1 while n>1: n=n-1 s=s*n return s >>> power(2,3) 2 >>>
2016-12-16 回复 有任何疑惑可以回复我~
#2

qq_时光不老_3 回复 qq_相遇诗意了岁月_04413806 提问者

呃,不对 我说错了,只能将s=s*n放在n=n-1之上,第二种改法(也就是你回复我的这种),n传进来就被-1了,所以结果是2,而不是6
2016-12-19 回复 有任何疑惑可以回复我~

power(x1,x2)就是你自定义好的函数了,这时候你直接给x1和x2赋具体的值就可以调用函数了

1 回复 有任何疑惑可以回复我~

print 'i don\'t know'

1 回复 有任何疑惑可以回复我~

power(x)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

Python之定义默认参数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信