Comprehensive Python Workshop: Mastering Fundamentals and Advanced Techniques.
- Introduction to Python
- Data Structures
- Index and Slice
- Operators and Operands
- Type Conversions
- Conditional Statements
- Loops
- Functions
- Built-In Functions
- Namespaces and Scopes
- Anonymous Functions (Lambda)
- Pack and Unpack Data
- Type Hints and Docstrings
- Dependencies
- Comprehensions
- Introduction to Object-Oriented Programming (OOP)
- Closures and Decorators
- Object-Oriented Programming Concepts
- Context Managers
- Special Methods
- Errors and Exceptions
- Meta Classes
- Singleton Design
- 💻 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 requires Python v3.10 or higher. It was developed and tested using Python v3.12.8. If you encounter issues, consider using this specific Python version.
Installing matplotlib
, numpy
, pandas
, and torch
is OPTIONAL. They are used exclusively in the Dependencies Notebook to demonstrate how to import and manage dependencies effectively.
Use Poetry for dependency management. It handles dependencies, virtual environments, and locking versions more efficiently than pip.
To install exact dependency versions specified in poetry.lock for consistent environments without installing the current project as a package:
poetry install --no-root
Install all dependencies listed in requirements.txt using pip:
pip install -r requirements.txt
- Open the root folder with VS Code (
Ctrl/Cmd + K
followed byCtrl/Cmd + O
). - Open
.ipynb
files using the Jupyter extension integrated with VS Code. - Select the correct Python kernel and virtual environment where the dependencies were installed.
- Allow VS Code to install any recommended dependencies for working with Jupyter Notebooks.
✍️ Notes:
- It is highly recommended to stick with the exact dependency versions specified in poetry.lock or requirements.txt rather than using the latest package versions. The repository has been tested on these versions to ensure compatibility and stability.
- This repository is actively maintained, and dependencies are updated regularly to the latest stable versions.
- The table of contents embedded in the notebooks may not function correctly on GitHub.
- For an improved experience, open the notebooks locally or view them via nbviewer.
- 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 Data Visualization 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
- Media Processing
- A comprehensive resource to explore media processing, from fundamental concepts to advanced techniques.
- Official sites: opencv.org | scikit-image.org | scipy.org
- My Media Processing Workshop: github.com/mr-pylin/media-processing-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.