Wie ist das C-API Äquivalent zu folgendem Python Code? Damit meine ich die Konstanten innerhalb von Klassen.
Code: Alles auswählen
class Test(object):
ONE = 1
TWO = 2
Code: Alles auswählen
class Test(object):
ONE = 1
TWO = 2
Code: Alles auswählen
>>> def metafunc(name, bases, dict):
... print name, bases, dict
... return type(name, bases, dict)
...
>>> class B(object):
... __metaclass__ = metafunc
... P = 42
... def method(self):
... print self
...
B (<type 'object'>,) {'P': 42, '__module__': '__main__', '__metaclass__': <function metafunc at 0xb73b06f4>, 'method': <function method at 0xb715ec34>}
Er muss also die Instanz von type finden und sich von dort aus weiterhangeln An dem letztem Satz hätte ich noch feilen sollen, alles vorherige sollte den nötigen Kontext geben.@theliquidwave: Du musst einfach in das `__dict__` vom `Test`-Typ (PyTypeObject) die Einträge für die Attribute `ONE` und `TWO` machen. Also mit `PyDict_SetItem()` in das `tp_dict` vom Typobjekt. Oder mit `PyObject_SetAttr()` auf dem Typobjekt.