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代表整...