Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ivnvxd/pyquest

Python everything Cheatsheet and a Journey to the land of Python programming
https://github.com/ivnvxd/pyquest

algorithms architecture cheatsheet concurrency data-science data-structures data-types database fundamentals jupyter-notebook learn oop python standard-library tutorial web-development

Last synced: about 1 month ago
JSON representation

Python everything Cheatsheet and a Journey to the land of Python programming

Awesome Lists containing this project

README

        

# PyQuest

![PyQuest](img/background.jpg)

Stay awhile and listen, my friend, for I have a tale to tell you about a *wonderful journey* to the land of Python.

Whether you're just starting your programming journey, looking to strengthen your Python knowledge, or venturing into new areas of software development, **PyQuest** will offer you valuable insights and practical examples. It's intended to serve as a quick reference, a learning guide, and a springboard for deeper exploration into the vast world of Python programming.

It is designed to guide you through a wide array of topics, from basic syntax and data types to advanced concepts like concurrency, web development, and data science. This repository is organized into collection of cheat sheets with examples, each focusing on a specific topic.

This repository is your guide, but the journey is yours to take on your own. Run each code snippet, tweak, and modify as you desire. There is no better teacher than *hands-on experience*.

In other words, all cheat sheets are in the form of Jupyter Notebooks, so you can (and should!) run them by yourself!

Now comes the time for adventuring into the unknown. *Keep this manual close* and venture forth, brave coder. **Your quest awaits!** 🐍🏰🔮

---

By the way, if you're preparing for a job interview, check out:
- [Python Interview](Python_Interview.md) topics
- [Coding Interview](Coding_Interview.md) cheatsheets

## Parts

