(だから私はPythonを学ぼうとしています。私よりも人がコードを読むのが良いと思いました。私は電子メールモジュールを読むことにしました...)
initモジュール内のFeedparserクラスの関数は、次のemail.feedparserように定義されています。
def __init__(self, _factory=message.Message):
"""_factory is called with no arguments to create a new message obj"""
self._factory = _factory
self._input = BufferedSubFile()
self._msgstack = []
self._parse = self._parsegen().next
self._cur = None
self._last = None
self._headersonly = False
私が問題を抱えている行は次のとおりです。
self._parse = self._parsegen().next
これは、'メソッドの戻り値の属性のself._parse値に属性を設定することを意味すると思いますnextself._parsegen()
私の知る限り、self._parsgen()中に呼び出されると、__init__()最初に呼び出され、、、、およびself._new_message()に値が設定/追加されます。次に、空のリストオブジェクトをローカル変数に割り当て、オブジェクトの反復を開始します。の最初の値はオブジェクトになると思います。クラスはオブジェクトを拡張するだけなので、 。という名前の属性やメソッドはありません。では、イテレータ()を参照するだけですか?self._curself._lastself._msgstackheadersself._inputlineNeedMoreDataNeedMoreDatanextnextself._input
スクリプトの各行をステップスルーできるように、インタープリターでこれを確認する方法はありますか?