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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰

最赞回答 / 喵呜我来啦
r1 = Rational(1, 3)
r2 = Rational(1, 2)
r1+r2就是使用__add__方法,即__add__(r1,r2)来实现:带入__add__(self,r)方法中
__add__(r1,r2)的返回值是 Rational( r1.p*r2.q(1*3)+r1.q*r2.p(3*1) , r1.q*r2.q(3*2))=Rational(5,6)
而R...

最赞回答 / 陈皮哟
是 if self.__score,不是if self.__core

最新回答 / 慕设计2086390
因为返回值是三个函数,打印的是函数的地址加了()才是调用函数

最新回答 / 慕姐6102606
type是一种方法,而classobj是一个实例对象,这是我觉得的。。。。。。。

最赞回答 / 慕仔3718321
'(Student:%s,%s,%s)' %(self.name,self.gender,self.score)不是Student类名打成Person出错吗?

最赞回答 / 醉心雨晴
我知道是要固定cmp,但是cmp本身是一个函数,你把一个函数又赋值给cmp,感觉让人无法理解

最新回答 / 慕尼黑2315652
答案给的代码本省就会报错,他只是告诉于你这样子访问变量会报错的

最赞回答 / 好久不见Cancer
每次创建一个对象,都会调用一次初始化方法,即__init__,所以要把count += 1 放在__init__方法下面

最新回答 / 慕侠3569919
self.k 这一句使得Person有了一个Person.k的属性,因此这里需要用setattr来给类添加属性

最赞回答 / 1小马哥1
cmp相当于base,没有赋予默认值,=lamdba s1,s2:cmp(s1.upper(),s2.upper())  加上就行了

最赞回答 / Hibiko
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
from functools import reduce

最新回答 / suarezxyw96
你用的是python2的语法,但是你的环境是python3的环境。reduce函数在python3的内建函数移除了,放入了functools模块。可以在前面添加这样一行代码:
from functools import reduce
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消