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


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to