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

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:

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:

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

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:

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
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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