内部_asdict
メソッドを使用できます:
>>> import urlparse
>>> url = "http://google.com"
>>> s = urlparse.urlsplit(url)
>>> s
SplitResult(scheme='http', netloc='google.com', path='', query='', fragment='')
>>> s._asdict()
OrderedDict([('scheme', 'http'), ('netloc', 'google.com'), ('path', ''), ('query', ''), ('fragment', '')])
>>> d = s._asdict()
>>> for k,v in d.items():
... print k, repr(v)
...
scheme 'http'
netloc 'google.com'
path ''
query ''
fragment ''
コメントで提起された点を明確にするために、_
通常、パブリック インターフェイスの一部ではないメソッドを示す接頭辞 にもかかわらず、メソッドはパブリック インターフェイスです。namedtuple
ドキュメントで[リンク]が説明されているように、名前の競合を避けるためにプレフィックスが付けられています。
フィールド名との競合を避けるために、メソッド名と属性名はアンダースコアで始まります。
Python 3 では、実装が変更されたため、これははるかに簡単になりました。
>>> vars(urllib.parse.urlsplit("http://www.google.ca"))
OrderedDict([('scheme', 'http'), ('netloc', 'www.google.ca'), ('path', ''), ('query', ''), ('fragment', '')])