Pourquoi Python ?
Python est un langage de programmation populaire et polyvalent qui a été créé en 1991 par Guido van Rossum. Il est principalement utilisé pour le développement web, l'analyse de données, l'apprentissage automatique, la science des données, le développement de logiciels, le développement d'IA et bien plus encore.
Un cas concret d'utilisation de Python serait un assistant virtuel sur votre ordinateur. Imaginez que vous ayez besoin de faire une recherche rapide en ligne, de planifier des rappels pour une réunion ou même de gérer vos tâches quotidiennes. Un assistant virtuel Python pourrait effectuer toutes ces tâches avec l'aide d'une API et de bibliothèques spécifiques.
Prerequis
Pour commencer à apprendre Python, il est recommandé d'avoir les connaissances suivantes :
- Connaissance de base en informatique
- Compréhension des concepts de variables, de structures de contrôle (conditionnelles et itératives)
- Familiarité avec l'utilisation du terminal/command prompt
Il faut également installer les outils suivants :
- Python : La version recommandée est la dernière version stable. Vous pouvez télécharger Python depuis le site officiel (https://www.python.org/downloads/). Assurez-vous de cocher la case "Add Python to PATH" lors de l'installation.
- IDE ou éditeur de texte : PyCharm, VSCode, Sublime Text, Atom, etc.
Concepts fondamentaux
Variables et Types de Données
Python est un langage dynamiquement typé, ce qui signifie que vous n'avez pas besoin de déclarer le type des variables avant leur utilisation. Voici quelques types de données courants :
a = 10
##
b = 3.14
##
c = "Bonjour"
##
d = True
Opérations sur les Données
Voici quelques opérations courantes :
x = 5
y = 3
##
resultat = x + y # 8
##
difference = x - y # 2
##
produit = x * y # 15
##
quotient = x / y # 1.666...
##
reste = x % y # 2
Structures de Contrôle
Python offre plusieurs structures de contrôle pour contrôler le flux d'exécution du code.
Conditionnelles
age = 18
if age >= 18:
print("Vous êtes majeur")
elif age < 18 and age >= 10:
print("Vous êtes adolescent")
else:
print("Vous êtes enfant")
Itératives
for i in range(5):
print(i) # Affiche les nombres de 0 à 4
##
compteur = 0
while compteur < 5:
print(compteur)
compteur += 1
Fonctions
Une fonction est un bloc de code réutilisable qui effectue une tâche spécifique.
def saluer(nom):
return f"Bonjour {nom}!"
message = saluer("Alice")
print(message) # Affiche "Bonjour Alice!"
Listes et Dictionnaires
Listes : Collection ordonnée d'éléments mutables.
ma_liste = [1, 2, 3, 4, 5]
ma_liste.append(6) # Ajoute un élément à la fin de la liste
Dictionnaires : Collection non-ordonnée de paires clé-valeur.
personne = {
"nom": "Alice",
"age": 25,
"ville": "Paris"
}
print(personne["nom"]) # Accède à la valeur associée à la clé "nom"
Modules et Bibliothèques
Python offre une grande variété de bibliothèques standard et de modules tiers qui peuvent être importés pour ajouter des fonctionnalités spécifiques.
import math
print(math.sqrt(16)) # Affiche la racine carrée de 16 (4.0)
Mise en pratique : projet fil rouge
Pour mettre en pratique ce que vous avez appris, nous allons créer un mini-projet complet : un gestionnaire de tâches basique.
Étape 1 : Création du Projet et Installation des Dépendances
- Créez un nouveau dossier pour votre projet.
- Ouvrez le terminal/command prompt dans ce dossier.
- Créez un environnement virtuel (facultatif mais recommandé) :
python -m venv venv
- Activez l'environnement virtuel :
- Sous Windows :
venv\Scripts\activate
- Sous macOS/Linux :
source venv/bin/activate
- Installez les dépendances nécessaires (si nécessaire) :
pip install requirements.txt
Étape 2 : Création des Fichiers et Structure du Projet
Créez les fichiers suivants dans votre dossier de projet :
main.pytasks.pyrequirements.txt(s'il y a besoin d'installations supplémentaires)
Structure du projet :
gestionnaire_taches/
├── main.py
├── tasks.py
└── requirements.txt
Étape 3 : Code pour main.py
from tasks import Task, add_task, list_tasks, delete_task
def main():
while True:
print("\nGestionnaire de tâches")
print("1. Ajouter une tâche")
print("2. Liste des tâches")
print("3. Supprimer une tâche")
print("4. Quitter")
choix = input("Choisissez une option (1/2/3/4) : ")
if choix == '1':
titre = input("Titre de la tâche : ")
description = input("Description de la tâche : ")
add_task(titre, description)
print("Tâche ajoutée avec succès!")
elif choix == '2':
list_tasks()
elif choix == '3':
id_tache = int(input("ID de la tâche à supprimer : "))
delete_task(id_tache)
print("Tâche supprimée avec succès!")
elif choix == '4':
print("Au revoir!")
break
else:
print("Option invalide. Veuillez choisir une option valide.")
if __name__ == "__main__":
main()
Étape 4 : Code pour tasks.py
import json
TASKS_FILE = "tasks.json"
class Task:
def __init__(self, id, titre, description):
self.id = id
self.titre = titre
self.description = description
def load_tasks():
try:
with open(TASKS_FILE, 'r') as f:
return [Task(**task) for task in json.load(f)]
except FileNotFoundError:
return []
def save_tasks(tasks):
with open(TASKS_FILE, 'w') as f:
json.dump([task.__dict__ for task in tasks], f, indent=4)
def add_task(titre, description):
tasks = load_tasks()
id_max = max((task.id for task in tasks), default=0)
new_task = Task(id_max + 1, titre, description)
tasks.append(new_task)
save_tasks(tasks)
def list_tasks():
tasks = load_tasks()
if not tasks:
print("Aucune tâche enregistrée.")
return
for task in tasks:
print(f"ID: {task.id}, Titre: {task.titre}, Description: {task.description}")
def delete_task(id_tache):
tasks = load_tasks()
tasks = [task for task in tasks if task.id != id_tache]
save_tasks(tasks)
Étape 5 : Initialisation des Tâches (Optionnel)
Vous pouvez initialiser quelques tâches pour tester votre programme :
def init_tasks():
tasks = load_tasks()
if not tasks:
add_task("Faire les courses", "Acheter la viande et le pain")
add_task("Nettoyer la maison", "Passer le balai et ranger les chambres")
print("Tâches initiales ajoutées.")
if __name__ == "__main__":
init_tasks()
Étape 6 : Exécution du Programme
Allez dans le terminal/command prompt et exécutez le script main.py :
python main.py
Vous devriez voir un menu interactif qui vous permet de gérer les tâches.
Erreurs frequentes et debugging
1. Erreur : NameError: name 'x' is not defined
Code incorrect :
def calcul(a, b):
return a + c
Code correct :
def calcul(a, b):
return a + b
2. Erreur : IndentationError: unexpected indent
Code incorrect :
if x > 0:
print("x est positif")
Code correct :
if x > 0:
print("x est positif")
3. Erreur : FileNotFoundError: [Errno 2] No such file or directory
Code incorrect :
with open('data.txt', 'r') as f:
data = f.read()
Code correct :
Assurez-vous que le fichier data.txt existe dans le même répertoire que votre script.
4. Erreur : SyntaxError: invalid syntax
Code incorrect :
for i in range(5)
print(i)
Code correct :
for i in range(5):
print(i)
5. Erreur : TypeError: unsupported operand type(s) for +: 'int' and 'str'
Code incorrect :
a = 10
b = "20"
resultat = a + b
Code correct :
a = 10
b = 20
resultat = a + b
Pour aller plus loin
1. Comprendre les Exceptions et Les Gestionnaires d'Exceptions
Les exceptions en Python sont des erreurs qui surviennent lors de l'exécution du code.
try:
x = int(input("Entrez un nombre : "))
except ValueError:
print("Veuillez entrer un nombre valide.")
2. Utiliser les Compréhensions de Listes et Dictionnaires
Compréhensions de listes et dictionnaires offrent une syntaxe concise pour créer des collections.
squares = [x**2 for x in range(10)]
##
carres = {x: x**2 for x in range(10)}
3. Découvrir les Fonctions Lambda
Les fonctions lambda sont des fonctions anonymes qui peuvent être utilisées pour créer des expressions simples.
numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, numbers))
Défi Pratique : Créer un Mini-Quiz
Créez un mini-quiz en Python qui demande à l'utilisateur des questions et vérifie les réponses.
def main():
score = 0
print("Bienvenue au Quiz!")
# Question 1
reponse = input("Quelle est la capitale de France? ")
if reponse.lower() == "paris":
print("Correct!")
score += 1
else:
print("Incorrect.")
# Question 2
reponse = input("Quelle est l'année de naissance de Python? ")
if int(reponse) == 1991:
print("Correct!")
score += 1
else:
print("Incorrect.")
print(f"Votre score final est : {score}/2")
if __name__ == "__main__":
main()
Exécutez ce script pour voir comment il fonctionne.