python方法之前的减号

时间:2013-08-14 18:35:48

标签: python python-2.7 python-3.x

我一直在阅读ocstyle源代码,然后我遇到了在它们之前有' - '的方法。 这是一个例子

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

有些方法在返回之前方法调用之前有一个' - '。是否有人可以识别这个被称为什么或指向我其他资源?我已经尝试过寻找它并得出结论,这将是我最好的选择。

2 个答案:

答案 0 :(得分:2)

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

作为参考,有一个“魔术函数”列表here

答案 1 :(得分:0)

implementedProtocols所属的类型定义了自己的否定运算符的语义。您必须查看文档或源代码以确定这些语义是什么。