- [Part I. Data Structures and Data Types](#toc-1-ds-and-dt)
- [Part II: Data Manipulation and Processing](#toc-2-dm-and-processing)
- [Part III: Control Flow and Data Flows](#toc-3-cf-and-df)
- [Part IV: File Handling, I/O, and Serialization](#toc-4-file-io-serialization)
- [Part V: Exceptions and Error Handling](#toc-5-exceptions-and-errors)
- [Part VI: Functional Programming](#toc-6-fp)
- [Part VII: Python Standard Libraries](#toc-7-standard-library)
- [Part VIII: Object-Oriented Programming](#toc-8-oop)
- [Part IX: Python Language Fundamentals](#toc-9-language-internals)
- [Part X: Concurrency](#toc-10-concurrency)
- [Part XI: Debugging and Testing](#toc-11-debugging-and-testing)
- [Part XII: Common Practices](#toc-12-common-practices)
- [Part XIII: Databases](#toc-13-databases)
- [Part XIV: Networking and Web Development](#toc-14-web)
- [Part XV: GUI Programming](#toc-15-gui)
- [Part XVI: Python and Data Science](#toc-16-data-science)
- [Part XVII: Software Architecture](#toc-17-architecture)
- [Part XVIII: DevOps](#toc-18-devops)
- [Part XIX: Algorithms](#toc-19-algorithms)

## Table of contents

### [Part I. Data Structures and Data Types](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb)

1. [Basic Data Types](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#basic-dt)
- [String](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#string)
- [Number](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#number)
- [Integer](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#int)
- [Float](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#float)
- [Complex](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#complex)
- [NoneType](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#none)
2. [Built-in Data Structures](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#built-in-ds)
- [List](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#list)
- [Tuple](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#tuple)
- [Named tuple](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#namedtuple)
- [Dictionary](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#dict)
- [DefaultDict](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#defaultdict)
- [OrderedDict](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#ordereddict)
- [Counter](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#counter)
- [Set](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#set)
- [Frozenset](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#frozenset)
- [Array](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#array)
- [Bytes](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#bytes)
- [Bytearray](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#bytearray)
- [Deque](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#deque)
- [Queue](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#queue)
- [LifoQueue](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#lifoqueue)
- [PriorityQueue](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#priorityqueue)
- [Heap queue (Heapq)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#heap)
3. [User-defined Data Structures](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#user-defined-ds)
- [Linked List](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#linkedlist)
- [Binary Tree](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#binarytree)
- [B-tree](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#btree)
- [Red-Black Tree](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#redblacktree)
- [AVL Tree](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#avltree)
- [Trie](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#trie)
4. [Other Data Types](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#other-dt)
- [Enum](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#enum)
- [Range](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#range)
- [Dataclass](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#dataclass)
- [Struct](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#struct)
- [Datetime](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#datetime)
- [Constructors](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#constructors)
- [Now](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#now)
- [Timezone](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#timezone)
5. [General Data Structure Concepts](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#general-ds-concepts)
- [Mutable/Immutable](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#mutable-immutable)
- [Hash calculation problem](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/01_data_structures_and_data_types.ipynb#hashcalc)

### [Part II: Data Manipulation and Processing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb)

1. [Basic Data Manipulation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#basic-dm)
- [Slice](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#slice)
- [Sorting](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#sorting)
- [any()/all()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#anyall)
- [Basic Math operations](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#basicmathoperations)
- [sum(), count(), min(), max()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#sumcountminmax)
- [Basic math](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#basicmath)
- [Bit operations](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#bitoperations)
- [Bit count](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#bitcount)
- [Fraction](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#fraction)
- [Euclidean distance](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#euclideandistance)
2. [String Operations](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#string-operations)
- [lower(), upper(), capitalize(), title()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#loweruppercapitalizetitle)
- [strip()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#strip)
- [split()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#split)
- [ord(), chr()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#ordchr)
3. [Regular Expressions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#regular-expressions)
- [RegEx](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#regex)
- [match](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#match)
4. [Data Copying](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#data-copying)
- [Shallow Copy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#shallow-copy)
- [Deep Copy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/02_data_manipulation_and_processing.ipynb#deep-copy)

### [Part III: Control Flow and Data Flows](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb)

1. [Conditional Statements](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#conditional-statements)
- [if, else, elif](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#if-else-elif)
- [Nested conditions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#nested-conditions)
2. [Loops](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#loops)
- [for loop](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#for-loop)
- [range](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#range)
- [while loop](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#while-loop)
- [Nested loops](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#nested-loops)
3. [Loop Control Statements](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#loop-control-statements)
- [break](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#break)
- [continue](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#continue)
- [pass](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#pass)
4. [Functions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#functions)
- [*args and **kwargs](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#args-kwargs)
- [Closures](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#closures)
5. [Itertools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#itertools)
- [Infinite iterators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#infinite-iterators)
- [Finite iterators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#finite-iterators)
- [Combinatorics](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#combinatorics)
6. [enumerate()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#enumerate)
7. [zip()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#zip)
8. [Recursion](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#recursion)
- [Recursion vs Iteration](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#recursion-vs-iteration)
- [Tail Recursion](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#tail-recursion)
9. [Context Managers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#context-managers)
- [enter/exit](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#enter-exit)
- [contextlib](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/03_control_flow_and_data_flows.ipynb#contextlib)

### [Part IV: File Handling, I/O, and Serialization](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb)

1. [File Operations](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#file-operations)
- [Opening a File](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#opening-a-file)
- [Reading from a File](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#reading-from-a-file)
- [Writing to a File](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#writing-to-a-file)
- [Closing a File](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#closing-a-file)
2. [Working with Directories](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#working-with-directories)
- [os.path](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#os-path)
- [pathlib](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#pathlib)
3. [Serialization](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#serialization)
- [Pickling and Unpickling](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#pickling-and-unpickling)
4. [Structured Data Formats](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#structured-data-formats)
- [JSON](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#json)
- [YAML](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#yaml)
- [CSV](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#csv)
- [XML](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#xml)
5. [Data Encoding and Decoding](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#data-encoding-and-decoding)
- [base64](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#base64)
- [Unicode](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/04_file_handling_io_serialization.ipynb#unicode)

### [Part V: Exceptions and Error Handling](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb)

1. [Python Exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#python-exceptions)
- [Built-in Exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#built-in-exceptions)
- [Exception hierarchy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#exception-hierarchy)
2. [Handling Exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#handling-exceptions)
- [try, except, else, finally blocks](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#try-except-else-finally-blocks)
- [Catching multiple exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#catching-multiple-exceptions)
3. [Raising Exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#raising-exceptions)
- [raise statement](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#raise-statement)
- [assert statement](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#assert-statement)
4. [User-Defined Exceptions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/05_exceptions_and_errors.ipynb#user-defined-exceptions)

### [Part VI: Functional Programming](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb)

1. [Lambda Functions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#lambda-functions)
2. [Comprehensions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#comprehensions)
- [List comprehension](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#list-comprehension)
- [Dict comprehension](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#dict-comprehension)
- [Set comprehension](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#set-comprehension)
3. [Functools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#functools)
- [map](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#map)
- [filter](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#filter)
- [reduce](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#reduce)
4. [Bisect](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#bisect)
- [bisect_left, bisect_right](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#bisect-left-right)
- [insort_left, insort_right](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#insort-left-right)
5. [Decorators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#decorators)
- [Decorator](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#decorator)
- [Parametrized decorator](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#parametrized-decorator)
- [functools.wraps](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#functools-wraps)
- [LRU Cache](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#lru-cache)
6. [Generators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#generators)
- [yield](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#yield)
- [Generator expression](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#generator-expression)
- [yield from](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#yield-from)
7. [Iterators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#iterators)
- [Building an iterator](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/06_functional_programming.ipynb#building-iterator)

### [Part VII: Python Standard Library](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb)

1. [Math](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#math)
2. [DateTime](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#library-datetime)
- [Creating datetime variables](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#creating-datetime-variables)
- [Datetime conversion](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#datetime-conversion)
- [Datetime arithmetic](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#datetime-arithmetic)
- [Timezones](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#datetime-timezones)
- [pytz](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#datetime-pytz)
3. [Collections](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections)
- [Counter](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections-counter)
- [DefaultDict](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections-defaultdict)
- [OrderedDict](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections-ordereddict)
- [NamedTuple](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections-namedtuple)
- [Deque](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#collections-deque)
4. [OS and Sys](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#os-and-sys)
- [OS Module](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#os-module)
- [Sys Module](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/07_standard_library.ipynb#sys-module)

### [Part VIII: Object-Oriented Programming](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb)

1. [OOP Fundamentals](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#oop-fundamentals)
- [Classes and Objects](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#classes-and-objects)
- [Creating Classes and Objects](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#creating-classes-and-objects)
- [\_\_init\_\_, \_\_repr\_\_, and \_\_str\_\_ Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#init-repr-str-methods)
- [Instance Members](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#instance-members)
- [Class Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#class-methods)
- [Static Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#static-methods)
- [Property Decorator](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#property-decorator)
2. [Core OOP Principles](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#core-oop-principles)
- [Encapsulation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#encapsulation)
- [Private and Protected Attributes](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#private-and-protected-attributes)
- [Inheritance](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#inheritance)
- [Single and Multiple Inheritance](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#single-and-multiple-inheritance)
- [super()](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#super)
- [Method Resolution Order (MRO)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#method-resolution-order)
- [Polymorphism](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#polymorphism)
- [Method Overriding](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#method-overriding)
- [Operator Overloading](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#operator-overloading)
- [Abstraction](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#abstraction)
- [Abstract Base Classes (ABCs)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#abstract-base-classes)
3. [Advanced OOP Features](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#advanced-oop-features)
- [Magic Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#magic-methods)
- [Duck Typing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#duck-typing)
- [Protocols](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#protocols)
- [Iterable, Comparable, Hashable, Callable Protocols](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#iterable-comparable-hashable-callable-protocols)
- [Context Manager Protocol](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#context-manager-protocol)
4. [Metaprogramming](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#metaprogramming)
- [Metaclasses](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#metaclasses)
- [Decorators](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#oop-decorators)
5. [Design Patterns in OOP](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#design-patterns-in-oop)
- [Creational Patterns](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#creational-patterns)
- [Singleton](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#singleton-pattern)
- [Factory Method](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#factory-method-pattern)
- [Abstract Factory](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#abstract-factory-pattern)
- [Builder](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#builder-pattern)
- [Prototype](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#prototype-pattern)
- [Structural Patterns](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#structural-patterns)
- [Adapter (Wrapper)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#adapter-pattern)
- [Bridge](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#bridge-pattern)
- [Composite](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#composite-pattern)
- [Decorator](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#decorator-pattern)
- [Facade](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#facade-pattern)
- [Behavioral Patterns](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#behavioral-patterns)
- [Observer](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#observer-pattern)
- [Strategy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#strategy-pattern)
- [Command](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#command-pattern)
- [State](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#state-pattern)
- [Chain of Responsibility](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/08_object_oriented_programming.ipynb#chain-of-responsibility-pattern)

### [Part IX: Python Language Internals](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb)

1. [Namespaces and Scope](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#namespaces-and-scope)
- [Global and Local Variables](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#global-and-local-variables)
- [Modules and Packages](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#modules-and-packages)
- [Built-in Names](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#built-in-names)
- [LEGB Rule](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#legb-rule)
2. [Typing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#typing)
- [Type Hints](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#type-hints)
- [Type Checking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#type-checking)
- [Dynamic Type Checking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#dynamic-type-checking)
- [Static Type Checking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#static-type-checking)
- [Protocols](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#protocols)
3. [Python Compilation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#python-compilation)
- [Python Interpreter](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#python-interpreter)
- [Bytecode](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#bytecode)
- [Python Virtual Machine](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#python-virtual-machine)
4. [Memory Management](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#memory-management)
- [Heap and Stack](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#heap-and-stack)
- [Memory Allocation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#memory-allocation)
- [Garbage Collection](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#garbage-collection)
- [Reference Counting](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#reference-counting)
- [GC debug and objgraph](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#gc-debug-objgraph)
5. [Introspection](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/09_python_language_interntals.ipynb#introspection)

### [Part X: Concurrency](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb)

1. [CPU Bound vs I/O Bound](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#cpu-bound-vs-io-bound)
2. [Multithreading](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#multithreading)
- [Thread Management](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#thread-management)
- [Daemon Threads](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#daemon-threads)
- [Global Interpreter Lock (GIL)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#gil)
3. [Multiprocessing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#multiprocessing)
- [Process Management](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#process-management)
- [Pool](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#pool)
- [Process Communication](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#process-communication)
- [Pipes](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#multiprocessing-pipes)
- [Queues](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#multiprocessing-queues)
- [Shared Memory](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#multiprocessing-shared-memory)
4. [Asyncio](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#asyncio)
- [Coroutines](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#coroutines)
- [async/await](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#async-await)
- [Event Loop](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#event-loop)
5. [Synchronization](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#synchronization)
- [Lock](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#lock)
- [Event](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#event)
- [Condition](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#condition)
- [Semaphore](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#semaphore)
- [Deadlock](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#deadlock)
6. [Parallelism](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#parallelism)
- [Parallelism vs Concurrency](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/10_concurrency.ipynb#parallelism-vs-concurrency)

### [Part XI: Debugging and Testing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb)

1. [Debugging](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#debugging)
- [Debugging Techniques](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#debugging-techniques)
- [pdb](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#pdb)
2. [Testing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#testing)
- [Unit Testing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#unit-testing)
- [Integration Testing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#integration-testing)
- [Functional Testing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#functional-testing)
- [Mocking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#mocking)
3. [Test Driven Development (TDD)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#tdd)
4. [Python Testing Frameworks](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#testing-frameworks)
- [unittest](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#unittest)
- [pytest](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#pytest)
- [doctest](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/11_debugging_and_testing.ipynb#doctest)

### [Part XII: Common Practices](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb)

1. [Logging](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#logging)
- [Logging Levels](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#logging-levels)
- [Logging Handlers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#logging-handlers)
- [Logging Formatters](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#logging-formatters)
2. [Code Style](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-style)
- [PEP 8](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#pep-8)
- [Docstrings](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#docstrings)
- [Type Annotations](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#type-annotations)
- [Linting](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#linting)
- [Code Formatters](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-formatters)
3. [Environment Management](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#environment-management)
- [Virtual Environments](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#virtual-environments)
- [Dependency Management](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#dependency-management)
- [Environment Variables](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#environment-variables)
- [dotenv](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#dotenv)
4. [Profiling](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-profiling)
- [Time Profiling (Performance Profiling)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#performance-profiling)
- [Memory Profiling](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#memory-profiling)
- [Profiling Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#profiling-tools)
- [Performance Profiling Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#performance-profiling-tools)
- [Memory Profiling Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#memory-profiling-tools)
5. [Code Review](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-review)
- [Code Review Best Practices](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-review-best-practices)
- [Code Review Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/12_common_practices.ipynb#code-review-tools)

### [Part XIII: Databases](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb)

1. [Databases Basics](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#databases-basics)
- [Database Types](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#database-types)
- [Database Models](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#database-models)
- [ACID](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#acid)
2. [SQL](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#sql)
- [SQLite](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#sqlite)
- [PostgreSQL](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#postgresql)
- [MySQL](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#mysql)
3. [NoSQL](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#nosql)
- [MongoDB](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#mongodb)
- [Redis](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#redis)
- [Cassandra](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#cassandra)
4. [ORM (Object-Relational Mapping)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#orm)
- [SQLAlchemy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#sqlalchemy)
- [Django ORM](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#django-orm)
5. [Database Design](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#database-design)
- [Normalization](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#normalization)
- [Indexing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#indexing)
6. [Messaging Systems](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#messaging-systems)
- [RabbitMQ](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#rabbitmq)
- [Apache Kafka](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/13_databases.ipynb#kafka)

### [Part XIV: Networking and Web Development](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb)

1. [HTTP](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#http)
- [HTTP Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#http-methods)
- [HTTP Status Codes](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#http-status-codes)
- [Cookies and Sessions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#cookies-and-sessions)
- [HTTPS and Security](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#https-and-security)
2. [Web Frameworks](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#web-frameworks)
- [Django](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#django)
- [Flask](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#flask)
- [FastAPI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#fastapi)
3. [APIs](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#apis)
- [REST API](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#rest-api)
- [OpenAPI (Swagger)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#openapi)
- [Authentication](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#authentication)
- [JWT](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#jwt)
- [OAuth](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#oauth)
- [GraphQL](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#graphql)
4. [RPC (Remote Procedure Call)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#rpc)
- [XML-RPC and JSON-RPC](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#xml-rpc-and-json-rpc)
- [gRPC](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#grpc)
5. [Web Servers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#web-servers)
- [WSGI and ASGI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#wsgi-and-asgi)
- [Reverse Proxy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#reverse-proxy)
- [Load Balancing](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#load-balancing)
- [Caching](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#caching)
- [Common Web Servers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#common-web-servers)
- [Nginx](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#nginx)
- [Gunicorn](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#gunicorn)
- [Caddy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#caddy)
- [Apache](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#apache)
6. [Real-Time Communication](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#real-time-communication)
- [WebRTC (Web Real-Time Communication)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#webrtc)
- [WebSocket](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#websocket)
7. [Web Scraping](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#web-scraping)
- [Beautiful Soup](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#beautiful-soup)
- [Scrapy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#scrapy)
- [Selenium](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#selenium)
8. [Security](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#web-security)
- [Cross-Site Scripting (XSS)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#xss)
- [Cross-Site Request Forgery (CSRF)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#csrf)
- [SQL Injection](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#sql-injection)
- [Clickjacking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#clickjacking)
- [Content Security Policy (CSP)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#csp)
9. [Frontend Development](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#frontend-development)
- [Basic HTML, CSS, and JavaScript](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#basic-html-css-js)
- [Frontend Frameworks](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/14_networking_and_web.ipynb#frontend-frameworks)

### [Part XV: GUI Programming](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb)

1. [Tkinter](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb#tkinter)
2. [PyQT](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb#pyqt)
3. [wxPython](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb#wxpython)
4. [Kivy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb#kivy)
5. [PySimpleGUI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/15_gui_programming.ipynb#pysimplegui)

### [Part XVI: Python and Data Science](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb)

1. [NumPy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#numpy)
2. [Pandas](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#pandas)
3. [Matplotlib](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#matplotlib)
4. [SciPy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#scipy)
5. [Scikit-Learn](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#scikit-learn)
6. [TensorFlow and Keras](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#tensorflow-keras)
7. [PyTorch](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#pytorch)
8. [Jupyter Notebook](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/16_data_science.ipynb#jupyter-notebook)

### [Part XVII: Software Architecture](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb)

1. [Principles](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#principles)
- [SOLID](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#solid)
- [Single Responsibility Principle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#srp)
- [Open/Closed Principle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#ocp)
- [Liskov Substitution Principle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#lsp)
- [Interface Segregation Principle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#isp)
- [Dependency Inversion Principle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#dip)
- [DRY](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#dry)
- [KISS](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#kiss)
- [YAGNI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#yagni)
2. [Programming Paradigms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#programming-paradigms)
- [Procedural](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#procedural)
- [Structured](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#structured)
- [Object-oriented](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#object-oriented)
- [Functional](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#functional)
3. [Architecture Styles](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#architecture-styles)
- [Monolithic](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#monolithic)
- [Microservice](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#microservice)
- [Layered](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#layered)
- [Event-Driven](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#event-driven)
- [Serverless](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#serverless)
4. [System Design](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#system-design)
- [Scalability](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#scalability)
- [Reliability](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#reliability)
- [Availability](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#availability)
- [Performance](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#performance)
- [Security](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#security)
5. [Domain-Driven Design](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/17_software_architecture.ipynb#domain-driven-design)

### [Part XVIII: DevOps](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb)

1. [Git](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#git)
- [Git Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#git-tools)
- [Branching Models](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#branching-models)
- [Git Best Practices](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#git-best-practices)
2. [Linux](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#linux)
- [Basic Commands](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#basic-commands)
- [File System Hierarchy](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#file-system-hierarchy)
- [Shell Scripting](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#shell-scripting)
3. [Development Lifecycle](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#development-lifecycle)
- [SDLC Models](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#sdlc-models)
- [Agile](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#agile)
- [Waterfall](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#waterfall)
4. [CI/CD](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#cicd)
- [Continuous Integration](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#continuous-integration)
- [Continuous Delivery](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#continuous-delivery)
- [Continuous Deployment](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#continuous-deployment)
- [CI/CD Pipeline](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#cicd-pipeline)
- [CI/CD Tools](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#cicd-tools)
- [Jenkins](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#jenkins)
- [Travis CI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#travis-ci)
- [GitLab CI](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#gitlab-ci)
- [GitHub Actions](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#github-actions)
5. [Containers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#containers)
- [Docker](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#docker)
- [Docker Compose](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#docker-compose)
- [Docker Swarm](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#docker-swarm)
- [Kubernetes](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#kubernetes)
6. [Cloud](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#cloud)
- [AWS](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#aws)
- [Azure](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#azure)
- [GCP](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#gcp)
- [DigitalOcean](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#digitalocean)
7. [Infrastructure as Code](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#infrastructure-as-code)
- [Terraform](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#terraform)
- [Ansible](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#ansible)
8. [Monitoring](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#monitoring)
- [Prometheus](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#prometheus)
- [Grafana](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#grafana)
- [ELK Stack](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/18_devops.ipynb#elk-stack)

### [Part XIX: Algorithms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb)

1. [Time Complexity and Big O Notation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#time-complexity-and-big-o-notation)
- [Time Complexity](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#time-complexity)
- [Big O Notation](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#big-o-notation)
- [Common Data Structure Time Complexities](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#common-data-structure-time-complexities)
2. [Sorting Algorithms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#sorting-algorithms)
- [Bubble Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#bubble-sort)
- [Insertion Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#insertion-sort)
- [Selection Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#selection-sort)
- [Quick Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#quick-sort)
- [Merge Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#merge-sort)
- [Heap Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#heap-sort)
- [Counting Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#counting-sort)
- [Radix Sort](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#radix-sort)
- [Common Sorting Algorithms Time Complexities](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#common-sorting-algorithms-time-complexities)
3. [Searching Algorithms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#searching-algorithms)
- [Linear Search](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#linear-search)
- [Binary Search](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#binary-search)
4. [Graph Algorithms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#graph-algorithms)
- [Depth-First Search (DFS)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#depth-first-search)
- [Preorder, Inorder, Postorder Traversal](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#preorder-inorder-postorder)
- [Breadth-First Search (BFS)](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#breadth-first-search)
- [Dijkstra's Algorithm](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#dijkstras)
- [Bellman-Ford Algorithm](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#bellman-ford)
5. [Problem Solving Methods](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#problem-solving-methods)
- [Two Pointers](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#two-pointers)
- [Sliding Window](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#sliding-window)
- [Divide and Conquer](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#divide-and-conquer)
- [Recursion](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#recursion)
- [Dynamic Programming](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#dynamic-programming)
- [Greedy Algorithms](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#greedy-algorithms)
- [Backtracking](https://nbviewer.org/github/ivnvxd/pyquest/blob/main/jupyter/19_algorithms.ipynb#backtracking)

## Sources

- [Python Documentation](https://docs.python.org/3/)
- [Python Tutorial](https://docs.python.org/3/tutorial/)
- [Python Standard Library](https://docs.python.org/3/library/)
- [Comprehensive Python Cheatsheet](https://gto76.github.io/python-cheatsheet/)
- [Python Cheatsheet](https://www.pythoncheatsheet.org/)
- [Awesome Python](https://github.com/vinta/awesome-python)
- [Hitchhiker's Guide to Python](https://docs.python-guide.org/)
- [Python Core](https://github.com/amaargiru/pycore)
- [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
- [Dev Mentor](https://chat.openai.com/g/g-Wjnn7QXmE-dev-mentor)

## Support

Thank you for using this project! If you find it helpful and would like to support my work, kindly consider buying me a coffee. Your support is greatly appreciated!

Buy Me A Coffee

And do not forget to give the project a star if you like it! :star:

## License

CC-BY-SA-4.0 © [Andrey Ivanov](https://github.com/ivnvxd)