在Python2.7中,str.format()接受非字符串参数,并在格式化输出之前调用值的__str__方法: def __str__(self):: 'None ' in python 2.7 and TypeError in python3
'{0: <5}'.format([]) # output: '[] ' in python 2.7and Typ
字符串格式的%运算符描述为。通常,当出现一个没有转换说明符的字符串时,它会引发一个TypeError: not all arguments converted during string formatting。但有时,如果%操作符右侧的参数是空的:"" % []、"" % {}或"" % ()将静默地返回空字符串,那么它不会失败,而且看起来很公平。与"%s"相同,而不是空字符串,将空对象转换为字符串,除了最后
我试图在python中实现一个值的模数,但据我所知,它将模数解释为字符串格式化常量时,我遇到了错误。我最初的猜测是类型强制转换,但随后它挂起了。现在,当我运行这段代码时,我得到: TypeError: not all arguments在字符串格式化期间在第二行。我对python不是很熟练,我猜我错过了一些简单的东西,但是什么呢?