最赞回答 / 慕粉3321357
首先要清楚,你的get_score 是一个实例方法, 所以调用实例方法应该 s.get_score() 如果楼主想 s.get_score 调用方法的话, 可以用property 装饰器,进行装饰,就可以用了.<...code...>这也是 ,属性和方法的区别, 属性 直接 s.score 调用, 而方法需要 s.get_score() 来进行调用哦,
2018-04-20
最赞回答 / qq_梦一曲忧伤_0
__init__类似于其他语言说的类的构造函数,是当前类实例化是必须完成的操作;__call__是把当前类变成可调用对象的方法。__init__可给参数赋初值,__call__就是类的一个可调方法。个人理解,有错误地方请指正!
2018-04-20
最赞回答 / 慕尼黑7825836
__call__相当于把()做了标识符重载,在使用类初始化对象的时候,调用类中的__init__方法,而程序中使用对象()的时候,调用类中的__call__方法,使得对象本身成为了函数。__new__: 对象的创建,是一个静态方法,第一个参数是cls。(想想也是,不可能是self,对象还没创建,哪来的self)__init__ : 对象的初始化, 是一个实例方法,第一个参数是self。__call__ : 对象可call,注意不是类,是对象。
2018-04-20
最新回答 / 灬益达灬
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):...
2018-04-19
已采纳回答 / 慕后端4582086
用了@classmethod后,how__many()变为类方法,传入的是类本身,所以cls相当于Person,cls.count相当于Person.count
2018-04-19
最赞回答 / 慕九州248271
楼上一本正经的回答我差点就相信了。 print os.path.isdir('C:')这个运行起来没有问题的。'\'是转义符,例如'\n'表示换行,'\\'则输出 '\'本身,字符串前面加 r 是表示字符串的中 '\'不转义了。另外我发现 '\111'输出是‘I’,这个是啥情况,请高手指点
2018-04-19