python3的print函式以及重定向
阿新 • • 發佈:2018-12-11
首先介紹一下print函式: print([object1, object2, object3, …] [,sep=’ ‘] [end=’\n’] [file = sys.stdout]) 也就是對於print所有的引數都是可選的,如果沒有引數,print會列印一個換行符到標準輸出
引數解釋: object是要列印的物件,多個列印物件用逗號隔開 sep ->對於多個列印物件,之間用sep隔開,預設值一個空格 end ->列印末尾自動新增的,預設值是換行符 file ->列印的輸出位置,預設值是標準輸出,還可以是一個檔案控制代碼。這樣列印直接就進了檔案中
以上都比較好理解,接下來說print和sys.stdout的關係: sys.stdout.write(‘hello world’)這個也會在標準輸出實現,其實吧!print就是python為你封裝了一個sys.stdout.write的更好用的版本,怎麼說呢? 例子: print(1,2) ==>sys.stdout.write(str(1) + ’ ’ + str(2) + ‘\n’) 也就是說,print會自動呼叫str內建函式,將列印字元字串化(sys.stdout.write()只能列印字串)
也就是相對於sys.stdout.write()來說,print對(1)自動將列印物件字串化,(2)在多個物件之間新增分隔符,(3)在末尾新增結束符