[python] jméno typu
superman
feed na centrum.cz
Sobota Listopad 11 01:54:40 CET 2006
> >>> 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
Další informace o konferenci Python