、メソッド (およびおよびも同様)を.defines し、キーが文字列である辞書のように動作するクラスがあります。__getitem____setitem__keysitems
ただし、inオペレーターは期待どおりに動作しません。
>>> myObject=MyClass()
>>> 'abc' in myObject.keys()
False
>>> 'abc' in myObject
ArgumentError: Python argument types in
MyClass.__getitem__(MyClass, int)
did not match the C++ signature:
__getitem__(MyClass {lvalue}, std::string)
キーを使用する__getitem__と、 python が で呼び出そうとするのはなぜですか?intstr