python 内置函数的归纳

python 所用数据都是 对象(Object),每一个对象系统会加上默认的内置方法,所以 python 对应的

  • init(self, ...) 初始化 class ,可以初始化对象的属性

  • del(self) 将对象删除时候调用的方法,也就是指向给 class 的指针为0时候调用。

  • __new__(cls,*args,**kwd) 实例生成的操作,暂时没理解

  • __str__(self) print 对象的时候可以打印该函数返回的 string。

  • __repr__(self) 同上面差不多,但是通俗来说这个方法用于 DEBUG多点,__str__ 调用了 __repr__

  • __getitem__(self,key) 获取序列的索引key对应的值,等价于实现 seq[key]

  • __setitem__(self,key,value):设置给定键的值

  • __len__(self) 在调用内联函数len()时被调用,返回对象长度或者项目个数。

  • __cmp__(stc,dst) 比较两个对象src和dst

  • __getattribute__() 当访问某个实例属性时, getattribute 会被无条件调用,如未实现自己的 getattr 方法,会抛出 AttributeError 提示找不到这个属性,如果自定义了自己 getattr 方法的话,方法会在这种找不到属性的情况下被调用,

  • __getattr__(s,name) getattribute 的备胎。

  • __setattr__(s,name,value) 设置属性的值。

  • __delattr__(s,name) 删除name属性,del xx 时候调用。

  • __gt__(self,other) 判断self对象是否大于other对象

  • __lt__(slef,other) 判断self对象是否小于other对象

  • __ge__(slef,other) 判断self对象是否大于或者等于other对象

  • __le__(slef,other) 判断self对象是否小于或者等于other对象

  • __eq__(slef,other) 判断self对象是否等于other对象

  • __call__(self,*args) 把实例对象作为函数调用。

上下文管理
当对象使用 with 声明创建时,上下文管理器允许类做一些设置和清理工作。上下文管理器的行为由下面两个魔法方法所定义:

  • __enter__(self) 定义使用 with 声明创建的语句块最开始上下文管理器应该做些什么。注意 enter 的返回值会赋给 with 声明的目标,也就是 as 之后的东西。
  • __exit__(self, exception_type, exception_value, traceback)定义当 with 声明语句块执行完毕(或终止)时上下文管理器的行为。它可以用来处理异常,进行清理,或者做其他应该在语句块结束之后立刻执行的工作。如果语句块顺利执行, exception_type , exception_value 和 traceback 会是 None 。否则,你可以选择处理这个异常或者让用户来处理。如果你想处理异常,确保 exit 在完成工作之后返回 True 。如果你不想处理异常,那就让它发生吧。

描述符,一个类必须具有实现 get , setdelete 三个方法中至少一个。

  • __get__(self, instance, owner) 定义当试图取出描述符的值时的行为。 instance 是拥有者类的实例, owner 是拥有者类本身。
  • __set__(self, instance, owner) 定义当描述符的值改变时的行为。 instance 是拥有者类的实例, value 是要赋给描述符的值
  • __delete__(self, instance, owner) 定义当描述符的值被删除时的行为。 instance 是拥有者类的实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值