Operator-Frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
leoel
User
Beiträge: 36
Registriert: Dienstag 25. Mai 2004, 08:54
Wohnort: Graz

Montag 22. November 2004, 09:06

Hallo!

Warum hat Python eigentlich keinen "++"-Operator? Gibt es einen speziellen Grund dafür?

Danke.
Leoel
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Montag 22. November 2004, 10:21

Hi

Ich kann nur aus meiner Sicht antworten.

Ich denke, dass das Programm einfacher zu lesen ist mit
zahl += 1 und Fehler vermieden werden, wenn ++ bei
einem Funktionsaufruf eingesetzt wird (function(zahl++) oder function(++zahl)).

Nur so meine Gedanke dazu, vielleicht kennt jemand den richtigen Grund :).

Gruss
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

Montag 22. November 2004, 10:56

Moinsen...
Also ich weiß auch keine Antwort darauf, aber meiner Meinung nach kann man wesentlich schneller erkennen was das Programm macht, wenn man ein x++ liest, als wenn man sich durch ein x += 1 (irgendwie sieht das hässlich aus..) wühlen muss.
Bevor einer fragt: Ja, dieser Zeitvorteil ist entscheident ;)
Gast

Montag 22. November 2004, 11:25

Hallo!
Redprince hat geschrieben:Also ich weiß auch keine Antwort darauf, aber meiner Meinung nach kann man wesentlich schneller erkennen was das Programm macht, wenn man ein x++ liest,
Für jemanden, der ++ nicht von anderen sprachen her kennt, ist das alles anderen als lesbar. Intuitiv ist das zumindest nicht herleitbar, daß der operator die variable um 1 bzw. 1.0 erhöht. Für den einen speziellen fall "x += y wenn y == 1" extra einen eigenen operator vorzusehen, halte ich für überflüssig, zumal der bedarf ja wesentlich geringer ist als bei anderen sprachen mit ihren for-schleifen. Bei python kann man vorzüglich über "Collections" iterieren und wenn dabei mal einen zähler braucht, gibt es enumerate().
btw: jahrelang ist python auch gut ohne += ausgekommen.
joe
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Montag 22. November 2004, 14:38

Hi,

bei Python sind Ganzahlen (int, long) imutable, d.h. unveränderbar, ein i++ würde einen mutable Datentyp erfordern. Mir gefällt i += 1 besser und man kann auch mal i += 2 machen wenn erforderlich ;)


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 22. November 2004, 20:42

Dookie hat geschrieben:und man kann auch mal i += 2 machen wenn erforderlich ;)
Oder auch
txt += "wow!"
ist also universieller!

Jedoch, wenn man es nicht kennt ist
txt = txt + "wow!"
viel einfacher zu verstehen ;)
Antworten