<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
print函數是Python的內建函數,它會將物件的__repr__特殊函數返回的字串列印輸出。
預設情況下,print函數呼叫底層的sys.stdout.write函數,即往控制檯列印字串。
print(*args, sep=' ', end='n', file=None)
名稱 | 說明 | 備註 |
---|---|---|
args | 任意型別、任意數量的引數。 | 可省略的引數 |
sep | 當args中包含多個物件時,中間的分隔符。預設情況下是一個空格。 | 可省略的關鍵字引數 |
end | 在args中最後一個值後附加的字串,預設為換行符。 | 可省略的關鍵字引數 |
file | 類檔案物件(流)。預設為當前sys.stdout。 | 可省略的關鍵字引數 |
常見的Python內建型別使用print函數列印如下所示:
if __name__ == '__main__': # str print("Python") # output: python # bool print(True) print(False) # outputs: # True # False # list print(['A', "B", "Java", True]) # output: ['A', 'B', 'Java', True] # tuple print(("Apple", "Orange", "Banana")) # output: ('Apple', 'Orange', 'Banana') # dict print({"version.BuildInfo": {"Version": "v3.6.0", "GoVersion": "go1.16.4"}}) # output: {'version.BuildInfo': {'Version': 'v3.6.0', 'GoVersion': 'go1.16.4'}} # set print({1, 3, 5, 7, 9}) # output: {1, 3, 5, 7, 9}
可並不是所有的型別在print輸出中都顯得那麼通俗易懂。大部分型別在經過print輸出時顯得有些晦澀----它輸出一個字串,包含一個十六進位制數表示物件的記憶體地址。
from collections import OrderedDict def fun(): return "fun" if __name__ == '__main__': r = OrderedDict() print(r) # output: OrderedDict() print(fun) # output: <function fun at 0x104d1f0d0>
可選的sep關鍵字引數用來指定分隔符。預設情況下sep是一個空格,即使用print列印多個物件時,物件和物件之間用一個空格來做分隔。我們可以通過傳入關鍵字引數sep來客製化自己的分隔符:
if __name__ == '__main__': print("A", "B", "C") # output: A B C print("A", "B", "C", sep="#") # output: A#B#C
認為print函數只是列印到標準輸出(STDOUT)是一種錯誤的看法。print函數同樣可以將內容列印到檔案中(功能類似於write函數)。通過關鍵字引數file來指定一個檔案,用來將內容輸出到檔案中。
下面的程式碼將建立一個名為oops.txt的檔案,並使用print函數將字串"Oops, I create a file"寫入到該檔案中:
if __name__ == '__main__': new_file = open("oops.txt", "w") print("Oops, I create a file.", file=new_file) new_file.close()
可選的end引數可以指定結尾字串,預設情況下是一個換行符“n”,這也是為什麼預設情況下我們使用print函數總是在列印完物件後換行的原因。
我們可以顯式傳入引數來客製化自己的結尾字串,常用在取消print預設換行的場景中:
if __name__ == '__main__': for i in range(10): print(i, end="") # output: 0123456789
print函數中列印每個物件所顯示的內容,其實是呼叫了該物件的__repr__方法。
__repr__方法返回一個字串,該字串就是print函數列印該物件所顯示的內容。
由於__repr__是object類中的方法,因此任何物件都有__repr__的預設實現。
我們可以通過重寫__repr__方法來客製化我們自己的列印輸出:
class Demo(object): def __repr__(self): return "I am a Demo object." if __name__ == '__main__': d = Demo() print(d) # output: I am a Demo object.
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45