(我确定这是一个FAQ,但也很难google)
为什么Python使用abs(x)而不是x.abs?
据我所知,abs()除了调用之外x.__abs__还可以在object.abs()中实现
它是历史的吗,因为根本不存在根类?
Ric*_*dle 13
Guido van Rossum的官方回答以及Fredrik Lundh的补充解释如下:http://effbot.org/pyfaq/why-does-python-use-methods-for-some-functionality-eg-list-index-但函数换其他-EG-LEN-list.htm
简而言之:
对于大多数此类操作,abs(x)比x.abs()更自然地读取
你知道abs(x)得到一个绝对值,而x.abs()方法可能意味着取决于x的类别.