したがって、イテレータが何であるかを知っていると、次のことが可能であるため、文字列は反復可能なオブジェクトであると想定します。
for c in str:
print c
私はサブクラス化str
してオーバーライド__hash__
しています__eq__
。で__hash__
、次のように文字列を反復処理しようとしています。
for c in self.__str__:
ただし、次のエラーが返されますTypeError: 'method-wrapper' object is not iterable
。これは、それ__str__
が反復可能ではないことを意味します。文字列の反復可能なバージョンを取得するにはどうすればよいですか?Pythonである種のstr
オブジェクトAPIを調べてみましたが、Pythonのドキュメントには文字列の使用方法しか示されておらず、内部が何であるか、どのオブジェクトstr
が反復可能であるかは示されていません。
文字列オブジェクト内で、サブクラス化された文字列を反復処理するにはどうすればよいですか?