[Python-de] types.SetType

"Martin v. Löwis" martin at v.loewis.de
So Feb 11 10:22:34 CET 2007


Dinu Gherman schrieb:
> Wie ich gerade sehe, gibt es weder in Python 2.4 noch in 2.5 die
> Variablen types.SetType (bzw. types.FrozensetType), was mich doch
> ein wenig erstaunt.
> 
> Man kann sie zwar selbst auf type(set()) (bzw. type(frozenset())
> setzen, aber noch fehlt mir ein furchtbar intelligenter Grund da-
> fuer, warum das jeder fuer sich tun sollte...?

Du musst, glaube ich, mal erklären, *warum* Du den Typ in dem Modul
haben willst ("weil alle anderen Typen da auch drin sind" ist nicht
überzeugend, weil das kein technischer Grund ist).

Ursprünglich gab es das Modul types, um Code der Form

    if type(o) is types.ListType:

schreiben zu können, später dann

    if isinstance(o, types.ListType):

Nun scheint Deine Beschwerde zu sein, dass Du nicht

    if isinstance(o, types.SetType):

schreiben kannst; Diez versucht Dir zu erklären, dass
Du statt dessen *viel einfacher*

    if isinstance(o, set)

schreiben kannst. Das ist einfacher, weil Du nicht auf
das Modul types zugreifen musst.

Nun hast Du offenbar entweder missverstanden, dass
das builtin set bereits ein Typ *ist*, oder Du hast
einen anderen Anwendungsfall.

Ciao,
Martin