سؤال

كيف يمكن للمرء أن يعرض متغيرات "ثابتة" مثل هذا

class MyClass:
    X = 1
    Y = 2

عبر C API؟ المتغير الوحيد في pytypeObject الذي يبدو أنه سيعمل هو TP_Members ، لكنني لا أرى أي علم في PymmemberDef للإشارة إلى أن العضو يجب أن يكون لكل فئة ، وليس في الثابت.

لمزيد من التوضيح قليلاً ، لأنه قد يغير الإجابة ، أحاول فضح التعداد للثعبان بحيث يكون التعداد

enum MyFlags {
    Alpha = 0,
    Beta = 1
};

يمكن الوصول إليها في بيثون على النحو التالي:

module.MyFlags.Alpha
module.MyFlags.Beta
هل كانت مفيدة؟

المحلول

فقط ضعهم في النوع TP_DICT على سبيل المثال Pydict_SetItemString.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top