python 的print 用法


print(x,y)

等價於

import sys

sys.stdout.write(str(x) + ' ' +str(y) + '\n')

 

 

 

 

從語法上講,調用python3.0 的print 函數有如下的形式:

print([object,...][,seq=' '][,end='\n'][,file=sys.stdout])

 

 

seq  是在每個對象的文本之間插入一個字符串,如果沒有樁底的話,它默認是一個單個空格,傳遞一個空字符串將會一直分隔符

end 是添加在打印文本末尾的一個字符串,如果滅有傳遞的話,它默認的是一個\n 換行字符。傳遞一個控制符串將會避免在打印的文本的末尾移動到下一個輸入行-----下一個print 將會保持添加到當前輸出行的末尾。

file 指定了文本將要發送到的文件、標准流或者其他類似文件的對象;如果沒有傳遞的話,它默認的是sys.stdout。帶有一個類似文件的write(string)方法的任何對象都可以傳遞,但真正的文件應該已經為了輸出而打開。

 

例子:

import sys 
x = 'spam'
y = '99'
z = ['eggs']
print('first')
print(x,y,z)

print('second sep')
print(x,y,z,sep='....')
print('third end')
print(x,y,z,end='\n');print(x,y,z)
print('foured end','')
print(x,y,z,end=',');print(x,y,z)
print('fived file')
print(x,y,z,sep='...',file=open('data.txt','w'))
print(open('data.txt').read())

 

結果

first
spam 99 ['eggs']
second sep
spam....99....['eggs']
third end
spam 99 ['eggs']
spam 99 ['eggs']
foured end 
spam 99 ['eggs'],spam 99 ['eggs']
fived file
spam...99...['eggs']

 

重定向輸出流

 

sys.stdout = open('log.txt','a')
print(x,y,z)

舉例

import sys
temp = sys.stdout
sys.stdout = open('log.txt','a')
print('spam')
print(1,2,3)
sys.stdout.close()
sys.stdout = temp

print('back here')
print(open('log.txt').read())

輸出:

back here
spam
1 2 3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM