python e_pythone class 内置特殊方法

__str__ 面向用户的输出

__repr__ 面向开发人员的输出

打印类实例,先找str如果有刚打印__str__,如没有__str__ 则找__repr__

__call__ 使类当做函数可以真接调用

类的索引操作

__setitem__(self,key,vlaue)

__getitem__(self,item)

__delitem__(self.key)

__dir__()用法:列出对象的所有属性(方法)名

重载运算符含义

__new__

创建类,在 __init__ 之前创建对象

__init__

类的构造函数,其功能是创建类对象时做初始化工作。

__del__

析构函数,其功能是销毁对象时进行回收资源的操作,程序运行完之后自动执行

__add__

加法运算符 +,当类对象 X 做例如 X+Y 或者 X+=Y 等操作,内部会调用此方法。但如果类中对 __iadd__ 方法进行了重载,则类对象 X 在做 X+=Y 类似操作时,会优先选择调用 __iadd__ 方法。

__radd__

当类对象 X 做类似 Y+X 的运算时,会调用此方法。

__iadd__

重载 += 运算符,也就是说,当类对象 X 做类似 X+=Y 的操作时,会调用此方法。

__or__

“或”运算符 |,如果没有重载 __ior__,则在类似 X|Y、X|=Y 这样的语句中,“或”符号生效

__repr__,__str__

格式转换方法,分别对应函数 repr(X)、str(X)

__call__

函数调用,类似于 X(*args, **kwargs) 语句

__getattr__

点号运算,用来获取类属性

__setattr__

属性赋值语句,类似于 X.any=value

__delattr__

删除属性,类似于 del X.any

__getattribute__

获取属性,类似于 X.any

__getitem__

索引运算,类似于 X[key],X[i:j]

__setitem__

索引赋值语句,类似于 X[key], X[i:j]=sequence

__delitem__

索引和分片删除

__get__, __set__, __delete__

描述符属性,类似于 X.attr,X.attr=value,del X.attr

__len__

计算长度,类似于 len(X)

__lt__,__gt__,__le__,__ge__,__eq__,__ne__

比较,分别对应于 <、>、<=、>=、=、!= 运算符。

__iter__,__next__

迭代环境下,生成迭代器与取下一条,类似于 I=iter(X) 和 next()

__contains__

成员关系测试,类似于 item in X

__index__

整数值,类似于 hex(X),bin(X),oct(X)

__enter__,__exit__

在对类对象执行类似 with obj as var 的操作之前,会先调用 __enter__ 方法,其结果会传给 var;在最终结束该操作之前,会调用 __exit__ 方法(常用于做一些清理、扫尾的工作)

hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法

getattr() 函数获取某个类实例对象中指定属性的值

setattr() 函数的功能相对比较复杂,它最基础的功能是修改类实例对象中的属性值。其次,它还可以实现为实例对象动态添加属性或者方法。

issubclass(cls, class_or_tuple):检查 cls 是否为后一个类或元组包含的多个类中任意类的子类。

isinstance(obj, class_or_tuple):检查 obj 是否为后一个类或元组包含的多个类中任意类的对象。

__new__

1)__new__方法是静态类方法,虽然没有加静态类方法的装饰器;

2)A继承object类,虽然通常可以省略object字样。但这里省略就无法执行__new__方法。若A继承其他类,同样可以使用object的__new__方法,也可以使用父类的__new__方法;

3)在实例化对象的时候,__new__方法在__init__方法之前执行;

4)__new__必须返回一个对象,才能给__init__初始化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值