Skip to content

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.

Explorons l’exécution de code Python dans différents modes.

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) :

Terminal window
$ python3
Python 3.9.7 (default, Sep 10 2021, 14:59:43)
[GCC 11.2.0] on linux
Type "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 + 3
5
>>>

Note : Le Python moderne (Python 3) exige des parenthèses pour la fonction print : print(...).

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 :

hello.py
print("Hello from the script!")
message = "Python is fun"
print(message)

Exécutez le script depuis votre terminal :

Terminal window
$ python3 hello.py

Ceci produit la sortie :

Hello from the script!
Python is fun

Sous 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 :

hello.py
#!/usr/bin/env python3
print("Hello from the executable script!")
message = "Python is versatile"
print(message)

Rendez le fichier exécutable et exécutez-le :

Terminal window
$ chmod +x hello.py
$ ./hello.py

Ceci produit :

Hello from the executable script!
Python is versatile

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) :

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 |

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'indentation
else:
print("Bring an umbrella.") # Bloc indenté pour l'instruction else
print("Have a good day regardless.") # Retour au niveau d'indentation extérieur

Une indentation incorrecte provoquera une IndentationError :

# Indentation incorrecte - provoque une IndentationError
if True:
print("Answer")
print("True") # Erreur : le décalage vers la gauche ne correspond à aucun niveau d'indentation extérieur

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 + \
30
print(total) # Sortie : 60

La 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)

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 lines
and sentences.
"""
alt_paragraph = '''Another way
to write multi-line
strings.'''
print(word)
print(sentence)
print(paragraph)

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ère
print("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.

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.

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ée
age_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 lisible

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 structure
if expression:
# Suite pour le bloc if
statement1
statement2
elif another_expression:
# Suite pour le bloc elif
statement3
else:
# Suite pour le bloc else
statement4

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