Generieren Sie spezifische Namen proeprties mit metaclass

Ich muss Klasse in Python erstellen, die n statische Eigenschaften mit Namen haben wird

NUMBER_1 = 1 NUMBER_2 = 2 ... NUMBER_N = n 

N kann variieren und kann sehr groß sein. Wie mach das mit metaclass?

One Solution collect form web for “Generieren Sie spezifische Namen proeprties mit metaclass”

Sie können dem Klassenobjekt in Ihrem __init__ 's __init__ , das an dem Punkt aufgerufen wird, an dem Ihr Klassenobjekt angelegt wird. Beispielsweise:

 class FooMeta(type): def __init__(cls, name, bases, dct): super(FooMeta, cls).__init__(name, bases, dct) for n in range(100): setattr(cls, 'NUMBER_%s'%n, n) class Bar(object): __metaclass__ = FooMeta Bar.NUMBER_51 => 51 
  • Builtin python's __import__ vs imp.load_module: ValueError: Versuchte relativer Import über das Paket hinaus
  • Färben von HTML-Tabellenzellen aus "Low to High Color Shades" je nach Zellwert in Python HTML E-Mail
  • Wie kann ich verhindern, dass sqlalchemy die Spaltennamen eines CTE präfixiert?
  • Erfassen / Entfernen von doppelten Werten in einer Liste
  • Sortieren eines Wörterbuches hierarchisch und alphabetisch (Python)
  • Wie kombiniere ich mehrere Dicts, summiere die Werte der gemeinsamen Tasten (und behalte die mit Wert 0) in Python?
  • Wie kann man die Ausführung einer anderen Funktion in python im Falle von Exception / Error nicht stoppen
  • Wie lese ich mehrere Wörterbücher aus einer Datei in Python?
  • UnicodeDecodeError auf Python 2.7
  • Karte auf Iteratoren unterschiedlicher Länge
  • Fehler in Live mp3 ffmpeg Encoder mit Python
  • Python ist die beste Programmiersprache der Welt.