PythonPro icon indicating copy to clipboard operation
PythonPro copied to clipboard

Python Advanced Concepts

Python Pro Features

[Note: Ongoing work, one commit at time. I would like creating my own version of all topics mentioned in below outline, but I due to other commitments, I can't promise I will. If I am unable to create content for a given topic, I will link some external good resources. I also compiled resources for further learning(see further learning). Feedback or suggestion for other good Python resources are welcome]

Python is a popular programming language that emphasizes efficiency, readability and simplicity ahead of anything. Due to its rich standard library, it has been called "a battery included" language.

This repository is a home of Python most advanced concepts and features. It's an extension of a former repository of Python basics.

Outline

  • Basics Beyond Basics:
    • Recursion
    • Dynamic Programming
    • Bit Manipulation
    • Measuring and Understanding Program Efficiency with Big-O
  • Code Formatting
  • Writing Pythonic Code: Tricks and Know How to's
  • Decorators
  • Generators
  • Itertools
  • Collections
  • OOP - Classes and Objects: notebook, markdown
  • OOP - Inheritance: notebook, markdown
  • OOP - Magic Methods: article
  • Logging
  • Threading
  • Testing, Debugging, Exceptions, and Assertions: video, slides
  • Regular Expressions: part 1, part 2
  • Python Modules
  • Working with:
    • Files and Command Line
    • Json
    • Google Sheets
    • PDF

Further Learning

Thanks to Symon for suggesting some concepts to cover in this repository.