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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
一楼正解好评!!(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)
那我def不是更简单吗,为什么要用functools.partial?
if self.score < s.score:
return 1
elif self.score > s.score:
return -1
elif self.name < s.name:
return -1
elif self.name > s.name:
return 1
else:
return 0
这几节装饰器直接跳过
没看懂的话,多看几遍就可以懂了,再不懂得话就先去查查资料回来再看。
# -*- coding: UTF-8 -*-



def get_grade(self):
if self.__score>=90:
return 'A-优秀'
elif self.__score>=60:
return 'B-及格'
else:
return 'C-不及格三档'
def calc_prod(lst):
def lazy_prod():
prod = 1
for x in lst:
prod *= x
return prod
return lazy_prod

f = calc_prod([1, 2, 3, 4])
print f()
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消