Introduction
1.
Overview
Summary
2.
Table of Contents
Basic Principles
3.
Principles
3.1.
Good Habits
3.2.
Coding Standards
3.3.
Error Handling
3.3.1.
Error Types
3.4.
Testing
3.5.
Documentation
Data Types
4.
Numbers
4.1.
Integers
4.2.
Floating-point Numbers
4.3.
Complex Numbers
5.
Booleans
6.
Strings
6.1.
String Formatting
6.2.
String Methods
6.3.
Lists
6.3.1.
List Comprehensions
7.
Tuples
8.
Dictionaries
8.1.
Dictionary Comprehensions
9.
Sets
Code Organization
10.
Modules
11.
Packages
12.
Variables
12.1.
Global vs. Local Variables
13.
Functions
13.1.
Lambda Functions
13.2.
Higher-order Functions
13.3.
Difference between yield and return
14.
Methods
14.1.
Instance Methods
14.2.
Class Methods
14.3.
Static Methods
15.
Classes
15.1.
Example
15.2.
Inheritance
15.3.
Polymorphism
15.4.
Encapsulation
15.5.
Abstract Classes
16.
Objects
Scoping and Namespaces
17.
Namespaces
18.
Scopes
18.1.
LEGB
Code Operations
19.
Operations
19.1.
Comparison Operations
19.2.
Logical Operations
19.3.
Bitwise Operations
19.4.
Assignment Operations
19.5.
Try-Except Blocks
19.6.
Custom Exceptions
File Handling
20.
File Handling
20.1.
File Operations
Advanced Topics
21.
Decorators
22.
Generators
23.
Context Managers
24.
Concurrency
24.1.
Threads
24.2.
Asynchronous Programming
25.
Memory Management
26.
Profiling and Optimization
27.
API
27.1.
Requests
28.
Environment Variables
29.
Web Scraping
Libraries and Frameworks
30.
Standard Library
31.
Popular Libraries
31.1.
Pandas
31.2.
Tkinter
31.2.1.
Tkinter Demo Script
31.3.
Json
32.
Frameworks
Tools and Best Practices
33.
Version Control
34.
Integrated Development Environments (IDEs)
35.
Build Tools
36.
Code Review
37.
Continuous Integration and Deployment
S.O.L.I.D Principles
38.
Good Architecture
39.
Single Responsibility Principle
40.
Open/Closed Principle
41.
Liskov Substitution Principle
42.
Interface Segregation Principle
43.
Dependency Inversion Principle
Light
Rust
Coal
Navy
Ayu
Notes about Python
Dependency Inversion Principle