Python 3.6 では、このタプル サンプルに問題はありません。
# tpl is a tuple. Each entry consists of a tuple with two entries. The first
# of those is a tuple of two strings. The second one is a tuple of tuples with
# three strings.
tpl = (
(('a', 'b'), (('1', '2', '3'), ('4', '5', '6'))),
(('c', 'd'), (('7', '8', '9'),)),
)
for first_tuple, second_tuple in tpl:
str1, str2 = first_tuple
print(str1, str2)
for str1, str2, str3 in second_tuple:
print(' ', str1, str2, str3)
print()
出力:
a b
1 2 3
4 5 6
c d
7 8 9
しかし、mypy 0.511 は混乱しているようで、エラーが報告されます。
ttpl.py:13: error: Iterable expected
ttpl.py:13: error: "object" has no attribute "__iter__"; maybe "__str__"?
mypy が何が起こっているのかを理解できるようにするにはどうすればよいですか?