>>> format(sys.stdout)
"<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>"
>>> str(sys.stdout)
"<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>"
Run Code Online (Sandbox Code Playgroud)
我不太确定以下来自 Python 库引用的引用。format()
和之间str()
,或object.__format__(self, format_spec)
和之间有什么区别object.__str__(self )
?我们什么时候使用哪个?
object.__str__(self )
由 str(object) 和内置函数 format() 和 print() 调用以计算对象的“非正式”或可很好打印的字符串表示。
object.__format__(self, format_spec)
由 format() 内置函数调用,并通过扩展调用格式化字符串文字和 str.format() 方法,以生成对象的“格式化”字符串表示。