class特殊方法调用

class Foo:
    def __init__(self):
        pass

    def __call__(self, *args, **kwargs):
        pass

    def __getitem__(self, item):
        print(item)
        pass

    def __setitem__(self, key, value):
        print(key,value)
        pass

    def __delitem__(self, key):
        pass

# 调用__int__方法
Foo()

# 调用__call__方法
obj = Foo()
obj()

#调用__getitem__方法
obj = Foo()
obj['k1']

#调用__setitem__方法
obj = Foo()
obj['k1'] = 123

#__delitem__
obj = Foo()
del obj['k1']

 

class MainHandler:
    def __init__(self):
        self.host = "(.*)"
        self.ip =  "^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$"
        self.port = "(\d+)"
        self.phone =  "^1[3|4|5|8][0-9]\d{8}$"
        self.file = "^(\w+\.pdf)|(\w+\.mp3)|(\w+\.py)$"

    def chek(self):
        for key,val in self.__dict__.items():
            print(key,'-----',val)

obj = MainHandler()

obj.chek()
__dict__ 方法

 

 

posted @ 2017-02-07 18:26  200ML  阅读(169)  评论(0编辑  收藏  举报