【发布时间】:2023-04-04 03:42:02
【问题描述】:
是否可以在 Python 中使用%
运算符以自己特定的方式格式化一个类?我对格式字符串类似于%3z
的情况感兴趣(不仅仅是%s
或%r
,它们由__str__()
和__repr__()
方法处理)。换一种说法:Python 2.6+ 允许类定义 __format__()
方法:%
运算符是否有等价物?
我试图定义 __rmod()__
方法,希望 str.__mod__()
会返回 NotImplemented
并且 __rmod()__
会被调用,但 "%3z" % …
会返回 ValueError: unsupported format character 'z'
而不是......
【问题讨论】:
-
我很确定这不可能。您有什么理由避免使用格式?
-
有一个原因:格式将应用于我的不确定性包的不确定性数字,它适用于所有版本的 Python从 2.3 开始(版本 2.3 到 2.5只有
%
而不是format()
)。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:可以在 Python 中通过 % 运算符进行自定义格式化吗? - Python技术站