Pursuant to Upabjojr's comments 
(https://github.com/sympy/sympy/pull/2237/files#r5289892), I've updated 
some bits of my code to use the __new__ function instead of __init__.  For 
example in cartan_type.py, in class Standard_Cartan, I have a __new__ 
method which goes as 

class Standard_Cartan(Basic): 
    def __new__(cls, series, n):
        obj = Basic.__new__(cls, series, n)
        obj.n = n
        obj.series = series
        return obj

And then in type_a (just an example, I've changed it in all the cases), I 
have
class TypeA(Standard_Cartan):
    def __new__(cls, n):
        assert n >= 1
        return Standard_Cartan.__new__(cls, "A", n)

I did this to conform with Sympy standards, but I also thought that this 
would fix the problems with test_args.  However, if I set 
obj = Standard_Cartan("A", 2) and run
print [isinstance(arg, Basic) for arg in obj.args] 
I still get [False, False] as output.  So, perhaps I am misunderstanding 
what is going on with the new __new__ method, but I thought that now 
Standard_Cartan would be a Basic object like it should be?  Could anyone 
clarify what is going on here?

Mary

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to