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

python进阶

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

最赞回答 / 慕粉3321357
首先要清楚,你的get_score 是一个实例方法, 所以调用实例方法应该 s.get_score() 如果楼主想 s.get_score  调用方法的话, 可以用property 装饰器,进行装饰,就可以用了.<...code...>这也是 ,属性和方法的区别, 属性 直接 s.score   调用,  而方法需要 s.get_score() 来进行调用哦, 

最赞回答 / qq_梦一曲忧伤_0
__init__类似于其他语言说的类的构造函数,是当前类实例化是必须完成的操作;__call__是把当前类变成可调用对象的方法。__init__可给参数赋初值,__call__就是类的一个可调方法。个人理解,有错误地方请指正!

最赞回答 / 慕尼黑7825836
__call__相当于把()做了标识符重载,在使用类初始化对象的时候,调用类中的__init__方法,而程序中使用对象()的时候,调用类中的__call__方法,使得对象本身成为了函数。__new__: 对象的创建,是一个静态方法,第一个参数是cls。(想想也是,不可能是self,对象还没创建,哪来的self)__init__ : 对象的初始化, 是一个实例方法,第一个参数是self。__call__ : 对象可call,注意不是类,是对象。

最赞回答 / 1911768534
因为count是类属性,创建实例的时候就改变了

最新回答 / 宝慕林6433564
没有的话,需要在类外显式指定实例的属性

最新回答 / 灬益达灬
class Fib(object):    @staticmethod    def fb(num):        if num==0:            return 0        if num==1:            return 1        return Fib.fb(num-1)+Fib.fb(num-2)    l=[]    def __init__(self, num):        self.num=num        for i in range(0,num):...

最新回答 / 慕仙2528729
只能数据输入方式有多样,python就定义了两种方法。open()这个主要是读文件,read()什么都能读

已采纳回答 / 慕后端4582086
用了@classmethod后,how__many()变为类方法,传入的是类本身,所以cls相当于Person,cls.count相当于Person.count

最赞回答 / 慕九州248271
楼上一本正经的回答我差点就相信了。 print  os.path.isdir('C:')这个运行起来没有问题的。'\'是转义符,例如'\n'表示换行,'\\'则输出 '\'本身,字符串前面加 r 是表示字符串的中 '\'不转义了。另外我发现 '\111'输出是‘I’,这个是啥情况,请高手指点

最赞回答 / 慕村4567611
可以的,跟导入函数是一样的,把函数名换成变量名就可以了
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消