python学习DAY10(类的特殊成员方法)

#__doc__
如果在类中有注释一些该类的信息,则可以在类外中
输出:print 类名.__doc__
此时输出的便是注释中的内容


#__call__
类中:
class Test(object):
    def __init__(self,name):
        self.name=name
    def __call__(self,*args,**kwargs):
        print("this is in call",args,kwargs)
类外:
    t=Test("lbc")
    t(1,2,3,name="222")
#***
this is in call (1,2,3) {'name':222}
#***

可以不传参数:
    t()    #此时调用的是t.__call__()方法
#***
this is in call () {}
#***

也可以这么写
Test("lbc")()
#***
this is in call () {}
#***


#__dict__
print(Test.__dict__) 
#没有实例化打印出类中所有的属性,不包括实例属性
t=Test("lbc")
print(t.__dict__)
#实例化后再调用__dict__则打印所有实例属性,不包括类属性

 

posted @ 2019-08-16 10:39  LBC不认输  阅读(226)  评论(0编辑  收藏  举报