Syntaxe Python et variables

Syntaxe et variables

Dans cette cet article, nous allons découvrir quelques éléments de syntaxe de base de Python ainsi que quelques notions sur les variables dont comment les déclarer et leurs différents types. Nous allons également exécuter nos première instructions Python en utilisant l’interpréteur de manière interactive ou en créant un fichier Python qu’on va ensuite compiler dans la ligne de commande. 

 

Définitions et syntaxe


Comment fonctionne Python?

Interprétation du code.

Le langage de programmation Python est un langage d’interprétation qui convertit le code python en bytecode. Ces bytecodes sont créés par un compilateur présent à l’intérieur de l’interpréteur. L’interpréteur compile d’abord le code python vers le code d’octet qui est également appelé code intermédiaire, puis le code est utilisé pour s’exécuter sur la machine virtuelle. Dans la machine virtuelle, les modules de bibliothèque de python sont ajoutés, puis le code est prêt à être exécuté sur une machine. 

Étapes d’interprétation du code source python: 

  1. Code source: Code Python 
  2. Compilateur: entre dans le compilateur pour générer le bytecode 
  3. Bytecode: code intermédiaire ou code de bas niveau 
  4. Machine virtuelle: Ici, le code obtient le support des modules de la bibliothèque.

Python est plus lent par rapport à d’autres langages de programmation, mais le processus de conversion du code python en bytecode accélère l’accès à chaque fois après que le code ai été interprété une fois. Ce bytecode est enregistré dans le fichier nommé de la même manière que le fichier source mais avec une extension différente nommée «pyc».

Pourquoi interprété?

Un avantage populaire des langues interprétées est qu’elles sont indépendantes de la plate-forme. Tant que le bytecode Python et la machine virtuelle ont la même version, le bytecode Python peut être exécuté sur n’importe quelle plateforme (Windows, MacOS, etc.).

Le typage dynamique est un autre avantage. Dans les langages de type statique comme le   C ++, vous devez déclarer le type de variable et toute divergence comme l’ajout d’une chaîne et d’un entier est vérifiée lors de la compilation. Dans les langages fortement typés comme Python, c’est le travail de l’interpréteur de vérifier la validité des types de variables et des opérations effectuées.

Structure du code

Les limites des instructions et des blocs sont définies par la mise en page.

Dans la plupart des autres langages, un bloc d’instructions doit être délimité par des symboles spécifiques . Cela permet d’écrire les blocs d’instructions les uns à la suite des autres, sans se préoccuper ni d’indentation ni de sauts à la ligne, mais cela peut conduire à l’écriture de programmes confus, difficiles à relire pour les pauvres humains que nous sommes. On conseille donc à tous les programmeurs qui utilisent ces langages de se servir aussi des sauts à la ligne et de l’indentation pour bien délimiter visuellement les blocs.Avec Python, vous devez utiliser les sauts à la ligne et l’indentation, mais en contrepartie vous n’avez pas à vous préoccuper d’autres symboles délimiteurs de blocs (accolades en c, c++). En définitive, Python vous force donc à écrire du code lisible, et à prendre de bonnes habitudes que vous conserverez lorsque vous utiliserez d’autres langages.

 

Instruction composée: en-tête, double point et bloc dinstructions.

Nous aurons de nombreuses occasions d’approfondir le concept de «bloc d’instructions» et de faire des exercices à ce sujet dès l’article suivant. Le schéma ci-dessous en résume le principe.

•Les blocs d’instructions sont toujours associés à une ligne d’en-tête contenant une instruction bien spécifique (if, elif, else, while, def, etc.) se terminant par un double point.

•Les blocs sont délimités par l’indentation: toutes les lignes d’un même bloc doivent être indentées exactement de la même manière (c’est-à-dire décalées vers la droite d’un même nombre d’espaces). Le nombre d’espaces à utiliser pour l’indentation est quelconque, mais la plupart des programmeurs utilisent des multiples de 4.

•Notez que le code du bloc le plus externe (bloc 1) ne peut pas lui-même être écarté de la marge de gauche (il n’est imbriqué dans rien).

Indenter son code.

