Apprendre PYTHON en 30 JOURS

Challenge Python 30 Jours

Je suis très heureux de te présenter le challenge Python en 30 jours ! Dans cette série, je vais te guider à travers les premières étapes critiques de l’apprentissage du code avec Python.

Si tu restes avec moi pendant ces 30 jours complets et que tu réalises tous les exercices et les projets, je te promets qu’à la fin, tu te sentiras vraiment à l’aise avec Python. Tu seras ensuite capable d’aborder n’importe quel sujet lié à Python.

L’objectif de cette série est de t’aider à construire une base solide en Python. Ainsi qu’à t’aider à donner un sens aux parties les plus délicates de Python (celles qu’on met bien souvent de côté). Une fois que tu les auras vraiment comprises, tu seras en mesure de réaliser TOUT ce que tu veux avec Python.

Le cours comprend 30 jours de contenu. Chaque jour est accompagné d’exercices pratiques pour te permettre de réviser ce que tu as appris. Il y a également un total de 12 projets plus importants pour te donner une base solide pour écrire tes propres programmes.

Chaque jour…

…Je vais te guider à travers un sujet essentiel de Python, ainsi que des exercices ciblés. Il y a également un projet tous les 3 jours et un projet plus important chaque semaine !

Et pour discuter de tous ces sujets Pythoniques, on t’attend sur le Discord 🙂

Contenu cours

Démarrer ton apprentissage Python
J0 : Mise en place de l’environnement Python
3 Chapitres
Création d’un Repl
Exécuter & partager son code !
Quelques configurations supplémentaires
J1 : Nombres, arithmétique et impression sur la console
8 Chapitres
Quelques mots sur Python…
Les nombres de base
La fonction print
Un coup d’œil rapide sur les expressions
Les opérateurs arithmétiques
Utilisation d’opérateurs multiples
Regroupement d’opérations avec des parenthèses
Exercices
J1 : Solutions – Exercices
3 Chapitres
1) Imprime ton âge sur la console
6 Chapitres
Les bases des chaînes de caractères (string)
Nommage des valeurs
Se référer aux variables
L’exception
Obtenir des valeurs de l’utilisateur
Exercices
J2 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
10 Chapitres
Concaténation de chaînes (string)
Conversion de strings, integers et floats
Interpolation de chaînes avec la méthode format
Autres façons d’utiliser la méthode format
Interpolation de chaînes avec f-strings
Commentaires
Traitement de base des chaînes
Jour 3 : Exercices
Jour 3 : Projet
Ressources supplémentaires
J3 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Projet J3 : Un calculateur simple de revenus
3 Chapitres
Le brief
La solution pas à pas
Matériel bonus
Un défi : Fizz Buzz
J4 : Les bases des collections Python
9 Chapitres
Listes
Accéder aux valeurs d’une liste
Ajouter des éléments à une liste
Supprimer des éléments d’une liste
Tuples
Accéder aux valeurs d’un tuple
Tuples vs Listes
Accéder aux valeurs dans les collections imbriquées
Jour 4 : Exercices
J4 : Solutions – Exercices
7 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Solution – Exercice 5
Solution – Exercice 6
Solution – Exercice 7
J5 : Conditions et booléens
7 Chapitres
Booléens
Valeurs de vérité
Opérateurs de comparaison
Ordre des opérations
Instructions conditionnelles
Valeurs de vérité et instructions conditionnelles
Exercices
J5 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
J6 : Boucles FOR
9 Chapitres
Pourquoi avons-nous besoin de boucles ?
Qu’est-ce qu’une boucle for ?
Définition d’une boucle for
La déclaration break
La fonction range
Utilisation de range dans les boucles for
Exercices
Projet
Ressources supplémentaires
J6 : Solutions – Exercices
2 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Projet J6 : Fizz Buzz
3 Chapitres
Le brief
La solution pas à pas
Matériel bonus
Travailler avec des données
J7 : split, join et slices
7 Chapitres
Conversion de tuples et de listes en strings
Découpage d’une string
Le caractère nouvelle ligne
Découpage en slices
La fonction len
Exercices
Projet
J7 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Projet J7 : Budgets des films
3 Chapitres
Le brief
Notre solution
Extra
J8 – Boucles WHILE
5 Chapitres
Boucles WHILE
Boucles infinies
Le mot clé continue
Utiliser une clause else avec des boucles
Exercices
J8 Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J9 : Unpacking, énumération et fonction zip
8 Chapitres
Unpacking
Unpacking dans les boucles FOR
Énumération
La fonction zip
Utilisation de zip dans les boucles
Un avertissement pour l’utilisation de enumerate et zip
Exercices
Projet
J9 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Projet J9 : Validateur de carte de crédit
4 Chapitres
Une brève explication de l’algorithme
Le brief
Notre solution
Ressources supplémentaires
J10 : Dictionnaires
9 Chapitres
Qu’est-ce qu’un dictionnaire ?
Définition d’un dictionnaire
Que pouvons-nous utiliser comme noms de clés de dictionnaire ?
Accéder aux valeurs d’un dictionnaire
Modification d’un dictionnaire
Itération sur des dictionnaires
L’ordre des éléments dans un dictionnaire
Exercices
Ressources supplémentaires
J10 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
J11 : Sets
8 Chapitres
Sets
Définir un set
Modifier des sets
Opérations sur les sets
Opérations sur les sets avec d’autres collections
Vérification de la présence d’éléments dans les collections
Exercices
Ressources complémentaires
J11 : Solutions – Exercices
5 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Solution – Exercice 5
Fractionnement de notre code
J12 : Fonctions
8 Chapitres
Pourquoi utiliser des fonctions ?
Définir notre première fonction
Paramètres et arguments des fonctions
Spécifier plusieurs paramètres
Arguments mots-clés
Exercices
Projet
Ressources complémentaires
J12 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Projet J12 : Liste de lecture
2 Chapitres
Le brief
Notre solution
J13 : Scope et Valeurs retournées par des fonctions
6 Chapitres
Une démonstration du scope
Namespaces
Fonctions et Namespaces
Obtenir des valeurs en sortie d’une fonction
Instructions de retour multiples
Exercices
J13 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
J14 : Travailler avec des fichiers
7 Chapitres
La fonction open
Ouverture de fichiers dans différents modes
Gestionnaires de contexte pour travailler avec des fichiers
Données en format CSV
Utilisation de la fonction dict
Exercices
Projet
J14 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Projet J14 : Liste de lecture
3 Chapitres
Le brief
Notre solution
Bonus
Projet J14 : Liste de lecture (difficile)
3 Chapitres
Le brief
Notre solution
Ressources complémentaires
Python avancé
J15 : Comprehensions
5 Chapitres
Compréhensions de liste
Compréhensions de set
Compréhensions de dictionnaire
Compréhensions et Scope
Exercices
J15 : Solutions – Exercices
2 Chapitres
Solution – Exercice 1
Solution – Exercice 2
J16 : Fonctions de première classe et Expressions lambda
6 Chapitres
Que sont les fonctions de première classe ?
Affectation de fonctions à des variables
Fonctions en tant qu’arguments
Retourner des fonctions à partir d’autres fonctions
Expressions lambda
Exercices
J16 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J17 : Fonctions flexibles avec *args et **kwargs
6 Chapitres
Le problème
Accepter un nombre arbitraire d’arguments de position
Ordre des paramètres avec *args
Accepter un nombre arbitraire d’arguments de mots-clés
Autres utilisations de * et **
Exercices
J17 : Solutions – Exercices
5 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Solution – Exercice 5
Travailler avec plusieurs fichiers
J18 : Importations
7 Chapitres
Importations de base
Importer des éléments spécifiques à partir de modules
Modules et namespaces
Importations alias
Importer en utilisant *
Exercices
Ressources complémentaires
J18 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Projet J18 : Liste de lecture JSON
4 Chapitres
JSON
Le module json
Le brief
Notre solution
J19 : Gestion des exceptions
8 Chapitres
Qu’est-ce que les exceptions ?
Demander la permission versus demander le pardon
La déclaration try
Traitement de plusieurs exceptions possibles
La clause else
La clause finally
Exercices
Ressources complémentaires
J19 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J20 : map, filter et les compréhensions conditionnelles
10 Chapitres
Un bref rappel sur les compréhensions
La fonction map
map avec plusieurs itérables
map avec des expressions lambda
Le module operator
Compréhensions conditionnelles
La fonction filter
Utilisation de None avec filter
Exercices
Ressources complémentaires
J20 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J21 : Séparer son code en plusieurs fichiers
5 Chapitres
Rappel sur les importations en Python
Pourquoi diviser votre code en fichiers ?
Travailler avec deux fichiers
Exercice
Projet
J21 : Solution – Exercice
1 Chapitre
Solution – Exercice
Projet J21 : Tracer des graphiques
4 Chapitres
Tracer des graphiques
Le brief
Notre solution
Ressources complémentaires
Collections avancées
J22 : Itérateurs
5 Chapitres
Qu’est-ce qu’un itérateur ?
Propriétés importantes des itérateurs
Itération manuelle avec la fonction next
L’exception StopIteration
Exercices
J22 : Solutions – Exercices
2 Chapitres
Solution – Exercice 1
Solution – Exercice 2
J23 : Générateurs et expressions génératrices
6 Chapitres
La fonction iter
Reproduire les boucles for avec iter
Générateurs
Le mot clé yield
Expressions de générateur
Exercices
J23 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J24 : Gestion avancée des exceptions et levée des exceptions
8 Chapitres
La hiérarchie des exceptions
Accéder à l’exception d’origine
Lever une exception
Re-lever une exception
Instructions try imbriquées
Contrôler le traceback
Exercices
Projet
J24 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Projet J24 : Lancer les dés
6 Chapitres
Exécution du code Python
Exécution d’un programme avec des flags et des arguments
Un coup d’œil rapide sur argparse
Le brief
Notre solution
Ressources complémentaires
Python idiomatique
J25 : Écriture de Python idiomatique
6 Chapitres
Code Pythonique
Valeurs de vérité en tant que conditions
Opérateurs booléens pour le flux de contrôle
La troncature par rapport au slicing
Vérifier les valeurs multiples en utilisant in
Exercices
J25 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
J26 : Tirer parti de la bibliothèque Standard
4 Chapitres
La fonction namedtuple
La fonction partial
Le type defaultdict
Exercices
J26 : Solutions – Exercices
4 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Solution – Exercice 4
Travailler de manière autonome
J27 : Mise en place d’un environnement de développement local
6 Chapitres
Pourquoi mettre en place un environnement de développement local ?
Vos options en matière de développement local
Comment installer Python ?
Votre premier projet PyCharm
Exercices
Projet
Projet J27 : Avocats
3 Chapitres
Une brève introduction à pandas
Le brief
Notre solution
J28 : Indication de type
11 Chapitres
Les avantages de l’indication de type
Installation de mypy
Indication de type de base
Ajouter un peu de flexibilité
Annoter des collections
Créer des alias de type
Annoter des fonctions
Annoter des valeurs de retour
Utiliser optional
Exercice
Projet
J28 : Solutions – Exercice
Projet J28 : Web Scraping
6 Chapitres
Une brève introduction au HTML
Une brève introduction aux sélecteurs CSS
Démarrer avec BeautifulSoup
Sortir les données de soup
Le brief
Notre solution
J29 : Décorateurs
10 Chapitres
Qu’est-ce qu’un décorateur ?
Une revue rapide des fonctions
Définition d’un décorateur simple
La syntaxe @
Décorer les fonctions avec des arguments
Décoration des fonctions avec des valeurs de retour
La fonction wraps
Un exemple concret
Exercices
Ressources complémentaires
J29 : Solutions – Exercices
3 Chapitres
Solution – Exercice 1
Solution – Exercice 2
Solution – Exercice 3
Projet final
J30 : Remise de diplômes
2 Chapitres
Travaillez sur vos propres projets
Projet de Fin d’Étude
J30 : Préparation du projet (bases de pygame)
5 Chapitres
Installation
Créer une fenêtre pygame
Principes de base du dessin
Événements
Une balle rebondissante
Projet J30 : Snake
2 Chapitres
Le brief
Notre solution