13. Les variables
001 Introduction à la section :
Les variables en Python
002 Petite précision sur l'éditeur utilisé dans les prochaines parties :
003 À quoi sert une variable :
004 Des objets et des noms :
006 Affectations simples, parallèles et multiples :
007 Pourquoi vous n'avez pas le même résultat que moi :
Dans les prochaines parties, je vais vous parler de processus que Python effectue afin d’économiser de la mémoire.
Beaucoup d’étudiants sont perturbés par la prochaine partie car il se peut que vous n'obteniez pas les mêmes résultats que moi.
Ce qu'il faut comprendre, c'est que Python va toujours essayer de gérer efficacement la mémoire de votre ordinateur quand il exécute votre code.
Dans la prochaine partie, je vais vous montrer par exemple que les nombres entre -5 et 256 sont particuliers. Si vous faites les tests que je montre dans la vidéo de votre ct, il se peut que vous obteniez des résultats différents aux miens.
Cela dépend en effet de la faon dont vous exécutez votre code.
-
Si vous l’exécutez ligne par ligne (dans un interpréteur interactif), Python ne pourra pas faire beaucoup d'optimisations.
-
Si par contre si vous exécutez tout votre script en un bloc, Python va parcourir l’intégralité de votre code et essayer de l'optimiser, par exemple en évitant de créer plusieurs objets identiques en mémoire.
Pour résumer
J'ai enregistré la prochaine partie titre informatif, car je trouve toujours intéressant de montrer comment Python fonctionne.
Plutôt que de vous dire c'est comme a , il me semble important de vous expliquer ce qu'il se passe.
Si la prochaine partie vous perturbe, n'y pensez pas trop.
Gardez ces informations dans un coin de votre tête, et vous verrez que plus tard, ces informations qui pour l'instant ne vous semblent pas forcement indispensables, ils auront leur utilité.
008 Singleton et 'small integer caching' :
009 Règles et conventions de nommage :
010 Précision sur les noms de variables :
Dans la partie précédente je vous indique qu'il n'est pas possible d'utiliser des caractères spéciaux dans les noms de nos variables. C'est vrai pour tous les symboles comme $, %, ? ou ^ par exemple. Depuis Python 3 cependant, il est possible d'utiliser des accents dans les noms de variable. Vous n'aurez donc pas d'erreurs si vous créez une variable prnom
ou ge
.
Je vous conseille cependant fortement de ne pas utiliser d'accents dans les noms de vos variables !
Les espaces et les accents sont vraiment la boite noire de l'informatique en règle générale. Même si cela peut vous sembler mieux, vraiment, n'utilisez pas d'accents
Python permet beaucoup de liberté, mais les développeurs suivent également beaucoup de conventions qu'il serait dommage de ne pas suivre.
013 Déclarer des variables :
SOLUTION
prenom = "Pierre" age = 20 majeur = True compte_en_banque = 20135.384
Comme d'habitude, on fait attention aux guillemets, au point pour les nombres décimaux et aux majuscules pour les booléens !
015 Erreur dans la déclaration d'une variable #1 :
SOLUTION
site_web = 'Udemy'
C'était facile
Il suffisait de modifier le guillemet double pour le remplacer par un guillemet simple (ou l'inverse !) afin d'enlever l'erreur présente dans le script de départ.
017 Les variables - Exercice de syntaxe :
Plusieurs noms de variables dans cet exercice allaient l'encontre des règles nonces dans la vidéo théorique sur les variables.
a = 5 _a = 5 nombre impair = 3 nombre pair = 2 a_ = 5 print = "Python" 3a = 15 a3 = 6 a2b = 8 %taux_immobilier = 10 2ab = 10
En effet, une variable ne peut pas commencer par un nombre.
Les variables 3a
et 2ab
n'étaient donc pas valides.
De plus, certains mots sont réservés par Python, car ils nous permettent d'effectuer certaines actions, comme la fonction print qui permet d'afficher du texte. Il ne faut donc pas utiliser ces mots réservés comme nom de variable.
Exit donc la variable print = "Python"
.
Un nom de variable ne peut également pas contenir d'espaces. Les variables nombre impair
et nombre pair
n'étaient donc pas valides. Pour séparer des mots dans un nom de variable, on utilise le tiret du bas (il aurait donc fallu appeler ces variables respectivement nombre_impair
et nombre_pair
).
Enfin, le nom d'une variable ne peut pas contenir certains caractères spéciaux comme $%?&*()@!-{}<> (liste non exhaustive mais vous comprenez l'ide).
La variable %taux_immobilier
n'étaient donc pas valide.
019 Trouvez la valeur d'une variable :
SOLUTION
a = 3 b = 6 a = b b = 7 resultat = 6
EXPLICATION
Ici, on déclare deux variables, a
et b
, qui contiennent des valeurs différentes.
On déclare de nouveau la variable a
la troisième ligne et on lui assigne la valeur de b
(donc 6).
Ensuite on modifie la valeur de la variable b
, mais cela ne modifie en rien la valeur de la variable a
.
Les deux variables sont distinctes et on peut modifier les valeurs contenues dans l'une et dans l'autre sans affecter l'autre variable.
020 FICHE RÉCAPITULATIVE :
Vous pouvez également retrouver plus d'informations et des exemples de code dans le glossaire de Docstring sur les variables :
https://www.docstring.fr/glossaire/variable/
quoi sert une variable
Une variable permet d'associer un objet un nom. On peut ensuite accéder cet objet en mémoire grâce au nom de la variable.
Cela a plusieurs avantages :
-
On peut r-utiliser un objet différents endroits de notre code plus rapidement.
-
On peut modifier un objet un seul endroit et répercuter ces changements partout dans notre script.
Des objets et des noms
Quand on crée une variable, on associe un objet un nom.
Il est important de comprendre ce concept et de comprendre qu'un même objet peut ainsi tre associé plusieurs noms différents.
Cela peut parfois nous jouer des tours, notamment avec les objets immuables (que l'on peut modifier) comme les listes :
>>> a = [1, 2, 3] >>> b = a >>> b += [4] >>> print(a) [1, 2, 3, 4]
Dans l'exemple ci-dessus, les noms a
et b
pointent vers la même liste en mémoire.
Ainsi, quand on modifie la liste, on modifie un seul et même objet. Les variables a
et b
pointant vers ce même objet en mémoire, on modifie donc a
et b
.
Affectations simples, parallèles et multiples
Il existe trois faons principales d'affecter une valeur une variable :
-
L'affectation simple
-
L'affectation parallèle
-
L'affectation multiple
Avec l'affectation simple, on associe une valeur une variable :
a = 5
Avec l'affectation parallèle, on associe plusieurs valeurs plusieurs variables :
a, b = 5, 10
Avec l'affectation multiple, on associe une valeur plusieurs variables :
a = b = 5
Singleton et 'small integer caching'
Python dispose de nombreux processus interne qui permettent d'optimiser vos scripts. Permis ces processus, on retrouve le concept de Singleton et de small integer caching.
Le mot Singleton fait référence au fait qu'un objet est unique.
C'est le cas de plusieurs objets de Python comme les booléens True
et False
ou l'objet None
.
Quand vous créez un booléen True
, vous rfrez ainsi toujours au même objet en mémoire.
Ce même concept est valable pour certains objets comme les nombres compris entre -5
et 256
et les chaines de caractères courtes.
Règles et conventions de nommage
Il existe plusieurs conventions très suivies dans la communauté Python que vous retrouverez sous le nom de PEP8.
Parmi ces conventions, on retrouve de nombreuses conventions de nommage qui indique les règles suivre lorsque l'on crée des noms de variable.
Ainsi, il est conseillé d'utiliser uniquement des lettres en minuscule et des tirets du bas pour séparer les mots.
Voici quelques exemples de noms de variables qui respectent ces règles :
-
website_url
-
number_of_students
-
bank_account_id
-
name
Et quelques contre-exemples :
-
StudentID
-
Lastname
-
firstName
-
PhoneNUM
Votre script fonctionnera si vous ne suivez pas ces conventions. Mais elles sont trs respectes dans la communauté Python et permettent d'avoir une uniformité très agréable parmi les scripts sur lesquels vous allez travailler.
Si vous respectez toutes ces conventions et que vous vous habituez les utiliser, vous verrez qu'avec en plus la syntaxe pure de Python, il vous sera très facile de lire des scripts d'autres développeurs.