Skip to content

ivnvxd/pyquest

Repository files navigation

PyQuest

PyQuest

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:

Parts

Table of contents

  1. Basic Data Types
  2. Built-in Data Structures
  3. User-defined Data Structures
  4. Other Data Types
  5. General Data Structure Concepts
  1. Basic Data Manipulation
  2. String Operations
  3. Regular Expressions
  4. Data Copying
  1. Conditional Statements
  2. Loops
  3. Loop Control Statements
  4. Functions
  5. Itertools
  6. enumerate()
  7. zip()
  8. Recursion
  9. Context Managers
  1. File Operations
  2. Working with Directories
  3. Serialization
  4. Structured Data Formats
  5. Data Encoding and Decoding
  1. Python Exceptions
  2. Handling Exceptions
  3. Raising Exceptions
  4. User-Defined Exceptions
  1. Lambda Functions
  2. Comprehensions
  3. Functools
  4. Bisect
  5. Decorators
  6. Generators
  7. Iterators
  1. Math
  2. DateTime
  3. Collections
  4. OS and Sys
  1. OOP Fundamentals
  2. Core OOP Principles
  3. Advanced OOP Features
  4. Metaprogramming
  5. Design Patterns in OOP
  1. Namespaces and Scope
  2. Typing
  3. Python Compilation
  4. Memory Management
  5. Introspection
  1. CPU Bound vs I/O Bound
  2. Multithreading
  3. Multiprocessing
  4. Asyncio
  5. Synchronization
  6. Parallelism
  1. Debugging
  2. Testing
  3. Test Driven Development (TDD)
  4. Python Testing Frameworks
  1. Logging
  2. Code Style
  3. Environment Management
  4. Profiling
  5. Code Review
  1. Databases Basics
  2. SQL
  3. NoSQL
  4. ORM (Object-Relational Mapping)
  5. Database Design
  6. Messaging Systems
  1. HTTP
  2. Web Frameworks
  3. APIs
  4. RPC (Remote Procedure Call)
  5. Web Servers
  6. Real-Time Communication
  7. Web Scraping
  8. Security
  9. Frontend Development
  1. Tkinter
  2. PyQT
  3. wxPython
  4. Kivy
  5. PySimpleGUI
  1. NumPy
  2. Pandas
  3. Matplotlib
  4. SciPy
  5. Scikit-Learn
  6. TensorFlow and Keras
  7. PyTorch
  8. Jupyter Notebook
  1. Principles
  2. Programming Paradigms
  3. Architecture Styles
  4. System Design
  5. Domain-Driven Design
  1. Git
  2. Linux
  3. Development Lifecycle
  4. CI/CD
  5. Containers
  6. Cloud
  7. Infrastructure as Code
  8. Monitoring
  1. Time Complexity and Big O Notation
  2. Sorting Algorithms
  3. Searching Algorithms
  4. Graph Algorithms
  5. Problem Solving Methods

Sources

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! ⭐

License

CC-BY-SA-4.0 © Andrey Ivanov