[Python-de] Parameter in Python

Alexander Langer alexander.langer at address.invalid
Di Nov 12 06:13:29 CET 2013


Moin,

ich hatte ein interessante und zugleich verwirrende Diskussion über
Funktionsparameter im IRC Chat #python.

Das Problem dreht sich um mutable / immutable Werte.

Beispiel Zahl als Funktionsparameter -> Veränderung nur lokal sichtbar.
Beispiel Liste als Funktionsparameter -> Veränderung global sichtbar.

Auf meine Frage, ob letzteres nicht call-by-reference (cbr) sei,
erwiderte man das sei alles, wirklich alles call-by-value (cbv) weil man
da ja Zeiger auf Objekte als Werte übergebe.

Für mich ist das eine befremdliche Auffassung (und vielleicht auch
Taktik um von einem Manko abzulenken), denn hinter cbr und cbv steht in
erster Linie eine Semantik für den Programmierer und nicht die Frage wie
ich die Parameter implementiere. So jedenfalls habe ich es damals gelernt.

Mich würde mal interessieren, warum dieses Problem nicht schon längst
angegangen wurde und ob ihr schon damit Kontakt hattet. Ich jedenfalls
muss meine mutables allehand kopieren, um unerwünschte Seiteneffekte zu
vermeiden.

Grüße,

Alexander


Mehr Informationen über die Mailingliste python-de