In Python, string formatting is a way to create dynamic strings by inserting variables, values, or expressions into text. Instead of manually concatenating strings, formatting makes your code cleaner, easier to read, and more powerful.
String formatting is widely used in:
- User messages
- Reports
- Web applications
- Data display
- Logging systems
🔹 What is String Formatting in Python?
String formatting means:
Inserting values into a string in a structured way.
Example:
"My name is Alex and I am 20 years old"
🔹 Why Use String Formatting?
✔ Cleaner code
✔ Easy to read
✔ Avoids type errors
✔ Better than string concatenation
✔ Supports dynamic values
🔹 Methods of String Formatting in Python
Python provides 3 main ways:
- f-strings (Recommended ⭐)
- format() method
- Old %-formatting
🔹 1. f-Strings (Best & Modern Method)
f-strings were introduced in Python 3.6 and are the fastest and most readable method.
🔹 Syntax of f-Strings
f"text {variable}"
🔹 Example of f-String
name = "Alex"
age = 22
print(f"My name is {name} and I am {age} years old")
🔸 Output:
My name is Alex and I am 22 years old
🔹 f-String with Expressions
a = 10
b = 5
print(f"Sum is {a + b}")
🔸 Output:
Sum is 15
🔹 f-String with Formatting Numbers
price = 99.9999
print(f"Price: {price:.2f}")
🔸 Output:
Price: 100.00
🔹 2. format() Method
The format() method is an older but still widely used technique.
🔹 Syntax
"string {}".format(value)
🔹 Example
name = "Sophy"
age = 20
print("My name is {} and I am {} years old".format(name, age))
🔸 Output:
My name is Sophy and I am 20 years old
🔹 Using Index Numbers
print("I love {0} and {1}".format("Python", "Java"))
🔸 Output:
I love Python and Java
🔹 Named Placeholders
print("Name: {name}, Age: {age}".format(name="John", age=25))
🔸 Output:
Name: John, Age: 25
🔹 3. Old %-Formatting (Legacy Method)
This is the oldest method used in Python.
🔹 Syntax
"%s %d" % (string, number)
🔹 Example
name = "Alex"
age = 22
print("My name is %s and I am %d years old" % (name, age))
🔸 Output:
My name is Alex and I am 22 years old
🔹 Common Format Specifiers
| Specifier | Meaning |
|---|---|
| %s | String |
| %d | Integer |
| %f | Float |
🔹 Real-Life Example: Student Report Card
name = "Sophy"
math = 85
science = 90
print(f"Student: {name}, Total: {math + science}")
🔸 Output:
Student: Sophy, Total: 175
🔹 Real-Life Example: E-commerce Price Display
product = "Laptop"
price = 1200
print(f"Product: {product} | Price: ${price}")
🔹 Real-Life Example: Login Message
username = "admin"
print(f"Welcome back, {username}!")
🔹 Formatting Numbers Example
pi = 3.1415926535
print(f"Pi value: {pi:.3f}")
🔸 Output:
Pi value: 3.142
🔹 Comparison of Methods
| Method | Readability | Performance | Recommendation |
|---|---|---|---|
| f-strings | ⭐⭐⭐⭐⭐ | Fast | Best choice |
| format() | ⭐⭐⭐⭐ | Medium | Good |
| %-formatting | ⭐⭐ | Slow | Avoid |
🔹 Why f-Strings Are Best?
✔ Easy to write
✔ Easy to read
✔ Faster execution
✔ Supports expressions
✔ Modern Python standard
🔹 Common Mistakes
❌ Missing f prefix:
name = "Alex"
print("{name}")
✔ Correct:
print(f"{name}")
🚀 Conclusion
Python string formatting is a powerful feature that helps you create dynamic and readable strings. Among all methods, f-strings are the best and recommended way for modern Python programming.
Mastering string formatting will help you:
- Build better applications
- Improve code readability
- Handle dynamic data efficiently


0 Comments