python 3.2 wie wird die übergabe von Daten in der Variablen zwischen Funktionen
Wie würde ich speichern und übergeben Sie den Inhalt von r von der Haupt-in zwei? Es wird gedruckt, r wenn ich es r = etwas fester, aber wie kann ich den pass und halten von Variablen in r. Ich habe versucht, zufällig.getstate/setstate aber es war nämlich "Objekt Funktion nicht subscriptable".
import random
from random import randrange
def main():
r = random.randrange(1,13,1)
print (r)
r = random.randrange(1,13,1)
def two():
if r==7 or r==11:
print (r)
else:
print (r)
main()
two()
- Wie haben Sie herausfinden, über
random.getstate
? Das ist völlig unabhängig. Die Art und Weise, die Sie übergeben von Informationen zwischen den Funktionen ist die gleiche, egal, was die Funktionen tun, und völlig unabhängig von der Tatsache, dass Sie über dierandom
- Modul, so verstehe ich nicht, warum Sie gehen würde, zu Graben um dort etwas zu finden, die helfen könnten. Diese sind für die Programmierung Grundlagen, die Sie sollten lernen ersten, bevor Sie versuchen, mit anderen zu arbeiten' code (per Import-Module). Ja, das bedeutet, dass das schreiben sehr begrenzt, Dinge, die auf den ersten. - Ich schrieb tatsächlich, dass der code mich, und ich nehme ein Python-Programmierung Klasse jetzt so dass ich wirklich nicht zu schätzen wissen, die Vermutung, dass ich unter fremden code, wenn das, was ich Tat, war Blick in die python docs. Das nächste mal denken, bevor Sie übernehmen. Es ist beleidigend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, je nach der situation, die Sie entweder wollen, um eine Klasse oder wieder die Daten, dann geben Sie als argument, die letztere ist wahrscheinlich das, was Sie wollen, Ihre Codes, so zum Beispiel:
Wenn dies geschieht, innerhalb von etwas, das man definieren könnte als eine Einheit, könnten Sie tun es in einer Klasse:
In diesem Fall jedoch, ist dies unnötig, da Sie erstellen eine Klasse, die nicht wirklich zu den Kapseln nichts.
Verwenden, Rückgabewerte und Parameter der Funktion:
Die Funktion
main
berechnet den zufälligen Wert und dann zurück zu der Stelle, wo es aufgerufen wurde. Sie können dann speichern den Rückgabewert in eine variable (auch alsr
in diesem Fall:r = main()
). Es braucht nicht genannt zu werdenr
obwohl, Sie können auch nennen Sie es etwas anderes.Übergeben zu
two
können Sie übergeben Sie als parameter. Wie Sie sehen können, indef two(r):
die Funktiontwo
erwartet jetzt einen parameter (auch alsr
) und es ist verwendet in dieser Funktion. Wieder, dies muss nicht genannt werdenr
aber es scheint zu passen, um den gleichen Namen zu verwenden.