المتغيرات الثابتة في Python C API
-
24-09-2019 - |
سؤال
كيف يمكن للمرء أن يعرض متغيرات "ثابتة" مثل هذا
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.
لا تنتمي إلى StackOverflow