# Prosta funkcja może także działać jak metaklasa

def MetaFunc(classname, supers, classdict):
    print('W MetaFunc:', classname, supers, classdict, sep='\n...')
    return type(classname, supers, classdict)

class Super:
    pass

print('Tworzenie klasy')
class Hack(Super, metaclass=MetaFunc):           # Wykonanie prostej funkcji na końcu
    data = 1                                     # Funkcja zwraca klasę
    def meth(self, arg):
        return self.data + arg

print('Tworzenie instancji')
X = Hack()
print('Attrybuty:', X.data, X.meth(2))

