Python
Python Basics
- Introduction to Python and Its History
- Python Syntax and Indentation
- Python Variables and Data Types
- Dynamic and Strong Typing
- Comments and Docstrings
- Taking User Input (input())
- Printing Output (print())
- Python Operators (Arithmetic, Logical, Comparison)
- Type Conversion and Casting
- Escape Characters and Raw Strings
Data Structures in Python
- Lists
- Dictionaries
- Dictionary Comprehensions
- Strings and String Manipulation
- Tuples
- Python Sets: Unordered Collections
- List Comprehensions and Generator Expressions
- Set Comprehensions
- String Formatting
- Indexing and Slicing
Control Flow and Loops
- Conditional Statements: if, elif, and else
- Loops and Iteration
- While Loops
- Nested Loops
- Loop Control Statements
- Iterators and Iterables
- List, Dictionary, and Set Iterations
Functions and Scope
- Defining and Calling Functions (`def`)
- Function Arguments (`*args`, `**kwargs`)
- Default Arguments and Keyword Arguments
- Lambda Functions
- Global and Local Scope
- Function Return Values
- Recursion in Python
Object-Oriented Programming (OOP)
- Object-Oriented Programming
- Classes and Objects
- the `__init__()` Constructor
- Instance Variables and Methods
- Class Variables and `@classmethod`
- Encapsulation and Data Hiding
- Inheritance and Subclasses
- Method Overriding and super()
- Polymorphism
- Magic Methods and Operator Overloading
- Static Methods
- Abstract Classes and Interfaces
Python Programs
- Array : Find median in an integer array
- Array : Find middle element in an integer array
- Array : Find out the duplicate in an array
- Array : Find print all subsets in an integer array
- Program : Array : Finding missing number between from 1 to n
- Array : Gap and Island problem
- Python Program stock max profit
- Reverse words in Python
- Python array duplicate program
- Coin change problem in python
- Python Write fibonacci series program
- Array : find all the pairs whose sum is equal to a given number
- Find smallest and largest number in array
- Iterate collections
- List comprehensions
- Program: Calculate Pi in Python
- String Formatting in Python
Python Syntax and Indentation
Python is widely recognized for its clean and readable syntax, making it an ideal language for beginners and professionals alike. Unlike many other programming languages, Python relies on indentation instead of curly braces {}
to define code blocks. This unique feature enforces structured and readable code.
In this article, we’ll explore Python syntax and indentation, explaining the rules, best practices, and common mistakes. Whether you’re a beginner or transitioning from another programming language, mastering Python syntax is crucial to writing efficient and error-free programs.
1. Understanding Python Syntax
What is Syntax in Python?
Syntax in Python refers to the set of rules that dictate how code must be written and structured for successful execution. Just like any language has grammar rules, Python has syntax rules that define how statements, expressions, and functions should be written.
Key Features of Python Syntax:
- No semicolons (
;
) needed at the end of statements (though optional). - Code blocks use indentation, not braces
{}
. - Case-sensitive language (
Variable
andvariable
are different). - Uses colons (
:
) to define function definitions, loops, and conditionals. - Single-line and multi-line comments use
#
and triple quotes""" """
or''' '''
.
2. Importance of Indentation in Python
What is Indentation?
Indentation refers to the spaces or tabs used at the beginning of a line to define code blocks. In many programming languages like C, Java, or JavaScript, indentation is optional and used only for readability. However, in Python, indentation is mandatory and determines the structure of the code.
Why is Indentation Important?
- Defines the scope of loops, functions, and conditional statements.
- Makes code more readable and structured.
- Avoids confusion by eliminating unnecessary brackets (
{}
and}
) as in other languages.
Basic Example of Indentation:
if 5 > 2:
print("Five is greater than two!") # Correctly indented code
Incorrect Example (Missing Indentation):
if 5 > 2:
print("Five is greater than two!") # SyntaxError: expected an indented block
3. Python Indentation Rules and Best Practices
Python enforces indentation using spaces or tabs, but the PEP 8 style guide recommends using 4 spaces per indentation level.
Rules of Python Indentation:
✅ Use a consistent number of spaces (preferably 4 spaces per level).
✅ Never mix tabs and spaces (can cause errors).
✅ Nested blocks should be indented consistently.
✅ Indentation is required after statements that end with a colon (:
).
Example of Proper Indentation:
def greet():
print("Hello, Python!") # Indented under the function definition
greet()
Incorrect Indentation (Mixing Tabs and Spaces)
def greet():
print("Hello, Python!") # Uses a tab
print("Welcome!") # Uses spaces (IndentationError)
Solution: Use spaces consistently or configure your editor to automatically convert tabs to spaces.
4. Common Python Syntax Elements
Python syntax includes variables, comments, loops, functions, and conditional statements. Let’s go through some important elements:
4.1 Variables and Data Types
- No need to declare variable types explicitly.
- Python infers the type automatically.
name = "Alice" # String
age = 25 # Integer
height = 5.6 # Float
is_python_fun = True # Boolean
4.2 Comments in Python
Python supports single-line and multi-line comments for documentation.
Single-Line Comment:
# This is a comment
print("Hello, World!") # This prints a message
Multi-Line Comment:
"""
This is a multi-line comment.
It spans multiple lines.
"""
print("Python is great!")
4.3 Conditional Statements (if-elif-else)
Python uses colons (:
) and indentation to define conditions.
age = 18
if age >= 18:
print("You are an adult.")
elif age > 12:
print("You are a teenager.")
else:
print("You are a child.")
4.4 Loops (for and while)
Python loops also require proper indentation.
For Loop Example:
for i in range(5):
print("Iteration:", i) # Indentation is required
While Loop Example:
count = 0
while count < 3:
print("Count:", count)
count += 1 # Proper indentation
4.5 Functions in Python
Functions in Python must be properly indented under the function definition.
def add_numbers(a, b):
result = a + b
return result # Indented correctly
print(add_numbers(3, 5))
5. Real-World Examples of Python Indentation
Example 1: Nested Loops with Indentation
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}") # Nested loop indentation
Example 2: Function Inside a Loop
for num in range(1, 4):
def square(n):
return n * n # Indented correctly
print(f"Square of {num} is {square(num)}")
Example 3: Using Indentation with Exception Handling
try:
num = int(input("Enter a number: "))
print(f"You entered: {num}")
except ValueError:
print("Invalid input! Please enter a number.")
6. Common Indentation Errors in Python
❌ Inconsistent Indentation:
def my_function():
print("Hello")
print("World") # IndentationError
❌ Forgetting to Indent Code Blocks:
if True:
print("This will cause an error!") # SyntaxError