已采纳回答 / 清炒小芹菜
__name__是模块名,当前模块默认值是__main__, 若被import到其他脚本中,if下面的语句不会执行是不会被执行的,是为了上面代码的复用
2018-12-25
已采纳回答 / weixin_慕码人6349622
cls表示类本身,self表示一个具体实例本身。所以cls主要用在类方法定义,而self则是实例方法定义中。而get_hobby是classmethod,所以第一个参数传入了cls。
2018-11-10
最赞回答 / kaibisikai
return super(Programer, cls).__new__(cls, *args, **kwargs)把这句改为return super(Programer, cls).__new__(cls)
2018-04-05
已采纳回答 / qq_知秋一叶_1
不输出原因如下:if __name__=='main': >> if __name__=='__main__':p2=Programer('bill',i0) >> p2=Programer('bill',10)
2018-02-28
已采纳回答 / binmo
返回的应该是一个字符串对象,你这样子相当于返回了4个字符串对象。return self.name + 'is' + self.age + 'years old' 这样子应该可以
2017-07-31
已采纳回答 / 精慕门闇黑龙帝
#看你怎么理解这个私有的含义:class Person: def __init__(self, name, gender): self.name = name self.gender = genderclass Student(Person): def __init__(self, name, gender, age, snum): super(Student, self).__init__(name, gender) self.__ag...
2017-07-16
已采纳回答 / 天涯明月笙
print programmer.__dict__代码最后一行的__dict__,因为原本的__init__方法还没有执行。因此此时只是执行了实例化的第一步__new__,通过下面dir语句可以看出此时没有__init__过的对象确实没有成员变量(属性...
2017-02-15
已采纳回答 / 慕粉2142443891
programer = BackendProgramer.('Albert', 25, 80, 'Python') 改成programer = BackendProgramer('Albert', 25, 80, 'Python') 多了一个.
2017-02-12