zoukankan      html  css  js  c++  java
  • Python类的特殊成员方法

    __doc__

    类的描述信息。

    class dog:
    	'''这是狗的类'''
    	def __init__(self,name):
    		self.name = name
    		self.__age = None
    
    
    print(dog.__doc__)
    #输出
    这是狗的类
    

      

    __module__

    表示当前操纵的对象在哪个模块。

    __class__

    表示当前操作的对象的类是什么。

    __call__

    class dog:
    	'''这是狗的类'''
    	def __init__(self,name):
    		self.name = name
    		self.__age = None
    
    	def __call__(self, *args, **kwargs):
    		print(*args, **kwargs)
    
    
    d = dog("小花")
    d("小花","小黑","布丁")
    

      

    __dict__

    打印所有属性

    class dog:
    	'''这是狗的类'''
    	def __init__(self,name):
    		self.name = name
    		self.__age = None
    
    d = dog("小花")
    print(dog.__dict__)#打印类里的所有属性,不包括实例属性
    print(d.__dict__)#打印所有实例属性,不包括类属性
    
    #输出
    {'__module__': '__main__', '__doc__': '这是狗的类', '__init__': <function dog.__init__ at 0x0000024E354F21E0>, '__dict__': <attribute '__dict__' of 'dog' objects>, '__weakref__': <attribute '__weakref__' of 'dog' objects>}
    {'name': '小花', '_dog__age': None}
    

      

      

    __str__

    class dog:
    	'''这是狗的类'''
    	def __init__(self,name):
    		self.name = name
    		self.__age = None
    
    	def __str__(self):
    		return "<obj:%s>" % self.name
    
    d = dog("小花")
    print(d)
    
    #输出
    <obj:小花>
    

      

    __new__

    先触发__new__再触发__init__。实质上是__new__来实例化的。

  • 相关阅读:
    读《淘宝数据魔方技术架构解析》有感
    架构之谈
    读《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》有感
    第八周周总结
    hadoop安装和配置
    第七周周总结
    [BZOJ]2836: 魔法树
    [BZOJ]4540: [Hnoi2016]序列
    [BZOJ]1511: [POI2006]OKR-Periods of Words
    [BZOJ]1116: [POI2008]CLO
  • 原文地址:https://www.cnblogs.com/endust/p/12326039.html
Copyright © 2011-2022 走看看