Python tutorials > Core Python Fundamentals > Basics and Syntax > What are Python syntax rules?
What are Python syntax rules?
Python's syntax emphasizes readability, making it easier to learn and use. Unlike some other languages that rely heavily on braces and semicolons, Python uses indentation and keywords to structure code. This tutorial explores the core syntax rules that govern Python programming.
Indentation: The Foundation of Python Structure
Indentation is crucial in Python. It's used to define blocks of code, such as those within if
statements, for
loops, and function definitions. Incorrect indentation will lead to IndentationError
exceptions. A typical indentation level is four spaces. Mixing tabs and spaces for indentation is strongly discouraged and can lead to errors.
if True:
print("This line is indented")
else:
print("This line is also indented")
Comments: Explaining Your Code
Comments are used to explain code and are ignored by the Python interpreter. Single-line comments start with a #
symbol. Multi-line comments are enclosed within triple quotes ("""
or '''
). Comments are essential for code maintainability and collaboration.
# This is a single-line comment
"""
This is a multi-line comment
It can span multiple lines
"""
Keywords: Reserved Words with Special Meanings
Python has a set of reserved words called keywords that cannot be used as variable names, function names, or any other identifiers. Some examples include if
, else
, for
, while
, def
, class
, import
, return
, try
, except
, finally
, with
, as
, and
, or
, not
, in
, is
, lambda
, global
, nonlocal
, yield
, assert
, break
, continue
, and del
. The keyword
module provides a list of all keywords.
import keyword
print(keyword.kwlist)
Statements: Instructions for the Interpreter
A statement is a complete instruction that the Python interpreter can execute. Statements can be simple, such as assigning a value to a variable, or complex, such as defining a function or executing a loop. Statements are typically written on one line, but long statements can be split across multiple lines using backslashes or parentheses.
x = 10 # Assignment statement
print(x) # Print statement
if x > 5: # Conditional statement
print("x is greater than 5")
Variables: Naming Conventions and Assignment
Variables are used to store data. Variable names must start with a letter or an underscore, and can contain letters, numbers, and underscores. Python is case-sensitive, so my_variable
and myVariable
are different variables. It's a convention to use lowercase letters with underscores (snake_case) for variable names. Variables starting with a single underscore are considered internal or private variables. Avoid starting variables with double underscores unless you're dealing with name mangling in classes.
my_variable = 10
myVariable = 20 # Case-sensitive
_private_variable = 30 # Convention for private variables
print(my_variable)
print(myVariable)
print(_private_variable)
Data Types: Understanding the Building Blocks
Python has several built-in data types, including integers (int
), floating-point numbers (float
), strings (str
), booleans (bool
), lists (list
), tuples (tuple
), dictionaries (dict
), and sets (set
). Understanding these data types is crucial for working with data in Python. Python is dynamically typed, meaning you don't need to explicitly declare the type of a variable; it's inferred at runtime.
integer_variable = 10
float_variable = 3.14
string_variable = "Hello, World!"
boolean_variable = True
list_variable = [1, 2, 3]
tuple_variable = (1, 2, 3)
dictionary_variable = {"key": "value"}
set_variable = {1, 2, 3}
print(type(integer_variable))
print(type(float_variable))
print(type(string_variable))
print(type(boolean_variable))
print(type(list_variable))
print(type(tuple_variable))
print(type(dictionary_variable))
print(type(set_variable))
Operators: Performing Operations on Data
Python supports a variety of operators for performing operations on data, including arithmetic operators (+
, -
, *
, /
, //
, %
, **
), comparison operators (==
, !=
, >
, <
, >=
, <=
), and logical operators (and
, or
, not
). These operators are used to manipulate data and make decisions in your code.
x = 10
y = 5
print(x + y) # Addition
print(x - y) # Subtraction
print(x * y) # Multiplication
print(x / y) # Division
print(x // y) # Floor Division
print(x % y) # Modulo
print(x ** y) # Exponentiation
print(x == y) # Equal to
print(x != y) # Not equal to
print(x > y) # Greater than
print(x < y) # Less than
print(x >= y) # Greater than or equal to
print(x <= y) # Less than or equal to
print(x and y) # Logical AND
print(x or y) # Logical OR
print(not x) # Logical NOT
Line Breaks and Continuation
Long statements can be split across multiple lines using a backslash (\
) at the end of each line, or by enclosing the statement within parentheses, square brackets, or curly braces. This improves readability and maintainability, especially for long lines of code. Parentheses are the preferred method for line continuation.
long_string = "This is a very long string " \
"that spans multiple lines."
my_list = [
1, 2, 3,
4, 5, 6
]
Real-Life Use Case Section
Imagine you're parsing a configuration file. You'll need to ensure correct indentation for nested configurations (using indentation rules). You'll also need to extract key-value pairs using string manipulation, paying attention to variable naming conventions for readability. Furthermore, understanding data types will be necessary to interpret configuration values like numbers, strings, and booleans, and to handle them correctly within your application.
Best Practices
Interview Tip
Be prepared to discuss the importance of indentation in Python and how it differs from other languages. You might be asked to identify syntax errors related to incorrect indentation, variable naming, or the use of reserved keywords.
When to use them
These syntax rules are used in every Python program you write. They are the foundation for creating functional and maintainable code. Understanding them well from the beginning is crucial for efficient development.
Alternatives
There are no real alternatives to Python's core syntax rules. However, there are code formatting tools like autopep8
and black
that can automatically format your code to conform to PEP 8 standards, including proper indentation and line length.
Pros
Cons
FAQ
-
What happens if I use the wrong indentation?
You'll get an
IndentationError
. Python relies on indentation to define code blocks, so incorrect indentation will cause the interpreter to fail. -
Can I use tabs instead of spaces for indentation?
While technically possible, it's strongly discouraged. Mixing tabs and spaces can lead to inconsistencies and errors. Stick to four spaces per indentation level.
-
What is PEP 8?
PEP 8 is a style guide for Python code. It provides recommendations for code formatting, naming conventions, and other aspects of code style to improve readability and consistency.
-
Is Python case-sensitive?
Yes, Python is case-sensitive. This means that
my_variable
andMy_Variable
are treated as different variables.