Prenons cet exemple – Écrivons alors un programme Python pour prendre en compte les commentaires de l’utilisateur concernant le langage de programmation le plus simple. Afficher un message d’erreur si l’utilisateur saisit un langage autre que Python 😁.

L’instruction 1 est exécutée en premier, puis elle passe à l’instruction 2. Maintenant, seulement si l’instruction 2 est correcte, nous voudrions que l’instruction 3 soit imprimée. Par conséquent, l’instruction 3 est indentée avec 4 espaces (en appuyant la touche Tab reconnaissable par ses deux flèches aux sens opposés). En outre, l’instruction 5 doit être imprimée, si l’instruction 4 est vraie et par conséquent, elle est également indentée avec 4 espaces. Les instructions 1, 2 et 4 sont des instructions principales qui doivent être vérifiées et donc ces 3 sont indentées avec le même espace (ici nul car elles ne sont pas dans un bloc).

Ici comme vous l’aurez deviné on a procédé à une vérification. Et qui dit vérification, dit condition. Le duo if-else nous permet de le faire .Je me rends bien compte que tout est encore confus mais après avoir vu les expressions de conditionnelles tout sera plus clair.

Mode interactif.

Avec l’interpréteur interactif Python, il est facile de vérifier les commandes Python. L’interpréteur Python peut être appelé en tapant la commande « python » sans aucun paramètre suivie de la touche « ENTRER » dans l’invite de commande (ou terminal). L’interpréteur affiche un message de bienvenue indiquant son numéro de version et une notice de copyright avant d’afficher le premier prompt :

 Dans ce mode, Python demande la commande suivante avec le « prompt primaire », en général trois signes plus-grand-que (>>>) ; pour les lignes de continuation, il affiche le prompt secondaire, par défaut trois points (…). Par exemple le programme testé plus haut sera de la forme:

 Comme nous pouvons le voir le « input » qui permet de récupérer le choix de l’utilisateur via le clavier est immédiatement exécuté étant dans le prompt primaire.

Malheureusement le mode interactif ne permettant pas toujours d’écrire de grosses lignes de codes, on utilisera bien sûr soit un éditeur de texte ,soit un IDE(Environnement de développement intégré) pour écrire nos programmes.

Variables et affectations


 Définition

Une variable est une zone de la mémoire de l’ordinateur dans laquelle une valeur est stockée. Aux yeux du programmeur, cette variable est définie par un nom, alors que pour l’ordinateur, il s’agit en fait d’une adresse, c’est-à-dire d’une zone particulière de la mémoire.

En Python, la déclaration d’une variable et son initialisation (c’est-à-dire la première valeur que l’on va stocker dedans) se font en même temps. Pour vous en convaincre, testez les instructions suivantes après avoir lancé l’interpréteur :

 Ligne 1. Dans cet exemple, nous avons déclaré, puis initialisé la variable x avec la valeur 2. Notez bien qu’en réalité, il s’est passé plusieurs choses :

  • Python a « deviné » que la variable était un entier. On dit que Python est un langage au typage dynamique.
  • Python a alloué (réservé) l’espace en mémoire pour y accueillir un entier. Chaque type de variable prend plus ou moins d’espace en mémoire. Python a aussi fait en sorte qu’on puisse retrouver la variable sous le nom x.
  • Enfin, Python a assigné la valeur 2 à la variable x.

Lignes 2 et 3. L’interpréteur nous a permis de connaître le contenu de la variable juste en tapant son nom. Par contre, la ligne d’un script Python qui contient seulement le nom d’une variable (sans aucune autre indication) n’affichera pas la valeur de la variable à l’écran lors de l’exécution (pour autant, cette instruction reste valide et ne générera pas d’erreur).

Un autre exemple, dans l’instruction « x = y + 12« , l’opération "y + 12" est d’abord calculée, ensuite le résultat est affecté à la variable x, bien sûr dans le cas où la variable y est initialisé sinon Python retournera une erreur.

 

Les types de variables

Le type d’une variable correspond à la nature de celle-ci. Les trois principaux types dont nous aurons besoin dans un premier temps sont les entiers (integer ou int), les nombres décimaux que nous appellerons floats et les chaînes de caractères (string ou str). Bien sûr, il existe de nombreux autres types (par exemple, les booléens, les nombres complexes, etc.). Si vous n’êtes pas effrayés, vous pouvez vous en rendre compte ici.

