Python?print()函數(shù)的用法舉例詳講
前言
在 Python 編程中,print()函數(shù)是最基礎、最常用的輸出工具,無論是調試代碼、查看變量值,還是展示程序結果,都離不開它。但很多初學者只掌握了print("Hello World")這種簡單用法,卻不知道它還有諸多靈活的參數(shù)和實用技巧。本文將從基礎到進階,全面拆解print()函數(shù)的用法,結合實例幫你徹底掌握!
一、print () 函數(shù)核心作用
print()函數(shù)的核心功能是將指定內容輸出到控制臺(默認)或其他指定位置(如文件),是 Python 中用于 “信息展示” 的核心工具。
二、基礎用法:直接輸出單個內容
最簡潔的用法的是直接輸出單個字符串、數(shù)字、變量等。
語法格式:
print(輸出內容)
示例 1:輸出字符串
單引號 / 雙引號 / 三引號均可
# 單引號、雙引號無區(qū)別
print("Hello Python!") # 輸出:Hello Python!
print('Python 入門教程') # 輸出:Python 入門教程
# 三引號支持多行字符串
print("""這是第一行
這是第二行
這是多行字符串輸出""")
示例 2:輸出數(shù)字、變量或表達式結果
# 輸出數(shù)字 print(123) # 輸出:123 print(3.14159) # 輸出:3.14159 # 輸出變量 name = "CSDN博主" print(name) # 輸出:CSDN博主 # 輸出表達式結果 a = 10 b = 20 print(a + b) # 輸出:30(直接計算表達式并輸出結果)
三、關鍵特性:多參數(shù)輸出與字符串自動拼接
print()函數(shù)支持同時傳入多個參數(shù)(用逗號分隔),也支持相鄰字符串字面量自動拼接,這是初學者容易混淆但非常實用的特性。
1. 多參數(shù)輸出:默認空格分隔
當print()傳入多個參數(shù)時,參數(shù)之間會默認用空格分隔,無需手動添加空格。
示例:
# 多字符串參數(shù)
print("哈", "基", "米") # 輸出:哈 基 米(默認空格分隔)
# 混合類型參數(shù)(字符串+變量+數(shù)字)
name = "小明"
age = 20
print("姓名:", name, "年齡:", age) # 輸出:姓名: 小明 年齡: 20
2. 字符串自動拼接:相鄰字面量無需加號
如果直接將多個字符串字面量(用引號包裹的內容)相鄰寫在print()中,無需使用+號,Python 會自動將它們拼接成一個字符串。
示例:
# 單引號、雙引號混合相鄰,自動拼接
print("123""456"'789') # 輸出:123456789(無分隔符,直接拼接)
# 注意:變量不能直接相鄰拼接,會報錯!
str1 = "abc"
str2 = "def"
# print(str1 str2) # 報錯:SyntaxError(變量必須用+號或逗號連接)
print(str1 + str2) # 正確:輸出abcdef(用+號拼接變量)
兩者區(qū)別總結:
| 用法 | 示例 | 輸出結果 | 核心區(qū)別 |
|---|---|---|---|
| 多參數(shù)(逗號分隔) | print("a", "b", 123) | a b 123 | 不同類型參數(shù)可混傳,默認空格分隔 |
| 字符串自動拼接 | print("a""b""123") | ab123 | 僅支持字符串字面量,無分隔符直接拼接 |
四、自定義分隔符:sep 參數(shù)
默認情況下,多參數(shù)輸出用空格分隔,但print()的sep參數(shù)允許我們自定義分隔符(如逗號、橫線、波浪線等),sep 參數(shù)必須放在所有位置參數(shù)之后。
語法格式:
print(參數(shù)1, 參數(shù)2, 參數(shù)3, ..., sep="自定義分隔符")
示例:
# 用波浪線分隔
print("南", "北", "綠", "豆", sep="~") # 輸出:南~北~綠~豆
# 用逗號+空格分隔(模擬CSV格式)
print("姓名", "年齡", "城市", sep=", ") # 輸出:姓名, 年齡, 城市
# 用空字符串分隔(等同于字符串拼接,但支持多類型參數(shù))
print("Hello", "Python", sep="") # 輸出:HelloPython
# 用橫線分隔
print("2025", "11", "29", sep="-") # 輸出:2025-11-29
注意事項:
sep只能接收字符串類型的值,不能是數(shù)字(如sep=123會報錯);sep必須放在最后一個位置參數(shù)之后(比如print(a, b, sep="~")正確,print(sep="~", a, b)報錯)。
五、控制結尾字符:end 參數(shù)
默認情況下,每個print()函數(shù)執(zhí)行后都會自動換行(結尾添加\n換行符),但end參數(shù)允許我們自定義結尾字符,實現(xiàn) “不換行輸出” 或 “自定義結尾符號”。
語法格式:
print(輸出內容, end="自定義結尾字符")
示例:
# 1. 自定義結尾為冒號(替代默認換行)
print("我是", end=":")
print("奶龍") # 輸出:我是:奶龍(兩行輸出合并為一行)
# 2. 結尾添加空格(多print輸出不換行且空格分隔)
print("Python", end=" ")
print("Java", end=" ")
print("C++") # 輸出:Python Java C++
# 3. 結尾添加換行符(默認行為,可顯式指定)
print("第一行", end="\n")
print("第二行") # 輸出:
# 第一行
# 第二行
# 4. 結尾添加特殊符號
print("加載中", end="...")
print("完成") # 輸出:加載中...完成
六、字符串中插入變量
1、格式化:str.format() 方法
str.format() 格式化方法,用 { } 作為占位符,通過 .format() 填充,支持多種參數(shù)格式。
基礎用法:
name = "Bob"
age = 20
print("My name is {}, and I am {} years old.".format(name,age))
# My name is Bob, and I am 20 years old.進階用法:
位置參數(shù):{0} 、{1} 指定順序
print("My name is {1}, and I am {0} years old.".format(20,"Bob"))
# My name is Bob, and I am 20 years old.
關鍵字參數(shù):{name}、{age} 直接使用變量名
print("My name is {name}, and I am {age} years old.".format(name="Charlie", age=35))
# My name is Charlie, and I am 35 years old.格式化數(shù)值:控制小數(shù)位數(shù)
格式語法:{數(shù)值:.nf}(n 是要保留的小數(shù)位數(shù),f 表示浮點數(shù)格式),自動四舍五入,不足位數(shù)補 0,多余位數(shù)截斷(四舍五入規(guī)則)。
print("The value is {:.2f}".format(3.14159)) # 保留兩位小數(shù)
# 輸出:The value is 3.14
print("保留3位小數(shù)(不足補0):{:.3f}".format(5.2))
# 輸出:保留3位小數(shù)(不足補0):5.200
print("整數(shù)轉 2 位小數(shù)格式:{:.2f}".format(10))
# 輸出:整數(shù)轉 2 位小數(shù)格式:10.002、最推薦:f-string(Python 3.6+)
在字符串前加 f ,直接在 {} 里插入變量,簡潔高效,可讀性強,是Python 3.6+的官方推薦方式。
基礎用法:
name = "Eve"
age = 22
print(f"My name is {name}, and I am {age} years old.")
# My name is Eve, and I am 22 years old.格式化數(shù)值:
height = 1.724
print(f"My height is {height:.2f} meters.") # 保留兩位小數(shù)
# My height is 1.72 meters.表達式計算:
age = 22
print(f"In 5 years, I will be {age + 5} years old.")
# In 5 years, I will be 27 years old.變量名+值輸出 (調試神器)
name = "Jack"
age = 21
print(f"{name=} {age=}") # 輸出: name='Jack' age=21七、進階用法:file 與 flush 參數(shù)
除了基礎的輸出控制,print()還有兩個實用的進階參數(shù):file(指定輸出目標)和flush(強制刷新緩沖區(qū))。
1. file 參數(shù):輸出到文件(而非控制臺)
print() 函數(shù)中 file 參數(shù)默認值為 sys.stdout,將內容輸出到控制臺,但可通過 file 參數(shù)指定文件對象,將內容直接寫入文件,而不輸出在控制臺。
示例:
# 1. 打開文件(如果不存在則創(chuàng)建,存在則覆蓋)
# w 表示寫入模式(覆蓋)
with open("output.txt", "w", encoding="utf-8") as f:
# 輸出到文件 文件對象f即為output.txt文件
print("這是寫入文件的內容", file=f)
print("Python print()函數(shù)教程", file=f)
# 驗證:讀取文件內容
# r 表示只讀模式
with open("output.txt", "r", encoding="utf-8") as f:
content = f.read() # 讀取文件對象f的全部內容
print(content) # 控制臺輸出文件內容
# 這是寫入文件的內容
# Python print()函數(shù)教程
說明:
open(文件名, 打開模式, encoding="utf-8")會幫我們 “打開 / 創(chuàng)建” 一個文件,并返回一個可操作的 “文件對象”(比如用變量f接收)。file參數(shù)要求傳入的是「文件對象」,不是單純的文件名(比如不能寫file="output.txt",會報錯)。
2. flush 參數(shù):強制刷新緩沖區(qū)
在默認情況下,print()輸出會先存入緩沖區(qū),等滿足條件后再批量輸出(遇到換行符、緩沖區(qū)滿、程序結束等),這樣減少 I/O 操作次數(shù),提升程序效率。flush=True可強制立即刷新緩沖區(qū),無視默認觸發(fā)條件,立即輸出,不等待,適用于實時輸出場景(如進度條、實時日志)。
示例(默認):
import time
# 不使用flush(默認緩沖,可能一次性輸出)
print("加載中", end="")
time.sleep(2) # 暫停2秒
print("完成") # 2秒后一次性輸出:加載中完成
實際效果:
暫停 2 秒后,才一次性顯示「加載中... 完成」—— 因為 “加載中...” 被存到了緩沖區(qū),沒立刻輸出,直到第二個print()觸發(fā)了緩沖區(qū)刷新,才一起顯示。
示例(flush刷新):
import time
# 使用flush=True(強制立刻輸出)
print("加載中...", end="", flush=True) # 立刻輸出“加載中...”,不緩沖
time.sleep(2) # 暫停2秒,此時“加載中...”已經(jīng)顯示在控制臺了
print("完成")實際效果:
立刻顯示「加載中...」,暫停 2 秒后,在后面追加「完成」
注意:
flush參數(shù)是布爾值(只有True和False兩個值),不能寫flush=1或flush="True"(會報錯);不用所有場景都加
flush=True:默認緩沖是為了提升效率,只有需要 “實時輸出” 時才用,否則會增加 I/O 操作,降低程序速度;flush和end常一起用:因為end=""會取消默認的換行符\n(而\n會觸發(fā)緩沖區(qū)刷新),所以需要flush=True來強制立刻輸出。建議在終端環(huán)境中運行:直接在IDE(如PyCharm)中運行,默認情況可能與flush刷新效果一致,IDE通常會自動設置
-u標志(無緩沖模式),所以默認會立即顯示"加載中...",然后等待2秒后顯示"完成"
八、總結
print()函數(shù)看似簡單,但其靈活的參數(shù)(sep、end、file等)能滿足大部分輸出場景。
本文總結核心要點:
基礎用法:輸出字符串、數(shù)字、變量、表達式,支持多行字符串;
多參數(shù)輸出:默認空格分隔,支持混合類型;
字符串自動拼接:相鄰字面量無需 + 號,直接合并;
自定義控制:
sep改分隔符,end改結尾字符;字符串格式化:推薦的
f-string方式,直接在{}中插入變量,簡潔高效。進階用法:
file輸出到文件,flush強制實時刷新。
掌握這些用法后,你可以更靈活地使用print()函數(shù),無論是日常調試還是程序交互展示,都能游刃有余。
到此這篇關于Python print()函數(shù)的用法舉例詳講的文章就介紹到這了,更多相關Python print()函數(shù)用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
弄懂這56個Python使用技巧(輕松掌握Python高效開發(fā))
這篇文章主要介紹了弄懂這56個Python使用技巧(輕松掌握Python高效開發(fā)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-09-09
用Python復現(xiàn)二戰(zhàn)德軍enigma密碼機
大家好,本篇文章主要講的是用Python復現(xiàn)二戰(zhàn)德軍enigma密碼機,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
動感網(wǎng)頁相冊 python編寫簡單文件夾內圖片瀏覽工具
這篇文章主要為大家詳細介紹了動感網(wǎng)頁相冊的制作方法,即利用python編寫簡單文件夾內圖片瀏覽工具,感興趣的小伙伴們可以參考一下2016-08-08

