Python 中的 print() 函數詳解:新手指南
更新日期: 2024 年 9 月 29 日
在 Python 編程中,print()
函數 是最常用、最基本的輸出函數,用於在控制台輸出信息。
對於剛開始學習 Python 的新手來說,理解並掌握 print()
函數的用法,是邁向編程之路的第一步。
本文將詳細介紹 Python 中的 print()
函數,包括其基本語法、參數說明、格式化輸出、實際應用和注意事項,並提供豐富的示例,幫助你在實際開發中靈活運用。
什麼是 print()
函數?
定義
print()
是 Python 的內建函數,用於將指定的內容輸出到控制台(標準輸出設備)。
它可以輸出各種類型的數據,包括字串、數字、列表、字典等。
特點
- 簡單易用:
print()
函數使用非常簡單,適合初學者。 - 多樣性:支持多個參數,並可以自定義輸出格式。
- 調試工具:常用於程式調試,檢查變數值和程式流程。
print()
函數的基本語法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
*objects
:一個或多個要輸出的對象,使用逗號分隔。sep
(可選):指定輸出對象之間的分隔符,默認為一個空格。end
(可選):指定輸出結束時的字符,默認為換行符\n
。file
(可選):指定輸出的目標,默認為系統標準輸出sys.stdout
。flush
(可選):是否立即刷新輸出緩衝區,默認為False
。
print()
函數的基本用法
輸出字串
示例:
print("Hello, Python!")
輸出:
Hello, Python!
輸出數字
示例:
print(42)
輸出:
42
同時輸出多個對象
示例:
print("姓名:", "小明", "年齡:", 20)
輸出:
姓名: 小明 年齡: 20
解釋:
- 多個對象之間使用逗號分隔,
print()
函數會自動在對象之間添加空格(由sep
參數決定)。
print()
函數的參數詳解
sep
參數:指定分隔符
用法:
print(*objects, sep='分隔符')
示例:
print("2023", "10", "01", sep="-")
輸出:
2023-10-01
end
參數:指定結尾字符
用法:
print(*objects, end='結尾字符')
示例:
print("正在輸出中...", end="")
print("完成!")
輸出:
正在輸出中...完成!
解釋:
- 第一個
print()
的輸出結尾被設置為空字符串""
,因此沒有換行。 - 第二個
print()
的輸出緊接著第一個輸出。
file
參數:指定輸出目標
用法:
print(*objects, file=目標文件)
示例:
with open("output.txt", "w") as f:
print("這是一行文本", file=f)
解釋:
- 將輸出寫入文件
output.txt
,而非控制台。
flush
參數:立即刷新
用法:
print(*objects, flush=True)
示例:
import time
print("請等待", end="", flush=True)
for i in range(5):
print(".", end="", flush=True)
time.sleep(1)
輸出:
請等待.....
解釋:
flush=True
使輸出立即刷新,確保點在每次迭代時立即顯示。
格式化輸出
使用 str.format()
方法
示例:
name = "小明"
age = 20
print("姓名:{},年齡:{}".format(name, age))
輸出:
姓名:小明,年齡:20
使用 f 字串(Python 3.6 及以上)
示例:
name = "小明"
age = 20
print(f"姓名:{name},年齡:{age}")
輸出:
姓名:小明,年齡:20
格式化數字
示例:
pi = 3.1415926
print("圓周率為:{:.2f}".format(pi))
輸出:
圓周率為:3.14
使用 f 字串:
print(f"圓周率為:{pi:.2f}")
實際應用示例
打印九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}x{i}={i*j}", end="\t")
print()
輸出:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
進度條效果
import time
for i in range(1, 101):
print(f"\r加載中:{i}%", end="", flush=True)
time.sleep(0.05)
print("\n加載完成!")
輸出:
加載中:100%
加載完成!
常見錯誤與注意事項
忘記小括號(適用於 Python 3)
錯誤示例:
print "Hello, World!" # Python 2 的語法,Python 3 中會報錯
錯誤訊息:
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello, World!")?
解決方案:
- 在 Python 3 中,
print
是一個函數,必須使用小括號:
print("Hello, World!")
使用 +
拼接不同類型的對象
錯誤示例:
name = "小明"
age = 20
print("姓名:" + name + ",年齡:" + age) # age 是整數,無法與字串拼接
錯誤訊息:
TypeError: can only concatenate str (not "int") to str
解決方案:
- 將整數轉換為字串:
print("姓名:" + name + ",年齡:" + str(age))
- 或者使用逗號分隔,
print()
會自動轉換類型:
print("姓名:", name, ",年齡:", age)
忘記指定 end
或 sep
時的默認值
sep
默認為空格:當使用逗號分隔多個對象時,print()
會在它們之間插入一個空格。end
默認為換行符:print()
在輸出結束時會自動換行。
print()
函數的高級用法
自定義輸出到文件
示例:
with open("output.txt", "w", encoding="utf-8") as f:
print("這是輸出到文件的內容。", file=f)
解釋:
- 使用
with open()
打開文件,print()
的file
參數指定為文件對象。
在同一行連續輸出
示例:
for i in range(5):
print(i, end=" ")
輸出:
0 1 2 3 4
控制輸出格式(對齊、填充等)
示例:
for i in range(1, 6):
print(f"編號:{i:0>3}") # 編號使用 3 位數字,左側填充 0
輸出:
編號:001
編號:002
編號:003
編號:004
編號:005
總結
print()
函數 是 Python 中最基本的輸出函數,用於將指定內容輸出到控制台或其他目標。- 靈活性:支持多個參數,並可通過
sep
、end
、file
、flush
等參數自定義輸出格式和行為。 - 格式化輸出:使用
str.format()
或 f 字串,可以方便地格式化輸出內容。 - 注意事項:在 Python 3 中,
print
是函數,需要使用小括號;注意不同類型對象的拼接問題。