-
Notifications
You must be signed in to change notification settings - Fork 0
/
glossary.html
437 lines (421 loc) · 89.9 KB
/
glossary.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用語集 — Python 2.7.14 ドキュメント</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '2.7.14',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/translations.js"></script>
<script type="text/javascript" src="_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Python 2.7.14 ドキュメント 内を検索"
href="_static/opensearch.xml"/>
<link rel="author" title="このドキュメントについて" href="about.html" />
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="検索" href="search.html" />
<link rel="copyright" title="Copyright" href="copyright.html" />
<link rel="next" title="このドキュメントについて" href="about.html" />
<link rel="prev" title=""なぜ Python が私のコンピュータにインストールされているのですか?" FAQ" href="faq/installed.html" />
<link rel="shortcut icon" type="image/png" href="_static/py.png" />
<link rel="canonical" href="https://docs.python.jp/3/glossary.html" />
<script type="text/javascript" src="_static/copybutton.js"></script>
<script type="text/javascript" src="_static/_jp.js"></script>
<script type="text/javascript" src="_static/version_switch.js"></script>
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>ナビゲーション</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="総索引"
accesskey="I">索引</a></li>
<li class="right" >
<a href="py-modindex.html" title="Pythonモジュール索引"
>モジュール</a> |</li>
<li class="right" >
<a href="about.html" title="このドキュメントについて"
accesskey="N">次へ</a> |</li>
<li class="right" >
<a href="faq/installed.html" title=""なぜ Python が私のコンピュータにインストールされているのですか?" FAQ"
accesskey="P">前へ</a> |</li>
<li><img src="_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="http://www.python.jp/">Python</a> »</li>
<li>
<span class="version_switcher_placeholder">2.7.14</span>
<a href="index.html">ドキュメント</a> »
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="glossary">
<span id="id1"></span><h1>用語集<a class="headerlink" href="#glossary" title="このヘッドラインへのパーマリンク">¶</a></h1>
<dl class="glossary docutils">
<dt id="term"><code class="docutils literal"><span class="pre">>>></span></code></dt>
<dd>インタラクティブシェルにおけるデフォルトの Python プロンプトです。インタプリタでインタラクティブに実行されるコード例でよく出てきます。</dd>
<dt id="term-1"><code class="docutils literal"><span class="pre">...</span></code></dt>
<dd>The default Python prompt of the interactive shell when entering code for
an indented code block or within a pair of matching left and right
delimiters (parentheses, square brackets or curly braces).</dd>
<dt id="term-2to3">2to3</dt>
<dd><p class="first">Python 2.x のコードを Python 3.x のコードに変換するツールです。ソースコードを解析してその解析木を巡回(traverse)することで検知できる、非互換性の大部分を処理します。</p>
<p class="last">2to3 は標準ライブラリの <a class="reference internal" href="library/2to3.html#module-lib2to3" title="lib2to3: the 2to3 library"><code class="xref py py-mod docutils literal"><span class="pre">lib2to3</span></code></a> として利用できます。単体のツールとしての使えるスクリプトが <code class="file docutils literal"><span class="pre">Tools/scripts/2to3</span></code> として提供されています。 <a class="reference internal" href="library/2to3.html#to3-reference"><span class="std std-ref">2to3 - Python 2 から 3 への自動コード変換</span></a> を参照してください。</p>
</dd>
<dt id="term-abstract-base-class">abstract base class</dt>
<dd>(抽象基底クラス) <span class="xref std std-ref">abstract-base-classes</span> は <a class="reference internal" href="#term-duck-typing"><span class="xref std std-term">duck-typing</span></a> を補完するもので、 <a class="reference internal" href="library/functions.html#hasattr" title="hasattr"><code class="xref py py-func docutils literal"><span class="pre">hasattr()</span></code></a> などの別のテクニックでは不恰好になる場合に インタフェースを定義する方法を提供します。 Pythonは沢山のビルトインABCsを、(<a class="reference internal" href="library/collections.html#module-collections" title="collections: High-performance datatypes"><code class="xref py py-mod docutils literal"><span class="pre">collections</span></code></a> モジュールで)データ構造、 (<a class="reference internal" href="library/numbers.html#module-numbers" title="numbers: Numeric abstract base classes (Complex, Real, Integral, etc.)."><code class="xref py py-mod docutils literal"><span class="pre">numbers</span></code></a> モジュールで)数値型、(<a class="reference internal" href="library/io.html#module-io" title="io: Core tools for working with streams."><code class="xref py py-mod docutils literal"><span class="pre">io</span></code></a> モジュールで)ストリーム型で 提供いています。 <a class="reference internal" href="library/abc.html#module-abc" title="abc: Abstract base classes according to PEP 3119."><code class="xref py py-mod docutils literal"><span class="pre">abc</span></code></a> モジュールを利用して独自のABCを作成することもできます。</dd>
<dt id="term-argument">argument</dt>
<dd><p class="first">関数を呼び出す際に、 <a class="reference internal" href="#term-function"><span class="xref std std-term">function</span></a> (または <a class="reference internal" href="#term-method"><span class="xref std std-term">method</span></a>) に渡す値です。引数には2種類あります。</p>
<ul>
<li><p class="first"><em class="dfn">キーワード引数</em>: 関数呼び出しの際に引数の前に識別子がついたもの (例: <code class="docutils literal"><span class="pre">name=</span></code>) や、 <code class="docutils literal"><span class="pre">**</span></code> に続けた辞書の中の値として渡された引数。例えば、次の <a class="reference internal" href="library/functions.html#complex" title="complex"><code class="xref py py-func docutils literal"><span class="pre">complex()</span></code></a> の呼び出しでは、 <code class="docutils literal"><span class="pre">3</span></code> と <code class="docutils literal"><span class="pre">5</span></code> がキーワード引数です:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">complex</span><span class="p">(</span><span class="n">real</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">imag</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
<span class="nb">complex</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="s1">'real'</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s1">'imag'</span><span class="p">:</span> <span class="mi">5</span><span class="p">})</span>
</pre></div>
</div>
</li>
<li><p class="first"><em class="dfn">位置引数</em>: キーワード引数以外の引数。位置引数は引数リストの先頭に書くことができ、また <code class="docutils literal"><span class="pre">*</span></code> に続けた <a class="reference internal" href="#term-iterable"><span class="xref std std-term">iterable</span></a> の要素として渡すことができます。例えば、次の例では <code class="docutils literal"><span class="pre">3</span></code> と <code class="docutils literal"><span class="pre">5</span></code> は両方共位置引数です:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">complex</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
<span class="nb">complex</span><span class="p">(</span><span class="o">*</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
</pre></div>
</div>
</li>
</ul>
<p>実引数は関数の実体において名前付きのローカル変数に割り当てられます。割り当てを行う規則については <a class="reference internal" href="reference/expressions.html#calls"><span class="std std-ref">呼び出し (call)</span></a> を参照してください。シンタックスにおいて実引数を表すためにあらゆる式を使うことが出来ます。評価された値はローカル変数に割り当てられます。</p>
<p class="last"><a class="reference internal" href="#term-parameter"><span class="xref std std-term">仮引数</span></a>、FAQ の <a class="reference internal" href="faq/programming.html#faq-argument-vs-parameter"><span class="std std-ref">実引数と仮引数の違いは何ですか?</span></a> を参照してください。</p>
</dd>
<dt id="term-attribute">attribute</dt>
<dd>(属性) オブジェクトに関連付けられ、ドット表記式によって名前で参照される値です。例えば、オブジェクト <em>o</em> が属性 <em>a</em> を持っているとき、その属性は <em>o.a</em> で参照されます。</dd>
<dt id="term-bdfl">BDFL</dt>
<dd>慈悲深き終身独裁者 (Benevolent Dictator For Life) の略です。Python の作者、<a class="reference external" href="https://www.python.org/~guido/">Guido van Rossum</a> のことです。</dd>
<dt id="term-bytes-like-object">bytes-like object</dt>
<dd>(バイト様オブジェクト) <a class="reference internal" href="library/functions.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>、<a class="reference internal" href="library/functions.html#bytearray" title="bytearray"><code class="xref py py-class docutils literal"><span class="pre">bytearray</span></code></a> や <a class="reference internal" href="library/stdtypes.html#memoryview" title="memoryview"><code class="xref py py-class docutils literal"><span class="pre">memoryview</span></code></a> といった <a class="reference internal" href="c-api/buffer.html#bufferobjects"><span class="std std-ref">buffer protocol</span></a> をサポートするオブジェクトです。バイト様オブジェクトは圧縮、バイナリーデータの保存、ソケット経由の送信等の様々な操作に用いることが出来ます。操作によってはバイナリーデータはミューテーブルでなくてはなりませんが、その場合全てのバイト様オブジェクトを用いることが出来るわけではありません。</dd>
<dt id="term-bytecode">bytecode</dt>
<dd><p class="first">(バイトコード) Python のソースコードはバイトコードへとコンパイルされます。バイトコードは Python プログラムの CPython インタプリタ内部での表現です。バイトコードはまた、 <code class="docutils literal"><span class="pre">.pyc</span></code> や <code class="docutils literal"><span class="pre">.pyo</span></code> ファイルにキャッシュされ、同じファイルの実行が二度目にはより高速になります (ソースコードからバイトコードへの再度のコンパイルは回避されます)。このバイトコードは、各々のバイトコードに対応するサブルーチンを呼び出すような "仮想機械(<a class="reference internal" href="#term-virtual-machine"><span class="xref std std-term">virtual machine</span></a>)" で動作する "中間言語 (intermediate language)" といえます。重要な注意として、バイトコードは異なる Python 仮想マシン間で動作することは期待されていませんし、Python リリース間で安定でもありません。</p>
<p class="last">バイトコードの命令一覧は <a class="reference internal" href="library/dis.html#bytecodes"><span class="std std-ref">dis モジュール</span></a> にあります。</p>
</dd>
<dt id="term-class">class</dt>
<dd>(クラス) ユーザー定義オブジェクトを作成するためのテンプレートです。クラス定義は普通、そのクラスのインスタンス上の操作をするメソッドの定義を含みます。</dd>
<dt id="term-classic-class">classic class</dt>
<dd>(旧スタイルクラス) <a class="reference internal" href="library/functions.html#object" title="object"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a> を継承していないクラス全てを指します。 新スタイルクラス(<a class="reference internal" href="#term-new-style-class"><span class="xref std std-term">new-style class</span></a>) も参照してください。 旧スタイルクラスは Python 3 で削除されます。</dd>
<dt id="term-coercion">coercion</dt>
<dd>(型強制) 同じ型の2つの引数を要する演算の最中に、ある型のインスタンスを別の型に暗黙のうちに変換することです。 例えば、 <code class="docutils literal"><span class="pre">int(3.15)</span></code> は浮動小数点数を整数の <code class="docutils literal"><span class="pre">3</span></code> にします。 しかし、 <code class="docutils literal"><span class="pre">3+4.5</span></code> の場合、各引数は型が異なっていて(一つは整数、一つは浮動小数点数)、 加算をする前に同じ型に変換しなければいけません。そうでないと、 <code class="docutils literal"><span class="pre">TypeError</span></code> 例外が投げられます。 2つの被演算子間の型強制は組み込み関数の <code class="docutils literal"><span class="pre">coerce</span></code> を使って行えます。 従って、 <code class="docutils literal"><span class="pre">3+4.5</span></code> は <code class="docutils literal"><span class="pre">operator.add(*coerce(3,</span> <span class="pre">4.5))</span></code> を呼び出すことに等しく、 <code class="docutils literal"><span class="pre">operator.add(3.0,</span> <span class="pre">4.5)</span></code> という結果になります。 型強制を行わない場合、たとえ互換性のある型であっても、すべての引数はプログラマーが、 単に <code class="docutils literal"><span class="pre">3+4.5</span></code> とするのではなく、 <code class="docutils literal"><span class="pre">float(3)+4.5</span></code> というように、同じ型に正規化しなければいけません。</dd>
<dt id="term-complex-number">complex number</dt>
<dd>(複素数) よく知られている実数系を拡張したもので、すべての数は実部と虚部の和として表されます。虚数は虚数単位 (<code class="docutils literal"><span class="pre">-1</span></code> の平方根) に実数を掛けたもので、一般に数学では <code class="docutils literal"><span class="pre">i</span></code> と書かれ、工学では <code class="docutils literal"><span class="pre">j</span></code> と書かれます。Python は複素数に組み込みで対応し、後者の表記を取っています。虚部は末尾に <code class="docutils literal"><span class="pre">j</span></code> をつけて書きます。例えば <code class="docutils literal"><span class="pre">3+1j</span></code> です。 <a class="reference internal" href="library/math.html#module-math" title="math: Mathematical functions (sin() etc.)."><code class="xref py py-mod docutils literal"><span class="pre">math</span></code></a> モジュールの複素数版を利用するには、 <a class="reference internal" href="library/cmath.html#module-cmath" title="cmath: Mathematical functions for complex numbers."><code class="xref py py-mod docutils literal"><span class="pre">cmath</span></code></a> を使います。複素数の使用はかなり高度な数学の機能です。必要性を感じなければ、ほぼ間違いなく無視してしまってよいでしょう。</dd>
<dt id="term-context-manager">context manager</dt>
<dd>(コンテキストマネージャ) <a class="reference internal" href="reference/compound_stmts.html#with"><code class="xref std std-keyword docutils literal"><span class="pre">with</span></code></a> 文で扱われる、<a class="reference internal" href="reference/datamodel.html#object.__enter__" title="object.__enter__"><code class="xref py py-meth docutils literal"><span class="pre">__enter__()</span></code></a> と <a class="reference internal" href="reference/datamodel.html#object.__exit__" title="object.__exit__"><code class="xref py py-meth docutils literal"><span class="pre">__exit__()</span></code></a> メソッドを定義することで環境を制御するオブジェクトです。<span class="target" id="index-14"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0343"><strong>PEP 343</strong></a> を参照してください。</dd>
<dt id="term-cpython">CPython</dt>
<dd><a class="reference external" href="https://www.python.org">python.org</a> で配布されている、Python プログラミング言語の標準的な実装です。"CPython" という単語は、この実装を Jython や IronPython といった他の実装と区別する必要が有る場合に利用されます。</dd>
<dt id="term-decorator">decorator</dt>
<dd><p class="first">(デコレータ) 別の関数を返す関数で、通常、 <code class="docutils literal"><span class="pre">@wrapper</span></code> 構文で関数変換として適用されます。デコレータの一般的な利用例は、 <a class="reference internal" href="library/functions.html#classmethod" title="classmethod"><code class="xref py py-func docutils literal"><span class="pre">classmethod()</span></code></a> と <a class="reference internal" href="library/functions.html#staticmethod" title="staticmethod"><code class="xref py py-func docutils literal"><span class="pre">staticmethod()</span></code></a> です。</p>
<p>デコレータの文法はシンタックスシュガーです。次の2つの関数定義は意味的に同じものです:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="o">...</span><span class="p">):</span>
<span class="o">...</span>
<span class="n">f</span> <span class="o">=</span> <span class="nb">staticmethod</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
<span class="nd">@staticmethod</span>
<span class="k">def</span> <span class="nf">f</span><span class="p">(</span><span class="o">...</span><span class="p">):</span>
<span class="o">...</span>
</pre></div>
</div>
<p class="last">同じ概念がクラスにも存在しますが、あまり使われません。デコレータについて詳しくは、 <a class="reference internal" href="reference/compound_stmts.html#function"><span class="std std-ref">関数定義</span></a> および <a class="reference internal" href="reference/compound_stmts.html#class"><span class="std std-ref">クラス定義</span></a> のドキュメントを参照してください。</p>
</dd>
<dt id="term-descriptor">descriptor</dt>
<dd><p class="first">(デスクリプタ) メソッド <a class="reference internal" href="reference/datamodel.html#object.__get__" title="object.__get__"><code class="xref py py-meth docutils literal"><span class="pre">__get__()</span></code></a>, <a class="reference internal" href="reference/datamodel.html#object.__set__" title="object.__set__"><code class="xref py py-meth docutils literal"><span class="pre">__set__()</span></code></a>, あるいは <a class="reference internal" href="reference/datamodel.html#object.__delete__" title="object.__delete__"><code class="xref py py-meth docutils literal"><span class="pre">__delete__()</span></code></a> が定義されている <em>新スタイル (new-style)</em> のオブジェクトです。 あるクラス属性がデスクリプタである場合、その属性を参照するときに、 そのデスクリプタに束縛されている特別な動作を呼び出します。 通常、get,set,deleteのために <em>a.b</em> と書くと、 <em>a</em> のクラス辞書内でオブジェクト <em>b</em> を検索しますが、 <em>b</em> がデスクリプタの場合にはデスクリプタで定義された メソッドを呼び出します。 デスクリプタの理解は、 Python を深く理解する上で鍵となります。 というのは、デスクリプタこそが、関数、メソッド、プロパティ、 クラスメソッド、静的メソッド、そしてスーパクラスの参照といった多くの機能の基盤だからです。</p>
<p class="last">デスクリプタのメソッドに関して詳しくは、 <a class="reference internal" href="reference/datamodel.html#descriptors"><span class="std std-ref">デスクリプタ (descriptor) の実装</span></a> を参照してください。</p>
</dd>
<dt id="term-dictionary">dictionary</dt>
<dd>(辞書) 任意のキーを値に対応付ける連想配列です。 <a class="reference internal" href="reference/datamodel.html#object.__hash__" title="object.__hash__"><code class="xref py py-meth docutils literal"><span class="pre">__hash__()</span></code></a> メソッドと <a class="reference internal" href="reference/datamodel.html#object.__eq__" title="object.__eq__"><code class="xref py py-meth docutils literal"><span class="pre">__eq__()</span></code></a> メソッドを実装した任意のオブジェクトをキーにできます。 Perl ではハッシュ (hash) と呼ばれています。</dd>
<dt id="term-dictionary-view">dictionary view</dt>
<dd>(ビュー) <a class="reference internal" href="library/stdtypes.html#dict.viewkeys" title="dict.viewkeys"><code class="xref py py-meth docutils literal"><span class="pre">dict.viewkeys()</span></code></a>, <a class="reference internal" href="library/stdtypes.html#dict.viewvalues" title="dict.viewvalues"><code class="xref py py-meth docutils literal"><span class="pre">dict.viewvalues()</span></code></a>, <a class="reference internal" href="library/stdtypes.html#dict.viewitems" title="dict.viewitems"><code class="xref py py-meth docutils literal"><span class="pre">dict.viewitems()</span></code></a> が返すオブジェクトを辞書ビュー (dictionary view) と呼びます。これらは辞書のエントリに対する動的なビューで、つまり辞書の変更されるとビューはそれら変更を反映します。辞書ビューを完全なリストにするには <code class="docutils literal"><span class="pre">list(dictview)</span></code> としてください。 <a class="reference internal" href="library/stdtypes.html#dict-views"><span class="std std-ref">辞書ビューオブジェクト</span></a> を参照してください。</dd>
<dt id="term-docstring">docstring</dt>
<dd>クラス、関数、モジュールの最初の式である文字列リテラルです。そのスイートの実行時には無視されますが、コンパイラによって識別され、そのクラス、関数、モジュールの <code class="xref py py-attr docutils literal"><span class="pre">__doc__</span></code> 属性として保存されます。イントロスペクションできる(訳注: 属性として参照できる)ので、オブジェクトのドキュメントを書く標準的な場所です。</dd>
<dt id="term-duck-typing">duck-typing</dt>
<dd>あるオブジェクトが正しいインタフェースを持っているかを決定するのにオブジェクトの型を見ないプログラミングスタイルです。代わりに、単純にオブジェクトのメソッドや属性が呼ばれたり使われたりします。(「アヒルのように見えて、アヒルのように鳴けば、それはアヒルである。」)インタフェースを型より重視することで、上手くデザインされたコードは、ポリモーフィックな代替を許して柔軟性を向上させます。ダックタイピングは <a class="reference internal" href="library/functions.html#type" title="type"><code class="xref py py-func docutils literal"><span class="pre">type()</span></code></a> や <a class="reference internal" href="library/functions.html#isinstance" title="isinstance"><code class="xref py py-func docutils literal"><span class="pre">isinstance()</span></code></a> による判定を避けます。 (ただし、ダックタイピングを <a class="reference internal" href="#term-abstract-base-class"><span class="xref std std-term">抽象基底クラス</span></a> で補完することもできます。) その代わり、典型的に <a class="reference internal" href="library/functions.html#hasattr" title="hasattr"><code class="xref py py-func docutils literal"><span class="pre">hasattr()</span></code></a> 判定や <a class="reference internal" href="#term-eafp"><span class="xref std std-term">EAFP</span></a> プログラミングを利用します。</dd>
<dt id="term-eafp">EAFP</dt>
<dd>「認可をとるより許しを請う方が容易 (easier to ask for forgiveness than permission、マーフィーの法則)」の略です。この Python で広く使われているコーディングスタイルでは、通常は有効なキーや属性が存在するものと仮定し、その仮定が誤っていた場合に例外を捕捉します。この簡潔で手早く書けるコーディングスタイルには、 <a class="reference internal" href="reference/compound_stmts.html#try"><code class="xref std std-keyword docutils literal"><span class="pre">try</span></code></a> 文および <a class="reference internal" href="reference/compound_stmts.html#except"><code class="xref std std-keyword docutils literal"><span class="pre">except</span></code></a> 文がたくさんあるのが特徴です。このテクニックは、C のような言語でよく使われている <a class="reference internal" href="#term-lbyl"><span class="xref std std-term">LBYL</span></a> スタイルと対照的なものです。</dd>
<dt id="term-expression">expression</dt>
<dd>(式) 何かの値に評価される、一つづきの構文(a piece of syntax). 言い換えると、リテラル、名前、属性アクセス、演算子や関数呼び出しといった、 値を返す式の要素の組み合わせ。 他の多くの言語と違い、Pythonは言語の全ての構成要素が式というわけではありません。 <a class="reference internal" href="reference/simple_stmts.html#print"><code class="xref std std-keyword docutils literal"><span class="pre">print</span></code></a> や <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a> のように、式にはならない、文(<a class="reference internal" href="#term-statement"><span class="xref std std-term">statement</span></a>) もあります。代入も式ではなく文です。</dd>
<dt id="term-extension-module">extension module</dt>
<dd>(拡張モジュール) C や C++ で書かれたモジュールで、Python の C API を利用して Python コアやユーザーコードとやりとりします。</dd>
<dt id="term-file-object">file object</dt>
<dd><p class="first">(ファイルオブジェクト) 下位のリソースへのファイル志向 API (<code class="xref py py-meth docutils literal"><span class="pre">read()</span></code> や <code class="xref py py-meth docutils literal"><span class="pre">write()</span></code> メソッドを持つもの) を公開しているオブジェクトです。ファイルオブジェクトは、作成された手段によって、実際のディスク上のファイルや、その他のタイプのストレージや通信デバイス (例えば、標準入出力、インメモリバッファ、ソケット、パイプ、等) へのアクセスを媒介できます。ファイルオブジェクトは <em class="dfn">file-like objects</em> や <em class="dfn">streams</em> とも呼ばれます。</p>
<p class="last">ファイルオブジェクトには3つの種類があります: 生のバイナリーファイル、バッファされたバイナリーファイル、そしてテキストファイルです。 これらのインターフェースは <a class="reference internal" href="library/io.html#module-io" title="io: Core tools for working with streams."><code class="xref py py-mod docutils literal"><span class="pre">io</span></code></a> モジュール内で定義されています。 ファイルオブジェクトを作成する標準的な方法は <a class="reference internal" href="library/functions.html#open" title="open"><code class="xref py py-func docutils literal"><span class="pre">open()</span></code></a> 関数を利用することです。</p>
</dd>
<dt id="term-file-like-object">file-like object</dt>
<dd><a class="reference internal" href="#term-file-object"><span class="xref std std-term">file object</span></a> と同義です。</dd>
<dt id="term-finder">finder</dt>
<dd>モジュールの <a class="reference internal" href="#term-loader"><span class="xref std std-term">loader</span></a> を探すオブジェクト。 <code class="xref py py-meth docutils literal"><span class="pre">find_module()</span></code> という名前のメソッドを実装していなければなりません。 詳細については <span class="target" id="index-15"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0302"><strong>PEP 302</strong></a> を参照してください。</dd>
<dt id="term-floor-division">floor division</dt>
<dd>一番近い小さい整数に丸める数学除算。floor division 演算子は <code class="docutils literal"><span class="pre">//</span></code> です。例えば、 <code class="docutils literal"><span class="pre">11</span> <span class="pre">//</span> <span class="pre">4</span></code> は <code class="docutils literal"><span class="pre">2</span></code> になり、 float の true division の結果 <code class="docutils literal"><span class="pre">2.75</span></code> と異なります。 <code class="docutils literal"><span class="pre">(-11)</span> <span class="pre">//</span> <span class="pre">4</span></code> は <code class="docutils literal"><span class="pre">-2.75</span></code> を <em>小さい方に</em> 丸めるので <code class="docutils literal"><span class="pre">-3</span></code> になることに注意してください。 <span class="target" id="index-16"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0238"><strong>PEP 238</strong></a> を参照してください。</dd>
<dt id="term-function">関数</dt>
<dd>(関数) 呼び出し側に値を返す一連の文のことです。関数には0以上の <a class="reference internal" href="#term-argument"><span class="xref std std-term">実引数</span></a> を渡すことが出来ます。実体の実行時に引数を使用することが出来ます。 <a class="reference internal" href="#term-parameter"><span class="xref std std-term">仮引数</span></a>、<a class="reference internal" href="#term-method"><span class="xref std std-term">メソッド</span></a>、<a class="reference internal" href="reference/compound_stmts.html#function"><span class="std std-ref">関数定義</span></a> を参照してください。</dd>
<dt id="term-future">__future__</dt>
<dd><p class="first">互換性のない新たな機能を現在のインタプリタで有効にするためにプログラマが 利用できる擬似モジュールです。例えば、式 <code class="docutils literal"><span class="pre">11/4</span></code> は現状では <code class="docutils literal"><span class="pre">2</span></code> になります。この式を実行しているモジュールで</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">division</span>
</pre></div>
</div>
<p>を行って <em>真の除算操作 (true division)</em> を有効にすると、式 <code class="docutils literal"><span class="pre">11/4</span></code> は <code class="docutils literal"><span class="pre">2.75</span></code> になります。実際に <a class="reference internal" href="library/__future__.html#module-__future__" title="__future__: Future statement definitions"><code class="xref py py-mod docutils literal"><span class="pre">__future__</span></code></a> モジュールを import してその変数を評価すれば、新たな機能が初めて追加されたのがいつで、 いつデフォルトの機能になる予定かわかります。</p>
<div class="last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">__future__</span>
<span class="gp">>>> </span><span class="n">__future__</span><span class="o">.</span><span class="n">division</span>
<span class="go">_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)</span>
</pre></div>
</div>
</dd>
<dt id="term-garbage-collection">garbage collection</dt>
<dd>(ガベージコレクション) それ以上使われなくなったメモリを解放する処理です。Pythonは、参照カウントと、循環参照を見つけて破壊する循環ガベージコレクタと、を使ってガベージコレクションを行います。</dd>
<dt id="index-3"><span id="term-generator"></span>generator</dt>
<dd>A function which returns an iterator. It looks like a normal function
except that it contains <a class="reference internal" href="reference/simple_stmts.html#yield"><code class="xref std std-keyword docutils literal"><span class="pre">yield</span></code></a> statements for producing a series
of values usable in a for-loop or that can be retrieved one at a time with
the <a class="reference internal" href="library/functions.html#next" title="next"><code class="xref py py-func docutils literal"><span class="pre">next()</span></code></a> function. Each <a class="reference internal" href="reference/simple_stmts.html#yield"><code class="xref std std-keyword docutils literal"><span class="pre">yield</span></code></a> temporarily suspends
processing, remembering the location execution state (including local
variables and pending try-statements). When the generator resumes, it
picks-up where it left-off (in contrast to functions which start fresh on
every invocation).</dd>
<dt id="index-4"><span id="term-generator-expression"></span>generator expression</dt>
<dd><p class="first">(ジェネレータ式) イテレータを返す式です。普通の式に、ループ変数を定義する <a class="reference internal" href="reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal"><span class="pre">for</span></code></a> 式、範囲、そして省略可能な <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a> 式がつづいているように見えます。こうして構成された式は、外側の関数に向けて値を生成します:</p>
<div class="last highlight-default"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nb">sum</span><span class="p">(</span><span class="n">i</span><span class="o">*</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span> <span class="c1"># sum of squares 0, 1, 4, ... 81</span>
<span class="go">285</span>
</pre></div>
</div>
</dd>
<dt id="term-gil">GIL</dt>
<dd><a class="reference internal" href="#term-global-interpreter-lock"><span class="xref std std-term">global interpreter lock</span></a> を参照してください。</dd>
<dt id="term-global-interpreter-lock">global interpreter lock</dt>
<dd><p class="first">(グローバルインタプリタロック) <a class="reference internal" href="#term-cpython"><span class="xref std std-term">CPython</span></a> インタプリタが利用している、一度に Python のバイトコード(<a class="reference internal" href="#term-bytecode"><span class="xref std std-term">bytecode</span></a>) 実行するスレッドは一つだけであることを保証する仕組みです。これにより (<a class="reference internal" href="library/stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a> などの重要な組み込み型を含む) などのオブジェクトモデルが同時アクセスに対して暗黙的に安全になるので、 CPython の実装がシンプルになります。インタプリタ全体をロックすることで、マルチプロセッサマシンが生じる並列化のコストに対して、楽にインタプリタをマルチスレッド化できます。</p>
<p>ただし、標準あるいは外部のいくつかの拡張モジュールは、圧縮やハッシュ計算などの計算の重い処理をするときに GIL を解放するように設計されています。また、I/O 処理をするときも GIL は常に解放されます。</p>
<p class="last">過去に "自由なマルチスレッド化" したインタプリタ (供用されるデータを細かい粒度でロックする) が開発されましたが、一般的なシングルプロセッサの場合のパフォーマンスが悪かったので成功しませんでした。このパフォーマンスの問題を克服しようとすると、実装がより複雑になり保守コストが増加すると考えられています。</p>
</dd>
<dt id="term-hashable">hashable</dt>
<dd><p class="first">(ハッシュ可能) <em>ハッシュ可能</em> なオブジェクトとは、生存期間中変わらないハッシュ値を持ち (<a class="reference internal" href="reference/datamodel.html#object.__hash__" title="object.__hash__"><code class="xref py py-meth docutils literal"><span class="pre">__hash__()</span></code></a> メソッドが必要)、他のオブジェクトと比較ができる (<a class="reference internal" href="reference/datamodel.html#object.__eq__" title="object.__eq__"><code class="xref py py-meth docutils literal"><span class="pre">__eq__()</span></code></a> か <a class="reference internal" href="reference/datamodel.html#object.__cmp__" title="object.__cmp__"><code class="xref py py-meth docutils literal"><span class="pre">__cmp__()</span></code></a> メソッドが必要) オブジェクトです。 同値なハッシュ可能オブジェクトは必ず同じハッシュ値を持つ必要があります。</p>
<p>ハッシュ可能なオブジェクトは辞書のキーや集合のメンバーとして使えます。辞書や集合のデータ構造は内部でハッシュ値を使っているからです。</p>
<p class="last">Python のイミューテーブルな組み込みオブジェクトはハッシュ可能ですが、ミューテーブルなコンテナ (例えばリストや辞書) はハッシュ不可能です。ユーザー定義のクラスのインスタンスであるようなオブジェクトはデフォルトでハッシュ可能です。それらは全て非等価を比較し (自身を除いて)、ハッシュ値は <a class="reference internal" href="library/functions.html#id" title="id"><code class="xref py py-func docutils literal"><span class="pre">id()</span></code></a> より得られます。</p>
</dd>
<dt id="term-idle">IDLE</dt>
<dd>Python の統合開発環境 (Integrated DeveLopment Environment) です。IDLE は Python の標準的な配布に同梱されている基本的な機能のエディタとインタプリタ環境です。</dd>
<dt id="term-immutable">immutable</dt>
<dd>(イミュータブル) 固定の値を持ったオブジェクトです。イミュータブルなオブジェクトには、数値、文字列、およびタプルなどがあります。これらのオブジェクトは値を変えられません。別の値を記憶させる際には、新たなオブジェクトを作成しなければなりません。イミュータブルなオブジェクトは、固定のハッシュ値が必要となる状況で重要な役割を果たします。辞書のキーがその例です。</dd>
<dt id="term-integer-division">integer division</dt>
<dd>(整数除算) 剰余を考慮しない数学的除算です。例えば、式 <code class="docutils literal"><span class="pre">11/4</span></code> は現状では <code class="docutils literal"><span class="pre">2.75</span></code> ではなく <code class="docutils literal"><span class="pre">2</span></code> になります。これは <em>切り捨て除算 (floor division)</em> とも呼ばれます。 二つの整数間で除算を行うと、結果は (端数切捨て関数が適用されて) 常に整数になります。 しかし、被演算子の一方が (<a class="reference internal" href="library/functions.html#float" title="float"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a> のような) 別の数値型の場合、 演算の結果は共通の型に型強制されます (型強制(<a class="reference internal" href="#term-coercion"><span class="xref std std-term">coercion</span></a>)参照)。 例えば、浮動小数点数で整数を除算すると結果は浮動小数点になり、 場合によっては端数部分を伴います。 <code class="docutils literal"><span class="pre">//</span></code> 演算子を <code class="docutils literal"><span class="pre">/</span></code> の代わりに使うと、整数除算を強制できます。 <a class="reference internal" href="#term-future"><span class="xref std std-term">__future__</span></a> も参照してください。</dd>
<dt id="term-importing">importing</dt>
<dd>あるモジュールの Python コードが別のモジュールの Python コードで使えるようにする処理です。</dd>
<dt id="term-importer">importer</dt>
<dd>モジュールを探してロードするオブジェクト。 <a class="reference internal" href="#term-finder"><span class="xref std std-term">finder</span></a> と <a class="reference internal" href="#term-loader"><span class="xref std std-term">loader</span></a> のどちらでもあるオブジェクト。</dd>
<dt id="term-interactive">interactive</dt>
<dd>(対話的) Python には対話的インタプリタがあり、文や式をインタプリタのプロンプトに入力すると即座に実行されて結果を見ることができます。 <code class="docutils literal"><span class="pre">python</span></code> と何も引数を与えずに実行してください。(コンピュータのメインメニューから Pythonの対話的インタプリタを起動できるかもしれません。) 対話的インタプリタは、新しいアイデアを試してみたり、モジュールやパッケージの中を覗いてみる(<code class="docutils literal"><span class="pre">help(x)</span></code> を覚えておいてください) のに非常に便利なツールです。</dd>
<dt id="term-interpreted">interpreted</dt>
<dd>Python はインタプリタ形式の言語であり、コンパイラ言語の対極に位置します。 (バイトコードコンパイラがあるために、この区別は曖昧ですが。) ここでのインタプリタ言語とは、ソースコードのファイルを、まず実行可能形式にしてから実行させるといった操作なしに、直接実行できることを意味します。インタプリタ形式の言語は通常、コンパイラ形式の言語よりも開発/デバッグのサイクルは短いものの、プログラムの実行は一般に遅いです。対話的(<a class="reference internal" href="#term-interactive"><span class="xref std std-term">interactive</span></a>)も参照してください。</dd>
<dt id="term-iterable">iterable</dt>
<dd>(反復可能オブジェクト) 要素を一つずつ返せるオブジェクトです。反復可能オブジェクトの例には、(<code class="xref py py-class docutils literal"><span class="pre">list</span></code>, <a class="reference internal" href="library/functions.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>, <a class="reference internal" href="library/functions.html#tuple" title="tuple"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code></a> といった) 全てのシーケンス型や、 <a class="reference internal" href="library/stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a> や <a class="reference internal" href="library/functions.html#file" title="file"><code class="xref py py-class docutils literal"><span class="pre">file</span></code></a> といった幾つかの非シーケンス型、 あるいは <a class="reference internal" href="reference/datamodel.html#object.__iter__" title="object.__iter__"><code class="xref py py-meth docutils literal"><span class="pre">__iter__()</span></code></a> か <a class="reference internal" href="reference/datamodel.html#object.__getitem__" title="object.__getitem__"><code class="xref py py-meth docutils literal"><span class="pre">__getitem__()</span></code></a> メソッドを実装したクラスのインスタンスが含まれます。反復可能オブジェクトは <a class="reference internal" href="reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal"><span class="pre">for</span></code></a> ループ内やその他多くのシーケンス (訳注: ここでのシーケンスとは、シーケンス型ではなくただの列という意味)が必要となる状況 (<a class="reference internal" href="library/functions.html#zip" title="zip"><code class="xref py py-func docutils literal"><span class="pre">zip()</span></code></a>, <a class="reference internal" href="library/functions.html#map" title="map"><code class="xref py py-func docutils literal"><span class="pre">map()</span></code></a>, …) で利用できます。反復可能オブジェクトを組み込み関数 <a class="reference internal" href="library/functions.html#iter" title="iter"><code class="xref py py-func docutils literal"><span class="pre">iter()</span></code></a> の引数として渡すと、 オブジェクトに対するイテレータを返します。 このイテレータは一連の値を引き渡す際に便利です。 反復可能オブジェクトを使う際には、通常 <a class="reference internal" href="library/functions.html#iter" title="iter"><code class="xref py py-func docutils literal"><span class="pre">iter()</span></code></a> を呼んだり、 イテレータオブジェクトを自分で扱う必要はありません。 <code class="docutils literal"><span class="pre">for</span></code> 文ではこの操作を自動的に行い、無名の変数を作成してループの間イテレータを記憶します。 イテレータ(<a class="reference internal" href="#term-iterator"><span class="xref std std-term">iterator</span></a>) シーケンス(<a class="reference internal" href="#term-sequence"><span class="xref std std-term">sequence</span></a>), およびジェネレータ(<a class="reference internal" href="#term-generator"><span class="xref std std-term">generator</span></a>)も参照してください。</dd>
<dt id="term-iterator">iterator</dt>
<dd><p class="first">(イテレータ) データの流れを表現するオブジェクトです。イテレータの <a class="reference internal" href="reference/expressions.html#generator.next" title="generator.next"><code class="xref py py-meth docutils literal"><span class="pre">next()</span></code></a> メソッドを繰り返し呼び出すと、流れの中の要素を一つずつ返します。データがなくなると、代わりに <a class="reference internal" href="library/exceptions.html#exceptions.StopIteration" title="exceptions.StopIteration"><code class="xref py py-exc docutils literal"><span class="pre">StopIteration</span></code></a> 例外を送出します。その時点で、イテレータオブジェクトは尽きており、それ以降は <a class="reference internal" href="reference/expressions.html#generator.next" title="generator.next"><code class="xref py py-meth docutils literal"><span class="pre">next()</span></code></a> を何度呼んでも <a class="reference internal" href="library/exceptions.html#exceptions.StopIteration" title="exceptions.StopIteration"><code class="xref py py-exc docutils literal"><span class="pre">StopIteration</span></code></a> を送出します。イテレータは、そのイテレータオブジェクト自体を返す <a class="reference internal" href="reference/datamodel.html#object.__iter__" title="object.__iter__"><code class="xref py py-meth docutils literal"><span class="pre">__iter__()</span></code></a> メソッドを実装しなければならないので、イテレータは他の iterable を受理するほとんどの場所で利用できます。はっきりとした例外は複数の反復を行うようなコードです。 (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> のような) コンテナオブジェクトは、自身を <a class="reference internal" href="library/functions.html#iter" title="iter"><code class="xref py py-func docutils literal"><span class="pre">iter()</span></code></a> 関数にオブジェクトに渡したり <a class="reference internal" href="reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal"><span class="pre">for</span></code></a> ループ内で使うたびに、新たな未使用のイテレータを生成します。これをイテレータで行おうとすると、前回のイテレーションで使用済みの同じイテレータオブジェクトを単純に返すため、空のコンテナのようになってしまします。</p>
<p class="last">詳細な情報は <a class="reference internal" href="library/stdtypes.html#typeiter"><span class="std std-ref">イテレータ型</span></a> にあります。</p>
</dd>
<dt id="term-key-function">key function</dt>
<dd><p class="first">(キー関数) キー関数、あるいは照合関数とは、ソートや順序比較のための値を返す呼び出し可能オブジェクト(callable)です。例えば、 <a class="reference internal" href="library/locale.html#locale.strxfrm" title="locale.strxfrm"><code class="xref py py-func docutils literal"><span class="pre">locale.strxfrm()</span></code></a> をキー関数に使えば、ロケール依存のソートの慣習にのっとったソートキーを返します。</p>
<p>Python には、キー関数を受け付けて要素がどのように順序付けられたりグループ化されたりするかを制御するような、いくつかのツールがあります。例えば、 <a class="reference internal" href="library/functions.html#min" title="min"><code class="xref py py-func docutils literal"><span class="pre">min()</span></code></a>, <a class="reference internal" href="library/functions.html#max" title="max"><code class="xref py py-func docutils literal"><span class="pre">max()</span></code></a>, <a class="reference internal" href="library/functions.html#sorted" title="sorted"><code class="xref py py-func docutils literal"><span class="pre">sorted()</span></code></a>, <code class="xref py py-meth docutils literal"><span class="pre">list.sort()</span></code>, <a class="reference internal" href="library/heapq.html#heapq.nsmallest" title="heapq.nsmallest"><code class="xref py py-func docutils literal"><span class="pre">heapq.nsmallest()</span></code></a>, <a class="reference internal" href="library/heapq.html#heapq.nlargest" title="heapq.nlargest"><code class="xref py py-func docutils literal"><span class="pre">heapq.nlargest()</span></code></a>, <a class="reference internal" href="library/itertools.html#itertools.groupby" title="itertools.groupby"><code class="xref py py-func docutils literal"><span class="pre">itertools.groupby()</span></code></a> です。</p>
<p class="last">キー関数を作る方法はいくつかあります。例えば、 <a class="reference internal" href="library/stdtypes.html#str.lower" title="str.lower"><code class="xref py py-meth docutils literal"><span class="pre">str.lower()</span></code></a> メソッドをキー関数として使って大文字小文字を区別しないソートができます。 他には、<a class="reference internal" href="reference/expressions.html#lambda"><code class="xref std std-keyword docutils literal"><span class="pre">lambda</span></code></a> 式を使って <code class="docutils literal"><span class="pre">lambda</span> <span class="pre">r:</span> <span class="pre">(r[0],</span> <span class="pre">r[2])</span></code> のようなアドホックなキー関数を作ることができます。また、 <a class="reference internal" href="library/operator.html#module-operator" title="operator: Functions corresponding to the standard operators."><code class="xref py py-mod docutils literal"><span class="pre">operator</span></code></a> モジュールは <a class="reference internal" href="library/operator.html#operator.attrgetter" title="operator.attrgetter"><code class="xref py py-func docutils literal"><span class="pre">attrgetter()</span></code></a>, <a class="reference internal" href="library/operator.html#operator.itemgetter" title="operator.itemgetter"><code class="xref py py-func docutils literal"><span class="pre">itemgetter()</span></code></a>, <a class="reference internal" href="library/operator.html#operator.methodcaller" title="operator.methodcaller"><code class="xref py py-func docutils literal"><span class="pre">methodcaller()</span></code></a> というキー関数コンストラクタを提供しています。キー関数の作り方、使い方に関する例は、 <a class="reference internal" href="howto/sorting.html#sortinghowto"><span class="std std-ref">Sorting HOW TO</span></a> を参照してください。</p>
</dd>
<dt id="term-keyword-argument">keyword argument</dt>
<dd><a class="reference internal" href="#term-argument"><span class="xref std std-term">実引数</span></a> を参照してください。</dd>
<dt id="term-lambda">lambda</dt>
<dd>An anonymous inline function consisting of a single <a class="reference internal" href="#term-expression"><span class="xref std std-term">expression</span></a>
which is evaluated when the function is called. The syntax to create
a lambda function is <code class="docutils literal"><span class="pre">lambda</span> <span class="pre">[arguments]:</span> <span class="pre">expression</span></code></dd>
<dt id="term-lbyl">LBYL</dt>
<dd><p class="first">「ころばぬ先の杖 (look before you leap)」 の略です。このコーディングスタイルでは、呼び出しや検索を行う前に、明示的に前提条件 (pre-condition) 判定を行います。 <a class="reference internal" href="#term-eafp"><span class="xref std std-term">EAFP</span></a> アプローチと対照的で、 <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a> 文がたくさん使われるのが特徴的です。</p>
<p class="last">マルチスレッド化された環境では、LBYL アプローチは "見る" 過程と "飛ぶ" 過程の競合状態を引き起こすリスクがあります。例えば、<code class="docutils literal"><span class="pre">if</span> <span class="pre">key</span> <span class="pre">in</span> <span class="pre">mapping:</span> <span class="pre">return</span> <span class="pre">mapping[key]</span></code> というコードは、判定の後、別のスレッドが探索の前に <em>mapping</em> から <em>key</em> を取り除くと失敗します。この問題は、ロックするか EAFP アプローチを使うことで解決できます。</p>
</dd>
<dt id="term-list">list</dt>
<dd>A built-in Python <a class="reference internal" href="#term-sequence"><span class="xref std std-term">sequence</span></a>. Despite its name it is more akin
to an array in other languages than to a linked list since access to
elements are O(1).</dd>
<dt id="term-list-comprehension">list comprehension</dt>
<dd>(リスト内包表記) シーケンス内の全てあるいは一部の要素を処理して、その結果からなるリストを返す、 コンパクトな書き方です。 <code class="docutils literal"><span class="pre">result</span> <span class="pre">=</span> <span class="pre">["0x%02x"</span> <span class="pre">%</span> <span class="pre">x</span> <span class="pre">for</span> <span class="pre">x</span> <span class="pre">in</span> <span class="pre">range(256)</span> <span class="pre">if</span> <span class="pre">x</span> <span class="pre">%</span> <span class="pre">2</span> <span class="pre">==</span> <span class="pre">0]</span></code> とすると、 0 から 255 までの偶数を 16進数表記 (0x..) した文字列からなるリストを生成します。 <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a> 節はオプションです。 <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a> 節がない場合、 <code class="docutils literal"><span class="pre">range(256)</span></code> の全ての要素が処理されます。</dd>
<dt id="term-loader">loader</dt>
<dd>モジュールをロードするオブジェクト。 <code class="xref py py-meth docutils literal"><span class="pre">load_module()</span></code> という名前のメソッドを定義していなければなりません。 詳細は <span class="target" id="index-17"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0302"><strong>PEP 302</strong></a> を参照してください。</dd>
<dt id="term-mapping">mapping</dt>
<dd>(マップ、マッピング) 任意のキーに対する検索をサポートしていて、 <code class="xref py py-class docutils literal"><span class="pre">Mapping</span></code> か <code class="xref py py-class docutils literal"><span class="pre">MutableMapping</span></code> の <span class="xref std std-ref">抽象基底クラス</span> を実装しているコンテナオブジェクト。 例えば、 <a class="reference internal" href="library/stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a>, <a class="reference internal" href="library/collections.html#collections.defaultdict" title="collections.defaultdict"><code class="xref py py-class docutils literal"><span class="pre">collections.defaultdict</span></code></a>, <a class="reference internal" href="library/collections.html#collections.OrderedDict" title="collections.OrderedDict"><code class="xref py py-class docutils literal"><span class="pre">collections.OrderedDict</span></code></a>, <a class="reference internal" href="library/collections.html#collections.Counter" title="collections.Counter"><code class="xref py py-class docutils literal"><span class="pre">collections.Counter</span></code></a> はマップ型です。</dd>
<dt id="term-metaclass">metaclass</dt>
<dd><p class="first">(メタクラス) クラスのクラスです。クラス定義は、クラス名、クラスの辞書と、基底クラスのリストを作ります。メタクラスは、それら 3 つを引数として受け取り、クラスを作る責任を負います。ほとんどのオブジェクト指向言語は(訳注:メタクラスの)デフォルトの実装を提供しています。Python が特別なのはカスタムのメタクラスを作成できる点です。ほとんどのユーザーに取って、メタクラスは全く必要のないものです。しかし、一部の場面では、メタクラスは強力でエレガントな方法を提供します。たとえば属性アクセスのログを取ったり、スレッドセーフ性を追加したり、オブジェクトの生成を追跡したり、シングルトンを実装するなど、多くの場面で利用されます。</p>
<p class="last">詳細は <a class="reference internal" href="reference/datamodel.html#metaclasses"><span class="std std-ref">クラス生成をカスタマイズする</span></a> を参照してください。</p>
</dd>
<dt id="term-method">method</dt>
<dd>(メソッド) クラス本体の中で定義された関数。そのクラスのインスタンスの属性として呼び出された場合、メソッドはインスタンスオブジェクトを第一引数 (<a class="reference internal" href="#term-argument"><span class="xref std std-term">argument</span></a>) として受け取ります (この第一引数は通常 <code class="docutils literal"><span class="pre">self</span></code> と呼ばれます)。 <a class="reference internal" href="#term-function"><span class="xref std std-term">関数</span></a> と <a class="reference internal" href="#term-nested-scope"><span class="xref std std-term">ネストされたスコープ</span></a> も参照してください。</dd>
<dt id="term-method-resolution-order">method resolution order</dt>
<dd>(メソッド解決順序)
探索中に基底クラスが構成要素を検索される順番です。
2.3 以降の Python インタープリタが使用するアルゴリズムの詳細については <a class="reference external" href="https://www.python.org/download/releases/2.3/mro/">The Python 2.3 Method Resolution Order</a> を参照してください。</dd>
<dt id="term-module">モジュール</dt>
<dd><p class="first">(モジュール) Python コードの組織単位としてはたらくオブジェクトです。モジュールは任意の Python オブジェクトを含む名前空間を持ちます。モジュールは <a class="reference internal" href="#term-importing"><span class="xref std std-term">importing</span></a> の処理によって Python に読み込まれます。</p>
<p class="last"><a class="reference internal" href="#term-package"><span class="xref std std-term">パッケージ</span></a> を参照してください。</p>
</dd>
<dt id="term-mro">MRO</dt>
<dd><a class="reference internal" href="#term-method-resolution-order"><span class="xref std std-term">method resolution order</span></a> を参照してください。</dd>
<dt id="term-mutable">mutable</dt>
<dd>(ミュータブル) ミュータブルなオブジェクトは、 <a class="reference internal" href="library/functions.html#id" title="id"><code class="xref py py-func docutils literal"><span class="pre">id()</span></code></a> を変えることなく値を変更できます。イミュータブル (<a class="reference internal" href="#term-immutable"><span class="xref std std-term">immutable</span></a>) も参照してください。</dd>
<dt id="term-named-tuple">named tuple</dt>
<dd><p class="first">(名前付きタプル) タプルに似ていて、インデクス指定できる要素に名前付き属性でもアクセス出来るクラスです (例えば、 <a class="reference internal" href="library/time.html#time.localtime" title="time.localtime"><code class="xref py py-func docutils literal"><span class="pre">time.localtime()</span></code></a> はタプルに似たオブジェクトを返し、その <em>year</em> には <code class="docutils literal"><span class="pre">t[0]</span></code> のようなインデクスによるアクセスと、 <code class="docutils literal"><span class="pre">t.tm_year</span></code> のような名前付き要素としてのアクセスが可能です)。</p>
<p class="last">名前付きタプルには、 <a class="reference internal" href="library/time.html#time.struct_time" title="time.struct_time"><code class="xref py py-class docutils literal"><span class="pre">time.struct_time</span></code></a> のような組み込み型もありますし、通常のクラス定義によって作成することもできます。名前付きタプルを <a class="reference internal" href="library/collections.html#collections.namedtuple" title="collections.namedtuple"><code class="xref py py-func docutils literal"><span class="pre">collections.namedtuple()</span></code></a> ファクトリ関数で作成することもできます。最後の方法で作った名前付きタプルには自動的に、 <code class="docutils literal"><span class="pre">Employee(name='jones',</span> <span class="pre">title='programmer')</span></code> のような自己ドキュメント表現 (self-documenting representation) などの機能が付いてきます。</p>
</dd>
<dt id="term-namespace">namespace</dt>
<dd>(名前空間) 変数を記憶している場所です。 名前空間は辞書を用いて実装されています。 名前空間には、ローカル、グローバル、組み込み名前空間、そして (メソッド内の) オブジェクトのネストされた名前空間があります。 例えば、関数 <code class="xref py py-func docutils literal"><span class="pre">__builtin__.open()</span></code> と <a class="reference internal" href="library/os.html#os.open" title="os.open"><code class="xref py py-func docutils literal"><span class="pre">os.open()</span></code></a> は名前空間で区別されます。 名前空間はまた、ある関数をどのモジュールが実装しているかをはっきりさせることで、 可読性やメンテナンス性に寄与します。 例えば、 <a class="reference internal" href="library/random.html#random.seed" title="random.seed"><code class="xref py py-func docutils literal"><span class="pre">random.seed()</span></code></a>, <a class="reference internal" href="library/itertools.html#itertools.izip" title="itertools.izip"><code class="xref py py-func docutils literal"><span class="pre">itertools.izip()</span></code></a> と書くことで、これらの関数がそれぞれ <a class="reference internal" href="library/random.html#module-random" title="random: Generate pseudo-random numbers with various common distributions."><code class="xref py py-mod docutils literal"><span class="pre">random</span></code></a> モジュールや <a class="reference internal" href="library/itertools.html#module-itertools" title="itertools: Functions creating iterators for efficient looping."><code class="xref py py-mod docutils literal"><span class="pre">itertools</span></code></a> モジュールで実装されていることがはっきりします。</dd>
<dt id="term-nested-scope">nested scope</dt>
<dd>(ネストされたスコープ) 外側で定義されている変数を参照する機能。 具体的に言えば、ある関数が別の関数の中で定義されている場合、内側の関数は外側の関数中の変数を参照できます。ネストされたスコープからは変数の参照だけができ、外側の変数を変更できないことに注意してください。それは常に最も内側のスコープに対する書き込みになります。 対照的に、ローカル変数は最も内側のスコープ内の読み書き両方します。同様に、グローバル変数を使うとグローバル名前空間の値を読み書きします。</dd>
<dt id="term-new-style-class">new-style class</dt>
<dd><p class="first">(新スタイルクラス) <a class="reference internal" href="library/functions.html#object" title="object"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a> から継承したクラス全てを指します。これには <code class="xref py py-class docutils literal"><span class="pre">list</span></code> や <a class="reference internal" href="library/stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a> のような全ての組み込み型が含まれます。 <code class="xref py py-meth docutils literal"><span class="pre">__slots__()</span></code>, デスクリプタ、プロパティ、 <a class="reference internal" href="reference/datamodel.html#object.__getattribute__" title="object.__getattribute__"><code class="xref py py-meth docutils literal"><span class="pre">__getattribute__()</span></code></a> といった、 Python の新しい機能を使えるのは新スタイルクラスだけです。</p>
<p class="last">より詳しい情報は <a class="reference internal" href="reference/datamodel.html#newstyle"><span class="std std-ref">新スタイルと旧スタイル</span></a> を参照してください。</p>
</dd>
<dt id="term-object">object</dt>
<dd>(オブジェクト) 状態 (属性や値) と定義された振る舞い (メソッド) をもつ全てのデータ。もしくは、全ての新スタイルクラス (<a class="reference internal" href="#term-new-style-class"><span class="xref std std-term">new-style class</span></a>) の究極の基底クラスのこと。</dd>
<dt id="term-package">package</dt>
<dd>(パッケージ) サブモジュールや再帰的にサブパッケージを含むことの出来る <a class="reference internal" href="#term-module"><span class="xref std std-term">module</span></a> のことです。専門的には、パッケージは <code class="docutils literal"><span class="pre">__path__</span></code> 属性を持つ Python オブジェクトです。</dd>
<dt id="term-parameter">parameter</dt>
<dd><p class="first">(仮引数) 名前付の実体でterm:<cite>関数<function></cite> (やterm:<cite>メソッド<method></cite>) の定義において関数が受ける <a class="reference internal" href="#term-argument"><span class="xref std std-term">実引数</span></a> を明示します。仮引数には4種類あります:</p>
<ul>
<li><p class="first"><em class="dfn">位置またはキーワード</em>: <a class="reference internal" href="#term-argument"><span class="xref std std-term">位置</span></a> でまたは <a class="reference internal" href="#term-argument"><span class="xref std std-term">キーワード引数</span></a> として渡すことができる引数を指定します。これはたとえば以下の <em>foo</em> や <em>bar</em> のように、デフォルトの仮引数の種類です:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="n">foo</span><span class="p">,</span> <span class="n">bar</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <span class="o">...</span>
</pre></div>
</div>
</li>
<li><p class="first"><em class="dfn">位置専用</em>: 位置によってのみ与えられる引数を指定します。Python に位置専用仮引数を定義する文法はありません。しかし、組み込み関数には位置専用仮引数を持つもの (例: <a class="reference internal" href="library/functions.html#abs" title="abs"><code class="xref py py-func docutils literal"><span class="pre">abs()</span></code></a>) があります。</p>
</li>
<li><p class="first"><em class="dfn">可変長位置</em>: (他の仮引数で既に受けられた任意の位置引数に加えて) 任意の個数の位置引数が与えられることを指定します。このような仮引数は、以下の <em>args</em> のように仮引数名の前に <code class="docutils literal"><span class="pre">*</span></code> をつけることで定義できます:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> <span class="o">...</span>
</pre></div>
</div>
</li>
<li><p class="first"><em class="dfn">可変長キーワード</em>: (他の仮引数で既に受けられた任意のキーワード引数に加えて) 任意の個数のキーワード引数が与えられることを指定します。このような仮引数は、上の例の <em>kwargs</em> のように仮引数名の前に <code class="docutils literal"><span class="pre">**</span></code> をつけることで定義できます。</p>
</li>
</ul>
<p>仮引数はオプションと必須の引数のどちらも指定でき、オプションの引数にはデフォルト値も指定できます。</p>
<p class="last"><a class="reference internal" href="#term-argument"><span class="xref std std-term">argument</span></a> 、FAQ の <a class="reference internal" href="faq/programming.html#faq-argument-vs-parameter"><span class="std std-ref">実引数と仮引数の違いは何ですか?</span></a> 、<a class="reference internal" href="reference/compound_stmts.html#function"><span class="std std-ref">関数定義</span></a> を参照してください。</p>
</dd>
<dt id="term-positional-argument">位置引数</dt>
<dd><a class="reference internal" href="#term-argument"><span class="xref std std-term">実引数</span></a> を参照してください。</dd>
<dt id="term-python-3000">Python 3000</dt>
<dd>Python 3.x リリースラインのニックネームです。(Python 3 が遠い将来の話だった頃に作られた言葉です。) "Py3k" と略されることもあります。</dd>
<dt id="term-pythonic">Pythonic</dt>
<dd><p class="first">他の言語で一般的な考え方で書かれたコードではなく、Python の特に一般的なイディオムに従った考え方やコード片。例えば、Python の一般的なイディオムでは <a class="reference internal" href="reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal"><span class="pre">for</span></code></a> 文を使ってイテラブルのすべての要素に渡ってループします。他の多くの言語にはこの仕組みはないので、Python に慣れていない人は代わりに数値のカウンターを使うかもしれません:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">food</span><span class="p">)):</span>
<span class="nb">print</span> <span class="n">food</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
</pre></div>
</div>
<p>これに対し、きれいな Pythonic な方法は:</p>
<div class="last highlight-default"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">piece</span> <span class="ow">in</span> <span class="n">food</span><span class="p">:</span>
<span class="nb">print</span> <span class="n">piece</span>
</pre></div>
</div>
</dd>
<dt id="term-reference-count">reference count</dt>
<dd>(参照カウント) あるオブジェクトに対する参照の数。参照カウントが0になったとき、そのオブジェクトは破棄されます。参照カウントは通常は Python のコード上には現れませんが、 <a class="reference internal" href="#term-cpython"><span class="xref std std-term">CPython</span></a> 実装の重要な要素です。 <a class="reference internal" href="library/sys.html#module-sys" title="sys: Access system-specific parameters and functions."><code class="xref py py-mod docutils literal"><span class="pre">sys</span></code></a> モジュールは、プログラマーが任意のオブジェクトの参照カウントを知るための <a class="reference internal" href="library/sys.html#sys.getrefcount" title="sys.getrefcount"><code class="xref py py-func docutils literal"><span class="pre">getrefcount()</span></code></a> 関数を提供しています。</dd>
<dt id="term-slots">__slots__</dt>
<dd>新スタイルクラス(<a class="reference internal" href="#term-new-style-class"><span class="xref std std-term">new-style class</span></a>)内で、インスタンス属性の記憶に 必要な領域をあらかじめ定義しておき、それとひきかえにインスタンス辞書を排除して メモリの節約を行うための宣言です。 これはよく使われるテクニックですが、正しく動作させるのには少々手際を要するので、 例えばメモリが死活問題となるようなアプリケーション内にインスタンスが大量に 存在するといった稀なケースを除き、使わないのがベストです。</dd>
<dt id="term-sequence">sequence</dt>
<dd>(シーケンス) 特殊メソッド <a class="reference internal" href="reference/datamodel.html#object.__getitem__" title="object.__getitem__"><code class="xref py py-meth docutils literal"><span class="pre">__getitem__()</span></code></a> で整数インデックスによる効率的な要素へのアクセスを サポートし、 <a class="reference internal" href="library/functions.html#len" title="len"><code class="xref py py-meth docutils literal"><span class="pre">len()</span></code></a> で長さを返すような反復可能オブジェクト(<a class="reference internal" href="#term-iterable"><span class="xref std std-term">iterable</span></a>)です。 組み込みシーケンス型には、 <code class="xref py py-class docutils literal"><span class="pre">list</span></code>, <a class="reference internal" href="library/functions.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>, <a class="reference internal" href="library/functions.html#tuple" title="tuple"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code></a>, <a class="reference internal" href="library/functions.html#unicode" title="unicode"><code class="xref py py-class docutils literal"><span class="pre">unicode</span></code></a> などがあります。 <a class="reference internal" href="library/stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal"><span class="pre">dict</span></code></a> は <a class="reference internal" href="reference/datamodel.html#object.__getitem__" title="object.__getitem__"><code class="xref py py-meth docutils literal"><span class="pre">__getitem__()</span></code></a> と <a class="reference internal" href="reference/datamodel.html#object.__len__" title="object.__len__"><code class="xref py py-meth docutils literal"><span class="pre">__len__()</span></code></a> もサポートしますが、 検索の際に任意の変更不能(<a class="reference internal" href="#term-immutable"><span class="xref std std-term">immutable</span></a>)なキーを使うため、シーケンスではなく マップ (mapping) とみなされているので注意してください。</dd>
<dt id="term-slice">slice</dt>
<dd>(スライス) 多くの場合、シーケンス(<a class="reference internal" href="#term-sequence"><span class="xref std std-term">sequence</span></a>)の一部を含むオブジェクト。 スライスは、添字記号 <code class="docutils literal"><span class="pre">[]</span></code> で数字の間にコロンを書いたときに作られます。 例えば、 <code class="docutils literal"><span class="pre">variable_name[1:3:5]</span></code> です。 添字記号は <a class="reference internal" href="library/functions.html#slice" title="slice"><code class="xref py py-class docutils literal"><span class="pre">slice</span></code></a> オブジェクトを内部で利用しています。 (もしくは、古いバージョンの、 <a class="reference internal" href="reference/datamodel.html#object.__getslice__" title="object.__getslice__"><code class="xref py py-meth docutils literal"><span class="pre">__getslice__()</span></code></a> と <a class="reference internal" href="reference/datamodel.html#object.__setslice__" title="object.__setslice__"><code class="xref py py-meth docutils literal"><span class="pre">__setslice__()</span></code></a> を利用します。)</dd>
<dt id="term-special-method">special method</dt>
<dd>(特殊メソッド) ある型に特定の操作、例えば加算をするために Python から暗黙に呼び出されるメソッド。この種類のメソッドは、メソッド名の最初と最後にアンダースコア 2 つがついています。特殊メソッドについては <a class="reference internal" href="reference/datamodel.html#specialnames"><span class="std std-ref">特殊メソッド名</span></a> で解説されています。</dd>
<dt id="term-statement">statement</dt>
<dd>(文) 文はスイート (コードの"ブロック") に不可欠な要素です。文は <a class="reference internal" href="#term-expression"><span class="xref std std-term">式</span></a> かキーワードから構成されるもののどちらかです。後者には <a class="reference internal" href="reference/compound_stmts.html#if"><code class="xref std std-keyword docutils literal"><span class="pre">if</span></code></a>、<a class="reference internal" href="reference/compound_stmts.html#while"><code class="xref std std-keyword docutils literal"><span class="pre">while</span></code></a>、<a class="reference internal" href="reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal"><span class="pre">for</span></code></a> があります。</dd>
<dt id="term-struct-sequence">struct sequence</dt>
<dd>(構造体シーケンス) 名付けられた要素を持つタプルです。構造体シーケンスは <a class="reference internal" href="#term-named-tuple"><span class="xref std std-term">named tuple</span></a> と同じく、要素にインデクスでも属性でもアクセスできるインタフェースを公開します。しかし、名前付きタプルの <a class="reference internal" href="library/collections.html#collections.somenamedtuple._make" title="collections.somenamedtuple._make"><code class="xref py py-meth docutils literal"><span class="pre">_make()</span></code></a> や <a class="reference internal" href="library/collections.html#collections.somenamedtuple._asdict" title="collections.somenamedtuple._asdict"><code class="xref py py-meth docutils literal"><span class="pre">_asdict()</span></code></a> のようなメソッドを持ちません。構造体シーケンスの例には、<a class="reference internal" href="library/sys.html#sys.float_info" title="sys.float_info"><code class="xref py py-data docutils literal"><span class="pre">sys.float_info</span></code></a> や、 <a class="reference internal" href="library/os.html#os.stat" title="os.stat"><code class="xref py py-func docutils literal"><span class="pre">os.stat()</span></code></a> の返り値や、その他があります。</dd>
<dt id="term-triple-quoted-string">triple-quoted string</dt>
<dd>(三重クォート文字列) 3つの連続したクォート記号(")かアポストロフィー(')で囲まれた文字列。通常の(一重)クォート文字列に比べて表現できる文字列に違いはありませんが、幾つかの理由で有用です。1つか2つの連続したクォート記号をエスケープ無しに書くことができますし、行継続文字(\)を使わなくても複数行にまたがることができるので、ドキュメンテーション文字列を書く時に特に便利です。</dd>
<dt id="term-type">型</dt>
<dd>(型) Python オブジェクトの型はオブジェクトがどのようなものかを決めます。あらゆるオブジェクトは型を持っています。オブジェクトの型は <a class="reference internal" href="library/stdtypes.html#instance.__class__" title="instance.__class__"><code class="xref py py-attr docutils literal"><span class="pre">__class__</span></code></a> 属性でアクセスしたり、<code class="docutils literal"><span class="pre">type(obj)</span></code> で取得したり出来ます。</dd>
<dt id="term-universal-newlines">universal newlines</dt>
<dd>テキストストリームの解釈法の一つで、以下のすべてを行末と認識します: Unix の行末規定 <code class="docutils literal"><span class="pre">'\n'</span></code>、Windows の規定 <code class="docutils literal"><span class="pre">'\r\n'</span></code>、古い Macintosh の規定 <code class="docutils literal"><span class="pre">'\r'</span></code>。利用法について詳しくは、 <span class="target" id="index-18"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-0278"><strong>PEP 278</strong></a> と <span class="target" id="index-19"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-3116"><strong>PEP 3116</strong></a> 、さらに <a class="reference internal" href="library/stdtypes.html#str.splitlines" title="str.splitlines"><code class="xref py py-func docutils literal"><span class="pre">str.splitlines()</span></code></a> も参照してください。</dd>
<dt id="term-virtual-environment">virtual environment</dt>
<dd>(仮想環境)協調的に切り離された実行環境です。これにより Python ユーザとアプリケーションは同じシステム上で動いている他の Python アプリケーションの挙動に干渉することなく Python パッケージのインストールと更新を行うことができます。</dd>
<dt id="term-virtual-machine">virtual machine</dt>
<dd>(仮想マシン) 完全にソフトウェアにより定義されたコンピュータ。 Python の仮想マシンは、バイトコードコンパイラが出力したバイトコード (<a class="reference internal" href="#term-bytecode"><span class="xref std std-term">bytecode</span></a>) を実行します。</dd>
<dt id="term-zen-of-python">Zen of Python</dt>
<dd>(Pythonの悟り) Python を理解し利用する上での導きとなる、Python の設計原則と哲学をリストにしたものです。対話プロンプトで "<code class="docutils literal"><span class="pre">import</span> <span class="pre">this</span></code>" とするとこのリストを読めます。</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>前のトピックへ</h4>
<p class="topless"><a href="faq/installed.html"
title="前の章へ">"なぜ Python が私のコンピュータにインストールされているのですか?" FAQ</a></p>
<h4>次のトピックへ</h4>
<p class="topless"><a href="about.html"
title="次の章へ">このドキュメントについて</a></p>
<h3>このページ</h3>
<ul class="this-page-menu">
<li><a href="bugs.html">バグ報告</a></li>
<li><a href="https://github.com/python/cpython/blob/2.7/Doc/glossary.rst"
rel="nofollow">ソースの表示</a>
</li>
</ul>
<div id="searchbox" style="display: none" role="search">
<h3>クイック検索</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="検索" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>ナビゲーション</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="総索引"
>索引</a></li>
<li class="right" >
<a href="py-modindex.html" title="Pythonモジュール索引"
>モジュール</a> |</li>
<li class="right" >
<a href="about.html" title="このドキュメントについて"
>次へ</a> |</li>
<li class="right" >
<a href="faq/installed.html" title=""なぜ Python が私のコンピュータにインストールされているのですか?" FAQ"
>前へ</a> |</li>
<li><img src="_static/py.png" alt=""
style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="http://www.python.jp/">Python</a> »</li>
<li>
<span class="version_switcher_placeholder">2.7.14</span>
<a href="index.html">ドキュメント</a> »
</li>
</ul>
</div>
<div class="footer">
© <a href="copyright.html">Copyright</a> 1990-2018, Python Software Foundation (translated by Python ドキュメント日本語翻訳プロジェクト).
<br />
Python Software Foundation は非営利団体です。
<a href="https://www.python.org/psf/donations/">寄付</a>
<br />
最終更新日時: 2018-07-29
<a href="bugs.html">バグを見つけたら</a>?
<br />
このドキュメントは <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.6.5 を使って作成されました。
</div>
</body>
</html>