Verständnis der Typüberprüfung in Wörterbüchern
In diesem Schritt werden wir die Wichtigkeit der Typüberprüfung in Python-Wörterbüchern (dictionaries) untersuchen. Wörterbücher sind vielseitige Datenstrukturen, die Schlüssel-Wert-Paare speichern können. Um die Integrität und Zuverlässigkeit Ihres Codes sicherzustellen, ist es jedoch wichtig zu verstehen, wie Sie die Typen der in einem Wörterbuch gespeicherten Schlüssel und Werte überprüfen können.
Wörterbücher in Python werden mit geschweiften Klammern {}
definiert. Jedes Element in einem Wörterbuch besteht aus einem Schlüssel und einem entsprechenden Wert, getrennt durch einen Doppelpunkt :
.
Beginnen wir damit, ein einfaches Wörterbuch zu erstellen:
## Create a dictionary
my_dict = {
"name": "Alice",
"age": 30,
"city": "New York"
}
print(my_dict)
Speichern Sie den obigen Code in einer Datei namens type_checking.py
in Ihrem ~/project
-Verzeichnis. Sie können den VS Code-Editor verwenden, um diese Datei zu erstellen und zu bearbeiten.
Führen Sie nun das Skript mit dem folgenden Befehl im Terminal aus:
python ~/project/type_checking.py
Sie sollten die folgende Ausgabe sehen:
{'name': 'Alice', 'age': 30, 'city': 'New York'}
In diesem Wörterbuch sind die Schlüssel Strings ("name"
, "age"
, "city"
) und die Werte sind ein String ("Alice"
), eine Ganzzahl (30
) und ein weiterer String ("New York"
).
Die Typüberprüfung wird wichtig, wenn Sie sicherstellen möchten, dass die in Ihrem Wörterbuch gespeicherten Daten Ihren Erwartungen entsprechen. Beispielsweise möchten Sie möglicherweise überprüfen, dass das Alter immer eine Ganzzahl ist oder dass der Name immer ein String ist.
Betrachten wir ein Szenario, in dem Sie ein neues Schlüssel-Wert-Paar zum Wörterbuch hinzufügen möchten, aber sicherstellen möchten, dass der Wert einen bestimmten Typ hat.
Öffnen Sie die Datei type_checking.py
in VS Code und ändern Sie sie wie folgt:
## Create a dictionary
my_dict = {
"name": "Alice",
"age": 30,
"city": "New York"
}
## Function to add a key-value pair with type checking
def add_item(dictionary, key, value, expected_type):
if isinstance(value, expected_type):
dictionary[key] = value
print(f"Added {key}: {value} to the dictionary.")
else:
print(f"Error: {key} must be of type {expected_type.__name__}.")
## Example usage
add_item(my_dict, "occupation", "Engineer", str)
add_item(my_dict, "salary", 75000, int)
add_item(my_dict, "is_active", True, bool)
add_item(my_dict, "height", "5.8", float) ## Intentionally incorrect type
print(my_dict)
In diesem Code definieren wir eine Funktion add_item
, die ein Wörterbuch, einen Schlüssel, einen Wert und einen erwarteten Typ als Eingabe nimmt. Die Funktion verwendet die isinstance()
-Funktion, um zu überprüfen, ob der Wert den erwarteten Typ hat. Wenn dies der Fall ist, wird das Schlüssel-Wert-Paar zum Wörterbuch hinzugefügt. Andernfalls wird eine Fehlermeldung ausgegeben.
Führen Sie das Skript erneut aus:
python ~/project/type_checking.py
Sie sollten die folgende Ausgabe sehen:
Added occupation: Engineer to the dictionary.
Added salary: 75000 to the dictionary.
Added is_active: True to the dictionary.
Error: height must be of type float.
{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Engineer', 'salary': 75000, 'is_active': True}
Wie Sie sehen können, hat die Funktion add_item
die Schlüssel-Wert-Paare "occupation", "salary" und "is_active" erfolgreich zum Wörterbuch hinzugefügt, da ihre Werte den erwarteten Typen entsprachen. Für "height" wurde jedoch eine Fehlermeldung ausgegeben, da der bereitgestellte Wert ("5.8") ein String ist, während der erwartete Typ float
war.
Dieses Beispiel demonstriert das grundlegende Konzept der Typüberprüfung in Wörterbüchern. In den folgenden Schritten werden wir fortgeschrittenere Techniken zur Gewährleistung der Typsicherheit in Ihrem Python-Code untersuchen.