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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
def performance(f):
def fn(*args, **kw):
print 'call ' + f.__name__ + '()...' + 'time is:' + time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))
return f(*args, **kw)
return fn
为什么要算时间差,我这样写是对的吗,输出的时间是调用函数的时间吗?

已采纳回答 / 冷雨夜2015
楼上说得对,浮点数的二进制转换造成的。浮点数在计算机中的二进制运算和整数运算不一样(具体咋计算的,我记不清的),他有一个精度的问题。两次计算出来的浮点数,精度上相等的可能性太小了。试想一下他的应用范围:随机函数就是利用这一性质,用每次产生的不同精度*N倍,就可以得到一个随机数。
print isinstance(t, object)
print isinstance(t, Person)
print isinstance(t, Teacher)
print isinstance(t, Student)

答案判定条件太死板了,一定要按照tftt的顺序,tttf多整洁啊

已采纳回答 / C_Geek
你这样写参数个数是固定的!
n=max(self.p,self.q)
for i in range(1,n)[::-1]:
if (self.p%i==0)and (self.q%i==0):
self.q=self.q/i
self.p=self.p/i
return '%s/%s' % (self.p,self.q)
__repr__ = __str__
def __init__(self, num):
self.num=num
xfid=[0,1]
for n in range(1,num-1):
xfid.append(xfid[-1]+xfid[-2])
self.lst=xfid
def __str__(self):
return '%s' % self.lst
def __len__(self):
return len(self.lst)
可以偷下懒
class Fib(object):
def __call__(self, num):
a, b, L = 0, 1, []
for n in range(num):
L.append(a)
a, b = b, a + b
return L

f = Fib()
print f(10)
def __call__(self, num):
self.fib = []
if num == 0:
self.fib.append(0)
else:
self.fib.append(0)
self.fib.append(1)
for x in range(num-2):
self.fib.append(self.fib[x] + self.fib[x+1])
return ' '.join([str(self.fib[i]) for i in range(num)])
哇喔~~ 终于通过了!!
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消