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

posted on 2016-12-05 16:07  jayafs  阅读(118)  评论(0)    收藏  举报

导航