Ce sont les Constantes et les constantes Littérales?
Je suis en train d'apprendre Python et je suis un peu confus avec les Constantes et les constantes Littérales.Quels sont-ils?Pour ce genre de fins utilisons-nous ? Quelle est leur différence de la variable normale?
Merci beaucoup.
Edit :
Je suis un vrai débutant.En tant que débutant que je peux dire, je ne sais rien sur le monde de la programmation.Comme je ne sais pas ce qu'est une expression de l'est et vice versa.
J'ai appris le langage python à l'aide de la "Un octet de python" livre et quelque part dans le livre, je suis tombé sur un article qui parle de littéraux et des constantes.Je partage l'article:
5.2. Constantes Littérales
Un exemple d'une constante littérale est un nombre comme 5 , 1.23 , ou un
chaîne de caractères comme 'Ceci est une chaîne" ou "C'est une chaîne!" .Il est appelé un littéral, car elle est littérale - vous utiliser sa valeur
littéralement. Le nombre 2 représente toujours lui-même et rien d'autre - il
est une constante, car sa valeur ne peut pas être changé. Par conséquent, tous ces
sont appelées constantes littérales.
Où il est dit,"il est appelé littéral, car elle est littérale-vous utiliser la valeur littéralement",je ne vois pas cette partie.Qu'est-ce que le livre en train de dire que nous utilisons la valeur de la lettre?l'autre vague point est que le nombre 2 est une constante, car sa valeur ne peut pas être modifié.Comment est-il possible?nous pouvons la changer,comme:
stack = 2
stack = 3
Tout d'abord, j'ai attribué le numéro 2 de la Pile puis j'ai changé la valeur de la Pile(Qui est ce numéro 2 que le livre est de prétendre que c'est une constante, de sorte qu'il ne peut pas être changé)et attribué le numéro 3.J'ai donc facilement modifié la valeur de la numéro 2.Je suis vraiment confus,si vous n'obtenez pas mon point,merci de me dire si je peux donner d'autres exemples.Merci de donner de votre temps les gars.
Python n'a pas de constantes variables avec
UPPERCASE
noms sont constantes par convention, mais qui n'est pas appliquée partout.J'ai édité le post et de l'exemple donné.
Vous ne modifiez pas la valeur de 2. Vous avez changé le nom
Stack
était lié, à partir de la valeur 2 à la valeur 3.OriginalL'auteur user3722727 | 2014-06-09
Vous devez vous connecter pour publier un commentaire.
Réponse après l'OP de modifier
Une constante littérale est une réelle valeur littérale; je sais que le mot littéral vous trouble, mais un exemple pourrait le rendre plus clair. Si vous tapez le texte suivant dans le REPL:
2
ethello
sont de véritables constantes littérales et contrairement à ce que vous pensez, vous ne pouvez pas modifier leur valeur (eh bien, vous pouvez, en tant que débutant, il est préférable de ne pas le savoir). Lorsque vous aurez:Vous êtes le premier de l'affectation de la constante littérale (même si, honnêtement, ne vous inquiétez pas à propos de ce qu'il a appelé, il est le numéro 2) de
stack
. Donc, le nomstack
pointe vers la valeur2
. Puis, en disantstack = 3
, vous êtes pas la modification de la valeur2
; vous êtes maintenant ce que le nomstack
à point à un autre de valeur,3
.Pour ce que ça vaut, "constante littérale" semble compliqué; il suffit de penser à des valeurs comme
2
ou'John'
etc. comme ce qu'ils sont. Et en ce qui concerne réelles constantes (dans la programmation des constantes sont appelés variables qui ne peut pas être modifié après la cession), cette notion n'existe pas vraiment en Python. Une constante est quand, par exemple, vous ditesstack = 2
mais alors on ne peut pas changer ce quistack
vers ou vous aurez une erreur. En Python, ce concept n'existe pas.Réponse Originale À Cette Question:
Pour commencer, je vous recommande de lire L'histoire d'Aucun, le Vrai et le Faux (et une explication de littéraux, les mots clés et les builtins jetés dans) par Guido:
Comme pour les "constantes", vous ne pouvez pas déclarer une variable comme "vrai" constantes en Python. Il y a un Les Constantes intégrées comme
True
etFalse
etNone
en Python, mais même qu'ils ne sont pas de"vrai" constantes en Python 2.X comme ils peuvent être attribués à point à un autre de valeur:J'espère que cette aide. Si non, merci de modifier vos questions et donner un exemple de ce que vous entendez exactement par les Constantes et les Constantes Littérales.
Remarque:
True
etFalse
et les autres sont des mots-clés dans Python 3.x, donc si vous ditesTrue = False
, l'interprète va augmenterSyntaxError: assignment to keyword
.True
etFalse
sont de "vrais" constantes dans Python 3...Fixe. Merci. Ils sont des mots-clés et de leur assignant soulève maintenant un
SyntaxError: assignment to keyword
Je n'arrivais vraiment pas à obtenir la moindre idée de votre réponse.J'ai édité mon post.
Je vois maintenant ce que votre confusion est, je vais mettre à jour ma réponse.
Permettez-moi de savoir si la nouvelle réponse est mieux s'il vous plaît. Si pas, je pourrai peut-être faire plus simple; peut-être prendre un autre pas en arrière.
OriginalL'auteur s16h