我对“in”的实现感到好奇(__contains__
?) python 中的运算符由于这个问题 https://stackoverflow.com/questions/9089400/python-set-in-operator-uses-equality-or-identity。我下载了源代码并尝试通过 grep、浏览等方式找到它的一些基本定义,但没有成功。有人可以告诉我一种找到它的方法吗?
当然,找到这种东西的通用方法是最好的,这样像我这样的人下次就可以学会钓鱼了。
我使用的是 2.7,但如果 3.x 的过程完全不同,那么同时使用这两种技术就好了。
我认为实施开始于PySequence_Contains
in Objects/abstract.c https://hg.python.org/cpython/file/v2.7.9/Objects/abstract.c#l2377。我通过查看实现发现了它operator.contains https://docs.python.org/2/library/operator.html#operator.contains in Modules/operator.c https://hg.python.org/cpython/file/v2.7.9/Modules/operator.c#l125,它包装了 Python 函数中的所有本机运算符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)