hello,
does the type() command work correctly for new style classes? i guess
it does not, unfortunately. for example, for a new style class'
instance it returns <class '__main__.Class Name'>, but for old style
class' instance it returns <type 'instance'>.
[color=blue][color=green][color=darkred]
>>> import types
>>> class A(object):[/color][/color][/color]
pass[color=blue][color=green][color=darkred]
>>> class B:[/color][/color][/color]
pass[color=blue][color=green][color=darkred]
>>> type(A())[/color][/color][/color]
<class '__main__.A'>[color=blue][color=green][color=darkred]
>>> type(B())[/color][/color][/color]
<type 'instance'>[color=blue][color=green][color=darkred]
>>> type(A()) == types.InstanceT ype[/color][/color][/color]
0[color=blue][color=green][color=darkred]
>>> type(B()) == types.InstanceT ype[/color][/color][/color]
1
how can one then determine what he's working with when he uses new
style classes (either instance or class)?
thank you,
--
fuf (fuf@mageo.cz)
does the type() command work correctly for new style classes? i guess
it does not, unfortunately. for example, for a new style class'
instance it returns <class '__main__.Class Name'>, but for old style
class' instance it returns <type 'instance'>.
[color=blue][color=green][color=darkred]
>>> import types
>>> class A(object):[/color][/color][/color]
pass[color=blue][color=green][color=darkred]
>>> class B:[/color][/color][/color]
pass[color=blue][color=green][color=darkred]
>>> type(A())[/color][/color][/color]
<class '__main__.A'>[color=blue][color=green][color=darkred]
>>> type(B())[/color][/color][/color]
<type 'instance'>[color=blue][color=green][color=darkred]
>>> type(A()) == types.InstanceT ype[/color][/color][/color]
0[color=blue][color=green][color=darkred]
>>> type(B()) == types.InstanceT ype[/color][/color][/color]
1
how can one then determine what he's working with when he uses new
style classes (either instance or class)?
thank you,
--
fuf (fuf@mageo.cz)
Comment