Syntaxe de base de Python
Syntaxe de base de Python
Section titled “Syntaxe de base de Python”La syntaxe de Python partage des similitudes avec des langages comme Perl, C et Java, mais elle possède des caractéristiques distinctes, notamment son utilisation de l’indentation pour la structure du code.
Votre premier programme Python
Section titled “Votre premier programme Python”Explorons l’exécution de code Python dans différents modes.
Mode interactif (REPL)
Section titled “Mode interactif (REPL)”L’exécution de la commande python (ou python3 selon votre système) sans fichier script démarre l’interpréteur interactif (Read-Eval-Print Loop) :
$ python3Python 3.9.7 (default, Sep 10 2021, 14:59:43)[GCC 11.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>Vous pouvez taper des commandes Python directement à l’invite >>> et appuyer sur Entrée pour voir le résultat :
>>> print("Hello, Python!")Hello, Python!>>> 2 + 35>>>Note : Le Python moderne (Python 3) exige des parenthèses pour la fonction print : print(...).
Mode Script
Section titled “Mode Script”Vous pouvez écrire votre code Python dans un fichier (conventionnellement avec l’extension .py) et l’exécuter à l’aide de l’interpréteur.
Créez un fichier nommé hello.py avec le contenu suivant :
print("Hello from the script!")message = "Python is fun"print(message)Exécutez le script depuis votre terminal :
$ python3 hello.pyCeci produit la sortie :
Hello from the script!Python is funSous Linux/macOS, vous pouvez rendre le script directement exécutable :
Ajoutez une ligne ‘shebang’ tout en haut de hello.py spécifiant l’interpréteur :
#!/usr/bin/env python3print("Hello from the executable script!")message = "Python is versatile"print(message)Rendez le fichier exécutable et exécutez-le :
$ chmod +x hello.py$ ./hello.pyCeci produit :
Hello from the executable script!Python is versatileIdentifiants Python
Section titled “Identifiants Python”Un identifiant est un nom utilisé pour les variables, fonctions, classes, modules, etc. Règles :
La ponctuation comme @, $, % n’est pas autorisée.
Conventions de nommage (Guide de style PEP 8) :
Mots réservés (Mots-clés)
Section titled “Mots réservés (Mots-clés)”Ces mots ont une signification spéciale en Python et ne peuvent pas être utilisés comme identifiants. Tous les mots-clés sont en minuscules (sauf True, False et None).
| False | await | else | import | pass |
| None | break | except | in | raise |
| True | class | finally | is | return |
| and | continue | for | lambda | try |
| as | def | from | nonlocal | while |
| assert | del | global | not | with |
| async | elif | if | or | yield |
Lignes et indentation
Section titled “Lignes et indentation”Python utilise l’indentation (espaces blancs au début d’une ligne) pour définir les blocs de code (suites) au lieu des accolades {} utilisées dans de nombreux autres langages. C’est une exigence stricte.
L’indentation standard et fortement recommandée est de 4 espaces par niveau.
weather = "sunny"
if weather == "sunny": print("Wear sunglasses!") # Bloc indenté pour l'instruction if print("Enjoy the day!") # Même niveau d'indentationelse: print("Bring an umbrella.") # Bloc indenté pour l'instruction else
print("Have a good day regardless.") # Retour au niveau d'indentation extérieurUne indentation incorrecte provoquera une IndentationError :
# Indentation incorrecte - provoque une IndentationErrorif True: print("Answer") print("True") # Erreur : le décalage vers la gauche ne correspond à aucun niveau d'indentation extérieurInstructions multi-lignes
Section titled “Instructions multi-lignes”Les instructions se terminent généralement par un saut de ligne. Vous pouvez continuer une instruction sur la ligne suivante en utilisant le caractère de continuation de ligne (\) :
total = 10 + \ 20 + \ 30print(total) # Sortie : 60La continuation de ligne est implicitement autorisée à l’intérieur des parenthèses (), des crochets [] et des accolades {} :
weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
options = { 'color': 'blue', 'size': 'large', 'quantity': 5}
result = (1 + 2 + 3 + 4 + 5 + 6)Guillemets en Python
Section titled “Guillemets en Python”Python utilise des guillemets simples ('), doubles (") et triples (''' ou """) pour les littéraux de chaîne. Les guillemets simples et doubles fonctionnent de manière identique. Les guillemets triples permettent aux chaînes de s’étendre sur plusieurs lignes et sont souvent utilisés pour les docstrings.
word = 'word'sentence = "This is a sentence."
paragraph = """This is a paragraph.It is made up of multiple linesand sentences."""
alt_paragraph = '''Another wayto write multi-linestrings.'''
print(word)print(sentence)print(paragraph)Commentaires en Python
Section titled “Commentaires en Python”Utilisez le symbole dièse (#) pour commencer un commentaire. Tout ce qui se trouve du # à la fin de la ligne est ignoré par l’interpréteur.
# Ceci est un commentaire sur une ligne entièreprint("Hello, World!") # Ceci est un commentaire en ligne
# Utilisez les commentaires pour expliquer le code ou désactiver temporairement des lignes# print("Cette ligne ne s'exécutera pas")
# Les commentaires multi-lignes sont généralement faits# en utilisant plusieurs commentaires mono-lignes.Utilisation des lignes vides
Section titled “Utilisation des lignes vides”Les lignes vides (ne contenant que des espaces ou des commentaires) sont ignorées par Python. Elles sont utilisées pour améliorer la lisibilité du code en séparant les blocs logiques.
Attendre l’entrée de l’utilisateur
Section titled “Attendre l’entrée de l’utilisateur”La fonction intégrée input() met en pause l’exécution du programme et attend que l’utilisateur tape quelque chose et appuie sur Entrée. Elle renvoie toujours l’entrée de l’utilisateur sous forme de chaîne de caractères.
name = input("Please enter your name: ")print(f"Hello, {name}!")
# Si vous avez besoin d'un nombre, convertissez la chaîne d'entréeage_str = input("Enter your age: ")try: age = int(age_str) print(f"You will be {age + 1} next year.")except ValueError: print("Invalid age entered. Please enter a number.")
# Invite de pause simple (Python 2 utilisait raw_input)input("\nPress Enter key to exit.")Plusieurs instructions sur une seule ligne
Section titled “Plusieurs instructions sur une seule ligne”Vous pouvez placer plusieurs instructions sur une seule ligne séparées par un point-virgule (;). Ceci est généralement déconseillé par les guides de style (comme PEP 8) car cela réduit la lisibilité, mais c’est une syntaxe valide.
x = 5; y = 10; print(x + y) # Moins lisibleBlocs de code (Suites)
Section titled “Blocs de code (Suites)”Un groupe d’instructions formant un bloc de code est appelé une suite. Les instructions composées comme if, while, def, class consistent en une ligne d’en-tête se terminant par deux points (:) suivie d’une suite indentée.
# Exemple de structureif expression: # Suite pour le bloc if statement1 statement2elif another_expression: # Suite pour le bloc elif statement3else: # Suite pour le bloc else statement4Arguments de la ligne de commande
Section titled “Arguments de la ligne de commande”Les scripts Python peuvent recevoir des arguments qui leur sont passés en ligne de commande. Ceux-ci sont disponibles via la liste sys.argv (vous devez importer sys). sys.argv[0] est le nom du script lui-même, et les éléments suivants sont les arguments.
Pour une analyse plus robuste des arguments de ligne de commande, le module standard argparse est fortement recommandé plutôt que de traiter manuellement sys.argv.
# Exemple utilisant sys.argv (enregistrer sous args_test.py)import sys
print(f"Script name: {sys.argv[0]}")if len(sys.argv) > 1: print(f"Arguments received: {sys.argv[1:]}")else: print("No arguments provided.")
# Exécuter comme : python3 args_test.py premier_arg 123 --option