Systèmes Distribués
Ce document présente une introduction complète au langage de programmation Python, destinée aux étudiants de première année de Master en systèmes distribués. Il couvre les bases du langage, son mode interactif, les structures de données fondamentales, les instructions de contrôle, les fonctions, les scripts, les modules, ainsi que la programmation orientée objet avec les classes.
D'après le document Systèmes Distribués
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Programming · PDF · 22 pages · 1991
Afficher l'aperçu du document
Ce document présente une introduction complète au langage de programmation Python, destinée aux étudiants de première année de Master en systèmes distribués. Il couvre les bases du langage, son mode interactif, les structures de données fondamentales, les instructions de contrôle, les fonctions, les scripts, les modules, ainsi que la programmation orientée objet avec les classes. Des exemples concrets et des exercices pratiques accompagnent chaque notion pour faciliter l'apprentissage.
Avant Propos
Python est un langage de programmation open source, orienté objet, multi-paradigme et multi-plateformes. Il a été développé par Guido van Rossum, dont le rôle est celui de "Benevolent Dictator For Life" (dictateur bienveillant à vie), ce qui signifie qu'il continue à superviser le développement du langage et prend des décisions importantes si nécessaire. Le nom "Python" est un hommage à la série télévisée britannique Monty Python's Flying Circus.
Prise en main
Hello World !
En mode interactif, on lance Python depuis le shell Linux avec la commande $ python, puis on exécute la commande suivante :
print('hello world')
En mode script, on crée un fichier helloworld.py :
$ touch helloworld.py
On insère ensuite le code :
print('hello world')
Et on exécute le script avec :
$ python helloworld.py
Python en mode interactif
input() et print() : lecture et affichage
La fonction input() permet de lire des données depuis l'entrée standard. La valeur lue est stockée sous forme de chaîne de caractères. La fonction print() sert à afficher des données sur la sortie standard.
nom = input("Entrez votre nom : ")
print("Bonjour", nom)
Les nombres
- Les opérateurs
+,-,*,/fonctionnent comme en C ou Pascal. - Les entiers (exemple : 1, 2, 3) sont de type
int. - Les nombres décimaux (exemple : 1.333, 5.6) sont de type
float. //est l'opérateur de division entière.%donne le reste de la division entière.**est l'opérateur de puissance.=est l'opérateur d'affectation.
x = 5
y = 2
print(x + y) # 7
print(x // y) # 2
print(x % y) # 1
print(x ** y) # 25
Les chaînes de caractères
Une chaîne de caractères peut contenir des caractères spéciaux comme \n pour un retour à la ligne.
s = 'Première ligne.\nSeconde ligne'
print(s)
Les chaînes peuvent être concaténées avec + et répétées avec * :
'ha' + 'ou' # 'haou'
'ha' * 3 # 'hahaha'
On peut aussi concaténer une chaîne avec une variable :
prenom = 'Alice'
message = 'Bonjour ' + prenom
print(message) # Bonjour Alice
Les chaînes sont indexées à partir de 0 (de gauche à droite) ou avec des indices négatifs (de droite à gauche, où -1 est le dernier caractère). On peut extraire une sous-chaîne (slice) :
s = 'Python'
print(s[0]) # 'P'
print(s[-1]) # 'n'
print(s[1:4]) # 'yth'
Les chaînes sont immuables : on ne peut pas modifier un caractère directement. Pour modifier une chaîne, il faut en créer une nouvelle :
s = 'Python'
# s[0] = 'J' # Erreur
s2 = 'J' + s[1:]
print(s2) # 'Jython'
La fonction len() renvoie la longueur d'une chaîne :
len('Python') # 6
Les listes
Les listes regroupent plusieurs valeurs, pas forcément du même type. Elles sont définies par des éléments séparés par des virgules et entourés de crochets. Comme les chaînes, elles sont indexées et peuvent être découpées. Contrairement aux chaînes, les listes sont modifiables :
liste = [1, 'deux', 3.0]
print(liste[1]) # 'deux'
liste[1] = 'two'
print(liste) # [1, 'two', 3.0]
On peut concaténer des listes :
liste2 = liste + [4, 5]
print(liste2) # [1, 'two', 3.0, 4, 5]
La méthode append() ajoute un élément à la fin :
liste.append(6)
print(liste) # [1, 'two', 3.0, 6]
La fonction len() s'applique aussi aux listes :
len(liste) # 4
Les tuples
Les tuples sont similaires aux listes mais immuables et utilisent moins d’espace mémoire. Ils sont définis par des éléments séparés par des virgules et entourés de parenthèses :
t = (1, 2, 3)
print(t[0]) # 1
# t[0] = 4 # Erreur
Premier exemple : la suite de Fibonacci
Ce programme calcule les termes de la suite de Fibonacci inférieurs à 10 :
a, b = 0, 1
while a < 10:
print(a)
a, b = b, a + b
Explications :
- Affectation multiple :
a, b = 0, 1affecte 0 àaet 1 àbsimultanément. - La boucle
whiles'exécute tant que la conditiona < 10est vraie. - L'indentation est obligatoire pour délimiter le corps de la boucle.
print()affiche les valeurs.
Les instructions de contrôle
L'instruction if
La syntaxe est :
if condition:
instructions
elif condition2:
instructions
else:
instructions
Exemple :
x = 5
if x > 0:
print("Positif")
elif x == 0:
print("Zéro")
else:
print("Négatif")
La boucle for
En Python, la boucle for itère sur les éléments d'une séquence dans l'ordre :
for element in [1, 2, 3]:
print(element)
Exemple :
for i in range(3):
print(i)
La boucle while
La boucle while exécute les instructions tant qu'une condition est vraie :
while condition:
instructions
Exemple :
i = 0
while i < 3:
print(i)
i += 1
La fonction range()
Utilisée avec for, range() génère une séquence de nombres :
for i in range(1, 5):
print(i) # Affiche 1, 2, 3, 4
break(), continue() et else()
break()interrompt la boucleforouwhile.continue()passe à l'itération suivante de la boucle.elseattaché à une boucle s'exécute si la boucle se termine normalement (sans interruption parbreak).
Les fonctions
Définition d'une fonction :
def nomDeLaFonction(liste_de_paramètres):
...
return résultat
Le mot-clé def est suivi du nom de la fonction et de ses paramètres entre parenthèses, puis de deux-points. Le corps de la fonction est indenté. Le return est facultatif.
Exemple simple
def carre(x):
return x * x
print(carre(4)) # 16
Récursivité
Exemple de fonction récursive calculant la factorielle :
def factorielle(n):
if n == 0:
return 1
else:
return n * factorielle(n - 1)
print(factorielle(5)) # 120
Arguments des fonctions
Les arguments peuvent être des variables ou des fonctions de rappel (callbacks).
def appliquer(fonction, x):
return fonction(x)
def carre(x):
return x * x
print(appliquer(carre, 3)) # 9
Arguments facultatifs
On peut définir une valeur par défaut pour un argument :
def saluer(nom=None):
if nom is None:
print("Bonjour")
else:
print("Bonjour", nom)
saluer() # Bonjour
saluer("Alice") # Bonjour Alice
Les scripts
Utilisation d'une fonction dans un script
Un script peut contenir plusieurs fonctions et un corps principal qui les appelle :
def cube(x):
return x ** 3
def volumeSphere(rayon):
from math import pi
return (4/3) * pi * rayon ** 3
rayon = 3
print("Volume de la sphère :", volumeSphere(rayon))Les modules
Un module est un fichier regroupant des fonctions. On peut importer un module avec :
import module1
import module2
import module3, module4
from math import *
from math import cos
Exemple d'utilisation dans un script :
import math
print(math.sqrt(16)) # 4.0
Créer son module
On peut créer un module personnalisé, par exemple operation.py :
def addition(a, b):
return a + b
def multiplication(a, b):
return a * b
Puis l'utiliser dans un script :
import operation
print(operation.addition(2, 3)) # 5
print(operation.multiplication(2, 3)) # 6
Point d'entrée du script
L'instruction suivante placée à la fin d'un module permet de déterminer si le module est exécuté directement ou importé :
if __name__ == "__main__":
# Code à exécuter uniquement si le module est lancé directement
pass
Cela permet d'inclure des tests ou du code d'exécution dans un module sans qu'il soit exécuté lors de son importation.
Les classes
Définition d'une classe en Python :
class NomDeLaClasse:
attribut_1 = valeur
attribut_2 = valeur
def methode_1(self, ...):
...
def methode_2(self, ...):
...
On instancie un objet :
var = NomDeLaClasse()
print(var.attribut_1)
var.methode_1()
Le premier argument des méthodes doit toujours être self, représentant l'instance de la classe.
La méthode constructeur s'écrit :
def __init__(self, ...):
# Initialisation de l'objet
Exemple :
class Personne:
def __init__(self, nom, age):
self.nom = nom
self.age = age
def se_presenter(self):
print("Je m'appelle", self.nom, "et j'ai", self.age, "ans.")
p = Personne("Alice", 30)
p.se_presenter() # Je m'appelle Alice et j'ai 30 ans.
Glossaire des termes clés
- Python : Langage de programmation open source, multi-paradigme et multi-plateformes.
- input() : Fonction pour lire une entrée utilisateur sous forme de chaîne.
- print() : Fonction pour afficher des données à l'écran.
- int : Type entier.
- float : Type nombre décimal.
- Liste : Structure de données modifiable regroupant plusieurs éléments.
- Tuple : Structure de données immuable similaire à une liste.
- Slice : Opération d'extraction d'une sous-partie d'une chaîne ou d'une liste.
- Boucle for : Instruction d'itération sur une séquence.
- Boucle while : Instruction d'itération tant qu'une condition est vraie.
- Fonction : Bloc de code réutilisable pouvant prendre des paramètres et retourner un résultat.
- Module : Fichier regroupant des fonctions ou classes réutilisables.
- Classe : Modèle définissant des objets avec attributs et méthodes.
- Instance : Objet créé à partir d'une classe.
- self : Référence à l'instance dans les méthodes d'une classe.
- Constructeur (__init__) : Méthode spéciale appelée lors de la création d'une instance.
Points clés à retenir
- Python est simple à apprendre grâce à sa syntaxe claire et à son mode interactif.
- Les chaînes de caractères sont immuables, tandis que les listes sont modifiables.
- Les boucles
foretwhilepermettent d’itérer sur des séquences ou tant qu’une condition est vraie. - Les fonctions facilitent la modularité et la réutilisation du code, avec possibilité d’arguments facultatifs et de récursivité.
- Les modules permettent d’organiser le code en fichiers réutilisables.
- La programmation orientée objet en Python utilise les classes, les instances, et la méthode constructeur
__init__. - L’instruction
if __name__ == "__main__"permet de distinguer l’exécution directe d’un module de son importation.
Commentaires
Aucun commentaire pour le moment. Posez la première question.