Skip to content

Python is extensively used in data analysis, visualization, machine learning and artificial intelligence.

Notifications You must be signed in to change notification settings

data-pizza/python_zero_to_hero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

Repository files navigation

Python Zero to Hero

πŸ”₯ Introduction

Python is one of the most widely used programming languages in the world. It has gained a lot of popularity over the years due to its simplicity, readability, and ease of use. Python's syntax is clear and concise, making it easy to learn and write code quickly. This feature makes it an ideal language for beginners and experienced programmers alike.

Python has a vast and supportive community that contributes to its extensive library of modules and frameworks. These modules and frameworks make it a versatile language that can be used for a wide range of applications, including backend and frontend web development, data analysis and visualization, scientific computing, artificial intelligence, and more.

Lastly, Python has a bright future in the world of technology. It is constantly evolving, with new features and updates being added regularly. Its popularity is increasing day by day, and it is being used in more and more industries.

Python is undoubtedly one of the best programming languages to learn and use in today's world!


πŸ’Ώ Installation

To become a Python programmer, the first step is to install Python. Depending on your device and operating system, the installation procedure may vary slightly. Here is a handy guide to help you through the process.

First Concepts

  1. Inputs
  2. Outputs
  3. Variables
  4. Strings
  5. Comments

Writing comments is crucial, especially if someone else will read your code in the future. Let's see how to add comments to your code.

Python Comments πŸ‘‰πŸ» https://www.w3schools.com/python/python_comments.asp


Decision Structures

  • If, elif, else
  • switch case
  • String comparison

Boolean Logic

Loops

  • While Loops
  • For Loops

Functions

Files

Exceptions

Data Structures

  • Lists
  • Tuples
  • Dictionaries
  • Sets

Introduction to Object Oriented Programming (OOP)

πŸ‘‰πŸ» https://www.youtube.com/watch?v=JeznW_7DlB0

Recursion

Recursive Functions | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/recursive-functions.php

Projects (Basics)


πŸ’₯ Python Intermediate

Python IDEs

Once you've learned the basics of Python, you might find it useful to use an IDE to speed up your coding process!

An Integrated Development Environment (IDE) is a software application that provides a comprehensive environment for developing, testing, and debugging code. Python has several popular IDEs, including Pycharm, Visual Studio Code, and Spyder. Let’s have a closer look!

Pycharm

Pycharm is a cross-platform, Python-specific IDE that is available in both free and paid versions. It offers a wealth of features and tools to streamline Python development, including code completion, debugging, and testing.

Step 1: Create and run your first Python project | PyCharm πŸ‘‰πŸ» https://www.jetbrains.com/help/pycharm/creating-and-running-your-first-python-project.html#edit-file)

Visual Studio Code

Visual Studio Code is a lightweight, open-source code editor that is highly customizable and extensible. It has a large and active community, and there are many extensions available to enhance its functionality for Python development.

πŸ‘‰πŸ» https://code.visualstudio.com/docs/python/python-tutorial

Spyder

Spyder is an open-source IDE that is specifically designed for scientific computing and data analysis. It provides a variety of data analysis tools, including a variable explorer, data viewer, and IPython console.

Welcome to Spyder’s Documentation β€” Spyder 5 documentation πŸ‘‰πŸ» https://docs.spyder-ide.org/current/index.html

Here are a couple of introductory videos:

πŸ‘‰πŸ» https://www.youtube.com/watch?v=eXinDi55iOk](https://www.youtube.com/watch?v=eXinDi55iOk

πŸ‘‰πŸ» https://www.youtube.com/watch?v=7mQgJzionaU](https://www.youtube.com/watch?v=7mQgJzionaU

Another couple of interesting options are:

Jupyter

Jupyter is a web-based notebook environment that is commonly used for data analysis, scientific computing, and machine learning. It allows you to combine code, text, and visualizations in a single document, making it easy to share and collaborate on projects.

How to Use Jupyter Notebook: A Beginner’s Tutorial πŸ‘‰πŸ» https://www.dataquest.io/blog/jupyter-notebook-tutorial/

Google Colab

Google Colab is a cloud-based notebook environment that allows you to write and run Python code in a web browser. It provides access to powerful hardware resources, including GPUs and TPUs, making it ideal for machine learning and other computationally intensive tasks.

Google Colab - Quick Guide πŸ‘‰πŸ» https://www.tutorialspoint.com/google_colab/google_colab_quick_guide.htm

Packages and Environments

  • PIP
  • Anaconda/Miniconda
  • Environments

Explore Github


Intermediate Programming

Lambda Functions & Map

  1. Lambda Operator, filter, reduce and map | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/lambda-filter-reduce-map.php
  • Itertools
  • Linked List
  • Collections

Advanced concepts in Object Oriented Programming

Statistics & Numerical Analysis

  • Numpy

https://www.youtube.com/watch?v=QUT1VHiLmmI](https://www.youtube.com/watch?v=QUT1VHiLmmI

