[Python-de] auf Liste testen

Stefan Behnel behnel_ml at gkec.informatik.tu-darmstadt.de
Don Dez 15 15:20:38 CET 2005


Andreas Jung schrieb:
> --On 15. Dezember 2005 15:01:47 +0100 Jochen Schulz
> <ml at well-adjusted.de> wrote:
> 
>> Aber willst Du das wirklich? In Python versucht man meist gerade keinen
>> bestimmten Typ vorzuschreiben, sondern probiert einfach die Operationen
>> auf dem Objekt, die man machen will.
> 
> Wer hat Dir denn diesen Blödsinn beigebracht? Bis Du PHP/Perl
> Programmierer? :-)

Ähem. Ohne jetzt einen Religionskrieg auslösen zu wollen:

Duck-Typing ist ein gängiges Konzept in Python, das in vielen Fällen Vorteile
mit sich bringt. Natürlich könnte ich nachschauen, ob ein Objekt eine Liste,
ein String, ein Tuple, oder ... ist. Wenn es mir aber z.B. nur darum geht,
dass es aufzählbar ist, dann tue ich das nicht (ich könnte ohnehin nicht alle
aufzählbaren Typen abtesten).

Also nutze ich einfach ein

for value in object:
  print value

und lasse es mir egal sein, was für einen Iterator ich da jetzt gerade vor mir
habe. Ähnliches gilt in vielen anderen Fällen.

Gruß,
Stefan