Метод __new__ вызывается до __init__, принимает в качестве параметра класс и должно вернуть экземпляр класса. Классическое использование:
class C(object):
def __init__(self):
print type(self)
def __new__(cls, *args, **kwargs):
obj = super(C, cls).__new__(cls)
print "sdfsfs"
return obj