python中如何使用print函式?

2021-10-11 09:29:39 字數 1896 閱讀 9189

python中print語句

1.逗號分隔符

在python中print語句可根據sys.stdout中包含的檔案生成輸出,它接受乙個逗號分隔的物件表,如下例項:

x =

1y =

2z =

3print

("the values are"

, x, y, z)

#列印結果為 the values are 1 2 3

在上述例項中,對於每個物件,將呼叫str()函式來生成輸出字串。這些輸出字串會連線在一起,彼此之間用乙個空格分開,從而得到最終的輸出字串。輸出通過乙個換行符終止。

2.格式化輸出

要生成格式化輸出,可以使用字串格式運算子 % 或 .format()方法。

x =

1y =

2z =

3print

("the values are %d %7.5f %s"

%(x, y, z)

)

3.更改print語句的目標

更改print語句的目標,也就是重定向。方法是新增特殊的 >>file修飾符和乙個逗號,其中file是乙個允許寫入的檔案物件

f =

open

("file_path"

,'w'

)print

>>f,

"hello world"

#這是python2中的用法,在python3的具體方法請看下文..

.f.close(

)

4.print()函式

python3中最重要的更改之一就是將print轉變為函式,在python2中他是乙個關鍵字

其用法與python2中的大致相同,但是一些細枝末節還是有區別的,下文就簡述這三種。

print

("the values are"

,x, y, z, end ='')

#禁止換行符

print

("the values are"

,x, y, z,

file

= f)

#重定向到檔案物件f

print

("the values are"

,x, y, z, sep =

',')

#在值之間新增逗號

5.文字輸出中的變數插入

生成輸出時乙個常見的問題是,生成其中包含了嵌入式變數替換的大型文字片段。比如shell指令碼就支援 $name這樣的變數插入。在python中無法實現這一功能。但是可以通過將格式化i/o與引導的字串來模仿這種行為。

form =

"""\

dear %(name)s,

please send back my %(item)s or pay me $%(amount)0.2f.

sincerely yours,

joe python user

"""print

(form %

)

這段**輸出

dear mr.bush,

please send back my blender or pay me $50.00

. sincerely yours,

joe python user

6.生成輸出

直接處理檔案是我們最熟悉的i/o模型。生成器函式也可以用於乙個資料片段序列的形式輸出i/o流,為此只需要使用yield語句,就像使用write()或print()語句一樣,這樣做的好處就是在處理某一段非常龐大的資料時,就不需要將所有的內容都讀到記憶體中,可以顯著減少記憶體的使用。

Linux和Windows下使用printf的差別

1.linux系統下 一般而言,大家都知道printf是帶有行緩衝的函式,printf把列印的訊息先輸出到行緩衝區,在以下幾種情況下 1.程式結束時呼叫exit 0 return 2.遇到回車 n,3.呼叫fflush函式 4.緩衝區滿。會自動重新整理緩衝區,緩衝區的內容顯示到標準輸出上。比如在li...

servlet中write方法和print方法區別

在一次用servlet製作網頁的過程中,在網頁輸出從資料庫查詢到的內容時用了write方法來輸出資料庫返回的int型別的值,結果網頁輸出了乙個空白方框,不顯示任何有效字元 後面又嘗試了一下print方法竟然可以正常顯示。於是我就想通過搜尋引擎查詢一下原因,都說是因為使用write沒有換行,於是我試了...

如何使用可變長引數的函式實現乙個print函式

print 的第乙個引數指定後續各引數的型別,第二個引數開始指定需要輸出的值。例如 print sscddd hello world 2018,4,21 在這個例子中,通過第乙個引數 sscddd 制定後續的引數型別為 字串,字串,字元,int,int,int 在這裡s代表字串,c代表字元,d代表整...