

Pythonの勉強を始めた初心者です。Pythonのfor文ではinの後ろにはiterableオブジェクトを書けとの説明があります。しかしiterableではないset型がinの後ろに書けてしまいます。またfrozensetを生成するfrozen関数も引数はiterableとなっているのにset型でも生成できてしまいます。どのように考えたらよいのでしょうか。


CC BY-SA 4.0
2019-02-28T06:23:33.840
53089
2019-02-28T06:46:53.427
22781
question
python
Pythonのiterable


`set`型、及び`frozenset`型は`iterable`です。以下のコードでTrueを表示するようなオブジェクトは`iterable`であるといえます。

[code]

    s = set()
    try:
        iterator = iter(s)
        print(True)
    except TypeError as e:
        print(False)
    
[/code]

`iterable` について [用語集 — Python 3.7.2
ドキュメント](https://docs.python.org/ja/3/glossary.html#term-iterable)  
`iter`について [組み込み関数 — Python 3.7.2
ドキュメント](https://docs.python.org/ja/3/library/functions.html#iter)


CC BY-SA 4.0
2019-02-28T06:40:20.710
53091
2019-02-28T06:46:53.427
2019-02-28T06:46:53.427
29826
29826
53089
answer