Warum ist (()) gleich ()?

7
%Vor%     
ripper234 19.03.2011, 10:06
quelle

3 Antworten

12

() ist ein 0-Tupel. (foo) ergibt den Wert von foo . Daher führt (()) zu einem 0-Tupel.

Aus dem Lernprogramm :

  

; Ein Tupel mit einem Gegenstand wird konstruiert   indem Sie einem Wert mit einem Komma folgen (it   reicht nicht aus, um ein einzelnes zu umschließen   Wert in Klammern).

    
Ignacio Vazquez-Abrams 19.03.2011, 10:08
quelle
6

Aus dem gleichen Grund, dass (4) == 4 : das Hinzufügen von Klammern um einen Ausdruck ändert nichts an seiner Bedeutung (außer es wäre natürlich anders gruppiert worden).

Beachten Sie, dass ( foo ) nicht ein 1-Tupel ist. Sonst wären Dinge wie 3 * (4 + 5) ein Fehler, da (4 + 5) ein 1-Tupel mit 9 wäre und Sie keine Zahl zu einem 1-Tupel hinzufügen könnten.

    
sepp2k 19.03.2011 10:08
quelle
2

Ich sehe jetzt. Von dem Lernprogramm .

  

; Ein Tupel mit einem Gegenstand wird konstruiert   indem Sie einem Wert mit einem Komma folgen (it   reicht nicht aus, um ein einzelnes zu umschließen   Wert in Klammern).

So (()) ist nicht das Tupel, das das leere Tupel enthält - das ist das Tupel: ((),)

    
ripper234 19.03.2011 10:08
quelle

Tags und Links