Skip to content

A repository for Python course notes, examples, and lab exercises targeted to students, professionals, and enthusiasts.

License

Notifications You must be signed in to change notification settings

ghimiresdp/python-perks

Repository files navigation

python-perks (Python Notes)

python-perks is a repository for Python course notes, examples, and lab exercises targeted to students, professionals, and enthusiasts.

This repository is intended to provide you a quick guide to starting your journey as a python programmer.

You are advised to fork this repository and solve problems as you proceed to different levels while still being able to sync with the new changes in the repository.

Course Contents

Algorithms

NOTE: If you are an absolute beginner in python, please check Notes section first to get started with python.

  1. Basic Problem Solving

    1. Practical Number Solution
    2. Iteration with Comprehension
    3. Greatest Common Divisor
    4. Matrix Multiplication
    5. Median Calculation
    6. Reverse digits of an integer
  2. Dynamic Programming

    1. Coin Change Problem
    2. Fibonacci Series Problem
    3. Palindrome Partition Problem
    4. Minimizing the sum of list of integers
    5. Longest Common Subsequence Problem

Notes

(Links will be updated accordingly)

  1. Fundamentals of Python

  2. Variables, basic data type and operations

  3. Advanced Data Types

  4. Decision Making

  5. Loops, Pattern Generation, and Comprehension

  6. Functions

  7. Classes

  8. Python Modules and packages

  9. File I/O

    • open() function
    • close() method
    • write() method
    • read() method
    • with keyword
  10. Exceptions and Exception Handling

  11. Python Package Management with PIP

  12. Virtual Environments

  13. Python Advanced Functions

  14. Regular Expressions (REGEX)

  15. Advanced Data Structures

  16. Decorators

  17. Mixins

  18. http module

  19. requests library

  20. Advanced Type hinting

  21. Software Testing

Folder Structure

The repository has its folder structure as shown in example below:

notes
├── README.md
├── c01_basics
│   ├── Chapter 1 Basics.md
│   ├── README.md
│   ├── code
│   │   ├── c0101_hello_world.py
│   │   └── c0102_comments.py
│   └── quiz
│       ├── README.md
│       └── solution
│           ├── q0101.py
│           └── q0102.py
├── c02_...
├── c03_...
│

If you're directly cloning the repository, I suggest you to solve in the different branch than the main branch to avoid conflicts if the course content changes.

If you're forking, I suggest you not to make any changes in the main branch in your repository too so that you can pull and rebase future changes to your fork.

Pulling future changes for your forks

for pulling the future changes you can add new remote as upstream in your local repository with the commands below:

# step 1: add the upstream remote as git@github.com:ghimiresdp/python-perks.git
# step 2: pull from the upstream
# step 3: push to the origin

git remote add upstream git@github.com:ghimiresdp/python-perks.git
git pull upstream main
git push origin main