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__ 方法

 

原文地址:https://www.cnblogs.com/cloniu/p/6375462.html