Databases in Python

Python is a popular language for working with databases. There are several libraries available that make it easy to connect to databases, execute SQL queries, and work with the data returned by those queries.

SQLite

SQLite is a lightweight, file-based database that is often used for small applications or for testing purposes. Python comes with built-in support for SQLite, so you can start using it right away without installing any additional libraries.

MySQL

MySQL is a popular open-source database that is commonly used in web applications. There are several Python libraries available for working with MySQL, including mysql-connector-python and PyMySQL.

PostgreSQL

PostgreSQL is another popular open-source database that is known for its reliability and advanced features. There are several Python libraries available for working with PostgreSQL, including psycopg2 and PyGreSQL.

MongoDB

MongoDB is a popular NoSQL document-oriented database that is often used for web applications and big data projects. There are several Python libraries available for working with MongoDB, including pymongo and mongoengine.

To get started with working with databases in Python, you will need to install the appropriate library for the database you are using. From there, you can connect to the database, execute queries, and work with the data returned by those queries.

Here are a couple of tutorials to get you started:

Python Database Tutorial - GeeksforGeeks πŸ‘‰πŸ» https://www.geeksforgeeks.org/python-database-tutorial/

How to Create and Manipulate SQL Databases with Python πŸ‘‰πŸ» https://www.freecodecamp.org/news/connect-python-with-sql/

Pandas

Pandas is a popular Python library used for data manipulation and analysis. It provides data structures for efficiently storing and manipulating large datasets, as well as tools for cleaning, transforming, and visualizing data. Some of the key features of Pandas include:

  • Data frames and series for storing and manipulating tabular data
  • Tools for importing and exporting data from various formats (e.g., CSV, Excel, SQL)
  • Built-in functions for data cleaning and transformation (e.g., handling missing values, merging and joining datasets)
  • Flexible and powerful data aggregation and grouping capabilities
  • Support for time series data and associated functionality (e.g., time-based indexing and resampling)

Here is an introductory video to Pandas:

πŸ‘‰πŸ» https://www.youtube.com/watch?v=vmEHCJofslg

Data Visualization in Python

  • Matplotlib
  • Plotly
  • ggplot

GUI Programming

Handle JSON, YAML

APIs

Projects (Intermediate)


βš™οΈ Python Advanced

Magic Methods

Magic Methods | OOP πŸ‘‰πŸ» https://python-course.eu/oop/magic-methods.php

List Comprehension

List Comprehension | Advance πŸ‘‰πŸ» https://python-course.eu/advanced-python/list-comprehension.php

Serialization

Partial Functions

Closures

Software Testing

Testing with Pytest | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/pytest.php

Regular Expressions

Regular Expressions | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/regular-expressions.php

Advanced Regular Expressions | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/advanced-regular-expressions.php

Decorators & Memoization

Decorators and Decoration | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/decorators-decoration.php

Memoization and Decorators | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/memoization-decorators.php

Generators

Generators and Iterators | Advanced πŸ‘‰πŸ» https://python-course.eu/advanced-python/generators-and-iterators.php

Logging

Multithreading & Multiprocessing

Multithreading and multiprocessing are powerful tools for improving the performance of Python programs. Multithreading allows you to run multiple threads of execution simultaneously within a single process, while multiprocessing allows you to run multiple processes simultaneously.

Both of these techniques are particularly useful for tasks that can be broken down into smaller, independent tasks that can be executed in parallel. For example, image processing and machine learning tasks can benefit greatly from multithreading and multiprocessing.

To get started with multithreading and multiprocessing in Python, you can use the built-in threading and multiprocessing modules. These modules provide a simple and intuitive interface for creating and managing threads and processes.

Remember that multithreading and multiprocessing can be complex, so be sure to thoroughly test your code and ensure that it is thread-safe and process-safe before deploying it in a production environment.

Here are a few resources to help you get started:

This video might be very useful:

πŸ‘‰πŸ» https://www.youtube.com/watch?v=AZnGRKFUU0c](https://www.youtube.com/watch?v=AZnGRKFUU0c)

This video series can help you take a further leap!

πŸ“ https://www.youtube.com/watch?v=PJ4t2U15ACo

πŸ“ https://www.youtube.com/watch?v=Lu5LrKh1Zno

πŸ“ https://www.youtube.com/watch?v=uWbSc84he2Q

πŸ“ https://www.youtube.com/watch?v=sp7EhjLkFY4

πŸ“ https://www.youtube.com/watch?v=POL7n754JTc

πŸ“ https://www.youtube.com/watch?v=_1ZwkCY9wxk

Shallow & Deep Copying

Context Manager

Machine Learning with Python

Intro to Machine Learning with Python | Machine Learning πŸ‘‰πŸ» https://python-course.eu/machine-learning/

Computer Vision & Image Processing

(*) operator

Projects (Advanced)

Tkinter

About

Python is extensively used in data analysis, visualization, machine learning and artificial intelligence.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published