Python - 輸出格式化
歡迎,有抱負的程序员們!今天,我們將深入探討Python輸出格式化的精彩世界。作為您友善的鄰居電腦老師,我將一步一步引導您完成這次旅程。如果您是編程新手也別擔心——我們將從基礎開始,逐步進階。所以,拿起您最喜歡的飲料,放鬆身心,讓我們一起踏上這次Python冒險吧!
Python中的輸出格式化
在我們深入細節之前,先來談談為什麼輸出格式化很重要。想像您正在烤蛋糕——當然,材料很重要,但如何呈現它則是關鍵!編程也是一樣。您的代碼可能運行得非常完美,但以清晰易讀的格式呈現輸出可以讓您的程序更加用户友好和專業。
基本打印功能
讓我們從Python中最基本的輸出方式開始——print()
函數。
print("Hello, World!")
這將輸出:Hello, World!
很簡單對吧?但如果我们想要更花哨一點呢?這就是格式化的用武之地!
使用字符串模數運算符(%)
字符串模數運算符%
是Python中最古老的格式化方法之一。它就像是格式化中的老爺車——有點老派,但仍能完成任務。
name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age))
輸出:My name is Alice and I am 25 years old.
在這裡,%s
是字符串的佔位符,而%d
是整數的佔位符。這就像在一個句子中留下空白,然後再填寫一樣!
使用format()方法
format()
方法就像是模數運算符的更酷、更年輕的兄弟。它更靈活,也更易於閱讀。
name = "Bob"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
輸出:My name is Bob and I am 30 years old.
您也可以使用數字佔位符:
print("The {0} in the {1} weighs {2} pounds.".format("cat", "hat", 5))
輸出:The cat in the hat weighs 5 pounds.
使用F-字符串
F-字符串,自Python 3.6引入,是最新出爐的。它們速度快,易於閱讀,是我的個人最愛!
name = "Charlie"
age = 35
print(f"My name is {name} and I am {age} years old.")
輸出:My name is Charlie and I am 35 years old.
F-字符串允許您直接在花括號內放入表達式:
x = 10
y = 20
print(f"The sum of {x} and {y} is {x + y}")
輸出:The sum of 10 and 20 is 30
Python中的格式轉換規則
有時,您需要為格式化轉換數據類型。Python為您提供了解決方案!
pi = 3.14159
print(f"Pi to two decimal places: {pi:.2f}")
輸出:Pi to two decimal places: 3.14
以下是常見格式指定符的便捷表格:
指定符 | 描述 |
---|---|
d | 整數 |
f | 浮點數 |
s | 字符串 |
x | 十六進制 |
o | 八進制 |
e | 科學計數法 |
模板字符串
模板字符串就像是Python的瘋狂填空。當您需要處理用戶輸入或希望將格式化與代碼分離時,它們非常棒。
from string import Template
t = Template("$name is $age years old")
result = t.substitute(name="David", age=40)
print(result)
輸出:David is 40 years old
textwrap模塊
當處理長字符串時,textwrap
模塊是您的最佳助手。它幫助您折行和格式化文本,使其更易於閱讀。
import textwrap
long_string = "This is a very long string that we want to wrap to make it more readable on the screen or in print."
wrapped = textwrap.wrap(long_string, width=30)
for line in wrapped:
print(line)
輸出:
This is a very long string
that we want to wrap to make
it more readable on the
screen or in print.
shorten()函數
有時,您只需要截斷一個字符串。shorten()
函數非常適合這個任務:
import textwrap
long_string = "This is a very long string that we want to shorten."
shortened = textwrap.shorten(long_string, width=25, placeholder="...")
print(shortened)
輸出:This is a very long...
pprint模塊
最後但同樣重要的是,讓我們來談談pprint
(美觀打印)模塊。它非常適合以更易讀的格式打印複雜數據結構。
from pprint import pprint
complex_data = {'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}
print("Regular print:")
print(complex_data)
print("\nPretty print:")
pprint(complex_data)
輸出:
Regular print:
{'name': 'Eve', 'age': 45, 'hobbies': ['reading', 'gaming', 'hiking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}
Pretty print:
{'age': 45,
'family': {'children': ['Cain', 'Abel'], 'spouse': 'Adam'},
'hobbies': ['reading', 'gaming', 'hiking'],
'name': 'Eve'}
就是這樣,各位!我們已經穿越了Python輸出格式化的領域,從基本的打印函數到花哨的pprint模塊。請記住,良好的格式化就像良好的禮貌一樣——它讓一切變得更加愉悅和容易理解。
在您繼續Python冒險的過程中,請繼續嘗試這些格式化技巧。很快,您將能創建有著不僅僅是功能性的,而且非常美觀的輸出。編程愉快,願您的輸出始終完美格式化!
Credits: Image by storyset