Python - 輸出格式化

歡迎,有抱負的程序员們!今天,我們將深入探討Python輸出格式化的精彩世界。作為您友善的鄰居電腦老師,我將一步一步引導您完成這次旅程。如果您是編程新手也別擔心——我們將從基礎開始,逐步進階。所以,拿起您最喜歡的飲料,放鬆身心,讓我們一起踏上這次Python冒險吧!

Python - Output Formatting

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