在调用
时使用模数函数的字符串格式化是否会发生某些事情 StringOperand % TupleOperand
或
StringOperand % DictionaryOperand
或者它只是字符串格式化函数的任意使用%?
我猜测字符串格式化操作符不是对模块化算术的调用,如下所示:
tuple = (1,2,3)
print '%d %d %d'%tuple
打印:1 2 3,但
print '%d %d %d %d'%tuple
返回TypeError:格式为str
的args不够答案 0 :(得分:3)
这是operator overloading。您所谈论的是语言内置,但您可以自己重载方法。例如,+
方法在python中装饰的重载__add__
运算符:
class YourMath(object):
def __init__(self, param):
self.param = param
def __add__(self, x):
return int(str(self.param) + str(x.param)) # concatenation
x = YourMath(5)
y = YourMath(4)
+
将连接而不是总结。
在这种情况下,x+y
的结果为54
。