Skip to content

Salma-Mamdoh/Python

Repository files navigation

My Journey in Learning Python ✨✨

Welcome to my Python repo!

This repo contains all of the code I wrote while learning Python. I started learning Python in 2023, and I'm still learning today. I've learned a lot from following tutorials online , Courses and reading atricles.

I hope you enjoy the codes! It's a mix of simple and complex tutorials.

Table of contains

Section Description
Python Basics This section covers the basics of Python, such as variables, data types, operators, control flow, and functions.
OOP in Python This section covers object-oriented programming (OOP) in Python, such as classes, objects, inheritance, and polymorphism.
Hackerrank Challenges on Python This section contains a collection of Hackerrank challenges that you can solve to test your Python skills.
Database with Python (SQLite) This section covers how to use Python to interact with a SQLite database.
Numpy This section covers the NumPy library, which provides a high-performance array data type and a wide range of mathematical functions.
Pandas This section covers the Pandas library, which provides a high-level interface for data analysis and manipulation.
Matplotlib This section covers the Matplotlib library, which is used for creating static, animated, and interactive visualizations.
Seaborn This section covers the Seaborn library, which is a Python visualization library based on Matplotlib.

Python Basics

This section covers the basics of using Python.

Topics Covered:

  • Containers (List, Tuple, Set, Dictionary)
  • Loops
  • Functions
  • Recursion
  • Lambda and Built-in Functions
  • File Handling
  • Exception Handling
  • Type Hinting
  • Generators and Decorators
  • Modules and Date-Time
  • Operators (Boolean, Assignment, Logical)
  • Regex
  • Strings and Numbers

Resources:

OOP in Python

This section covers the basics of using OOP inPython

Topics Covered:

  • OOP (Class, Instance Methods & Attributes, Class Methods, Static Method, Magic Method)
  • Setter, Getter & Property Decorator
  • Polymorphism & Encapsulation
  • Inheritance & Multiple Inheritance & Overriding & MRO
  • Abstract Base Class

Resources:

Hackerrank Challenges on Python

This section contains my solutions to some of the Hackerrank challenges in Python.

This is just a small selection of the challenges I have solved. You can find the full list of my solutions on Hackerrank.

I hope you find these solutions helpful.

Database with Python (SQLite)

This section covers the basics of using Python to interact with a SQLite database.

Topics Covered:

  • Create Database
  • Create Table
  • Insert
  • Retrieve
  • Update
  • Delete
  • Practice1
  • Skills Application

Resources:

Numpy

This section covers the basics of the NumPy library, which provides a high-performance array data type and a wide range of mathematical functions.

Topics Covered:

  • Data types
  • Arithmetic and Useful Operations
  • Array Shape and Reshape
  • Comparison between list and array
  • Slicing and indexing
  • Notes from Kaggle Numpy Tutorial

Resources:

Pandas

This section covers the basics of the Pandas library, which provides a high-level interface for data analysis and manipulation and by using Jupyter.

Topics Covered:

  • Series
  • DataFrame
  • Indexing and Selection
  • Conditional Selection & Assigning Data
  • Combining data
  • Handling Missing Values
  • Aggregation functions & group-by
  • Pivot Table
  • Time series analysis

Resources:

Matplotlib

In this section, I've gained valuable insights into the Matplotlib library, a widely-used data visualization tool in Python. Through this learning journey, I've acquired the skills to create a variety of informative and visually appealing plots.

Topics Covered:

  • Drawing Plots
  • I've learned how to create different types of plots using Matplotlib, which is crucial for visually representing data patterns and trends.

  • Bar Chart
  • Understanding how to construct bar charts has allowed me to effectively display and compare categorical data.

  • Pie Chart
  • Pie charts are now a part of my visualization toolkit, enabling me to showcase the proportions of different categories in a dataset.

  • Histogram Charts
  • Histograms are an essential tool for illustrating the distribution of continuous data, providing insights into the data's spread and central tendencies.

  • Scatter Plots
  • Scatter plots have proven invaluable in showcasing relationships and correlations between two continuous variables.

  • Subplots
  • Learning how to create subplots within a single figure has enabled me to display multiple plots in a structured and organized manner.

Resources

Seaborn

    In this section, I've explored the Seaborn library in Python, which is a powerful tool for data visualization and exploration. Seaborn simplifies the process of creating visually appealing and informative plots.

    Topics Covered:

  • Line Plots
  • I learned the art of creating line plots with Seaborn. Line plots are particularly useful for visualizing trends and patterns in data over time.

  • Scatter Plots
  • Seaborn's scatter plots enabled me to explore relationships between two variables, highlighting patterns and correlations within the data.

  • Regression Plots
  • Regression plots allowed me to visualize the linear relationship between variables, making it easier to understand correlations and fit regression models.

  • Distribution Plots
  • I learned to create distribution plots that provide insights into the distribution of data, whether it's a histogram, kernel density estimate, or combination of both.

Resources