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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
多重继承太恶心了,“会打篮球的学生”,居然是“打篮球+学生”杂交而成
为什么加法是这么定义的?
虽然写出来了 但是不知道 什么意思
妹的,题目不是说要用尖括号嘛?
建议有学期其他过面向对象语言的基础的,再上手python。
不然,真的很蛋疼的。

已采纳回答 / mairui
self.p//self.q就是说用self.p除以self.q得到是一个int型的结果,self.p/self.q得到的是float型的结果
判题机制有点垃圾,能否根据输出判题,不要根据输入来判题
类属性(count)的修改必须通过内部构造函数才能实现,在实例(p1,p2)中只是修改自身属性,无法修改类属性,
count访问属性变成__count依然成立,只是在外部无法访问
这是兼做静态类了啊。。。
import math

def is_sqr(x):
return x % math.sqrt(x) == 0

print filter(is_sqr, range(1, 101))
liu047nice

s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。

最后print应该是f1,f2,f3,而不是函数的执行
future的前后居然是分别各两个下划线
请指点下,到底哪错了
class Person(object):
def __init__(self, name, score):
self.name=name
self.__score=score
def get_grade(self):
if self.__score >= 80:
return 'A'
elif self.__score => 60:
return 'B'
else:
return 'C'
def count():
fs = []
for i in range(1, 4):
def f(x=i):
return x*x
fs.append(f)
return fs

f1, f2, f3 = count()
print f1(),f2(),f3()
liu047nice
s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
改了也没用的
def calc_prod(lst):
def lazy_prod():
return reduce(mul,lst)
return lazy_prod
def mul(x,y):
return x*y
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下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消