[Python-de] auf Liste testen

Jochen Schulz ml at well-adjusted.de
Don Dez 15 16:49:44 CET 2005


Bitte keine Kopien an mich.

Andreas Jung:
>
> Du hast noch kein einziges Argument gebracht, warum type()
> isinstance() vorzuziehen wäre.

Du, das könnte daran liegen, dass ich das zu keinem Zeitpunkt behauptet
habe. :-) Wenn Du meine erste Mail im Thread nochmal liest, wirst Du
feststellen, dass ich auch isinstance() vorgeschlagen habe.

Ich habe lediglich das allgemeine Vorgehen in Frage gestellt. Der Typ
eines Objekts sagt in Python nicht zwangsläufig etwas über die
vorhandenen Attribute aus. Dafür habe ich eins von vielen möglichen
Beispielen konstruiert. Deswegen prüft man idealerweise mit hasattr()
(und meinetwegen noch callable(), wenn man eine Methode haben will) oder
lässt die Prüferei ganz sein und fängt die entsprechenden Exceptions.

Duck-Typing ist IMHO gerade die Stärke, die man sich durch die fehlende
"Typsicherheit" erkauft. Es wäre Verschwendung, diesen Vorteil
mutwillig wegzuwerfen.

J.
-- 
Looking into my eyes is the only way you'll know I'm telling the truth.
[Agree]   [Disagree]
                 <http://www.slowlydownward.com/NODATA/data_enter2.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digital signature
URL         : http://starship.python.net/pipermail/python-de/attachments/20051215/432dae4f/attachment-0001.pgp