Bibliotheken, Module und Variable

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
haidi
User
Beiträge: 20
Registriert: Montag 28. Dezember 2015, 23:03

Hallo,
als Neuling in Python beschäftigt mich ein Problem:

Ich kann einer Variable mittels einer Funktion einen Wert zuweisen, also:
a=funktion(b,c)

Kann ich auch mehrere Variable in einer Funktion ändern, also in etwa in dieser Art:
a=2
b="haus"
c=4
funktion()

nach Ausführen der Funktion sollen sich die Werte von a, b, und c verändert haben.
BlackJack

@haidi: Können ja — falls sich die Namen auf Modulebene befinden, machen sollte man das nicht. Das fängt schon damit an das Variablen nicht auf Modulebene existieren sollten. Da gehören nur Konstanten, Funktionen, und Klassen hin.

Du kannst zwar nur einen Wert aus einer Funktion zurückgeben, aber dieser eine Wert kann ja auch eine Liste oder ein Tupel sein und damit mehrere Werte beinhalten. Und mit „tuple unpacking“ (was eigentlich „iterable unpacking“ heissen müsste) bekommt man das syntaktisch auch ganz nett geschrieben:

Code: Alles auswählen

def something_returning_a_coordinate(name):
    if name == 'home':
        return (42, 23)
    # ...

def main():
    x, y = something_returning_a_coordinate('home')
    print x  # → 42
    print y  # → 23


if __name__ == '__main__':
    main()
haidi
User
Beiträge: 20
Registriert: Montag 28. Dezember 2015, 23:03

Danke für die prompte Antwort - ich denke, das hilft mir total.
Antworten