Gestion de l'Encodage des Fichiers Source
Par défaut, Python 3 utilise l'encodage UTF-8. Cependant, il est possible de spécifier un encodage différent en ajoutant une déclaration spécifique sur l'une des deux premières lignes du script. Cette déclaration doit suivre une syntaxe précise, reconnue par les analyseurs lexicaux :
# -*- coding: utf-8 -*-
D'autres formats comme # coding=utf-8 ou les formats spécifiques à VIM sont également acceptés. Si un fichier contient des caractères non-ASCII (comme des accents ou des caractères chinois) sans déclaration appropriée, une erreur de type SyntaxError: (unicode error) peut survenir. Pour éviter cela, assurez-vous que votre éditeur de code sauvegarde les fichiers en UTF-8 sans signature (BOM), ou utilisez la signature si vous travaillez spécifiquement sous Visual Studio.
Structure des Lignes : Logiques vs Physiques
Un programme Python est décomposé en une suite de lignes logiques. La fin d'une ligne logique est marquée par le jeton NEWLINE.
1. Jonction explicite de lignes
Pour étendre une instruction sur plusieurs lignes physiques, on utilise le caractère antislash (\). Cela permet de fusionner la ligne actuelle avec la suivante :
valeur_totale = prix_unitaire * quantite + \
frais_livraison - \
remise_fidelite
2. Jonction implicite
Les expressions entourées de parenthèses (), de crochets [] ou d'accolades {} peuvent être réparties sur plusieurs lignes sans utiliser d'antislash. C'est la méthode recommandée pour une meilleure lisibilité :
villes_europe = [
"Paris", "Berlin", "Madrid",
"Rome", "Bruxelles", "Lisbonne"
]
Identifiants et Nommage
Un identifiant sert à nommer des variables, des fonctions, des classes ou des modules. Les règles sont les suivantse :
- Doit commencer par une lettre (A-Z, a-z) ou un tiret bas (
_). - Peut contenir des chiffres (0-9) après le premier caractère.
- Sensible à la casse (
MonScoreest différent demonscore). - Depuis Python 3, les caractères Unicode (accents, idéogrammes) sont autorisés, bien que l'usage de l'anglais reste la norme technique.
Mots-clés Réservés
Certains mots ont une signification fixe et ne peuvent pas être utilisés comme noms de variables. Vous pouvez consulter la liste via le module keyword :
import keyword
print(keyword.kwlist)
En plus des mots-clés classiques (if, while, class, etc.), Python introduit des soft keywords comme match, case, et type. Ceux-ci ne sont réservés que dans certains contextes syntaxiques spécifiques.
L'Indentation : Pilier de la Structure
Contrairement à de nombreux langages utilisant des accolades, Python utilise l'espacement en début de ligne pour définir les blocs de code. Le niveau d'indentation doit être identique pour toutes les instructions d'un même bloc.
def verifier_seuil(valeur):
if valeur > 100:
print("Seuil dépassé")
else:
print("Valeur acceptable")
Note cruciale : Il est fortement déconseillé de mélanger les tabulations et les espaces. La convention standard (PEP 8) préconise l'utilisation de 4 espaces par niveau d'indentation.
Classes d'Identifiants Spéciaux
L'usage des tirets bas suit des conventions précises en Python :
_variable: Indique un usage interne (non importé parfrom module import *).variable_: Utilisé pour éviter les conflits avec des mots-clés Python.__variable: Déclenche la transformation de nom (name mangling) pour rendre l'attribut "privé" au sein d'une classe.__init__: Noms "Dunder" (Double Underline) réservés par le système pour des méthodes spéciales._: Variable temporaire ou résultat de la dernière évaluation dans l'interpréteur interactif.
Importation de Modules
Le système de modules permet d'organiser le code et de réutiliser des fonctionnalités :
# Import complet
import math
print(math.sqrt(16))
# Import spécifique
from datetime import datetime
print(datetime.now())
# Import avec alias
import pandas as pd
Espaces et Séparateurs
En dehors du début de ligne (indentaiton), les espaces, tabulations et sauts de page servent de séparateurs de jetons mais n'influent pas sur la logique. Par exemple, x=1 et x = 1 sont équivalents, bien que la seconde forme soit privilégiée pour la clarté visuelle.