Skip to content

Much like the selection piscine, the project is split in many small projects (modules), and with each day a new notion on the language/paradigm/technology you chose to work on. Validating a piscine requires more than just a day or two of investment.

Notifications You must be signed in to change notification settings

FlorentBelotti/42_cursus_Python_for_data_science

Repository files navigation

42_cursus_python---------------------------------------------------

Python

Summary---------------------------------------------------

Introduction---------------------------------------------------

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.

Mandatory Part---------------------------------------------------

Python - 0 - Starting---------------------------------------------------

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

Python - 1 - Array---------------------------------------------------

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

Python - 2 - DataTable---------------------------------------------------

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

Python - 3 - OOP---------------------------------------------------

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

Python - 4 - Data Oriented Design---------------------------------------------------

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

Conclusion---------------------------------------------------

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.

Thanks---------------------------------------------------

To Nargin: for advice on python's syntax and usage.

About

Much like the selection piscine, the project is split in many small projects (modules), and with each day a new notion on the language/paradigm/technology you chose to work on. Validating a piscine requires more than just a day or two of investment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages