0% ont trouvé ce document utile (0 vote)
2 vues17 pages

Cours Python

Ce document est un cours complet sur la programmation en Python, couvrant des sujets tels que l'introduction au langage, les fondations, les structures de contrôle, les structures de données complexes, les fonctions, la programmation orientée objet, la gestion des erreurs et l'écosystème Python. Il présente également des exemples de code pour illustrer les concepts abordés, tels que les variables, les types de données, les boucles, les listes, les dictionnaires, et les modules. Enfin, il aborde l'utilisation de pip pour la gestion des paquets et la création d'environnements virtuels.

Transféré par

devarennetheo30
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues17 pages

Cours Python

Ce document est un cours complet sur la programmation en Python, couvrant des sujets tels que l'introduction au langage, les fondations, les structures de contrôle, les structures de données complexes, les fonctions, la programmation orientée objet, la gestion des erreurs et l'écosystème Python. Il présente également des exemples de code pour illustrer les concepts abordés, tels que les variables, les types de données, les boucles, les listes, les dictionnaires, et les modules. Enfin, il aborde l'utilisation de pip pour la gestion des paquets et la création d'environnements virtuels.

Transféré par

devarennetheo30
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

COURS COMPLET : PROGRAMMATION EN

PYTHON

1. Introduction et Configuration

Qu’est-ce que Python ?

Python est un langage de programmation :

interprété : le code est exécuté directement par l’interpréteur Python ;


haut niveau : sa syntaxe est proche du langage humain ;
polyvalent : utilisé en développement web, data science, automatisation, IA,
scripts système, cybersécurité, etc. ;
lisible : il privilégie une syntaxe claire et une indentation obligatoire.

Sa philosophie repose sur la simplicité et la lisibilité du code.

# Python favorise une syntaxe simple et lisible


message = "Python est facile à lire"
print(message)

Installation et environnement de travail

Pour programmer en Python, il faut généralement :

installer Python depuis le site officiel ;

utiliser un éditeur ou IDE :

IDLE : environnement simple fourni avec Python ;


VS Code : éditeur moderne avec extensions Python ;
PyCharm : IDE complet pour projets professionnels.

Vérifier l’installation dans le terminal :

python --version
ou selon les systèmes :

python3 --version

Premier script Python

Créer un fichier nommé [Link] :

print("Hello, World!")

Exécution dans le terminal :

python [Link]

ou :

python3 [Link]

2. Les Fondations du Langage

Variables et types de données de base

Une variable permet de stocker une valeur en mémoire.

age = 25 # int : entier


prix = 19.99 # float : nombre décimal
nom = "Alice" # str : chaîne de caractères
est_connecte = True # bool : booléen

Types principaux :

int : nombres entiers ;


float : nombres décimaux ;
str : texte ;
bool : vrai ou faux.

Afficher le type d’une variable :


age = 25
print(type(age)) # <class 'int'>

Typage dynamique

Python est un langage à typage dynamique : il n’est pas nécessaire de déclarer


explicitement le type d’une variable.

valeur = 10
print(type(valeur)) # int

valeur = "Bonjour"
print(type(valeur)) # str

La même variable peut donc changer de type pendant l’exécution du programme.

Opérateurs

Opérateurs arithmétiques

a = 10
b=3

