>     >>> def clsname(obj):
>     ...     return '%s.%s' % (obj.__class__.__module__, 
> obj.__class__.__name__)
>     ...
> 
>     >>> clsname(3)
>     '__builtin__.int'
> 
>     >>> clsname(None)
>     '__builtin__.NoneType'

Děkuji, opravdu to funguje. Akorát mě mate, že

a = 3
dir (a.__class__)

neukáže ani __module__, ani __name__. Asi nějaká obrana před moc 
zvědavými lidmi.

Mimochodem jsem teď zjistil, že Python nedokáže použít číslo jako objekt:

a = 3
a.__add__(4)

vypíše 7,

ale

3.__add__(4)

vypíše syntax error.

Dělám to špatně, a nebo je to jenom špatně v Pythonu?


Miloslav Ponkrác

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem