Wie man prüft, ob eine Variable in Python ein Wörterbuch (dictionary) ist

PythonBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob eine Variable in Python ein Wörterbuch (dictionary) ist. Wörterbücher sind grundlegende Datenstrukturen, die verwendet werden, um Daten in Schlüssel-Wert-Paaren zu speichern. Sie beginnen damit, die Grundlagen von Wörterbüchern zu verstehen, einschließlich der Erstellung, des Zugriffs auf und die Modifikation von Wörterbüchern mithilfe von geschweiften Klammern {} und schlüsselbasierter Indizierung.

Anschließend führt das Lab Sie durch die Verwendung der type()-Funktion und der isinstance()-Funktion, um festzustellen, ob eine Variable ein Wörterbuch ist. Sie erstellen Python-Skripte, um diese Methoden zu testen und die Ausgabe zu beobachten, um Ihr Verständnis davon zu festigen, wie Sie programmgesteuert feststellen können, ob eine Variable ein Wörterbuchobjekt enthält.

Wörterbücher verstehen

In diesem Schritt lernen Sie über Wörterbücher (dictionaries), eine grundlegende Datenstruktur in Python. Wörterbücher werden verwendet, um Daten in Schlüssel-Wert-Paaren zu speichern, sodass Sie schnell Werte anhand ihrer zugehörigen Schlüssel abrufen können.

Ein Wörterbuch wird mit geschweiften Klammern {} definiert. Jedes Schlüssel-Wert-Paar wird durch einen Doppelpunkt : getrennt, und die Paare werden durch Kommas , voneinander getrennt. Hier ist ein einfaches Beispiel:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}
print(my_dict)

Um mit Wörterbüchern zu arbeiten, erstellen Sie mit dem VS Code-Editor eine Python-Datei namens dictionary_example.py in Ihrem ~/project-Verzeichnis.

Öffnen Sie VS Code, erstellen Sie eine neue Datei namens dictionary_example.py im ~/project-Verzeichnis und fügen Sie den folgenden Inhalt hinzu:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Print the entire dictionary
print(my_dict)

Führen Sie jetzt das Python-Skript mit dem folgenden Befehl im Terminal aus:

python ~/project/dictionary_example.py

Sie sollten die folgende Ausgabe sehen:

{'name': 'Alice', 'age': 30, 'city': 'New York'}

Um einen bestimmten Wert im Wörterbuch abzurufen, verwenden Sie den Schlüssel in eckigen Klammern []:

name = my_dict["name"]
print(name)

Ändern Sie Ihre dictionary_example.py-Datei, um die folgenden Zeilen hinzuzufügen:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Access a value using the key
name = my_dict["name"]
print(name)

Führen Sie das Skript erneut aus:

python ~/project/dictionary_example.py

Die Ausgabe wird jetzt lauten:

Alice

Sie können auch neue Schlüssel-Wert-Paare zu einem Wörterbuch hinzufügen:

my_dict["occupation"] = "Engineer"
print(my_dict)

Aktualisieren Sie Ihre dictionary_example.py-Datei:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Add a new key-value pair
my_dict["occupation"] = "Engineer"
print(my_dict)

Führen Sie das Skript aus:

python ~/project/dictionary_example.py

Die Ausgabe wird sein:

