Stefan Behnel
unread,May 17, 2013, 1:16:25 AM5/17/13You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to pytho...@python.org
Serge WEINSTOCK, 16.05.2013 10:55:
> I'm currently writing a C extension module for python using the "raw" C-API. I would like to be able to define "nested classes" like in the following python code
>
> ============================================================
> class A:
> class B:
> def __init__(self):
> self.i = 2
> def __init__(self):
> self.b = A.B()
> a = A()
> b = A.B()
> print(a.b.i)
> print(b.i)
> ============================================================
>
> How can I create such nested class with the C-API?
Assuming you really mean Python classes and not extension types, you might
get away with defining them separately and then assigning
A.B = B
Recent Python versions added a __qualname__ attribute for classes that you
might want to fix up in this case.
If you need better compatibility, consider writing your code in Cython.
Stefan