List Comprehensions
List comprehensions are one of Python’s most elegant features. Instead of:
squares = []
for x in range(10):
squares.append(x**2)
You can write:
squares = [x**2 for x in range(10)]
Context Managers
Always use context managers for file operations:
# Good
with open('file.txt', 'r') as f:
content = f.read()
# Avoid
f = open('file.txt', 'r')
content = f.read()
f.close()
F-Strings
F-strings make string formatting much cleaner:
name = "Alice"
age = 30
message = f"My name is {name} and I'm {age} years old"
The enumerate() Function
When you need both index and value:
items = ['apple', 'banana', 'cherry']
for index, item in enumerate(items):
print(f"{index}: {item}")
Dictionary Comprehensions
Just like list comprehensions, but for dictionaries:
squares_dict = {x: x**2 for x in range(10)}
These small improvements can make your Python code more readable and Pythonic!