{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Engineer'}

Wörterbücher sind veränderlich (mutable), was bedeutet, dass Sie den Wert, der einem Schlüssel zugeordnet ist, ändern können:

my_dict["age"] = 31
print(my_dict)

Ändern Sie Ihre dictionary_example.py-Datei:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Change the value of an existing key
my_dict["age"] = 31
print(my_dict)

Führen Sie das Skript aus:

python ~/project/dictionary_example.py

Die Ausgabe wird sein:

{'name': 'Alice', 'age': 31, 'city': 'New York'}

Das Verständnis von Wörterbüchern ist für die Arbeit mit strukturierten Daten in Python von entscheidender Bedeutung. Sie bieten eine flexible und effiziente Möglichkeit, Informationen zu speichern und abzurufen.

Verwendung von type() zur Identifizierung

In diesem Schritt lernen Sie, wie Sie die type()-Funktion in Python verwenden, um den Datentyp einer Variable zu identifizieren. Dies ist ein nützliches Werkzeug, um die Art der Daten, mit denen Sie arbeiten, zu verstehen und um Ihren Code zu debuggen.

Die type()-Funktion gibt den Typ eines Objekts zurück. Beispielsweise gibt type() für eine Variable, die eine Ganzzahl enthält, <class 'int'> zurück. Enthält die Variable eine Zeichenkette, gibt die Funktion <class 'str'> zurück, und so weiter.

Lassen Sie uns mit der dictionary_example.py-Datei fortfahren, die Sie im vorherigen Schritt erstellt haben. Wir fügen etwas Code hinzu, um die Typen verschiedener Variablen zu identifizieren.

Öffnen Sie dictionary_example.py in VS Code und fügen Sie die folgenden Zeilen hinzu:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

Führen Sie jetzt das Python-Skript mit dem folgenden Befehl aus:

python ~/project/dictionary_example.py

Sie sollten die folgende Ausgabe sehen:

<class 'dict'>
<class 'str'>
<class 'int'>

Diese Ausgabe zeigt Ihnen, dass my_dict ein Wörterbuch (dict), name eine Zeichenkette (str) und age eine Ganzzahl (int) ist.

Sie können type() auch mit anderen Datentypen wie Listen und Booleschen Werten verwenden. Fügen wir einige weitere Beispiele zu dictionary_example.py hinzu:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check the type of the dictionary
print(type(my_dict))

## Access a value
name = my_dict["name"]

## Check the type of the value
print(type(name))

## Check the type of the age
age = my_dict["age"]
print(type(age))

## Create a list
my_list = [1, 2, 3]
print(type(my_list))

## Create a boolean
is_adult = True
print(type(is_adult))

Führen Sie das Skript erneut aus:

python ~/project/dictionary_example.py

Die Ausgabe wird jetzt lauten:

<class 'dict'>
<class 'str'>
<class 'int'>
<class 'list'>
<class 'bool'>

Wie Sie sehen können, ist type() eine vielseitige Funktion, die Ihnen hilft, die Datentypen zu verstehen, mit denen Sie in Python arbeiten. Dies ist besonders nützlich, wenn Sie mit komplexen Datenstrukturen umgehen oder wenn Sie sich nicht sicher sind, welchen Typ eine Variable hat.

Bestätigung mit isinstance()

In diesem Schritt lernen Sie, wie Sie die isinstance()-Funktion in Python verwenden, um zu bestätigen, ob ein Objekt eine Instanz einer bestimmten Klasse oder eines bestimmten Typs ist. Diese Funktion ist robuster als type(), da sie auch Vererbung berücksichtigt.

Die isinstance()-Funktion nimmt zwei Argumente entgegen: das Objekt, das Sie überprüfen möchten, und die Klasse oder den Typ, gegen den Sie überprüfen möchten. Sie gibt True zurück, wenn das Objekt eine Instanz der angegebenen Klasse oder des angegebenen Typs ist, und False sonst.

Lassen Sie uns mit der dictionary_example.py-Datei fortfahren. Wir fügen etwas Code hinzu, um die Typen verschiedener Variablen mit isinstance() zu bestätigen.

Öffnen Sie dictionary_example.py in VS Code und fügen Sie die folgenden Zeilen hinzu:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

Führen Sie jetzt das Python-Skript mit dem folgenden Befehl aus:

python ~/project/dictionary_example.py

Sie sollten die folgende Ausgabe sehen:

True
True
True

Diese Ausgabe bestätigt, dass my_dict ein Wörterbuch, name eine Zeichenkette und age eine Ganzzahl ist.

Sie können isinstance() auch verwenden, um gleichzeitig gegen mehrere Typen zu überprüfen, indem Sie ein Tupel von Typen als zweites Argument übergeben. Beispielsweise:

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

Ändern Sie Ihre dictionary_example.py-Datei, um diese Überprüfung einzubeziehen:

## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}

## Check if my_dict is a dictionary
print(isinstance(my_dict, dict))

## Access a value
name = my_dict["name"]

## Check if name is a string
print(isinstance(name, str))

## Check if age is an integer
age = my_dict["age"]
print(isinstance(age, int))

## Check if age is either an integer or a float
print(isinstance(age, (int, float)))

Führen Sie das Skript erneut aus:

python ~/project/dictionary_example.py

Die Ausgabe wird jetzt lauten:

True
True
True
True

isinstance() ist ein leistungsstarkes Werkzeug für die Typüberprüfung in Python, insbesondere wenn es um Vererbung geht oder wenn Sie gegen mehrere Typen überprüfen müssen. Es hilft Ihnen, robusteren und zuverlässigeren Code zu schreiben, indem es sicherstellt, dass Ihre Variablen die erwarteten Typen haben.

Zusammenfassung

In diesem Lab haben Sie sich mit Wörterbüchern (dictionaries) in Python vertraut gemacht, einer grundlegenden Datenstruktur zum Speichern von Daten in Schlüssel-Wert-Paaren. Sie haben ein Wörterbuch erstellt, Werte mithilfe von Schlüsseln abgerufen und neue Schlüssel-Wert-Paare hinzugefügt.

Sie haben auch die type()-Funktion und die isinstance()-Funktion verwendet, um zu überprüfen, ob eine Variable ein Wörterbuch ist. Die type()-Funktion gibt den Typ eines Objekts zurück, während isinstance() prüft, ob ein Objekt eine Instanz einer angegebenen Klasse oder eines angegebenen Typs ist.