Heim  >  Artikel  >  Backend-Entwicklung  >  Nullbasierte Python-Einführung in sieben Variablen und integrierte Funktionen

Nullbasierte Python-Einführung in sieben Variablen und integrierte Funktionen

黄舟
黄舟Original
2017-01-16 14:10:451457Durchsuche

1. Globale Variablen und lokale Variablen
Diese beiden Variablen sind dieselben wie Variablen in anderen Sprachen. Ihr Gültigkeitsbereich ist die gesamte Funktion, und lokale Variablen haben eine begrenzter Umfang, oft innerhalb eines Codebereichs.
Es ist zu beachten, dass es überhaupt kein Problem darstellt, wenn Sie nur den Wert der globalen Variablen in der Funktion aufrufen, ohne ihren Wert zu ändern. Wenn Sie jedoch den Wert der globalen Variablen in der Funktion ohne besondere Änderungen ändern möchten Bei der Verarbeitung verarbeitet die Python-Sprache diese Situation, indem sie automatisch eine lokale Variable mit demselben Namen wie die aufgerufene globale Variable generiert. Dies bedeutet, dass die globale Variable abgeschirmt ist und Operationen an der Variablen den Wert der globalen Variablen nicht beeinflussen. (Obwohl es so aussieht, als hätte es sich geändert)
Zum Beispiel ist im folgenden Programm der außerhalb der Funktion gedruckte Wert von count immer noch 5, obwohl der Wert von count in der Funktion geändert wurde.

count=5def Myfun():
     count=10
     print(count)
Myfun()
print(count)

Nullbasierte Python-Einführung in sieben Variablen und integrierte Funktionen

Wenn Sie den Wert einer globalen Variablen innerhalb der Funktion ändern müssen, können Sie das Schlüsselwort global verwenden, um die Variable innerhalb der Funktion zu ändern. Dies bedeutet, dass die Operation eine Operation auf der ist globale Variable, anstatt eine lokale Variable zu generieren, die mit der globalen Variablen identisch ist.

print("======使用global之后的变量======")
count=5def Myfun():
     global count#声明与赋值不能一块进行
     count=10
     print(count)
Myfun()
print(count)

2. Eingebettete (interne) Funktionen
Kurz gesagt ist eine eingebettete Funktion eine innerhalb einer Funktion definierte Funktion.
Es ist zu beachten, dass interne Funktionen nur innerhalb einer externen Funktion aufgerufen werden können ruft an, kann aber nicht von außen angerufen werden. Mit anderen Worten: Wer hat das Recht, es innerhalb des Eigentümers zu nutzen?

print("======内部函数的使用======")def fun1():
     print("fun1()正在被调用")     def fun2():
          print("fun2()正在被调用")
     fun2()
fun1()

3. Abschluss
Ein Abschluss ist der Parameter, der von einer eingebetteten Funktion zum Aufrufen ihrer externen Funktion verwendet wird.
Diese Art von Funktion erfordert beim Aufruf besondere Aufmerksamkeit.

def funX(x):
     def funY(y):
          return x*y     return funY
print(funX(5)(8))

4. Variablenprobleme bei Abschlüssen
Der folgende Code meldet bei der Ausführung einen Fehler. Da die Parameter der externen Funktion innerhalb der eingebetteten Funktion aufgerufen werden und der Parameter x eine globale Variable für die Funktion Fun2 () ist, tritt aufgrund des Abschirmeffekts ein Funktionsfehler auf.

def Fun1():
     x=5
     def Fun2():
          x*=x          return x     return Fun2()#Fun1()

Nullbasierte Python-Einführung in sieben Variablen und integrierte Funktionen

Es gibt zwei Möglichkeiten, das obige Problem zu lösen:
Eine besteht darin, Nicht-Stack-Datenstrukturen zu verwenden, um das Problem zu lösen
Die andere ist Um das nichtlokale Schlüsselwort zu verwenden, müssen Sie

#一种解决办法就是使用非栈存储,使用序列等来存储def Fun1():
     x=[5]     def Fun2():
          x[0]*=x[0]          return x[0]     return Fun2()
print(Fun1(),"\n")#在一种解决办法就是使用nonlocal关键字def Fun3():
     x=5
     def Fun4():
          nonlocal x
          x*=x          return x     return Fun4()
print(Fun3())

Nullbasierte Python-Einführung in sieben Variablen und integrierte Funktionen

sorgfältig über die Variablen in der Funktion nachdenken. Schließlich gibt es einige Unterschiede zu dem, was Sie zuvor gelernt haben.

Das Obige ist der Inhalt der sieben Variablen und integrierten Funktionen der nullbasierten Einführung von Python. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn