Schlüsselwörter sind die reservierten Wörter in Python. Wir können ein Schlüsselwort nicht als Variablenname, Funktionsname oder einen anderen Bezeichner verwenden.
Hier ist eine Liste aller Schlüsselwörter in der Python Programmierung
False | await | else | import | pass |
Keine | Break | Ausnahme | in | Aufheben |
Wahr | Klasse | endlich | ist | zurück |
und | fortsetzen | für | lambda | versuchen |
wie | def | von | nichtlokal | während |
assert | del | global | not | mit |
async | elif | if | or | yield |
Die obigen Schlüsselwörter können in verschiedenen Versionen von Python geändert werden. Es können zusätzliche Schlüsselwörter hinzugefügt oder einige entfernt werden. Du kannst immer die Liste der Schlüsselwörter in deiner aktuellen Version erhalten, indem du folgendes in die Eingabeaufforderung eingibst.
>>> import keyword>>> print(keyword.kwlist)
Beschreibung der Schlüsselwörter in Python mit Beispielen
True, False
True
und False
sind Wahrheitswerte in Python. Sie sind die Ergebnisse von Vergleichsoperationen oder logischen (booleschen) Operationen in Python. Zum Beispiel:
>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse
Hier sehen wir, dass die ersten drei Aussagen wahr sind, so dass der Interpreter True
und für die restlichen drei Aussagen False
zurückgibt. True
und False
sind in Python dasselbe wie 1
und 0
. Dies lässt sich mit folgendem Beispiel begründen:
>>> True == 1True>>> False == 0True>>> True + True2
None
None
ist eine spezielle Konstante in Python, die die Abwesenheit eines Wertes oder einen Nullwert darstellt.
Es ist ein Objekt eines eigenen Datentyps, dem NoneType
. Wir können nicht mehrere None
-Objekte erstellen, aber wir können es Variablen zuweisen. Diese Variablen werden einander gleich sein.
Wir müssen besonders darauf achten, dass None
nicht False
, 0
oder eine leere Liste, ein Wörterbuch, eine Zeichenkette usw. bedeutet. Zum Beispiel:
>>> None == 0False>>> None == False>>> None == FalseFalse>>> x = None>>> y = None>>> x == yTrue
Voide Funktionen, die nichts zurückgeben, geben automatisch ein None
-Objekt zurück. None
wird auch von Funktionen zurückgegeben, bei denen der Programmablauf nicht auf eine Rückgabeanweisung trifft. Zum Beispiel:
def a_void_function(): a = 1 b = 2 c = a + bx = a_void_function()print(x)
Ausgabe
None
Dieses Programm hat eine Funktion, die keinen Wert zurückgibt, obwohl sie einige Operationen ausführt. Wenn wir also x drucken, erhalten wir None
, das automatisch (implizit) zurückgegeben wird. In ähnlicher Weise ist hier ein weiteres Beispiel:
def improper_return_function(a): if (a % 2) == 0: return Truex = improper_return_function(3)print(x)
Ausgabe
None
Obwohl diese Funktion eine return
-Anweisung hat, wird sie nicht in jedem Fall erreicht. Die Funktion gibt True
nur zurück, wenn die Eingabe gerade ist.
Wenn wir der Funktion eine ungerade Zahl geben, wird None
implizit zurückgegeben.
und, oder , nicht
and
, or
, not
sind die logischen Operatoren in Python. and
wird nur dann zu True
, wenn beide Operanden True
sind. Die Wahrheitstabelle für and
ist unten angegeben:
A | B | A und B |
---|---|---|
Wahr | Wahr | Wahr |
Wahr | Falsch | Falsch |
Falsch | Wahr | Falsch |
Falsch | Falsch | Falsch |
or
wird zu True
, wenn einer der Operanden True
ist. Die Wahrheitstabelle für or
ist unten angegeben:
A | B | A oder B |
---|---|---|
True | True | True |
True | False | Wahr |
Falsch | Wahr | Wahr |
Falsch | Falsch | Falsch |
not
Operator wird zur Umkehrung des Wahrheitswertes verwendet. Die Wahrheitstabelle für not
ist unten angegeben:
A | nicht A |
---|---|
Wahr | Falsch |
Falsch | True |
Ein paar Beispiele für ihre Verwendung sind unten angegeben
>>> True and FalseFalse>>> True or FalseTrue>>> not FalseTrue
as
as
wird verwendet, um einen Alias beim Importieren eines Moduls zu erstellen. Das bedeutet, dass man einem Modul einen anderen (benutzerdefinierten) Namen gibt, während man es importiert.
Als Beispiel: Python hat ein Standardmodul namens math
. Angenommen, wir wollen mit einem Alias berechnen, was der Kosinus pi ist. Wir können das wie folgt tun: as
:
>>> import math as myAlias>>>myAlias.cos(myAlias.pi)-1.0
Hier haben wir das Modul math
importiert, indem wir ihm den Namen myAlias
gegeben haben. Jetzt können wir uns mit diesem Namen auf das Modul math
beziehen. Mit diesem Namen haben wir cos(pi) berechnet und -1.0
als Antwort erhalten.
assert
assert
wird für Debugging-Zwecke verwendet.
Während des Programmierens möchten wir manchmal den internen Zustand kennen oder überprüfen, ob unsere Annahmen wahr sind. assert
hilft uns, dies zu tun und Fehler bequemer zu finden. assert
wird von einer Bedingung gefolgt.
Wenn die Bedingung wahr ist, passiert nichts. Wenn die Bedingung jedoch falsch ist, wird AssertionError
ausgelöst. Beispiel:
>>> a = 4>>> assert a < 5>>> assert a > 5Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError
Zum besseren Verständnis können wir auch eine Meldung angeben, die mit AssertionError
gedruckt wird.
>>> a = 4>>> assert a > 5, "The value of a is too small"Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError: The value of a is too small
An dieser Stelle können wir feststellen, dass,
assert condition, message
gleichbedeutend ist mit,
if not condition: raise AssertionError(message)
async, await
Die async
und await
Schlüsselwörter werden von der asyncio
Bibliothek in Python bereitgestellt. Sie werden verwendet, um nebenläufigen Code in Python zu schreiben. Zum Beispiel,
import asyncioasync def main(): print('Hello') await asyncio.sleep(1) print('world')
Um das Programm auszuführen, verwenden wir
asyncio.run(main())
Im obigen Programm gibt das Schlüsselwort async
an, dass die Funktion asynchron ausgeführt wird.
Hier wird zuerst Hello gedruckt. Das Schlüsselwort await
lässt das Programm 1 Sekunde lang warten. Und dann wird die Welt gedruckt.
break, continue
break
und continue
werden innerhalb von for
und while
Schleifen verwendet, um deren normales Verhalten zu ändern.
break
beendet die kleinste Schleife, in der es sich befindet, und die Kontrolle fließt zu der Anweisung direkt unter der Schleife. continue
beendet die aktuelle Iteration der Schleife, aber nicht die gesamte Schleife.
Dies kann anhand der folgenden zwei Beispiele veranschaulicht werden:
for i in range(1,11): if i == 5: break print(i)
Ausgabe
1234
Hier beabsichtigt die for
-Schleife, Zahlen von 1 bis 10 zu drucken. Aber die if
-Bedingung ist erfüllt, wenn i gleich 5 ist, und wir brechen die Schleife ab. Daher wird nur der Bereich 1 bis 4 gedruckt.
for i in range(1,11): if i == 5: continue print(i)
Ausgabe
1234678910
Hier verwenden wir continue
für das gleiche Programm. Wenn also die Bedingung erfüllt ist, wird diese Iteration übersprungen. Aber wir verlassen die Schleife nicht. Daher werden alle Werte außer 5 ausgedruckt.
Erfahren Sie mehr über die Break- und Continue-Anweisung in Python.
Klasse
class
wird verwendet, um eine neue benutzerdefinierte Klasse in Python zu definieren.
Klasse ist eine Sammlung von verwandten Attributen und Methoden, die versuchen, eine reale Situation zu repräsentieren. Die Idee, Daten und Funktionen in einer Klasse zusammenzufassen, ist ein zentraler Bestandteil des Konzepts der objektorientierten Programmierung (OOP).
Klassen können überall in einem Programm definiert werden. Es ist jedoch eine gute Praxis, eine einzelne Klasse in einem Modul zu definieren. Nachfolgend ein Anwendungsbeispiel:
class ExampleClass: def function1(parameters): … def function2(parameters): …
Erfahren Sie mehr über Python-Objekte und -Klassen.
def
def
wird verwendet, um eine benutzerdefinierte Funktion zu definieren.
Funktion ist ein Block von zusammenhängenden Anweisungen, die zusammen eine bestimmte Aufgabe erfüllen. Es hilft uns, Code in überschaubare Stücke zu organisieren und auch einige sich wiederholende Aufgaben zu erledigen.
Die Verwendung von def
wird unten gezeigt:
def function_name(parameters): …
Erfahren Sie mehr über Python-Funktionen.
del
del
wird verwendet, um die Referenz auf ein Objekt zu löschen. In Python ist alles ein Objekt. Wir können eine Variablenreferenz löschen, indem wir del
>>> a = b = 5>>> del a>>> aTraceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>NameError: name 'a' is not defined>>> b5
Hier können wir sehen, dass die Referenz der Variablen a gelöscht wurde. Sie ist also nicht mehr definiert. Aber b existiert noch.
del
wird auch verwendet, um Elemente aus einer Liste oder einem Wörterbuch zu löschen:
>>> a = >>> del a>>> a
if, else, elif
if, else, elif
werden für bedingte Verzweigungen oder Entscheidungsfindung verwendet.
Wenn wir eine Bedingung testen und einen Block nur ausführen wollen, wenn die Bedingung wahr ist, dann verwenden wir if
und elif
. elif
ist die Abkürzung für else if. else
ist der Block, der ausgeführt wird, wenn die Bedingung falsch ist. Dies wird anhand des folgenden Beispiels deutlich:
def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else')if_example(2)if_example(4)if_example(1)
Ausgabe
TwoSomething elseOne
Hier prüft die Funktion die eingegebene Zahl und gibt das Ergebnis aus, wenn sie 1 oder 2 ist. Jede andere Eingabe führt dazu, dass der else
Teil des Codes ausgeführt wird.
Erfahren Sie mehr über die if und if…else Anweisung in Python.
except, raise, try
except, raise, try
werden mit Ausnahmen in Python verwendet.
Ausnahmen sind im Grunde genommen Fehler, die darauf hinweisen, dass bei der Ausführung unseres Programms etwas schief gelaufen ist. IOError
, ValueError
, ZeroDivisionError
, ImportError
, NameError
, TypeError
usw. sind einige Beispiele für Ausnahmen in Python. try...except
Blöcke werden verwendet, um Ausnahmen in Python abzufangen.
Wir können eine Ausnahme explizit mit dem Schlüsselwort raise
auslösen. Es folgt ein Beispiel:
def reciprocal(num): try: r = 1/num except: print('Exception caught') return return rprint(reciprocal(10))print(reciprocal(0))
Ausgabe
0.1Exception caughtNone
Hier gibt die Funktion reciprocal()
den Kehrwert der eingegebenen Zahl zurück.
Wenn wir 10 eingeben, erhalten wir die normale Ausgabe von 0,1. Aber wenn wir 0 eingeben, wird automatisch ein ZeroDivisionError
ausgelöst.
Dies wird von unserem try…except
-Block abgefangen und wir geben None
zurück. Wir hätten das ZeroDivisionError
auch explizit auslösen können, indem wir die Eingabe überprüfen und es an anderer Stelle wie folgt behandeln:
if num == 0: raise ZeroDivisionError('cannot divide')
finally
finally
wird zusammen mit dem try…except
-Block verwendet, um Ressourcen oder Dateistreams zu schließen.
Die Verwendung von finally
stellt sicher, dass der darin enthaltene Codeblock ausgeführt wird, auch wenn eine unbehandelte Ausnahme vorliegt. Zum Beispiel:
try: Try-blockexcept exception1: Exception1-blockexcept exception2: Exception2-blockelse: Else-blockfinally: Finally-block
Wenn es eine Ausnahme im Try-block
gibt, wird sie im except
oder else
Block behandelt. Aber egal, in welcher Reihenfolge die Ausführung erfolgt, wir können sicher sein, dass der Finally-block
-Block auch im Fehlerfall ausgeführt wird. Das ist nützlich, um die Ressourcen aufzuräumen.
Erfahren Sie mehr über die Ausnahmebehandlung in der Python-Programmierung.
for
for
wird für Schleifen verwendet. Im Allgemeinen verwenden wir for
, wenn wir wissen, wie oft wir eine Schleife machen wollen.
In Python können wir es mit jeder Art von Sequenzen wie einer Liste oder einem String verwenden. Hier ist ein Beispiel, in dem for
verwendet wird, um eine Liste von Namen zu durchlaufen:
names = for i in names: print('Hello '+i)
Output
Hello JohnHello MonicaHello StevenHello Robin
Erfahren Sie mehr über Python for loop.
from, import
import
Schlüsselwort wird verwendet, um Module in den aktuellen Namespace zu importieren. from…import
wird verwendet, um bestimmte Attribute oder Funktionen in den aktuellen Namespace zu importieren. Zum Beispiel:
import math
importiert das Modul math
. Jetzt können wir die Funktion cos()
darin als math.cos()
verwenden. Wenn wir aber nur die Funktion cos()
importieren wollen, können wir dies mit from
as
from math import cos
nun können wir die Funktion einfach als cos()
verwenden, ohne math.cos()
schreiben zu müssen.
Erfahren Sie mehr über Python-Module und die import-Anweisung.
global
global
wird verwendet, um zu deklarieren, dass eine Variable innerhalb der Funktion global ist (außerhalb der Funktion).
Wenn wir den Wert einer globalen Variablen lesen müssen, ist es nicht notwendig, sie als global
zu definieren. Das ist klar.
Wenn wir den Wert einer globalen Variablen innerhalb einer Funktion ändern müssen, dann müssen wir sie mit global
deklarieren. Andernfalls wird eine lokale Variable mit diesem Namen erstellt.
Das folgende Beispiel soll dies verdeutlichen.
globvar = 10def read1(): print(globvar)def write1(): global globvar globvar = 5def write2(): globvar = 15read1()write1()read1()write2()read1()
Output
1055
Hier liest die Funktion read1()
nur den Wert von globvar
. Wir brauchen sie also nicht als global
zu deklarieren. Aber die Funktion write1()
ändert den Wert, so dass wir die Variable als global
deklarieren müssen.
Wir können in unserer Ausgabe sehen, dass die Änderung stattgefunden hat (10 wird in 5 geändert). Die write2()
versucht ebenfalls, diesen Wert zu ändern. Aber wir haben ihn nicht als global
.
deklariert. Daher wird eine neue lokale Variable globvar
erstellt, die außerhalb dieser Funktion nicht sichtbar ist. Obwohl wir diese lokale Variable auf 15 ändern, bleibt die globale Variable unverändert. Dies ist in unserer Ausgabe deutlich sichtbar.
in
in
wird verwendet, um zu testen, ob eine Sequenz (Liste, Tupel, String usw.) einen Wert enthält. Sie gibt True
zurück, wenn der Wert vorhanden ist, ansonsten False
. Beispiel:
>>> a = >>> 5 in aTrue>>> 10 in aFalse
Die sekundäre Verwendung von in
ist das Durchlaufen einer Sequenz in einer for
Schleife.
for i in 'hello': print(i)
Output
hello
ist
is
wird in Python zum Testen der Objektidentität verwendet. Während der Operator ==
verwendet wird, um zu prüfen, ob zwei Variablen gleich sind oder nicht, wird is
verwendet, um zu prüfen, ob die beiden Variablen auf dasselbe Objekt verweisen.
Er gibt True
zurück, wenn die Objekte identisch sind, und False
, wenn nicht.
>>> True is TrueTrue>>> False is FalseTrue>>> None is NoneTrue
Wir wissen, dass es nur eine Instanz von True
, False
und None
in Python gibt, also sind sie identisch.
>>> == True>>> is False>>> {} == {}True>>> {} is {}False
Eine leere Liste oder ein leeres Wörterbuch ist gleich einer anderen leeren Liste. Es handelt sich jedoch nicht um identische Objekte, da sie sich getrennt im Speicher befinden. Das liegt daran, dass Liste und Wörterbuch veränderbar sind (der Wert kann geändert werden).
>>> '' == ''True>>> '' is ''True>>> () == ()True>>> () is ()True
Im Gegensatz zu Liste und Wörterbuch sind String und Tupel unveränderlich (der einmal definierte Wert kann nicht geändert werden). Daher sind zwei gleiche Strings oder Tupel auch identisch. Sie verweisen auf denselben Speicherplatz.
lambda
lambda
wird verwendet, um eine anonyme Funktion (Funktion ohne Namen) zu erstellen. Es handelt sich um eine Inline-Funktion, die keine return
-Anweisung enthält. Sie besteht aus einem Ausdruck, der ausgewertet und zurückgegeben wird. Beispiel:
a = lambda x: x*2for i in range(1,6): print(a(i))
Ausgabe
246810
Hier haben wir eine Inline-Funktion erstellt, die den Wert verdoppelt, indem wir die Anweisung lambda
verwenden. Wir haben dies verwendet, um die Werte in einer Liste zu verdoppeln, die 1 bis 5 enthält.
Erfahren Sie mehr über Python lamda function.
nonlocal
Die Verwendung des Schlüsselworts nonlocal
ist dem Schlüsselwort global
sehr ähnlich. nonlocal
wird verwendet, um zu deklarieren, dass eine Variable innerhalb einer verschachtelten Funktion (Funktion innerhalb einer Funktion) nicht lokal ist, d.h. sie liegt in der äußeren einschließenden Funktion. Wenn wir den Wert einer nicht-lokalen Variablen innerhalb einer verschachtelten Funktion ändern müssen, müssen wir sie mit nonlocal
deklarieren. Andernfalls wird eine lokale Variable mit diesem Namen innerhalb der verschachtelten Funktion erstellt. Das folgende Beispiel soll dies verdeutlichen.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Ausgabe
Inner function: 10Outer function: 10
Hier ist die inner_function()
innerhalb der outer_function
verschachtelt.
Die Variable a befindet sich in der outer_function()
. Wenn wir sie also im inner_function()
ändern wollen, müssen wir sie als nonlocal
deklarieren. Beachten Sie, dass a keine globale Variable ist.
Aus der Ausgabe geht hervor, dass die Variable innerhalb der verschachtelten inner_function()
erfolgreich geändert wurde. Das Ergebnis, wenn das Schlüsselwort nonlocal
nicht verwendet wird, ist wie folgt:
def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Ausgabe
Inner function: 10Outer function: 5
Hier wird nicht deklariert, dass die Variable a innerhalb der verschachtelten Funktion nonlocal
ist. Daher wird eine neue lokale Variable mit demselben Namen erstellt, aber die nicht-lokale Variable a wird nicht geändert, wie in unserer Ausgabe zu sehen ist.
pass
pass
ist eine Null-Anweisung in Python. Wenn sie ausgeführt wird, passiert nichts. Sie wird als Platzhalter verwendet.
Angenommen, wir haben eine Funktion, die noch nicht implementiert ist, aber wir wollen sie in Zukunft implementieren. Schreiben wir einfach,
def function(args):
in die Mitte eines Programms, erhalten wir IndentationError
. Stattdessen konstruieren wir mit der Anweisung,pass
einen leeren Körper.
def function(args): pass
Das Gleiche können wir auch in einem leeren class
tun.
class example: pass
Die Anweisungreturn
return
wird innerhalb einer Funktion verwendet, um sie zu beenden und einen Wert zurückzugeben.
Wenn wir nicht explizit einen Wert zurückgeben, wird None
automatisch zurückgegeben. Das folgende Beispiel verdeutlicht dies.
def func_return(): a = 10 return adef no_return(): a = 10print(func_return())print(no_return())
Output
10None
while
while
wird in Python für Schleifen verwendet.
Die Anweisungen innerhalb einer while
-Schleife werden so lange ausgeführt, bis die Bedingung für die while
-Schleife False
ergibt oder eine break
-Anweisung gefunden wird. Das folgende Programm veranschaulicht dies.
i = 5while(i): print(i) i = i – 1
Ausgabe
54321
Beachten Sie, dass 0 gleich False
ist.
Erfahren Sie mehr über die Python while-Schleife.
mit
with
Die Anweisung wird verwendet, um die Ausführung eines Codeblocks in Methoden zu verpacken, die vom Kontextmanager definiert wurden.
Kontextmanager ist eine Klasse, die __enter__
und __exit__
Methoden implementiert. Die Verwendung der with
-Anweisung stellt sicher, dass die __exit__
-Methode am Ende des verschachtelten Blocks aufgerufen wird. Dieses Konzept ist vergleichbar mit der Verwendung des try…finally
-Blocks. Hier ist ein Beispiel.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
Dieses Beispiel schreibt den Text Hello world!
in die Datei example.txt
. In den Dateiobjekten sind die Methoden __enter__
und __exit__
definiert, so dass sie als eigene Kontextmanager fungieren.
Zuerst wird die Methode __enter__
aufgerufen, dann wird der Code in der Anweisung with
ausgeführt und schließlich wird die Methode __exit__
aufgerufen. Die Methode __exit__
wird auch dann aufgerufen, wenn ein Fehler aufgetreten ist. Sie schließt im Grunde den Dateistrom.
yield
yield
wird innerhalb einer Funktion wie eine return
-Anweisung verwendet. Aber yield
gibt einen Generator zurück.
Generator ist ein Iterator, der ein Element nach dem anderen erzeugt. Eine große Liste von Werten nimmt viel Speicherplatz in Anspruch. Generatoren sind in dieser Situation nützlich, da sie jeweils nur einen Wert erzeugen, anstatt alle Werte im Speicher zu speichern. Zum Beispiel wird mit
>>> g = (2**x for x in range(100))
ein Generator g erzeugt, der Potenzen von 2 bis zur Zahl zwei hoch 99 erzeugt. Wir können die Zahlen mit der Funktion next()
wie unten gezeigt erzeugen.
>>> next(g)1>>> next(g)2>>> next(g)4>>> next(g)8>>> next(g)16
Und so weiter… Diese Art von Generator wird mit der Anweisung yield
von einer Funktion zurückgegeben. Hier ist ein Beispiel.
def generator(): for i in range(6): yield i*ig = generator()for i in g: print(i)
Ausgabe