Heim  >  Artikel  >  Backend-Entwicklung  >  Warum können Python-Variablen nicht mit einer Zahl beginnen?

Warum können Python-Variablen nicht mit einer Zahl beginnen?

(*-*)浩
(*-*)浩Original
2019-07-03 10:28:326213Durchsuche

Solange etwas schriftlich festgelegt ist, muss es einen Grund dafür geben, das heißt, es muss angemessen sein.

Warum können Python-Variablen nicht mit einer Zahl beginnen?

Benennungsregeln für Python-Variablen (empfohlenes Lernen: Python-Video-Tutorial)

Variablennamen dürfen nur enthalten Buchstaben, Zahlen und Unterstriche. Variablennamen können mit einem Buchstaben oder einem Unterstrich beginnen, aber nicht mit einer Zahl. Sie können beispielsweise eine Variable „message_1“ nennen, aber Sie können sie nicht „1_message“ nennen.

Variablennamen dürfen keine Leerzeichen enthalten, Unterstriche können jedoch zum Trennen von Wörtern verwendet werden. Beispielsweise funktioniert der Variablenname Greeting_message, aber der Variablenname Greeting Message löst einen Fehler aus.

Verwenden Sie keine Python-Schlüsselwörter und Funktionsnamen als Variablennamen, d. h. verwenden Sie keine von Python für spezielle Zwecke reservierten Wörter, wie zum Beispiel zum Drucken.

Variablennamen sollten kurz und aussagekräftig sein. Beispielsweise ist „name“ besser als n, „student_name“ ist besser als „s_n“, „name_length“ ist besser als „length_of_persons_name“.

Verwenden Sie Kleinbuchstaben l und Großbuchstaben O mit Vorsicht, da diese mit den Zahlen 1 und 0 verwechselt werden können

Hinweis: Python-Variablennamen sollten in Kleinbuchstaben verwendet werden. Obwohl die Verwendung von Großbuchstaben in Variablennamen keine Fehler verursacht, empfiehlt es sich, die Verwendung von Großbuchstaben zu vermeiden.

Warum kann es also nicht mit einer Zahl beginnen? Dies sollte aus der Perspektive der Kompilierungsprinzipien erläutert werden.

Das ist es, woran ich heute plötzlich gedacht habe, als ich die Drehbuchanalyse gemacht habe. Lassen Sie uns zunächst unser Grammatik-Parsing-Tool erklären. Das zu analysierende Skript ist sehr einfach und enthält nur Operatoren wie &, |, ~, =, !=, () und {}. Zu Beginn wurde das Kompilierungsprinzip übernommen, NFA und DFA gezeichnet, der Status ermittelt und dann eine lexikalische Analyse geschrieben, um ein Token zu generieren. Anschließend wird durch die Syntaxanalyse ein Syntaxbaum basierend auf der Semantik des generierten Tokens generiert und dieser schließlich ausgewertet. Wenn man darüber nachdenkt, ist dieses Skript sehr einfach. Es muss nur Zeichen für Zeichen beurteilen und verschiedene Unterfunktionen zur Verarbeitung eingeben, wenn es auf verschiedene Arten von Zeichen stößt. Gleichzeitig wird der Prozess der lexikalischen Analyse und Syntaxanalyse abgeschlossen Auswertung. Allerdings muss unabhängig von der verwendeten Methode anhand der eingelesenen Zeichen ermittelt werden, welcher Token aktuell eingetragen ist. Das ist der Kern des Problems.

Warum ist es wichtig zu bestimmen, zu welchem ​​Token ein Charakter gehört?

Angenommen, wir heben die Einschränkung auf, dass die Variablennamendefinition nicht mit einer Zahl beginnen kann. Wenn der lexikalische Analysator zu diesem Zeitpunkt in den Startzustand einer Token-Analyse eintritt, ist das erste gelesene Zeichen eine Zahl Der lexikalische Analysator kann nicht feststellen, ob es sich bei dem aktuell analysierten Token um einen Variablennamen oder eine numerische Konstante handelt. Nun, wenn Sie sagen, dass der Analysator anhand der folgenden Zeichen beurteilen kann, und wenn das nächste Zeichen ein Buchstabe ist, kann leicht festgestellt werden, dass das aktuelle Token zum Variablennamen gehört (wir werden die reservierten Schlüsselwörter vorerst ignorieren). Sein), aber wenn das nächste Was ist, wenn die Zeichen alle Zahlen sind? Der Parser kann dies nicht erkennen, da in der Definition von Variablennamen Zahlen zulässig sind.

Haha, was ich oben gesagt habe, ist möglicherweise kompliziert und schwer zu verstehen. In einfachen Worten: Wenn der Variablenname bei der Analyse der Zeichenfolge „123“ zulässt, dass das erste Zeichen eine Zahl ist, verwende ich den Analysator nicht. Ich weiß nicht, ob „123“ eine numerische Konstante oder ein Variablenname ist.

Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonWarum können Python-Variablen nicht mit einer Zahl beginnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wie lese ich Bilder in Python?Nächster Artikel:Wie lese ich Bilder in Python?