Comprehensive Python Workshop: Mastering Fundamentals and Advanced Techniques.
- Introduction to Python
A beginner-friendly introduction to Python, its features, and basic syntax. - Data Structures
Explore essential data structures likeint
,float
,list
,tuple
,dictionary
, andset
. - Index and Slice
Learn how to access and manipulate elements of sequences using indexing and slicing. - Operators and Operands
Study various operators (arithmetic, comparison, logical, etc.) and how they work with operands. - Type Conversions
Understand how to convert data types in Python with explicit and implicit conversions. - Conditional Statements
Learn aboutif-elif-else
andmatch-case
statements for controlling the flow of your programs. - Loops
Master loops (for
,while
) to iterate over sequences and perform repeated tasks. - Functions
Understand how to define and use functions, including parameters and return values. - Built-In Functions
Explore Python's powerful built-in functions and how to leverage them in your programs. - Namespaces and Scopes
Learn about namespaces and scope resolution to avoid name conflicts in your code. - Anonymous Functions (Lambda)
Discover the usage oflambda
expressions for creating small, anonymous functions. - Pack and Unpack Data
Learn how to pack multiple values into a variable and unpack them in Python. - Type Hints and Docstrings
Understand how to improve code readability with type hints and document your functions with docstrings. - Dependencies
Learn how to manage and install dependencies usingpip
andrequirements.txt
and use them in your code. - Comprehensions
Masterlist
,set
,dictionary
, andgenerator
comprehensions for concise and readable code. - Introduction to Object-Oriented Programming (OOP)
Get introduced to the basic concepts of object-oriented programming in Python. - Closures and Decorators
Learn about closures and how to use decorators for enhancing functions. - Object-Oriented Programming Concepts
Explore core OOP concepts such as encapsulation, inheritance, polymorphism, and abstraction. - Context Managers
Learn to manage resources efficiently usingwith
statements and defining custom context managers. - Special Methods
Discover Python's dunder (double underscore) methods for creating custom behavior in your classes. - Errors and Exceptions
Learn about handling errors and exceptions to make your code more robust. - Meta Classes
Dive into metaclasses to understand how classes in Python are created and customized. - Singleton Design
Understand the Singleton Design Pattern for ensuring a class has only one instance, with examples in Python.
- 💻 Basic Computer Skills
- Familiarity with using a computer, web browsers, and file management.
- 🐍 Python Environment Setup
- Ability to set up a Python development environment, including:
- Installation of Python (Anaconda or standalone).
- Familiarity with using Integrated Development Environments (IDEs) like Jupyter Notebook, PyCharm, or Visual Studio Code.
- Ability to set up a Python development environment, including:
This project was developed using Python v3.12.3. If you encounter issues, consider using this specific Python version.
Installing these dependencies is OPTIONAL. They are used exclusively in the Dependencies Notebook to demonstrate how to import and manage dependencies effectively.
You can install all dependencies listed in requirements.txt using pip:
pip install -r requirements.txt
- Open the root folder with VS Code:
- Windows/Linux:
Ctrl + K
followed byCtrl + O
- macOS:
Cmd + K
followed byCmd + O
- Windows/Linux:
- Open
.ipynb
files using Jupyter extension integrated with VS Code. - Allow VS Code to install any recommended dependencies for working with Jupyter Notebooks.
✍️ Notes:
- The table of contents embedded in the notebooks is not fully functional on GitHub!
- To navigate the table of contents effectively, open the notebooks locally or view them via nbviewer for a better experience.
- Official Website:
- The main website for Python, offering downloads, news, and community resources.
- Official site: python.org
- Documentation
- Comprehensive guide and reference for all functionalities and features of the Python programming language.
- Doc: docs.python.org
- Source Code
- Over 2500 contributors are currently working on Python.
- Link: github.com/python/cpython
- NumPy
- A fundamental package for scientific computing in Python, providing support for arrays, matrices, and a large collection of mathematical functions.
- Official site: numpy.org
- My NumPy Workshop: github.com/mr-pylin/numpy-workshop
- Pandas
- A powerful, open-source data analysis and manipulation library for Python.
- Official site: pandas.pydata.org
- My Pandas Workshop: Coming Soon
- Data Visualization
- A comprehensive collection of Python libraries for creating static, animated, and interactive visualizations: Matplotlib, Seaborn, and Plotly.
- Official sites: matplotlib.org | seaborn.pydata.org | plotly.com
- My MatPlotLib Workshop: github.com/mr-pylin/data-visualization-workshop
- PyTorch
- An open-source machine learning library for Python developed by Meta AI, used for applications such as deep learning and neural networks.
- Official site: pytorch.org
- My PyTorch Workshop: github.com/mr-pylin/pytorch-workshop
Any mistakes, suggestions, or contributions? Feel free to reach out to me at:
I look forward to connecting with you! 🏃♂️
This project is licensed under the Apache License 2.0.
You are free to use, modify, and distribute this code, but you must include copies of both the LICENSE and NOTICE files in any distribution of your work.
- SVG Images:
- The SVG images located in the ./assets/images/svgs/ folder are licensed under the CC BY-ND 4.0.
- Note: This license restricts derivative works, meaning you may share these images but cannot modify them.