Heim >Backend-Entwicklung >Python-Tutorial >Zeichenfolge und nachgestelltes Komma, Paar erhalten und Tupel (): Ein Fehler beim Kopieren und Einfügen bei Fehler und Konzept
Heute erzähle ich eine Geschichte über meinen Fehler beim Kopieren und Einfügen und wie ein String mit abschließendem Komma gekoppelt wird und in meinem Python-Programm zu einem Tuple() wird. Seltsamerweise war mir dieses Konzept nicht bewusst, bevor ich diesen Fehler machte.
Beginnen wir also damit, kurz etwas über Strings und Tupel in Python zu lernen.
Definition: Eine Zeichenfolge, die zum Speichern und Bearbeiten von Text verwendet wird.
Syntax: Eingeschlossen in einfache Anführungszeichen ' ', doppelte Anführungszeichen " " oder dreifache Anführungszeichen ''' '''/""" """.
Unveränderlichkeit: Zeichenfolgen können nach der Erstellung nicht geändert werden.
# Example mystring = "Hello, World!" print(type(mystring)) #Output: <class 'str'> mystring2 =str() print(type(mystring2)) #Output: <class 'str'>
Definition:Eine unveränderliche Folge von Werten.
Syntax: Definiert mit Klammern ( ), getrennt durch Kommas.
Unveränderlichkeit: Einmal erstellte Elemente können nicht mehr geändert werden.
# Example mytuple = (1,2) print(type(mytuple)) #Output:<class 'tuple'> mytuple2 =tuple() print(type(mytuple2)) #Output:<class 'tuple'>
Jetzt wissen wir über String und Tupel Bescheid und wissen, wie man eine Variable vom Typ String oder Tupel entweder durch direkte Zuweisung oder mithilfe des Klassenansatzes mithilfe des Konstruktors erhält. Aber meine Geschichte ist anders :).
Python-Anweisungen benötigen kein Semikolon (;) oder Komma (,) oder ein anderes Schlusssymbol (Abstände werden zur Blockverarbeitung verwendet). Wie können Sie also ein abschließendes Komma mit einer Zeichenfolge wie „Ajit Kumar“ abschließen? weil man oft ein String-Element aus der Liste des Wörterbuchs kopiert und oft ein abschließendes Komma erhält. Das ist mir passiert und dann wurde die Geschichte interessant.
Also, zuerst ein Beispiel meiner Geschichte.
mymistake = "Ajit Kumar", print(type(mymistake)) #Output : <class 'tuple'>
Nun gibt es zwei Dinge zu beachten:
1) Der Python-Interpreter gibt aufgrund des abschließenden Kommas mit der Zeichenfolge „mymistake“ keinen Fehler aus, andernfalls wäre der Fehler nicht weitergegangen.
2) Der Variablentyp wurde aufgrund der ursprünglichen Absicht, eine Zeichenfolgenvariable zu erstellen, zu „Tupel“.
Ich habe hier geschrieben und es scheint sehr einfach und unkompliziert zu sein, aber es hat eine Stunde gedauert, diesen Fehler zu beheben, weil ich die Zeichenfolge als Argument an eine Methode übergeben habe und die Fehler seltsam waren und ich weiter an der Methode arbeite und versuche, sie zu verstehen Fehlermeldung. Die Meldung lautete beispielsweise: Die Variable „Name“ hat keine Methode „lower()“.
Wenn Sie ein Komma ohne Klammern verwenden, behandelt Python es als Tupel.
Beispiel: mymistake = „Ajit Kumar“, erstellt ein Tupel („Ajit Kumar“).
Wenn Sie also ein Tupel erstellen möchten, das nur aus einem Element/Element besteht, müssen Sie sehr vorsichtig sein. Das folgende Beispiel zeigt, dass im ersten Beispiel sogar ein Element innerhalb eines Klammerpaars (1) steht. Python behandelt dies als Ganzzahl und nicht als Tupel.
singleitem = (1) print(type(singleitem)) #Output: <class 'int'>
Um also ein Tupel mit einem einzelnen Element zu erstellen, müssen Sie wie folgt ein abschließendes Komma verwenden:
singleitemtuple = (1,) print(singleitemtuple) #output: (1,) print(type(singleitemtuple)) #output: <class 'tuple'>
Und ich denke, das ist der Grund, warum Python dies als Tupel nimmt und die Variable als Tupel und nicht als Zeichenfolge erstellt, wenn die Zeichenfolge ein abschließendes Komma hat.
Die Python-Dokumentation hat es jedoch deutlich erwähnt und es war mein Fehler oder meine Nachlässigkeit, dass ich es nicht bemerkt habe und immer () verwendet habe, um ein Tupel zu erstellen, selbst für ein einzelnes Element mit Trainingskomma. Quelle
Jedenfalls hat mir dies einige neue Erkenntnisse und eine Verknüpfung zum Erstellen eines Tupels mit einem einzelnen Element oder mehreren Elementen ohne die Verwendung von () gegeben. Ja, ich habe versucht, das „nachgestellte Komma“ mit mehr Elementen zu verwenden, um ein Tupel zu erstellen, und es hat funktioniert. Beispiel:
mylearning = "Ajit Kumar","April","python", print(mylearning) #output: ('Ajit Kumar', 'April', 'python') print(type(mymistake)) #output: <class 'tuple'>
Am Wochenende wurde viel gelernt. Ich hoffe, es wird für Sie hilfreich sein. Schreiben Sie Ihre Diskussion und Ihren Vorschlag in den Kommentar. Ich höre gerne von Python-Verknüpfungen und sofort einsatzbereiten Funktionen.
Das obige ist der detaillierte Inhalt vonZeichenfolge und nachgestelltes Komma, Paar erhalten und Tupel (): Ein Fehler beim Kopieren und Einfügen bei Fehler und Konzept. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!