Laut IT-Glossar ist "Funktion" Es gibt "eine Reihe von Anweisungen, die Daten empfangen, die als Argumente bezeichnet werden, die angegebene Verarbeitung ausführen und das Ergebnis zurückgeben". Ein Programm ist eine Sammlung von Funktionen, da das Programm selbst basierend auf den Daten verarbeitet und das Ergebnis zurückgibt. Wenn Sie jedes Mal schreiben, wenn Sie ein Programm verwenden, das dasselbe ohne Verwendung einer Funktion ausführt, wird das Programm redundant. Wenn eine Korrektur erforderlich ist, müssen auch alle Teile korrigiert werden. Wenn Sie es zu einer Funktion machen, können Sie die Codemenge im Programm verkürzen, und Sie müssen nur eine Funktion ändern, sodass es keine Zeit braucht. Dies ist auch beim Erstellen des später beschriebenen "Moduls" unverzichtbar.
Erstellen Sie eine einfache Funktion. Es ist ein Programm, das eine Funktion verwendet, die bestimmt, ob das als Argument angegebene Jahr ein feuchtes Jahr ist. Eine Funktion, die eine Lieblingszahl im Jahr in der 9. Zeile speichert (derzeit 2015) und das Jahr der Schwellung bestimmt Lassen Sie uns überprüfen, ob leap_year () ordnungsgemäß funktioniert.
leap_year.py
def leap_year(year):
if year % 400 == 0 or (year % 100 != 0 and year % 4 == 0) :
leap = True
else:
leap = False
return leap
year = 2015
print("{0} = {1}".format(year,leap_year(year)))
Die Funktion wird in der folgenden Form definiert.
** def ** * Funktionsname * ** (** * Argument * **): ** wird bearbeitet ** Rückgabe ** * Rückgabewert *
Sie können auch eine Funktion ohne Rückgabewert definieren, indem Sie keine return-Anweisung schreiben.
leap_year2.py
def leap_year(year):
if year % 400 == 0 or (year % 100 != 0 and year % 4 == 0) :
print("{0} is leap year".format(year))
else:
print("{0} is not leap year".format(year))
year = 2015
leap_year(year)
Wenn Sie das Argument einer normalen Funktion weglassen, tritt eine Ausnahme auf.
argment_ERRROR.py
def plus_4(arg1,arg2,arg3,arg4):
return arg1+arg2+arg3+arg4
print("no arg:{0}".format(plus_4()))
TypeError: plus_4() takes exactly 4 arguments (0 given)
Wenn die Funktion definiert ist, wird das Argument jedoch weggelassen, indem * argument * ** = ** * Standardwert * geschrieben wird. Sie können den Standardwert festlegen.
argment_ERRROR.py
def plus_4(arg1=2000,arg2=0,arg3=10,arg4=5):
return arg1+arg2+arg3+arg4
print("no arg:{0}".format(plus_4()))
Das folgende Ergebnis wird ausgegeben. Es ist bequem. no arg:2015
Sie können eine Funktion erstellen, die die Anzahl der Argumente nicht im Voraus bestimmt.
argments.py
def spam(*args):
print("{0}".format(args))
spam("arg1",2,3.4)
Das Ausgabeergebnis ist ('arg1', 2, 3.4) Es wird sein. Sie können dem Argument einen Wert als Tapple übergeben, indem Sie im Argument ** \ * Variablenname ** definieren.
argments2.py
def spam(**args):
print("{0}".format(args))
spam(taro=165,jiro=180,saburo=170)
Eine andere Möglichkeit, Argumente mit variabler Länge zu definieren, besteht darin, die Argumente als ** \ * \ * Variablenname ** zu definieren. Sie können einen Wert als Argument als Wörterbuch übergeben.
Globale Variablen sind Variablen, auf die von überall aus verwiesen werden kann. Durch Deklarieren außerhalb der Funktion kann es innerhalb oder außerhalb der Funktion verwendet werden. Umgekehrt können lokale Variablen, die innerhalb einer Funktion deklariert sind, nicht außerhalb der Funktion verwendet werden.
global_explain.py
var1 = "global"
def hoge(str):
var2 = "local"
return var1 + str + var2
print("{0}".format(hoge("-")))
print("{0}".format(var2))
#print("{0}".format(var1))
Das obige Programm löst eine Laufzeitausnahme aus. Sie sollten so etwas sehen:
global-local Traceback (most recent call last): print("{0}".format(var2)) NameError: name 'var2' is not defined
Da die Variable var2 eine im Funktions-Hoge deklarierte Variable ist, kann sie nicht von außen verwendet werden. Die außerhalb der Funktion deklarierte Variable var1 kann innerhalb und außerhalb der Funktion verwendet werden. Vom Programm Kommentieren Sie "print (" {0} ".format (var2))" und Kommentieren Sie stattdessen "print (" {0} ".format (var1))" aus und führen Sie das Programm erneut aus. Diesmal wird keine Ausnahme ausgelöst.
Als nächstes werde ich Ihnen zeigen, wie Sie die globale Variable innerhalb der Funktion ändern.
change_global_NG.py
var1 = "global"
def spam():
var1 = "change global"
var2 = "local"
print(var1,var2)
spam()
print("var1 : {0}".format(var1))
ange global local var1 : change global
Ich erwarte, dass es angezeigt wird, aber in Wirklichkeit
ange global local var1 : global
Es wird angezeigt. Warum konnte ich die globale Variable innerhalb der Funktion nicht ändern? Selbst wenn Sie den Wert in einer Variablen mit demselben Namen wie die globale Variable in der Funktion speichern, wird er als lokale Variable mit demselben Namen interpretiert. Wenn Sie die globale Variable in der Funktion ändern möchten, geben Sie an, dass die Variable wie unten gezeigt global ist, und ändern Sie sie dann.
change_global.py
def spam():
global var1
var1 = "change global"
var2 = "local"
print("{0}".format(var1+" "+var2))
spam()
print("var1 : {0}".format(var1))
change global local var1 : change global
Das erwartete Ergebnis wurde ausgegeben.
Weiter: Python-Grundkurs (13 Klassen)
Recommended Posts