已采纳回答 / 天涯明月笙
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
最赞回答 / 周慕乐_
class NewStyle(object): # 类定义语句 def __init__(self, name, deacription): # 类初始化,会在对象创建时自动执行这个函数下面的操作 self.name = name # 类属性 self.deacr...
2017-02-10
最赞回答 / 慕粉0131551080
我是这么理解的,不知道对不对, 用__str__可以直接print p就出来,但是自己构造方法的话需要print p.method()出来,至于__dir__可能有时候我们不需要打印所有属性,只选择需要的打印。
2017-01-14
已采纳回答 / 晚唱
def __new__(cls,*args,**kwargs): print "call_new_method" print args return super(Program.cls).__new__(cls,*args,**kwargs)最后一句行该是return super(Program,cls).__new__(cls,*args,**kwargs)super(Program, cls)方法里参数用逗号分隔。(盯着屏幕看了半天。。。。。。
2016-11-25
已采纳回答 / 就算失去也要勇敢去追啊
一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
2016-11-25