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)

忘記指定 endsep 時的默認值

  • 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 中最基本的輸出函數,用於將指定內容輸出到控制台或其他目標。
  • 靈活性:支持多個參數,並可通過 sependfileflush 等參數自定義輸出格式和行為。
  • 格式化輸出:使用 str.format() 或 f 字串,可以方便地格式化輸出內容。
  • 注意事項:在 Python 3 中,print 是函數,需要使用小括號;注意不同類型對象的拼接問題。

延伸閱讀

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *