python面向对象内部方法补充
补充方法
python定义类的时候;内部有些方法是有特性的。如:
- 当我们
创建对象的时候,便会自动执行__init__()方法。 - 使用创建的
对象加括号,可以执行__call__()方式。
代码:
#!/usr/bin/env python
#! -*- coding:utf-8 -*-
class Foo:
def __init__(self):
print("A")
def __call__(self, *args, **kwargs):
print("B")
def __setitem__(self, key, value):
print("C")
def __getitem__(self, instance, owner):
print("D")
def __delitem__(self, key):
print("E")
直接创建对象:
obj = Foo()
结果:
A
对象加括号
obj = Foo()
obj()
结果:
A
B
对象加中括号加key值
obj = Foo()
obj["k1"]
结果:
A
D
对象加中括号加key值然后再赋值
obj = Foo()
obj["k1"] = 123
结果:
A
C
del 对象中括号加key值
obj = Foo()
del obj["k1"]
结果:
A
E
浙公网安备 33010602011771号