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

python进阶

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

最赞回答 / Devme
因为self表示引用这个方法的实例,而这个count是类的属性,如果你用实例来修改,只会另外为它自己创建一个count属性。而不会修改类的属性。实例属性是独立的。

最新回答 / weixin_慕哥0152991
sorted()可以传入特定的函数,实现自定义的排序。二这个特定的函数要求是要传入两个用来比较的元素。所以,示例中为p1.name, p2.name。你也可以换成x,y。 sorted(L1,lambda x,y comp(x,y))。注:cmp()函数用于比较两个对象,如果x<y,返回-1,x=y返回0,x>y返回1。

已采纳回答 / weixin_慕瓜8086110
在python3.x更好实现哦,如下:
class Person(object):
    pass
p1 = Person()
p1.name = 'Bart'

p2 = Person()
p2.name = 'Adam'

p3 = Person()
p3.name = 'Lisa'

L1 = [p1, p2, p3]
L2 = sorted(L1, key = lambda x: x.name)...

已采纳回答 / 妮玛
先定义了一个装饰器performance:     在其中定义一个函数fn:先记录运行前的时间t1,然后用r先让函数运行,在记录运行后的时间t2,之后输出相应信息(f.__name__输出调用装饰器的函数名称:factorial)最后调用装饰器,函数factorial返回值为10的阶乘,输出函数返回值同时输出装饰器返回值          

最新回答 / kuo先生
def cmp_ignore_case(s1, s2):    if s1.lower()<s2.lower():        return -1    if s1.lower()>s2.lower():        return 1    return 0print sorted(['bob', 'about', 'Zoo', 'Credit'],cmp_ignore_case)

已采纳回答 / 慕数据3350164
先抛开这个方式能不能破题和怎么破题.reduce会把(lambda x:x+x,list(range(0,self.num))算成一个总的结果数....而且需要2个参数<...code...>也就是self.a=[45],然后返回的不能为列表,需要:<...code...>

最赞回答 / Archer_ll
对于第一个问题:可以解析代码的执行过程@decorator('ms')  其实就等于factorial = decorator('ms')(factorial)factorial = decorator('ms')(factorial)这句代码 执行是先执行decorator('ms')按返回 su函数名-->接着执行su(f) 返回ssu函数名   到这里就等于   factorial=ssu之后调用factorial 其实是调用ssu 即factorial(10)  ->ssu(10)而在...

最新回答 / weixin_慕丝0407445
是不是可以这么理解, 最后一行的 factorial(10)  其实已经不是原来的factorial()了,而是装饰过的factorial()

最赞回答 / 橡果国际oil
class School(Student, Teacher):
    def __init__(self, name, sex, age, subject, score, mcl):
        super(School, self).__init__(name, sex, age, score)
        super(School, self).__init__(name, sex, age, subject)...

最新回答 / weixin_慕瓜8086110
判断一个数的平方根是否是整数:math.sqrt(x)==int(math.sqrt(x))比如:1.5==int(1.5)为False你的这个x==r*r存在不确定性,一个数的平方根是浮点型,浮点型是一种不准确的数值,有时候根乘以根可能和这个数相等,有时候是无限接近。你的算法中,11和14的平方根相乘正好等于11或者14,所以为True。如果换其他机器或环境运行,可能又为False。我是这样理解的。你可以查相关的资料。

已采纳回答 / 明日之星123456
开方的结果是无限小数,只保留了11位小数点,后面的小数舍去了,所以乘了之后不到2

最赞回答 / qq_小猫童鞋_0
应该这么说吧,两个score的区别是:(1)调用的装饰器名称不同(2)参数不同。第一个score是获取属性,调用的@property装饰器,里面肯定有做些处理的。第二个是用于设置属性的score函数,调用的getscore.setter装饰器。其实装饰器就是个方法而已啦最主要是两个函数的参数不同.当然你也可以用getscore,setscore来命名啊,不过按照p.score这种的,看上去代码更简洁更容易读懂吧

最新回答 / 慕运维4192074
return self.p/self.q  这里要用 // ?
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消