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

