Mitgliedschaftsoperatoren und Typvergleiche
In diesem Kapitel werden wir einige nuancierte Aspekte von Python untersuchen, die Ihre Möglichkeiten zur Verwaltung und Interaktion mit Daten in Ihren Programmen erheblich verbessern können — insbesondere Mitgliedschaftsoperatoren und Typvergleiche.
Sehen wir uns an, wie Alex diese Werkzeuge einsetzt:
Mitgliedschaftsoperatoren sind nützlich, wenn überprüft werden soll, ob bestimmte Elemente oder Teilzeichenfolgen in einem iterierbaren Objekt enthalten sind. Ein iterierbares Objekt in Python ist alles, worüber Sie iterieren können, wie Zeichenketten, Listen oder Tupel. Listen und Tupel werden wir im nächsten Abschnitt genauer betrachten; für den Moment genügt es zu wissen, dass Mitgliedschaftsoperatoren auf mehr als nur Zeichenketten angewendet werden können.
Die wichtigsten Mitgliedschaftsoperatoren sind in
und not in
, die beide einen booleschen Wert zurückgeben, der das Vorhandensein (oder Fehlen) eines Elements anzeigt.
Da Sie bereits über String-Indexierung und Slicing gelernt haben, ist Ihnen das Konzept bekannt, dass Zeichenketten iterierbar sind. Das bedeutet, Sie können Mitgliedschaftsoperatoren verwenden, um nach Teilzeichenfolgen innerhalb größerer Zeichenketten zu suchen.
Betrachten Sie das folgende Beispiel:
itemName = "Strawberries" in_name = "Straw" in itemName print("Is 'Straw' in 'Strawberries'?", in_name)
Beispielanwendung
Stellen Sie sich vor, Sie verwalten die Produktbeschreibungen oder Kategorien in Ihrem Lebensmittelladen-System. Sie erhalten möglicherweise eine lange Zeichenkette mit Produktdetails und müssen schnell nach bestimmten Schlüsselwörtern suchen, um Produkte basierend auf Kundenpräferenzen oder Werbeaktionen zu kategorisieren oder hervorzuheben:
# Product description from supplier product_description = "Fresh organic milk from local farms, pasteurized and homogenized." # Check if the "organic" and "local" keywords are in the product description is_organic = "organic" in product_description is_local = "local" in product_description # Print the presence of these keywords to decide on marketing strategies print("Is the product organic?", is_organic) print("Is the product locally sourced?", is_local)
Überprüfung von Datentypen
Das Verständnis des Datentyps, mit dem Sie in Python arbeiten, ist entscheidend, insbesondere bei der Verwaltung der vielfältigen Anforderungen eines Lebensmittelladen-Systems. Die Funktion type()
ist äußerst wertvoll, da sie sicherstellt, dass Sie mit den richtigen Datentypen arbeiten — beispielsweise Zeichenketten für Produktnamen, Fließkommazahlen für Preise und Ganzzahlen für Lagerbestände.
Dies verhindert nicht nur Fehler, sondern macht Datenmanipulationen und Vergleiche auch angemessener und zuverlässiger.
Im folgenden Beispiel wird gezeigt, wie type()
verwendet werden kann, um zu überprüfen, ob die eingegebenen Daten den erwarteten Kriterien entsprechen. Dies ist eine gängige Anforderung bei der Verwaltung von Lebensmitteldaten, um Fehler beim Kassiervorgang oder bei Bestandsaktualisierungen zu vermeiden:
# Sample data received from a cashier or inventory management system product_name = "Almond Milk" product_price = "3.49" product_quantity = 30 # Checking if the data types are as expected correct_name_type = type(product_name) == str correct_price_type = type(product_price) == float # Intentional error for demonstration correct_quantity_type = type(product_quantity) == int # Print the results to verify data types print("Is product_name a string?", correct_name_type) print("Is product_price a float?", correct_price_type) # Expected: False, actual data type is a string print("Is product_quantity an integer?", correct_quantity_type) print("Data type check complete. Please review and correct any 'False' outcomes for data corrections.")
Swipe to start coding
Überprüfung der Details eines neu hinzugefügten Produkts in einem Lebensmittelladen-System mithilfe von Membership-Operatoren und Typvergleichen.
- Verwendung von Membership-Operatoren, um zu prüfen, ob die Teilstrings
"raw"
und"Imported"
in der Variablendescription
enthalten sind. - Zuweisung der Ergebnisse an die booleschen Variablen
contains_raw
undcontains_Imported
. - Verwendung der Funktion
type()
, um zu prüfen, obprice
einfloat
undcount
einint
ist. - Zuweisung der Ergebnisse dieser Typüberprüfungen an
price_is_float
undcount_is_int
.
Ausgabebedingungen
- Ausgabe:
Contains 'raw': <contains_raw>
. - Ausgabe:
Contains 'Imported': <contains_Imported>
. - Ausgabe:
Is price a float?: <price_is_float>
. - Ausgabe:
Is count an integer?: <count_is_int>
.
Hinweis:
Python unterscheidet zwischen Groß- und Kleinschreibung, daher sind
"imported"
und"Imported"
unterschiedliche Zeichenketten.
Lösung
Danke für Ihr Feedback!