Dans l’exemple précédent, nous avons stocké un nombre entier (int) dans la variable x, mais il est tout à fait possible de stocker des floats, des chaînes de caractères (string ou str) ou de nombreux autres types de variable que nous verrons par la suite :

⚠️ Attention

Python reconnaît certains types de variable automatiquement (entier, float). Par contre, pour une chaîne de caractères, il faut l’entourer de guillemets (doubles, simples, voire trois guillemets successifs doubles ou simples) afin d’indiquer à Python le début et la fin de la chaîne de caractères.

En Python, comme dans la plupart des langages de programmation, c’est le point qui est utilisé comme séparateur décimal. Ainsi, 3.14 est un nombre reconnu comme un float en Python alors que ce n’est pas le cas de 3,14.

 

Nommage

Le nom des variables en Python peut être constitué de lettres minuscules (a à z), de lettres majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné (_). Vous ne pouvez pas utiliser d’espace dans un nom de variable.

Par ailleurs, un nom de variable ne doit pas débuter par un chiffre et il n’est pas recommandé de le faire débuter par le caractère « _ » (sauf cas très particuliers).

De plus, il faut absolument éviter d’utiliser un mot « réservé » par Python comme nom de variable (par exemple : print, range, for, from, etc.).

Enfin, Python est sensible à la casse, ce qui signifie que les variables TesT, test ou TEST sont différentes.

Opérations

Opérations sur les types numériques

Les quatre opérations arithmétiques de base se font de manière simple sur les types numériques (nombres entiers et floats) :

Remarquez toutefois que si vous mélangez les types entiers et floats, le résultat est renvoyé comme un float (car ce type est plus général). Par ailleurs, l’utilisation de parenthèses permet de gérer les priorités.

L’opérateur « / » effectue une division. Contrairement aux opérateurs +, – et *, celui-ci renvoie systématiquement un float. De plus l’opérateur puissance utilise les symboles ** :

Enfin, il existe des opérateurs « combinés » qui effectue une opération et une affectation en une seule étape :

L’opérateur += effectue une addition puis affecte le résultat à la même variable. Cette opération s’appelle une « incrémentation ».

Les opérateurs -=, *= et /= se comportent de manière similaire pour la soustraction, la multiplication et la division.

 

Opérations sur les chaînes de caractères

Pour les chaînes de caractères, deux opérations sont possibles, l’addition et la multiplication:

L’opérateur d’addition + concatène (assemble) deux chaînes de caractères.

L’opérateur de multiplication * entre un nombre entier et une chaîne de caractères duplique (répète) plusieurs fois une chaîne de caractères.

Et comme vous l’aurez compris un espace est aussi caractère.

Opérations illicites

Attention à ne pas faire d’opération illicite car vous obtiendriez un message d’erreur :

Notez que Python vous donne des informations dans son message d’erreur. Dans la première erreur il indique tout simplement qu’on ne peut multiplier une chaîne par un float et dans la deuxième erreur, il indique que vous devez utiliser une variable de type str c’est-à-dire une chaîne de caractères et pas un int, c’est-à-dire un entier.

Bon à savoir

La fonction type()

Alors vous vous demandez peut-être pour j’en parle ici alors que l’article sur les fonctions sortira prochainement ? C’est simple la fonction type() est pour moi très liée aux variables. En effet si vous ne vous souvenez plus du type d’une variable ou que vous avez besoin de faire une vérification du type , cette fonction vous retournera le type de la variable.

Nous verrons plus tard ce que signifie le mot class.

Amalet Charlie

Bienvenue à toi, moi c'est Charlie, étudiant en prépa Informatique Électronique à Tunis. je me suis depuis très longtemps épris pour tout ce qui touche aux sciences technologiques et notamment aux langages de programmation. J'ai donc décidé de m' auto former tout en partageant ici l'ensemble de tout ce que je sais sur le langage Python. Alors c'est pour moi un grand honneur de pouvoir t'aider dans ta quête de savoir. Je te dis donc à la prochaine pour encore plus de contenus.

2 réflexions sur “Syntaxe Python et variables

%d blogueurs aiment cette page :