python的magic methods

https://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.html

(由于markdown语法问题,下面的所有的方法名字前后的——都被识别为加粗语法)

魔术方法调用方式解释
new(cls [,...])instance = MyClass(arg1, arg2)new 在创建实例的时候被调用
init(self [,...])instance = MyClass(arg1, arg2)init 在创建实例的时候被调用
cmp(self, other)self == other, self > other, 等。在比较的时候调用
pos(self)+self一元加运算符
neg(self)-self一元减运算符
invert(self)~self取反运算符
index(self)x[self]对象被作为索引使用的时候
nonzero(self)bool(self)对象的布尔值
getattr(self, name)self.name # name 不存在访问一个不存在的属性时
setattr(self, name, val)self.name = val对一个属性赋值时
delattr(self, name)del self.name删除一个属性时
__getattribute(self, name)self.name访问任何属性时
getitem(self, key)self[key]使用索引访问元素时
setitem(self, key, val)self[key] = val对某个索引值赋值时
delitem(self, key)del self[key]删除某个索引值时
iter(self)for x in self迭代时
contains(self, value)value in self, value not in self使用 in 操作测试关系时
concat(self, value)self + other连接两个对象时
call(self [,...])self(args)“调用”对象时
enter(self)with self as x:with 语句环境管理
exit(self, exc, val, trace)with self as x:with 语句环境管理
getstate(self)pickle.dump(pkl_file, self)序列化
setstate(self)data = pickle.load(pkl_file)序列化

1137258-20190701195300932-968571559.png

转载于:https://www.cnblogs.com/xt12321/p/11116355.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值