Comme tout language de programmation, Python doit respecter certaines règles de syntaxe afin de permettre à l'interpréteur de bien comprendre et traduire les instructions. Dans le cas de Python, ces règles sont cependant relativement simple et peut nombreuses.
Toute ligne de programme qui commence par un dièse (#) est considérée par python comme du commentaire et n'est donc ni traduite, ni bien sûr exécutée. La seule exception à cette règle est la ligne #! /usr/bin/env python cette ligne ne sera pas prise en compte par le programme mais par le système pour lui faire comprendre qu'il faudra exécuté le programme avec python, vous comprendrez plus tard...
Toute ligne ne commençant pas par un dièse est donc considérée par Python comme une ligne de programme exécutable. En outre, il est possible, et même conseillé pour une meilleur lisibilité de vos programmes, de mettre des commentaires aprés une instruction exécutable. Il suffit de les faire précéder par un dièse.
0# ligne de commentaires
0instruction exécutable
0instruction exécutable # suivie d'un commentaire
Contrairement à ce qui a lieu dans d'autres langages, Python utilise comme séparateur d'instruction l'espace. Dans les blocs d'instructions présentés ci-aprés, le nombre d'espace n'a aucune importance dès lors qu'il y en a au moins un.
Notez également qu'il est possible de placer plusieurs instructions sur une même ligne en les séparant les unes des autres par le caractère point-virgules(;). Cette pratique est toutefois déconseiller car elle nuit à la bonne lisibilité des programmes.
Python utilise également les espaces pour identifier ce que l'on appelle les blocs d'instructions. Ainsi par exemple pour réaliser une boucle, c'est-à-dire une suite d'instructions qui se répètent comme nous le verrons dans un instant, il faut procéder de la sorte:
0Instruction de début de boucle:
0 Instruction numéro 1 de la boule
0 Instruction numéro 2 de la boule
0 ...
0 Dernière instruction de la boucle
0Instruction suivant la boucle
Remarquez tout d'abord que la ligne contenant l'instruction de début de boucle est terminée par le caractère deux points(:), ce qui indique à Python qu'il doit rencontrer ensuite un bloc d'instructions.
Ce bloc d'instruction, contenue dans la boucle dans le cas présent, est identifié uniquement par son indentation par rapport aux autres lignes du programme. Cette indentation peut être réalisée à votre choix avec la touche Tab du clavier ou en saisissant plusieurs espaces, mais vous devez être homogène et ne pas mélanger les deux. Une pratique courant en python veut que, si l'on utilise des espaces, on en utilise quattre car cette quantité est équivalente à Tab
Il est trés facile de créer des erreurs difficiles à idenifier en mélangeant tabulations et espaces. Choisissez donc une façon de réaliser ces indentations et tenez-vous-y une fois pour toute.
Dans un certain nombre de programmes il est nécessaire de faire appel à ce que les Anglo-Saxons appellent des "libraries", ce que l'on peut traduire en français par "bibliothèques". Ces dernières sont en fait des recueils de fonction, généralement dans des domaine détérminés, qui viennent ainsi s'ajouter aux fonctions de base dont dispose le langage Python.
Certaines des ces bibliothèques sont installées en même temps que Python, d'autres sont écrites par des tierces personnes et doivent être installées manuellement avant de pouvoir être utilisées. Ce sera le cas par exemple de certaines bibliothèques de pilotages des entrées/sorties (Le GPIO).
import
Quoi qu'il en soit, lorsqu'un programme souhaite faire appel à au moins une fonction contenue dans une bibliothèque externe, il faut inclure celle-ci au début du programme avec une simple ligne du type:
0import [nom de la bibliothèque]
Le nombre de ligne de ce type n'est pas limité et il est de ce fait possible d'importer plusieurs bibliothèques distinctes dans un même programme.
Comme dans tout language de programmation qui se respecte, une variable est une zone de la mémoire où une valeur est stockée; zone de la mémoire à laquelle on donne un nom au moyen duquel le programme y fait référence.
Par contre, alors que dans d'autres languages de programmation il faut déclarer le type et le nom d'une variable avant de pouvoir l'utiliser, c'est inutile en Python et ces deux opérations ont lieu lors de la première utilisation de la variable.
Python est très souple quant au nommage des variables puisque le nom de ces dernières peut comporter des lettres de A à Z, en majuscules ou en minuscules, des chiffres de 0 à 9 et le caractère souligné (_) ou underscore en anglais.
Les seules contraintes à respecter sont les suivantes:
- Un nom de variable ne doit pas commencer par un chiffre.
- Un nom de variable ne doit contenir ni espace ni caractère accentué.
- Un nom de variable ne doit pas être un mot-clé du langage (une instruction si vous préférez).
Python est sensible à la casse c'est-à-dire que Toto, toto et toToseront considérées comme étant des variables différentes.
Entiers et flottants
Pour ce qui est des données numériques. Python connaît deux types de base qui sont automatiquement déterminés lors de l'initialisation de la variable qi doit les contenir. Ainsi par exemple, si vous ecrivez:
Vous déclarez automatiquement une variables appelée A et, comme vous lui imposez d'être égale à 2, ce sera une variable de type entier.
Si vous aviez écrit:
Vous auriez fait de même avec la variable B mais cette fois-ci, la variable aurait été du type flottant, ou décimal ou bien encore réel si vous préférez. Le chiffre 2 est en effet suvi d'un point qui, en notation internationale, correspond à notre virgule décimale. Si donc vous faites suivre un chiffre ou un nombre par un point, il est considéré comme étant représenté en virgule flottante.
Si vous avez un doute sur le type d'une variable (du point de vue de Python bien sûr) vous disposez de la fonction type (nom de la variable) pour vous indiquer celui-ci.
Chaînes de caractères
Python connaît evidemment aussi les données de type chaîne de caractères qui doivent être comprises entre deux délimitteurs identiques, qui sont généralement des apostrophes('__') mais qui peuvent aussi être des guillemets("__") ou encore des triples guillemets("""__""") si par exemple une apostrophe doit être contenue dans la chaîne.
Ces chaines de caractères peuvent contenir des caractères << spéciaux >>: