Wie man prüft, ob eine Variable in Python eine Liste ist

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob eine Variable in Python eine Liste ist. Dies beinhaltet das Verständnis der grundlegenden Datenstruktur von Listen, die geordnete und veränderbare Sammlungen von Elementen sind.

Das Lab führt Sie durch die Erstellung verschiedener Arten von Listen mithilfe von VS Code in der LabEx-Umgebung, einschließlich Listen von Zahlen, Strings und gemischten Datentypen. Anschließend werden Sie lernen, wie Sie auf Elemente innerhalb einer Liste über ihren Index zugreifen. Das Lab zeigt außerdem, wie Sie Listen mithilfe von integrierten Python-Funktionen wie type() und isinstance() identifizieren können.

Listen verstehen

In diesem Schritt lernen Sie über Listen, eine der vielseitigsten und grundlegenden Datenstrukturen in Python. Listen werden verwendet, um Sammlungen von Elementen zu speichern, die von jedem Datentyp sein können. Sie sind geordnet, was bedeutet, dass die Elemente eine bestimmte Reihenfolge haben, und veränderbar, was bedeutet, dass Sie ihren Inhalt nach der Erstellung ändern können.

Beginnen wir mit der Erstellung einer einfachen Liste:

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen lists_example.py im Verzeichnis ~/project.

    ~/project/lists_example.py
  3. Fügen Sie der Datei den folgenden Code hinzu:

    ## Creating a list of numbers
    numbers = [1, 2, 3, 4, 5]
    print("List of numbers:", numbers)
    
    ## Creating a list of strings
    fruits = ["apple", "banana", "cherry"]
    print("List of fruits:", fruits)
    
    ## Creating a list of mixed data types
    mixed_list = [1, "hello", 3.14, True]
    print("List of mixed data types:", mixed_list)

    Hier haben wir drei verschiedene Listen erstellt: numbers, die Ganzzahlen enthält, fruits, die Strings enthält, und mixed_list, die eine Mischung von Datentypen enthält.

  4. Führen Sie das Skript mit dem folgenden Befehl im Terminal aus:

    python ~/project/lists_example.py

    Sie sollten die folgende Ausgabe sehen:

    List of numbers: [1, 2, 3, 4, 5]
    List of fruits: ['apple', 'banana', 'cherry']
    List of mixed data types: [1, 'hello', 3.14, True]

Jetzt lassen Sie uns einige häufige Listenoperationen untersuchen:

  1. Zugriff auf Elemente: Sie können auf Elemente in einer Liste über ihren Index (Position) zugreifen. Der Index beginnt bei 0 für das erste Element.

    Fügen Sie den folgenden Code zu lists_example.py hinzu:

    fruits = ["apple", "banana", "cherry"]
    print("First fruit:", fruits[0])  ## Accessing the first element
    print("Second fruit:", fruits[1]) ## Accessing the second element
    print("Third fruit:", fruits[2])  ## Accessing the third element
  2. Führen Sie das Skript erneut aus:

    python ~/project/lists_example.py

    Sie sollten die folgende Ausgabe sehen:

    First fruit: apple
    Second fruit: banana
    Third fruit: cherry
  3. Modifizieren von Elementen: Sie können den Wert eines Elements in einer Liste ändern, indem Sie seinem Index einen neuen Wert zuweisen.

    Fügen Sie den folgenden Code zu lists_example.py hinzu:

    fruits = ["apple", "banana", "cherry"]
    fruits[1] = "grape"  ## Changing the second element
    print("Modified list of fruits:", fruits)
  4. Führen Sie das Skript erneut aus:

    python ~/project/lists_example.py

    Sie sollten die folgende Ausgabe sehen:

    Modified list of fruits: ['apple', 'grape', 'cherry']
  5. Hinzufügen von Elementen: Sie können Elemente an das Ende einer Liste hinzufügen, indem Sie die Methode append() verwenden.

    Fügen Sie den folgenden Code zu lists_example.py hinzu:

    fruits = ["apple", "banana", "cherry"]
    fruits.append("orange")  ## Adding an element to the end
    print("List with added fruit:", fruits)
  6. Führen Sie das Skript erneut aus:

    python ~/project/lists_example.py

    Sie sollten die folgende Ausgabe sehen:

    List with added fruit: ['apple', 'banana', 'cherry', 'orange']

Das Verständnis von Listen und wie man sie manipuliert, ist entscheidend für das Schreiben effektiver Python-Programme.

Die type()-Funktion zur Identifizierung nutzen

In diesem Schritt lernen Sie, wie Sie die type()-Funktion in Python verwenden, um den Datentyp einer Variablen zu identifizieren. Das Verständnis von Datentypen ist entscheidend für das Schreiben korrekten und effizienten Codes. Die type()-Funktion gibt den Typ eines Objekts zurück.

