回答編集履歴

2

Add third expression

2020/07/16 02:57

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -1,3 +1,7 @@
1
+ ## 元の回答
2
+
3
+
4
+
1
5
  `for 文`のふるまいについて、こちらのドキュメントを参照すると良いかもしれません:
2
6
 
3
7
  [8. 複合文 (compound statement) — Python 3.8.4 ドキュメント](https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement)
@@ -69,3 +73,47 @@
69
73
  ドキュメントが日本語訳されたときに
70
74
 
71
75
  カタカナに変換されてしまっているため、わかりにくくなっています
76
+
77
+
78
+
79
+ ## 追記
80
+
81
+
82
+
83
+ > イテラブルオブジェクトには、要素を反復して取り出せるイテレータが付与されている。
84
+
85
+ > この解釈は、合っていますでしょうか。
86
+
87
+
88
+
89
+ 「要素を反復して取り出せるイテレータ」
90
+
91
+ この部分は正しいです
92
+
93
+
94
+
95
+ 「イテラブルオブジェクトには、イテレータが付与されている」
96
+
97
+ 付与されているとは限りません
98
+
99
+
100
+
101
+ イテラブルオブジェクトとイテレーターの関係については
102
+
103
+ 次の記述が参考になるでしょう
104
+
105
+
106
+
107
+ [用語集 — Python 3.8.4 ドキュメント](https://docs.python.org/ja/3/glossary.html#term-iterable)
108
+
109
+ > iterable
110
+
111
+ > (list, str, tuple といった) 全てのシーケンス型や、 dict や ファイルオブジェクト といった幾つかの非シーケンス型、 あるいは Sequence 意味論を実装した __iter__() メソッドか __getitem__() メソッドを持つ任意のクラス
112
+
113
+
114
+
115
+ また、
116
+
117
+
118
+
119
+ > 組み込み関数 iter() の引数として渡すと、 オブジェクトに対するイテレータを返します

1

Add expression

2020/07/16 02:57

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -29,3 +29,43 @@
29
29
  > (シーケンスが空であったり、イテレータが StopIteration 例外を送出したときは、即座に)、
30
30
 
31
31
  > else 節があればそれが実行され、ループは終了します。
32
+
33
+
34
+
35
+ リンク先の説明で分かりにくい表現がいくつかりますので補足します
36
+
37
+
38
+
39
+ ## イテラブルオブジェクト
40
+
41
+
42
+
43
+ くり返し可能なオブジェクトのことで、
44
+
45
+ `list`, `dict` などが該当します
46
+
47
+ [用語集 — Python 3.8.4 ドキュメント](https://docs.python.org/ja/3/glossary.html#term-iterable)
48
+
49
+
50
+
51
+ ## イテレーター
52
+
53
+
54
+
55
+ 実際にくり返しを行うためのオブジェクトです
56
+
57
+ [用語集 — Python 3.8.4 ドキュメント](https://docs.python.org/ja/3/glossary.html#term-iterator)
58
+
59
+ [組み込み型 — Python 3.8.4 ドキュメント](https://docs.python.org/ja/3/library/stdtypes.html#typeiter)
60
+
61
+
62
+
63
+ ## スイート
64
+
65
+
66
+
67
+ これは上記の `for 文`の構造の説明の中の `suite` の部分を示しています
68
+
69
+ ドキュメントが日本語訳されたときに
70
+
71
+ カタカナに変換されてしまっているため、わかりにくくなっています