__format__ 方法如何用于 int 类型?
我看到有一个 __format__
方法,但是用 help(int.__format__
) 查找时没有找到任何帮助信息。
我还知道不应该直接调用 __method__
这种方法。那么这个方法是什么时候被调用的呢?它的参数是什么?
2 个回答
4
当你把一个整数传给format()函数时,就会用到这个东西。不过具体的细节我记不太清楚,因为我找不到它到底是什么参数的说明。(编辑:可以看看lost-theory的链接)
哦,对了,这个只在整数是唯一的参数时才有效。如果你把一个元组传给format,那么就会调用元组的__format__函数,而不是整数的__str__之类的。
'{0}'.format(4)
str(4.__format__(format_spec=''))
7
这是用来支持Python 3的新字符串格式化方式。
你可以在这里找到更多信息:
http://docs.python.org/whatsnew/2.6.html#pep-3101-advanced-string-formatting
你说得对,它并不是直接调用的。它是通过 str.format
或者新的 format
内置函数来调用的。