python方法前面的减号



我一直在阅读ocstyle源代码,遇到了前面有"-"的方法。这是一个的例子

@rule(modifier[...] + (sizedCType | anyIdentifier) + -implementedProtocols +
      (Present(Regex(r'[(),<>:]')) | sp(1)) + Literal('*')[...])

有时,方法在返回之前的方法调用之前有一个"-"。有没有人能确定这是什么名字,或者给我指其他资源?我试着找了一下,得出的结论是这里是我最好的选择。

在python中,您可以为许多一元运算符定义一个神奇的函数。您给出的示例中的一个通常由__neg__(self)定义。我建议搜索源代码以查看该函数在您的示例中的作用。

作为参考,这里有一个"神奇功能"列表。

implementedProtocols所属的任何类型都为否定运算符定义自己的语义。您必须查看文档或源代码才能弄清楚这些语义是什么。

最新更新