(だから私は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
値に属性を設定することを意味すると思いますnext
self._parsegen()
私の知る限り、self._parsgen()
中に呼び出されると、__init__()
最初に呼び出され、、、、およびself._new_message()
に値が設定/追加されます。次に、空のリストオブジェクトをローカル変数に割り当て、オブジェクトの反復を開始します。の最初の値はオブジェクトになると思います。クラスはオブジェクトを拡張するだけなので、 。という名前の属性やメソッドはありません。では、イテレータ()を参照するだけですか?self._cur
self._last
self._msgstack
headers
self._input
line
NeedMoreData
NeedMoreData
next
next
self._input
スクリプトの各行をステップスルーできるように、インタープリターでこれを確認する方法はありますか?