python中的自定义格式规范

python中的自定义格式规范,python,format,specifications,Python,Format,Specifications,在python中,如何将自定义格式规范添加到类中?例如,如果我写一个矩阵类,我想 定义一个“%M”或类似的,然后将转储矩阵的全部内容 谢谢定义unicode和/或方法将允许您随意使用现有的%s和%r格式说明符。我认为不可能为打印定义新的格式说明符。您可以向类中添加一个方法来设置所使用的格式,并定义该类的str方法以根据设置方式调整其输出。然后,主print语句仍将使用“%s”说明符,并调用您的自定义str。如果您真的想使用自定义说明符,则不能以与Python语言和标准库的其余部分兼容的方式执行此

在python中,如何将自定义格式规范添加到类中?例如,如果我写一个矩阵类,我想 定义一个“%M”或类似的,然后将转储矩阵的全部内容


谢谢定义

unicode和/或

方法将允许您随意使用现有的%s和%r格式说明符。

我认为不可能为打印定义新的格式说明符。您可以向类中添加一个方法来设置所使用的格式,并定义该类的str方法以根据设置方式调整其输出。然后,主print语句仍将使用“%s”说明符,并调用您的自定义str。

如果您真的想使用自定义说明符,则不能以与Python语言和标准库的其余部分兼容的方式执行此操作。利用Python已经提供的%s和%r,并通过覆盖_str或_repr来定制它以满足您的需要__


是的,我知道。我想定义一些不同的东西。基本上类似于可变C函数…@anupam:给我们一个例子,说明您打算如何在矩阵类中使用%M?通常的解决方案是在格式中使用%s并重写类\uuuu str\uuu。为什么不做其他人都做的简单的事情呢?
class Matrix(object):
    def __str__(self):
        return convert_to_pretty_matrix_string(self)
    def __repr__(self):
        return convert_to_textual_matrix_format(self)