Maison > développement back-end > Tutoriel Python > Pourquoi les variables Python ne peuvent-elles pas commencer par un nombre ?

Pourquoi les variables Python ne peuvent-elles pas commencer par un nombre ?

(*-*)浩
Libérer: 2019-07-03 10:28:32
original
6305 Les gens l'ont consulté

Tant que quelque chose est stipulé par écrit, il doit y avoir une raison, c'est-à-dire qu'il doit être raisonnable.

Pourquoi les variables Python ne peuvent-elles pas commencer par un nombre ?

Règles de dénomination des variables Python (apprentissage recommandé : Tutoriel vidéo Python)

Les noms de variables ne peuvent contenir que Lettres, chiffres et traits de soulignement. Les noms de variables peuvent commencer par une lettre ou un trait de soulignement, mais pas par un chiffre. Par exemple, vous pouvez nommer une variable message_1, mais vous ne pouvez pas la nommer 1_message.

Les noms de variables ne peuvent pas contenir d'espaces, mais des traits de soulignement peuvent être utilisés pour séparer les mots. Par exemple, le nom de variable Greeting_message fonctionne, mais le nom de variable Greeting message génère une erreur.

N'utilisez pas de mots-clés et de noms de fonctions Python comme noms de variables, c'est-à-dire n'utilisez pas de mots réservés par Python à des fins spéciales, telles que l'impression.

Les noms de variables doivent être courts et descriptifs. Par exemple, name est meilleur que n, student_name est meilleur que s_n, name_length est meilleur que length_of_persons_name.

Utilisez les lettres minuscules l et majuscules O avec prudence, car elles peuvent être confondues avec les chiffres 1 et 0.

Remarque : les noms de variables Python en minuscules doivent être utilisés. Bien que l’utilisation de lettres majuscules dans les noms de variables ne provoque pas d’erreurs, il est conseillé d’éviter d’utiliser des lettres majuscules.

Alors pourquoi ça ne peut pas commencer par un chiffre ? Cela doit être expliqué du point de vue des principes de compilation.

C'est ce à quoi j'ai soudainement pensé lorsque je faisais une analyse de script aujourd'hui. Expliquons d'abord notre outil d'analyse grammaticale. Le script à analyser est très simple et ne comprend que des opérateurs tels que &, |, ~, =, !=, () et {}. Au début, le principe de compilation a été adopté, dessinant NFA et DFA, trouvant le statut, puis écrivant une analyse lexicale pour générer le jeton. Ensuite, l'analyse syntaxique générera un arbre syntaxique basé sur la sémantique du jeton généré, et enfin l'évaluera. Après réflexion, ce script est très simple : il lui suffit de juger caractère par caractère et d'entrer différentes sous-fonctions à traiter lorsqu'il rencontre différents types de caractères. En même temps, il complète le processus d'analyse lexicale, d'analyse syntaxique et de traitement. évaluation. Cependant, quelle que soit la méthode utilisée, il est nécessaire de déterminer quel jeton est actuellement saisi en fonction des caractères lus. C'est le nœud du problème.

Pourquoi est-il essentiel de déterminer à quel jeton appartient un personnage ?

Supposons que nous annulions la restriction selon laquelle la définition du nom de variable ne peut pas commencer par un nombre, à ce moment-là, lorsque l'analyseur lexical entre dans l'état de départ d'une analyse de jeton, si le premier caractère lu est un nombre, alors le. L'analyseur lexical ne peut pas déterminer si le jeton qu'il analyse actuellement est un nom de variable ou une constante numérique. Eh bien, si vous dites que l'analyseur peut juger sur la base des caractères suivants, alors si le caractère suivant est une lettre, alors il est facile de déterminer que le jeton actuel appartient au nom de la variable (nous ignorerons les mots-clés réservés pour le moment étant), mais si le suivant Et si les caractères étaient tous des nombres ? L'analyseur ne pourra pas le dire car les nombres sont autorisés dans la définition des noms de variables.

Haha, ce que j'ai dit ci-dessus peut être alambiqué et difficile à comprendre. En termes simples : lors de l'analyse de la chaîne "123", si le nom de la variable permet que le premier caractère soit un nombre, l'analyseur ne le fait pas. Je ne sais pas si "123" est une constante numérique ou un nom de variable.

Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal