The Python piscine at École 42 is designed to deepen the understanding of the Python language through a series of small projects. Each day introduces a new concept, allowing students to progress in a structured and continuous manner.
Exercise | Summary | Key Concepts |
---|---|---|
Exercise 00: Hello World | Create a script that prints "Hello, World!" to the console. | Basic syntax, Print function |
Exercise 01: Variables and Types | Create a script that demonstrates the use of different variable types. | Variable assignment, Data types (int, float, str, list, dict, etc.) |
Exercise 02: Control Structures | Create a script that uses control structures to perform different tasks. | Conditional statements (if, elif, else), Loops (for, while) |
Exercise 03: Functions | Create a script that defines and uses functions. | Function definition, Function calls, Parameters and return values |
Exercise 04: The Even and the Odd | Create a script that checks whether a number is odd or even and prints the result. | Argument handling with sys , Conditional statements, Error handling with assertions |
Exercise 05: First standalone program python | Create a program that counts and categorizes characters in a string. | String manipulation, Character classification, User input handling, Error handling with assertions |
Exercise 06: Recode filter function | Recode the filter function and create a program that filters words by length. |
List comprehensions, Lambda functions, Argument handling with sys , Error handling with assertions |
Exercise 07: Dictionaries SoS | Create a program that encodes a string into Morse code using a dictionary. | Dictionary usage, String manipulation, Error handling with assertions |
Exercise 08: Loading ... | Create a function that mimics the tqdm progress bar using the yield operator. |
Generators, Yield operator, Progress bar implementation |
Exercise 09: My first package creation | Create and install a Python package. | Package creation, setup.py configuration, Package installation with pip |
Exercise | Summary | Key Concepts |
---|---|---|
Exercise 00: Give my BMI | Create functions to calculate BMI from height and weight lists, and apply a limit to the BMI values. | List manipulation, Error handling, Numpy or similar libraries, Function documentation |
Exercise 01: 2D array | Write a function to slice a 2D array and print its shape. | 2D array manipulation, Slicing, Error handling |
Exercise 02: load my image | Write a function to load an image, print its format, and display its pixel content in RGB. | Image loading, RGB format, Error handling |
Exercise 03: Zoom on me | Write a function to invert the colors of an image. | Image processing, Color inversion, Error handling |
Exercise 04: Rotate me | Write a function to apply a red filter to an image. | Image processing, Grayscale conversion, Error handling |
Exercise 05: Pimp my image | Write a function to convert an image to grayscale. | Image processing, Color filtering, Error handling |
Exercise | Summary | Key Concepts |
---|---|---|
Exercise 00: Load my Dataset | Write a function to load a CSV file and return its content as a list of dictionaries. | CSV file handling, Data parsing, Pillow, Error handling |
Exercise 01: Draw my compare | Write a function to display the content of a CSV file in a formatted table. | Data display, String formatting, Pillow, Error handling |
Exercise 02: Compare my country | Create a program to load and display population data of your campus country versus another country. | Data visualization, Pillow, Matplotlib, Graph customization |
Exercise 03: Draw my year | Create a program to load and display the projection of life expectancy in relation to GDP for the year 1900. | Data visualization, Matplotlib, Pillow, Correlation analysis |
Exercise | Summary | Key Concepts |
---|---|---|
Exercise 00: GOT S1E9 | Create an abstract Character class with attributes and methods. | Abstract classes, Inheritance, Method overriding |
Exercise 01: GOT S1E7 | Create two families that inherit from the Character class and implement additional methods. | Inheritance, Class methods, __str__ and __repr__ methods |
Exercise 02: Now it’s weird! | Create a King class that inherits from two families and uses properties to change attributes. | Multiple inheritance, Properties, Method resolution order |
Exercise 03: Calculate my vector | Write a calculator class to perform vector operations with scalars. | Operator overloading, Vector arithmetic, Error handling |
Exercise 04: Calculate my dot product | Write a calculator class to perform dot product and vector addition/subtraction. | Decorators, Vector arithmetic, Dot product calculation |
Exercise | Summary | Key Concepts |
---|---|---|
Exercise 00: Calculate my statistics | Write a function to calculate statistical measures (mean, median, quartiles, standard deviation, variance) from given arguments. | Statistical calculations, *args and **kwargs , Error handling |
Exercise 01: Outer_inner | Write functions to return the square and exponentiation of a number, and a function that returns an object performing these calculations. | Higher-order functions, Closures, Function objects |
Exercise 02: my first decorating | Write a decorator to limit the number of calls to a function. | Decorators, Function wrapping, Call limits |
Exercise 03: data class | Write a dataclass for a student with auto-generated login and ID. | Dataclasses, Random ID generation, Field initialization |
The Python piscine was a valuable learning experience, providing a deep understanding of the Python language and its applications in data science. The projects were challenging and required careful planning, thorough testing, and effective collaboration. The skills and knowledge gained will be invaluable for future projects.
To Nargin: for advice on python's syntax and usage.