python – 如果为true:destruct Class

我想知道
Python是否有办法避免__init__中的其他函数并直接进入__del__.对于例如

class API:

    Array = {"status" : False, "result" : "Unidentified API Error"}

    def __init__(self, URL):

        self.isBanned()
        print "This should be ignored."

    def isBanned(self):

        if True:
            goTo__del__()

    def __del__(self):
        print "Destructed"

API = API("http://google.com/");

最佳答案 是.这就是例外情况.

class BannedSite(Exception):
    pass

class API:

    Array = {"status" : False, "result" : "Unidentified API Error"}

    def __init__(self, URL):    
        if self.isBanned(URL):
            raise BannedSite("Site '%s' is banned" % URL)
        print "This should be ignored."

    def isBanned(self, URL):
        return True

在__init__方法中引发异常,因此永远不会完成赋值,因此实例没有引用,会立即删除.

点赞