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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
在网上找了一些资料,仔细研究了下,终于基本弄懂了装饰器的意义和原理了(o゚v゚)ノ
廖老大,我是从你网站跟过来的
解释一遍代码吧
def __init__(self,name,gender,birth,**kw): #这里的**kw表示可以接受任意数量的关键字参数
.............................
for k , v in kw.iteritems(): #这里提取输入的参数,K,V分别是键值对的键和值,即key和value
setattr(self,k,v) #这里即是把k设为 self对象的属性,v就是k属性的值
Python装饰器详解,讲得形象,很容易理解,推荐给大家:
http://blog.csdn.net/xiangxianghehe/article/details/77170585###;
http://python.jobbole.com/82344/
快舒服了。。麻痹还有最后一章

最赞回答 / 慕田峪6529258
你好,self指的是定义的实例,而s指的是后面跟着的要比较的实例。如传入的列表L,是先比较第一个和第二个Student,然后排序,再跟第三个Student进行比较。其sorted()与cmp()的用法与其他类型的比较是一致的。
认真思考一下 还是能搞明白的(o゚v゚)ノ
本来不太懂的,看了一楼的评论后顿时恍然大悟(o゚v゚)ノ
一楼正解好评!!(o゚v゚)ノ
可以使用格式说明符,写成这样:
def __str__(self):
return '(student: {0},{1},{2})'.format(self.name, self.gender, self.score)
不懂的学员别急,看好题目的提示:任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。其实就是让你在类里面定义read方法
还挺像C++运算符重载的
http://blog.csdn.net/qq_35082030/article/details/77717209
使用了__slots__之后,把super那一行的代码屏蔽了,发现最后的结果也能输出name和gender
还有,把__slots__屏蔽之后,同样不能对属性进行随意增添呀
增加了grade,最后的print后面加了个括号,结果CBA
def grade(self):
if self.__score>=80:
return 'A'
elif self.__score<60:
return 'C'
else:
return 'B'

s = Student('Bob', 59)
print s.grade()

s.score = 60
print s.grade()

s.score = 99
print s.grade()
def __init__(self, num):
self.num=num
fibo=[0,1]
i=2
while i<self.num:
fibo.append(fibo[i-2]+fibo[i-1])
i = i+1
self.fibo=fibo
def __str__(self):
return str(self.fibo)
def __len__(self):
return len(self.fibo)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消