我有一个包含 , 方法(以及和)的类.def
,__getitem__
其__setitem__
行为keys
类似于items
字典,其中键是字符串。
但是,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)
当我使用密钥时,为什么 python 试图用 调用__getitem__
?int
str