1. Modules and Packages
2. Regular Expressions
3. Decorators
4. Generators
5. Context Managers
6. Classes and Objects
7. Methods and Constructors
8. Inheritance
9. Polymorphism
10. Encapsulation and Abstraction
11. Special Methods and Operator Overloading
12. Advanced OOP Concepts
13. 1.Introduction to Python
13.1. What is Programming
13.2. Key Terms in Programming
13.3. Installing Python
13.4. Setting the Path (Windows)
13.5. Creating a Virtual Environment
13.6. Installing Jupyter Notebook
13.7. Opening Jupyter Notebook
13.8. Introduction to Python
13.8.1. How Python Was Invented
13.8.2. Evolution of Python
13.8.3. Benefits of Python Over Other Programming Languages
13.8.4. How a Python Program Execution Happens
13.8.5. Example: Simple Python Program Execution
13.8.5.1. Write the Code
13.8.5.2. Run the Code
13.8.5.3. Compilation (Bytecode)
13.8.5.4. Execution by the Interpreter
13.8.5.5. Output
13.8.6. Difference Between Compiler and Interpreter
13.9. Jupyter Notebook Shortcuts
13.10. Interview questions
14. 2.Variables and Data Types
14.1. What is a Variable in Python?
14.2. Best Practices for Naming Variables
14.2.1. Use Meaningful Names
14.2.2. Follow Naming Conventions
14.2.3. Avoid Single-Letter Names
14.2.4. Consistent Naming Style
14.3. Rules
14.3.1. Allowed Characters
14.3.2. Don't Start with a Number
14.3.3. Underscore ( _ ) is the Only Allowed Special Character
14.3.4. Don't Use Keywords or Reserved Words
14.3.5. No Spaces in Variable Names
14.4. Assigning a Value to a Variable
14.5. Using Variables
14.6. Data Types in Python
14.6.1. Integer (int)
14.6.2. Float (float)
14.6.3. String (str)
14.6.4. Boolean (bool)
14.7. String manipulation methods
14.7.1. str.upper()
14.7.2. str.lower()
14.7.3. str.capitalize()
14.7.4. str.title()
14.7.5. str.strip()
14.7.6. str.lstrip()
14.7.7. str.rstrip()
14.7.8. str.replace(old, new[, count])
14.7.9. str.split([sep[, maxsplit]])
14.7.10. str.join(iterable)
14.7.11. str.find(sub[, start[, end]])
14.7.12. str.index(sub[, start[, end]])
14.7.13. str.startswith(prefix[, start[, end]])
14.7.14. str.endswith(suffix[, start[, end]])
14.7.15. str.isalpha()
14.7.16. str.isdigit()
14.7.17. str.isalnum()
14.7.18. str.isspace()
14.7.19. str.swapcase()
14.7.20. str.zfill(width)
14.8. Type Conversions
14.8.1. int()
14.8.1.1. Decimal (Base 10)
14.8.1.2. Binary (Base 2)
14.8.1.3. Octal (Base 8 )
14.8.1.4. Hexadecimal (Base 16)
14.8.2. float()
14.8.3. str()
14.8.4. bool()
14.8.5. list()
14.8.6. tuple()
14.8.7. set()
14.8.8. dict()
15. 3.Basic Operators
15.1. 1. Arithmetic Operators
15.1.1. Addition (+)
15.1.2. Subtraction (-)
15.1.3. Multiplication (*)
15.1.4. Division ( / )
15.1.5. Floor Division ( // )
15.1.6. Modulus (%)
15.1.7. Exponentiation ( ** )
15.2. 2. Comparison Operators
15.2.1. Equal to ( == )
15.2.2. Not equal to ( != )
15.2.3. Greater than ( >)
15.2.4. Less than (<)
15.2.5. Greater than or equal to ( >=)
15.2.6. Less than or equal to ( <=)
15.3. 3. Logical Operators
15.3.1. Logical AND ( and)
15.3.2. Logical OR ( or)
15.3.3. Logical NOT ( not)
15.4. 4. Assignment Operators
15.4.1. Equal (=)
15.4.2. Add AND ( +=)
15.4.3. Subtract AND (-=)
15.4.4. Multiply AND ( *=)
15.4.5. Divide AND ( /=)
15.4.6. Floor Divide AND ( //=)
15.4.7. Exponent AND (`=`)**