Real-World Code Examples
1. Financial Transaction Logging
def log_transaction(amount, transaction_id):
"""Generate standardized financial transaction log entries"""
formatted_log = f"ID:{transaction_id:05d} Amount:${amount:10.2f}"
with open('transactions.log', 'a') as log_file:
log_file.write(formatted_log + '\n')
## Example usage
log_transaction(1234.56, 42)
2. Scientific Data Processing
def format_experimental_data(measurements):
"""Format scientific measurements with consistent precision"""
formatted_data = [f"{m:8.4f}" for m in measurements]
return formatted_data
measurements = [3.14159, 2.71828, 1.41421]
processed_data = format_experimental_data(measurements)
3. Inventory Management System
class InventoryTracker:
def generate_inventory_report(self, products):
"""Create a fixed-width inventory report"""
report = "Product ID | Quantity | Price\n"
report += "-" * 30 + "\n"
for product in products:
report += f"{product['id']:10d} | {product['quantity']:8d} | ${product['price']:7.2f}\n"
return report
## Usage example
inventory = [
{'id': 1001, 'quantity': 50, 'price': 19.99},
{'id': 1002, 'quantity': 75, 'price': 24.50}
]
Workflow Visualization
graph TD
A[Raw Data] --> B{Formatting}
B --> C[Fixed-Width Output]
C --> D[Logging/Processing]
| Scenario |
Use Case |
Formatting Technique |
| Financial Logs |
Transaction Records |
Zero-padded IDs |
| Scientific Data |
Measurement Precision |
Fixed decimal places |
| Inventory Systems |
Consistent Column Width |
Right-aligned numbers |
import timeit
## Comparing formatting methods
def percent_format():
return "%05d" % 42
def format_method():
return "{:05d}".format(42)
def fstring_method():
return f"{42:05d}"
## Benchmark formatting performance
print("Percent Format:", timeit.timeit(percent_format, number=10000))
print("Format Method:", timeit.timeit(format_method, number=10000))
print("F-String Method:", timeit.timeit(fstring_method, number=10000))
LabEx Pro Tips
- Choose formatting method based on Python version
- Optimize for readability and performance
- Use consistent formatting across projects