python类中的默认属性和方法(汇总及简介)

2 篇文章 0 订阅
1 篇文章 0 订阅

在python中新建一个类(class),并用这个类创建实例后,实例会自带这些属性和方法,详细如下表:

 

1__class__<class '__main__.my'>

#输出类名称

2__delattr__<method-wrapper '__delattr__' of my object at 0x000001F87E0EB588>

 

#装饰器,删除属性

3__dict__{'shit1': 'tobe1', 'shit2': 'tobe2', 'arg': (1, 2, 3), 'args': {'a': 2}}

#所有传入的参数

4__dir__<built-in method __dir__ of my object at 0x000001F87E0EB588>

#此方法会在对相应对象调用 dir() 时被调用。返回值必须为一个序列。 dir() 会把返回的序列转换为列表并对其排序。

5__doc__simple class by zjw

#输出文档说明,被三个单引号包围的文本

6__eq__<method-wrapper '__eq__' of my object at 0x000001F87E0EB588>x==y,x.__eq__(y)
7__format__<built-in method __format__ of my object at 0x000001F87E0EB588>通过 format() 内置函数、扩展、格式化字符串字面值 的求值以及 str.format() 方法调用以生成一个对象的“格式化”字符串表示。
8__ge__<method-wrapper '__ge__' of my object at 0x000001F87E0EB588>x>=y
9__getattribute__<method-wrapper '__getattribute__' of my object at 0x000001F87E0EB588>

#装饰器,获得属性值或者方法

10__gt__<method-wrapper '__gt__' of my object at 0x000001F87E0EB588>x>y
11__hash__<method-wrapper '__hash__' of my object at 0x000001F87E0EB588>通过内置函数 hash() 调用以对哈希集的成员进行操作,属于哈希集的类型包括 setfrozenset 以及 dict
12__init__<bound method my.__init__ of <__main__.my object at 0x000001F87E0EB588>>

#初始化函数,在实例 (通过 __new__()) 被创建之后,返回调用者之前调用。

13__init_subclass__

<built-in method __init_subclass__ of type object at 0x000001F87CCFDE78>

classmethod object.__init_subclass__(cls)

当所在类派生子类时此方法就会被调用。cls 将指向新的子类。如果定义为一个普通实例方法,此方法将被隐式地转换为类方法。
14__le__<method-wrapper '__le__' of my object at 0x000001F87E0EB588>x<=y,x.__le__(y)
15__lt__<method-wrapper '__lt__' of my object at 0x000001F87E0EB588>x<y,x.__lt__(y)
16__module____main__通过内置函数 hash() 调用以对哈希集的成员进行操作,属于哈希集的类型包括 setfrozenset 以及 dict
17__ne__<method-wrapper '__ne__' of my object at 0x000001F87E0EB588>x!=y,x.__ne__(y)
18__new__<built-in method __new__ of type object at 0x00007FFE51466D30>调用以创建一个 cls 类的新实例。__new__() 是一个静态方法 (因为是特例所以你不需要显式地声明),它会将所请求实例所属的类作为第一个参数。其余的参数会被传递给对象构造器表达式 (对类的调用)。__new__() 的返回值应为新对象实例 (通常是 cls 的实例)。
19__reduce__<built-in method __reduce__ of my object at 0x000001F87E0EB588> 
20__reduce_ex__<built-in method __reduce_ex__ of my object at 0x000001F87E0EB588> 
21__repr__<method-wrapper '__repr__' of my object at 0x000001F87E0EB588>由 repr() 内置函数调用以输出一个对象的“官方”字符串表示。
22__setattr__<method-wrapper '__setattr__' of my object at 0x000001F87E0EB588>此方法在一个属性被尝试赋值时被调用。这个调用会取代正常机制(即将值保存到实例字典)
23__sizeof__<built-in method __sizeof__ of my object at 0x000001F87E0EB588> 
24__str__<method-wrapper '__str__' of my object at 0x000001F87E0EB588>通过 str(object) 以及内置函数 format() 和 print() 调用以生成一个对象的“非正式”或格式良好的字符串表示。返回值必须为一个 字符串 对象。
25__subclasshook__<built-in method __subclasshook__ of type object at 0x000001F87CCFDE78>Python提供了一个类级的子类判断方法:__subclasshook__。该方法定义于类中而非元类中,它要求两个前提:1. 该类为抽象基类;2. 该方法为类方法。这样,__subclasshook__将覆盖元类中的__subclasscheck__产生作用,从而允许我们定义类级的子类校验方式。__subclasshook__可以返回True或False,以及NotImplemented表明未定义。
26__weakref__None

__weakref__只是一个不透明的对象,它引用了当前对象的所有弱引用。 实际上,它是weakref (或有时是weakproxy )的一个实例, weakref是对象的弱引用,也是对该对象的所有弱引用的双向链表的一部分。

这只是一个实现细节,允许垃圾收集器通知弱引用,它的指涉已被收集,并且不允许访问它的底层指针。

    
    
    
    

https://docs.python.org/zh-cn/3/reference/datamodel.html

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值