Erstellen wir eine neue Python-Datei, um die type()-Funktion zu erkunden:

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen type_example.py im Verzeichnis ~/project.

    ~/project/type_example.py
  3. Fügen Sie der Datei den folgenden Code hinzu:

    ## Using type() to identify data types
    
    number = 10
    print("Type of number:", type(number))
    
    floating_point = 3.14
    print("Type of floating_point:", type(floating_point))
    
    text = "Hello, LabEx!"
    print("Type of text:", type(text))
    
    is_true = True
    print("Type of is_true:", type(is_true))
    
    my_list = [1, 2, 3]
    print("Type of my_list:", type(my_list))
    
    my_tuple = (1, 2, 3)
    print("Type of my_tuple:", type(my_tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("Type of my_dict:", type(my_dict))

    In diesem Code verwenden wir type(), um den Datentyp verschiedener Variablen zu bestimmen, einschließlich Ganzzahlen, Fließkommazahlen, Strings, Booleschen Werten, Listen, Tupeln und Dictionaries.

  4. Führen Sie das Skript mit dem folgenden Befehl im Terminal aus:

    python ~/project/type_example.py

    Sie sollten die folgende Ausgabe sehen:

    Type of number: <class 'int'>
    Type of floating_point: <class 'float'>
    Type of text: <class 'str'>
    Type of is_true: <class 'bool'>
    Type of my_list: <class 'list'>
    Type of my_tuple: <class 'tuple'>
    Type of my_dict: <class 'dict'>

Die Ausgabe zeigt den Datentyp jeder Variablen. Beispielsweise gibt <class 'int'> an, dass die Variable eine Ganzzahl ist, <class 'str'> gibt einen String an, und so weiter.

Das Verständnis des Datentyps einer Variablen ist für die korrekte Ausführung von Operationen unerlässlich. Beispielsweise können Sie nicht direkt einen String zu einer Ganzzahl hinzufügen, ohne den String zuerst in eine Ganzzahl umzuwandeln. Die type()-Funktion hilft Ihnen, diese potenziellen Probleme in Ihrem Code zu identifizieren.

Mit isinstance() bestätigen

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. Dies ist eine robuster Methode zum Überprüfen von Datentypen im Vergleich zur direkten Verwendung von type(), insbesondere wenn es um Vererbung geht.

Erstellen wir eine neue Python-Datei, um die isinstance()-Funktion zu erkunden:

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen isinstance_example.py im Verzeichnis ~/project.

    ~/project/isinstance_example.py
  3. Fügen Sie der Datei den folgenden Code hinzu:

    ## Using isinstance() to confirm data types
    
    number = 10
    print("Is number an integer?", isinstance(number, int))
    
    floating_point = 3.14
    print("Is floating_point a float?", isinstance(floating_point, float))
    
    text = "Hello, LabEx!"
    print("Is text a string?", isinstance(text, str))
    
    is_true = True
    print("Is is_true a boolean?", isinstance(is_true, bool))
    
    my_list = [1, 2, 3]
    print("Is my_list a list?", isinstance(my_list, list))
    
    my_tuple = (1, 2, 3)
    print("Is my_tuple a tuple?", isinstance(my_tuple, tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("Is my_dict a dictionary?", isinstance(my_dict, dict))

    In diesem Code verwenden wir isinstance(), um zu prüfen, ob jede Variable eine Instanz des erwarteten Datentyps ist. Die isinstance()-Funktion gibt True zurück, wenn das Objekt eine Instanz des angegebenen Typs ist, und False sonst.

  4. Führen Sie das Skript mit dem folgenden Befehl im Terminal aus:

    python ~/project/isinstance_example.py

    Sie sollten die folgende Ausgabe sehen:

    Is number an integer? True
    Is floating_point a float? True
    Is text a string? True
    Is is_true a boolean? True
    Is my_list a list? True
    Is my_tuple a tuple? True
    Is my_dict a dictionary? True

Betrachten wir nun ein Szenario mit Vererbung:

  1. Fügen Sie den folgenden Code zu isinstance_example.py hinzu:

    class Animal:
        pass
    
    class Dog(Animal):
        pass
    
    animal = Animal()
    dog = Dog()
    
    print("Is animal an Animal?", isinstance(animal, Animal))
    print("Is dog a Dog?", isinstance(dog, Dog))
    print("Is dog an Animal?", isinstance(dog, Animal))
    print("Is animal a Dog?", isinstance(animal, Dog))
  2. Führen Sie das Skript erneut aus:

    python ~/project/isinstance_example.py

    Sie sollten die folgende Ausgabe sehen:

    Is animal an Animal? True
    Is dog a Dog? True
    Is dog an Animal? True
    Is animal a Dog? False

    Wie Sie sehen können, erkennt isinstance() korrekt, dass ein Dog auch ein Animal ist, weil Dog von Animal erbt. Hier liegt die Stärke von isinstance() im Vergleich zum direkten Vergleich von Typen mit type().

Die Verwendung von isinstance() macht Ihren Code flexibler und robuster, wenn es um verschiedene Datentypen und Vererbung geht.

Zusammenfassung

In diesem Lab haben Sie sich mit Listen vertraut gemacht, einer grundlegenden Datenstruktur in Python, die zur Speicherung geordneter und veränderlicher Sammlungen von Elementen verschiedener Datentypen verwendet wird. Sie haben Listen erstellt, die Zahlen, Strings und gemischte Datentypen enthalten, und sie auf der Konsole ausgegeben.

Das Lab hat auch das Zugreifen auf Listenelemente anhand ihres Indexes eingeführt, wobei der Index des ersten Elements bei 0 beginnt. Sie haben bestimmte Elemente aus einer Liste von Früchten abgerufen und ausgegeben, um dieses Konzept zu veranschaulichen.