Variable in der def-Funktion

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
kerem89
User
Beiträge: 3
Registriert: Mittwoch 15. Juli 2020, 10:55

Hello, ich habe eine Variable in der def Funktion definiert und meine Variable funktuniert in der def Funktion. Aber ich möchte die Variable aucha an andere Stelle verwenden benutzen. Ich habe unten ein code eingefügt.

def changeValue (self,value):
print(value)
print(value)

Erste "print(value)" funktuniert naturlich und Zweite funktuniert nicht naturlich. Wie kann ich beide "print(value)" einschalten.
Vielen Dank.

Ich bin nicht Deutsch. Deshalb konte ich viele Fehler gemacht. Entschuldigung!
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Funktionen bekommen alles, was sie benötigen, als Argumente und geben das Ergebnis per return zurück. Funktionen sind gerade dafür da, dass die Variablen nur dort sichtbar sind. Möchtest du sie an einer anderen Stelle verwenden und du hast sie nicht mit reuturn zurückgegeben, dann ist dein Design falsch.

Hier sind die Funktionen im Tutorial beschrieben.

Code: Alles auswählen

>>> def multiply(x, y):
	result = x * y
	return result

>>> i = multiply(2, 4)
>>> print(i)
8

Edit: Und Code immer in Code-Tags setzen, damit die Einrückungen erhalten bleiben.
Die werden automatisch eingefügt, wenn du den </> Button im vollständigen Editor hier im Forum drückst.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@kerem89: Weitere Anmerkungen: Namen ersten in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase).

Wenn eine Methode `self` nicht verwendet, dann ist das keine Methode sondern eine Funktion die man in eine Klasse gesteckt hat. Dann sollte man sich dringend fragen warum da eine Funktion drin steckt, und falls man tatsächlich eine gute Begründung dafür hat, da eine `staticmethod()` draus machen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten