網站首頁 編程語言 正文
描述
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來指定一個文件,用來將內容輸出到文件中。
下面的代碼將創(chuàng)建一個名為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__
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.
原文鏈接:https://blog.csdn.net/TCatTime/article/details/83450692
相關推薦
- 2022-08-11 如何利用python繪制等高線圖_python
- 2022-11-22 Golang自旋鎖的相關介紹_Golang
- 2023-01-30 React合成事件及Test?Utilities在Facebook內部進行測試_React
- 2023-01-14 詳解Go語言如何進行Http調用_Golang
- 2022-09-26 go語言標準庫fmt包的一鍵入門_Golang
- 2023-06-18 C#最小二乘法擬合曲線成直線的實例_C#教程
- 2022-12-05 Flutter控制組件顯示和隱藏三種方式詳解_Android
- 2022-09-20 Flink實踐Savepoint使用示例詳解_服務器其它
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支