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

python进阶

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

最赞回答 / 子木李
在Python,有两种属性,类属性和实例属性,类属性相当于类的静态方法(类比于Java),实例属性是每个实例单独的属性,楼主所说的用Person.count,这里调用的就是类属性,self.count调用的是实例属性,当在_init_中调用的是self时,然后打印的时候调用的是Person.count,那么count肯定是它的初始值0了,因为它没有改变,用self.count,改变的只是实例的属性,并没有改变类属性,所以打印出三个0了,如果楼主把print那个部分的Person换成p1,p2,p3的时候,...

最赞回答 / 解剖器
sorted默认是sorted([4,6,8,2等等],cmp)cmp是里面介绍的输出-1、1或者0,sorted函数通过cmp的返回值来判断比较的两个数的前后顺序。相当于是cmp为sorted提供对比的标准,sorted按照那个标准来排序。sorted函数只认识cmp返回的1、-1和0,并且按照上面介绍的规则来排序。至于从大到小还是从小到大完全取决于cmp的定义。sorted的排序算法是python设计好的,我们并不需要知道。如果你接触过其它的语言,在设计到排序时会接触一些排序的算法,那些算法有好有坏,...

最新回答 / 星际怪物
super(Teacher, self).__init__(name, gender)无非是执行父类__init__方法

已采纳回答 / PengCheng
不管是写到include文件里还是直接写在当前文件里,函数要在调用地点的上方写。在这里定义的gcd函数确实是约分的作用。例如本来是  2/8  约分之后变成 1/4

已采纳回答 / 子木李
这个是讲的python的闭包吧。是这个意思,这里本来想返回 1*1,2*2,3*3,然后 fs.append(f),首先说 append,是将f的引用添加到数组fs中,这个时候,只是添加的f的引用,没有保留i的值,然后在 count执行...

已采纳回答 / PengCheng
如果你一定要这么写的话,那就这样写。count=0class Person(object):    def __init__(self,name):              global count        count=count +1        self.name=namep1 = Person('Bob')print countp2 = Person('Alice')print countp3 = Person('Tim')print count

最新回答 / zh_414
可以啊。你这代码也不全啊,怎么查看问题。你确定你单引号里的内容是以数组的形式写入的吗

已采纳回答 / PengCheng
可以啊,我是这样写的def cmp_ignore_case(s1, s2):    u1 = s1.lower()    u2 = s2.lower()    if u1 < u2:        return -1    if u1 > u2:        return 1    return 0print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

最赞回答 / ES716
初学,不知道解释的对不对啊第一个问题:fs.append(lambda i=i: i*i) 相当于 fs.append(lambda j=i: j*j)(lambda i=i: i*i)中的第一个 i 是lambda自己声明的局部变量 , 会屏蔽掉外部的 i 变量值。第二个问题:fs.append(lambda a=i: i*i) 相当于 fs.append(lambda : i*i)(lambda a=i: i*i) 中的 i是引用外部变量 ,所以会发生变化,闭包要求不是不能引用外部会发生变化的变量么第...

最赞回答 / 星际怪物
grade()中使用 self.score 相当于调用get_score() return self.__score,与直接self.__score效果一样

已采纳回答 / starstone
个人看法啊,这个就是为了演示闭包而闭包的,真正用的时候接触django\flask框架时很多装饰器就是一种闭包...也初学,大牛勿喷哈

最赞回答 / 学习攻城狮
这个是为了保证输出,执行你之前没有装饰的函数。我的理解。就是为了保证经过装饰之后还是与原来的功能一样,只不过多了一些说明性的东西
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消