print(a + b) # addition : 13
print(a - b) # soustraction : 7
print(a * b) # multiplication : 30
print(a / b) # division : 3.333...
print(a // b) # division entière : 3
print(a % b) # modulo : 1
print(a ** b) # puissance : 1000

Opérateurs de comparaison

x=5
y = 10

print(x == y) # égal à : False


print(x != y) # différent de : True
print(x < y) # inférieur à : True
print(x >= y) # supérieur ou égal à : False

Opérateurs logiques

age = 20
a_permis = True

print(age >= 18 and a_permis) # True si les deux conditions sont vraies
print(age < 18 or a_permis) # True si au moins une condition est vraie
print(not a_permis) # inverse le booléen

Chaînes de caractères

Une chaîne de caractères est une suite de caractères entourée par des guillemets
simples ou doubles.

prenom = "Alice"
nom = "Durand"

# f-string : permet d'insérer des variables dans une chaîne


message = f"Bonjour {prenom} {nom}"
print(message)

Méthodes courantes :

texte = " Python est puissant "

print([Link]()) # met en minuscules


print([Link]()) # met en majuscules
print([Link]()) # supprime les espaces au début et à la fin
print([Link]("puissant", "simple")) # remplace un mot
print(len(texte)) # longueur de la chaîne

3. Les Structures de Contrôle


Conditions : if , elif , else

Les conditions permettent d’exécuter du code selon une situation.

note = 14

if note >= 16:


print("Très bien")
elif note >= 10:
print("Validé")
else:
print("Non validé")

L’indentation est obligatoire en Python : elle détermine les blocs de code.

Boucle while

La boucle while répète un bloc tant qu’une condition est vraie.

compteur = 0

while compteur < 5:


print(compteur)
compteur += 1 # équivaut à compteur = compteur + 1

Boucle for avec range()

La boucle for sert à parcourir une séquence ou à répéter une action un nombre précis
de fois.

for i in range(5):
print(i)

Résultat :

0
1
2
3
4

Avec un début, une fin et un pas :

for i in range(2, 10, 2):


print(i) # affiche 2, 4, 6, 8

Contrôle de boucle : break et continue

break arrête complètement la boucle.

for i in range(10):
if i == 5:
break
print(i)

continue saute l’itération actuelle et passe à la suivante.

for i in range(5):
if i == 2:
continue
print(i) # n'affiche pas 2

4. Les Structures de Données Complexes

Listes

Une liste est une collection ordonnée, modifiable et indexée.

fruits = ["pomme", "banane", "orange"]

print(fruits[0]) # premier élément


print(fruits[-1]) # dernier élément

Slicing
Le slicing permet d’extraire une partie d’une liste.

nombres = [0, 1, 2, 3, 4, 5]

print(nombres[1:4]) # éléments d'index 1 à 3 : [1, 2, 3]


print(nombres[:3]) # du début jusqu'à l'index 2
print(nombres[3:]) # de l'index 3 jusqu'à la fin

Méthodes principales

fruits = ["pomme", "banane"]

[Link]("orange") # ajoute à la fin


[Link]("banane") # supprime un élément
[Link](0, "kiwi") # insère à l'index 0
[Link]() # trie la liste

print(fruits)

Tuples

Un tuple est une collection ordonnée mais immuable : on ne peut pas modifier ses
éléments après création.

coordonnees = (43.6, 3.87)

print(coordonnees[0])
print(coordonnees[1])

Utilité :

représenter des données fixes ;


protéger des valeurs contre la modification ;
retourner plusieurs valeurs depuis une fonction.

def get_position():
return (10, 20)
x, y = get_position()
print(x, y)

Dictionnaires

Un dictionnaire stocke des données sous forme clé / valeur.

utilisateur = {
"nom": "Alice",
"age": 25,
"ville": "Montpellier"
}

print(utilisateur["nom"])

Modifier ou ajouter une valeur :

utilisateur["age"] = 26
utilisateur["email"] = "alice@[Link]"

print(utilisateur)

Parcourir un dictionnaire :

for cle, valeur in [Link]():


print(f"{cle} : {valeur}")

Méthodes utiles :

print([Link]()) # toutes les clés


print([Link]()) # toutes les valeurs
print([Link]("age")) # accès sécurisé à une valeur

Ensembles : set

Un ensemble est une collection non ordonnée qui ne contient pas de doublons.
nombres = {1, 2, 2, 3, 4}

print(nombres) # {1, 2, 3, 4}

Opérations courantes :

a = {1, 2, 3}
b = {3, 4, 5}

print(a | b) # union : {1, 2, 3, 4, 5}


print(a & b) # intersection : {3}
print(a - b) # différence : {1, 2}

5. Les Fonctions

Définition et syntaxe

Une fonction regroupe un bloc de code réutilisable.

def saluer():
print("Bonjour")

saluer()

Arguments positionnels

Les arguments positionnels dépendent de leur ordre d’appel.

def addition(a, b):


print(a + b)

addition(3, 5)

Arguments nommés

Les arguments nommés permettent de préciser explicitement le nom des paramètres.


def presenter(nom, age):
print(f"{nom} a {age} ans")

presenter(age=25, nom="Alice")

Valeurs par défaut

Un paramètre peut avoir une valeur par défaut.

def saluer(nom="utilisateur"):
print(f"Bonjour {nom}")

saluer()
saluer("Alice")

Valeur de retour : return

return permet à une fonction de renvoyer une valeur.

def carre(nombre):
return nombre * nombre

resultat = carre(4)
print(resultat)

Différence importante :

print() affiche une valeur ;


return renvoie une valeur exploitable dans le programme.

Fonctions anonymes : lambda

Une fonction lambda est une fonction courte, écrite sur une seule ligne.

double = lambda x: x * 2

print(double(5)) # 10
Usage fréquent avec sorted() , map() ou filter() .

personnes = [
{"nom": "Alice", "age": 25},
{"nom": "Bob", "age": 20}
]

# Tri selon l'âge


personnes_triees = sorted(personnes, key=lambda p: p["age"])

print(personnes_triees)

6. Programmation Orientée Objet — POO : Les Bases

Classes et objets

La programmation orientée objet permet de modéliser des entités avec :

des attributs : données de l’objet ;


des méthodes : actions possibles de l’objet.

Une classe est un modèle.


Un objet est une instance concrète de cette classe.

class Utilisateur:
pass

u1 = Utilisateur()
print(type(u1))

Initialisateur __init__ et self

La méthode __init__ est appelée automatiquement lors de la création d’un objet.

class Utilisateur:
def __init__(self, nom, age):
[Link] = nom # attribut d'instance
[Link] = age
utilisateur = Utilisateur("Alice", 25)

print([Link])
print([Link])

self représente l’objet courant.


Il permet d’accéder aux attributs et méthodes de l’instance.

Méthodes d’instance

Une méthode d’instance est une fonction définie dans une classe.

class Utilisateur:
def __init__(self, nom):
[Link] = nom

def saluer(self):
print(f"Bonjour, je m'appelle {[Link]}")

utilisateur = Utilisateur("Alice")
[Link]()

Héritage

L’héritage permet de créer une classe spécialisée à partir d’une classe existante.

class Animal:
def __init__(self, nom):
[Link] = nom

def se_presenter(self):
print(f"Je suis {[Link]}")

class Chien(Animal):
def aboyer(self):
print("Woof!")

chien = Chien("Rex")
chien.se_presenter() # méthode héritée
[Link]() # méthode spécifique

La classe Chien hérite des attributs et méthodes de la classe Animal .

7. Gestion des Erreurs et Fichiers

Exceptions : try , except , finally

Les exceptions permettent de gérer les erreurs sans arrêter brutalement le programme.

try:
nombre = int(input("Entrez un nombre : "))
resultat = 10 / nombre
print(resultat)

except ValueError:
print("Erreur : vous devez entrer un nombre entier.")

except ZeroDivisionError:
print("Erreur : division par zéro impossible.")

finally:
print("Fin du traitement.")

Rôle des blocs :

try : code susceptible de provoquer une erreur ;


except : traitement de l’erreur ;
finally : code exécuté dans tous les cas.

Lecture d’un fichier texte

La syntaxe with open() ferme automatiquement le fichier après utilisation.

with open("[Link]", "r", encoding="utf-8") as fichier:


contenu = [Link]()
print(contenu)

Modes courants :

"r" : lecture ;
"w" : écriture avec remplacement du contenu ;
"a" : ajout à la fin du fichier ;
"x" : création uniquement si le fichier n’existe pas.

Écriture dans un fichier texte

with open("[Link]", "w", encoding="utf-8") as fichier:


[Link]("Bonjour Python\n")
[Link]("Deuxième ligne\n")

Lecture ligne par ligne

with open("[Link]", "r", encoding="utf-8") as fichier:


for ligne in fichier:
print([Link]()) # strip() supprime le saut de ligne final

8. L’Écosystème Python — Bonus Synthétique

Importer un module

Un module est un fichier contenant du code Python réutilisable.

import math

print([Link](16)) # racine carrée

Importer uniquement un élément :

from math import sqrt


print(sqrt(25))

Utiliser un alias :

import datetime as dt

date_actuelle = [Link]()
print(date_actuelle)

Modules standards utiles

math

Fonctions mathématiques.

import math

print([Link])
print([Link](81))
print([Link](4.9)) # arrondi inférieur

datetime

Manipulation des dates et heures.

from datetime import datetime

maintenant = [Link]()
print(maintenant)
print([Link])

os

Interaction avec le système d’exploitation.

import os
print([Link]()) # dossier courant
print([Link](".")) # fichiers du dossier courant

random

Génération de valeurs aléatoires.

import random

print([Link](1, 6)) # nombre aléatoire entre 1 et 6


print([Link](["pierre", "feuille", "ciseaux"]))

pip

pip est le gestionnaire de paquets de Python.


Il permet d’installer des bibliothèques externes.

Exemple :

pip install requests

Utilisation ensuite dans Python :

import requests

response = [Link]("[Link]
print(response.status_code)

Environnements virtuels : venv

Un environnement virtuel permet d’isoler les dépendances d’un projet.

Création :

python -m venv .venv

Activation sur macOS / Linux :


source .venv/bin/activate

Activation sur Windows :

.venv\Scripts\activate

Installation d’un paquet dans l’environnement virtuel :

pip install requests

Sauvegarder les dépendances :

pip freeze > [Link]

Réinstaller les dépendances d’un projet :

pip install -r [Link]

Structure classique d’un petit projet Python :

mon_projet/
── .venv/
── [Link]
── [Link]
└── [Link]

Vous aimerez peut-être aussi