-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathexecutionmodel.po
446 lines (408 loc) · 24.9 KB
/
executionmodel.po
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
438
439
440
441
442
443
444
445
446
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# tomo, 2018
# 上野 雄二 <[email protected]>, 2019
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-09 18:48+0900\n"
"PO-Revision-Date: 2018-06-29 17:51+0000\n"
"Last-Translator: 上野 雄二 <[email protected]>, 2019\n"
"Language-Team: Japanese (https://www.transifex.com/python-doc/teams/5390/"
"ja/)\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../reference/executionmodel.rst:6
msgid "Execution model"
msgstr "実行モデル"
#: ../../reference/executionmodel.rst:15
msgid "Structure of a program"
msgstr "プログラムの構造"
#: ../../reference/executionmodel.rst:19
msgid ""
"A Python program is constructed from code blocks. A :dfn:`block` is a piece "
"of Python program text that is executed as a unit. The following are blocks: "
"a module, a function body, and a class definition. Each command typed "
"interactively is a block. A script file (a file given as standard input to "
"the interpreter or specified as a command line argument to the interpreter) "
"is a code block. A script command (a command specified on the interpreter "
"command line with the :option:`-c` option) is a code block. The string "
"argument passed to the built-in functions :func:`eval` and :func:`exec` is a "
"code block."
msgstr ""
"Pythonプログラムはコードブロックから構成されています。 :dfn:`block` は、ユ"
"ニットとして実行されるPythonプログラムテキストの一部です。以下は、モジュー"
"ル、関数本体、およびクラス定義のブロックです。\n"
"対話的に入力された各コマンドはブロックです。\n"
"スクリプトファイル(インタプリタへの標準入力として与えられた、またはインタプ"
"リタへのコマンドライン引数として指定されたファイル)は、コードブロックで"
"す。\n"
"スクリプトコマンド(インタプリタコマンドラインで :option:`-c` オプションで指"
"定されたコマンド)は、コードブロックです。\n"
"組み込み関数 :func:`eval` と :func:`exec` に渡される文字列引数は、コードブ"
"ロックです。"
#: ../../reference/executionmodel.rst:31
msgid ""
"A code block is executed in an :dfn:`execution frame`. A frame contains "
"some administrative information (used for debugging) and determines where "
"and how execution continues after the code block's execution has completed."
msgstr ""
"コードブロックは、実行フレーム (:dfn:`execution frame`) 上で実行されます。実"
"行フレームには、 (デバッグに使われる) 管理情報が収められています。また、現在"
"のコードブロックの実行が完了した際に、どのようにプログラムの実行を継続するか"
"を決定しています。"
#: ../../reference/executionmodel.rst:38
msgid "Naming and binding"
msgstr "名前づけと束縛 (naming and binding)"
#: ../../reference/executionmodel.rst:47
msgid "Binding of names"
msgstr "名前の束縛"
#: ../../reference/executionmodel.rst:53
msgid ""
":dfn:`Names` refer to objects. Names are introduced by name binding "
"operations."
msgstr ""
":dfn:`名前 (name)` は、オブジェクトを参照します。名前を導入するには、名前への"
"束縛 (name binding) 操作を行います。"
#: ../../reference/executionmodel.rst:57
msgid ""
"The following constructs bind names: formal parameters to functions, :"
"keyword:`import` statements, class and function definitions (these bind the "
"class or function name in the defining block), and targets that are "
"identifiers if occurring in an assignment, :keyword:`for` loop header, or "
"after :keyword:`as` in a :keyword:`with` statement or :keyword:`except` "
"clause. The :keyword:`import` statement of the form ``from ... import *`` "
"binds all names defined in the imported module, except those beginning with "
"an underscore. This form may only be used at the module level."
msgstr ""
"以下の構造で、名前が束縛されます: 関数の仮引数 (formal parameter) 指定、 :"
"keyword:`import` 文、クラスや関数の定義 (定義を行ったブロックで、クラスや関数"
"名を束縛します)、代入が行われるときの代入対象の識別子、 :keyword:`for` ループ"
"のヘッダ、 :keyword:`with` 文や :keyword:`except` 節の :keyword:`as` の後"
"ろ。 \"``from ... import *``\" 形式の :keyword:`import` 文は、 import される"
"モジュール内で定義されている、アンダースコアから始まるもの以外の、全ての名前"
"を束縛します。この形式は、モジュールレベルでしか使えません。"
#: ../../reference/executionmodel.rst:67
msgid ""
"A target occurring in a :keyword:`del` statement is also considered bound "
"for this purpose (though the actual semantics are to unbind the name)."
msgstr ""
":keyword:`del` 文で指定される対象は、(:keyword:`del` の意味付けは、実際は名前"
"の解放 (unbind) ですが) 文の目的上、束縛済みのものとみなされます。"
#: ../../reference/executionmodel.rst:70
msgid ""
"Each assignment or import statement occurs within a block defined by a class "
"or function definition or at the module level (the top-level code block)."
msgstr ""
"代入文や import 文はいずれも、クラスや関数定義、モジュールレベル (トップレベ"
"ルのコードブロック) 内で起こります。"
#: ../../reference/executionmodel.rst:75
msgid ""
"If a name is bound in a block, it is a local variable of that block, unless "
"declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at "
"the module level, it is a global variable. (The variables of the module "
"code block are local and global.) If a variable is used in a code block but "
"not defined there, it is a :dfn:`free variable`."
msgstr ""
"ある名前がブロック内で束縛されているなら、 :keyword:`nonlocal` や :keyword:"
"`global` として宣言されていない限り、それはそのブロックのローカル変数 (local "
"variable) です。\n"
"ある名前がモジュールレベルで束縛されているなら、その名前はグローバル変数 "
"(global variable) です。 \n"
"(モジュールコードブロックの変数は、ローカル変数でも、グローバル変数でもありま"
"す。) \n"
"ある変数があるコードブロック内で使われていて、そのブロックで定義はされていな"
"いなら、それは自由変数 (:dfn:`free variable`) です。"
#: ../../reference/executionmodel.rst:81
msgid ""
"Each occurrence of a name in the program text refers to the :dfn:`binding` "
"of that name established by the following name resolution rules."
msgstr ""
"プログラムテキスト中に名前が出現するたびに、その名前が使われている最も内側の"
"関数ブロック中で作成された :dfn:`束縛 (binding)` を使って名前の参照が行われま"
"す。"
#: ../../reference/executionmodel.rst:87
msgid "Resolution of names"
msgstr "名前解決"
#: ../../reference/executionmodel.rst:91
msgid ""
"A :dfn:`scope` defines the visibility of a name within a block. If a local "
"variable is defined in a block, its scope includes that block. If the "
"definition occurs in a function block, the scope extends to any blocks "
"contained within the defining one, unless a contained block introduces a "
"different binding for the name."
msgstr ""
"スコープ (:dfn:`scope`) は、ブロック内の名前の可視性を決めます。\n"
"ローカル変数があるブロック内で定義されている場合、変数のスコープはそのブロッ"
"クを含みます。\n"
"関数ブロック内で名前の定義を行った場合、その中のブロックが名前に別の束縛を行"
"わない限り、定義ブロック内の全てのブロックを含むようにスコープが拡張されま"
"す。"
#: ../../reference/executionmodel.rst:99
msgid ""
"When a name is used in a code block, it is resolved using the nearest "
"enclosing scope. The set of all such scopes visible to a code block is "
"called the block's :dfn:`environment`."
msgstr ""
"ある名前がコードブロック内で使われると、その名前を最も近傍から囲うようなス"
"コープ (最内スコープ: nearest enclosing scope) を使って束縛の解決を行います。"
"こうしたスコープからなる、あるコードブロック内で参照できるスコープ全ての集合"
"は、ブロックの環境(:dfn:`environment`)と呼ばれます。"
#: ../../reference/executionmodel.rst:107
msgid ""
"When a name is not found at all, a :exc:`NameError` exception is raised. If "
"the current scope is a function scope, and the name refers to a local "
"variable that has not yet been bound to a value at the point where the name "
"is used, an :exc:`UnboundLocalError` exception is raised. :exc:"
"`UnboundLocalError` is a subclass of :exc:`NameError`."
msgstr ""
"名前が全く見付からなかったときは、 :exc:`NameError` 例外が送出されます。\n"
"現在のスコープが関数のもので、名前が使われる場所でローカル変数がまだ値に束縛"
"されていない場合、 :exc:`UnboundLocalError` 例外が送出されます。\n"
":exc:`UnboundLocalError` は :exc:`NameError` の子クラスです。"
#: ../../reference/executionmodel.rst:113
msgid ""
"If a name binding operation occurs anywhere within a code block, all uses of "
"the name within the block are treated as references to the current block. "
"This can lead to errors when a name is used within a block before it is "
"bound. This rule is subtle. Python lacks declarations and allows name "
"binding operations to occur anywhere within a code block. The local "
"variables of a code block can be determined by scanning the entire text of "
"the block for name binding operations."
msgstr ""
"ある名前がコードブロック内のどこかで束縛操作されていたら、そのブロック内で使"
"われるその名前はすべて、現在のブロックへの参照として扱われます。このため、あ"
"る名前がそのブロック内で束縛される前に使われるとエラーにつながります。この規"
"則は敏感です。Python には宣言がなく、コードブロックのどこでも名前束縛操作がで"
"きます。あるコードブロックにおけるローカル変数は、ブロックのテキスト全体から"
"名前束縛操作を走査することで決定されます。"
#: ../../reference/executionmodel.rst:120
msgid ""
"If the :keyword:`global` statement occurs within a block, all uses of the "
"name specified in the statement refer to the binding of that name in the top-"
"level namespace. Names are resolved in the top-level namespace by searching "
"the global namespace, i.e. the namespace of the module containing the code "
"block, and the builtins namespace, the namespace of the module :mod:"
"`builtins`. The global namespace is searched first. If the name is not "
"found there, the builtins namespace is searched. The :keyword:`global` "
"statement must precede all uses of the name."
msgstr ""
":keyword:`global` 文がブロック内にあると、その文で指定された名前は常にトップ"
"レベルの名前空間で束縛された名前を参照します。それらの名前は、トップレベルの"
"名前空間で解決されます。このために、グローバル名前空間、すなわちそのコードブ"
"ロックを含むモジュールの名前空間と、組み込み名前空間、すなわちモジュール :"
"mod:`builtins` の名前空間が検索されます。グローバル名前空間が先に検索されま"
"す。名前がグローバル名前空間中に見つからなければ、組み込み名前空間が検索され"
"ます。 :keyword:`global` 文は、その名前が最初に使われる前に記述されていなけれ"
"ばなりません。"
#: ../../reference/executionmodel.rst:129
msgid ""
"The :keyword:`global` statement has the same scope as a name binding "
"operation in the same block. If the nearest enclosing scope for a free "
"variable contains a global statement, the free variable is treated as a "
"global."
msgstr ""
":keyword:`global` 文は、同じブロックの束縛操作と同じスコープを持ちます。ある"
"自由変数の最内スコープに global 文がある場合、その自由変数はグローバル変数と"
"みなされます。"
#: ../../reference/executionmodel.rst:135
msgid ""
"The :keyword:`nonlocal` statement causes corresponding names to refer to "
"previously bound variables in the nearest enclosing function scope. :exc:"
"`SyntaxError` is raised at compile time if the given name does not exist in "
"any enclosing function scope."
msgstr ""
":keyword:`nonlocal` 文によって、対応する名前が最内関数スコープでそれ以前に束"
"縛された変数を参照するようになります。もし名前がどの最内関数スコープにも存在"
"しなければ、コンパイル時に :exc:`SyntaxError` が上げられます。"
#: ../../reference/executionmodel.rst:142
msgid ""
"The namespace for a module is automatically created the first time a module "
"is imported. The main module for a script is always called :mod:`__main__`."
msgstr ""
"あるモジュールの名前空間は、そのモジュールが最初に import された時に自動的に"
"作成されます。スクリプトの主モジュール (main module) は常に :mod:`__main__` "
"と呼ばれます。"
#: ../../reference/executionmodel.rst:145
msgid ""
"Class definition blocks and arguments to :func:`exec` and :func:`eval` are "
"special in the context of name resolution. A class definition is an "
"executable statement that may use and define names. These references follow "
"the normal rules for name resolution with an exception that unbound local "
"variables are looked up in the global namespace. The namespace of the class "
"definition becomes the attribute dictionary of the class. The scope of names "
"defined in a class block is limited to the class block; it does not extend "
"to the code blocks of methods -- this includes comprehensions and generator "
"expressions since they are implemented using a function scope. This means "
"that the following will fail::"
msgstr ""
"クラス定義ブロックと :func:`exec` や :func:`eval` に対する引数は、名前解決の"
"文脈で特別です。クラス定義は、名前を使うことと定義することができる実行可能な"
"文です。これらの参照は、名前解決のための通常のルールに従いますが、束縛されて"
"いないローカル変数がグローバルな名前空間から検索されるという例外があります。"
"クラス定義の名前空間はクラスの属性辞書になります。クラス内で定義された名前の"
"スコープは、クラスのブロックに限定されます; メソッドのコードブロックには拡張"
"されません。 -- 内包表記やジェネレータ式も関数スコープを利用して実装されてい"
"るので、スコープの拡張範囲外です。つまり、次のようなコードは失敗します::"
#: ../../reference/executionmodel.rst:163
msgid "Builtins and restricted execution"
msgstr "組み込みと制限付きの実行"
#: ../../reference/executionmodel.rst:169
msgid ""
"Users should not touch ``__builtins__``; it is strictly an implementation "
"detail. Users wanting to override values in the builtins namespace should :"
"keyword:`import` the :mod:`builtins` module and modify its attributes "
"appropriately."
msgstr ""
"ユーザは ``__builtins__`` に触れるべきではありません; これは厳密に実装の詳細"
"です。組み込みの名前空間の中の値をオーバーライドしたいユーザは、 :mod:"
"`builtins` モジュールを :keyword:`import` して、その属性を適切に変更するべき"
"です。"
#: ../../reference/executionmodel.rst:174
msgid ""
"The builtins namespace associated with the execution of a code block is "
"actually found by looking up the name ``__builtins__`` in its global "
"namespace; this should be a dictionary or a module (in the latter case the "
"module's dictionary is used). By default, when in the :mod:`__main__` "
"module, ``__builtins__`` is the built-in module :mod:`builtins`; when in any "
"other module, ``__builtins__`` is an alias for the dictionary of the :mod:"
"`builtins` module itself."
msgstr ""
"あるコードブロックの実行に関連する組み込み名前空間は、実際にはコードブロック"
"のグローバル名前空間から名前 ``__builtins__`` を検索することで見つかります; "
"``__builtins__`` は辞書かモジュールでなければなりません (後者の場合はモ"
"ジュールの辞書が使われます)。デフォルトでは、 :mod:`__main__` モジュール中に"
"おいては、 ``__builtins__`` は組み込みモジュール :mod:`builtins` です; それ以"
"外の任意のモジュールにおいては、 ``__builtins__`` は :mod:`builtins` モジュー"
"ル自身の辞書のエイリアスです。"
#: ../../reference/executionmodel.rst:186
msgid "Interaction with dynamic features"
msgstr "動的な機能とのやりとり"
#: ../../reference/executionmodel.rst:188
msgid ""
"Name resolution of free variables occurs at runtime, not at compile time. "
"This means that the following code will print 42::"
msgstr ""
"自由変数の名前解決はコンパイル時でなく実行時に行われます。つまり、以下のコー"
"ドは42を出力します::"
#: ../../reference/executionmodel.rst:199
msgid ""
"The :func:`eval` and :func:`exec` functions do not have access to the full "
"environment for resolving names. Names may be resolved in the local and "
"global namespaces of the caller. Free variables are not resolved in the "
"nearest enclosing namespace, but in the global namespace. [#]_ The :func:"
"`exec` and :func:`eval` functions have optional arguments to override the "
"global and local namespace. If only one namespace is specified, it is used "
"for both."
msgstr ""
":func:`eval` と :func:`exec` 関数は、名前の解決に、現在の環境の全てを使えるわ"
"けではありません。名前は呼び出し側のローカルやグローバル名前空間で解決できま"
"す。自由変数は最内名前空間ではなく、グローバル名前空間から解決されます。 "
"[#]_ :func:`exec` と :func:`eval` 関数にはオプションの引数があり、グローバル"
"とローカル名前空間をオーバライドできます。名前空間が一つしか指定されなけれ"
"ば、両方の名前空間として使われます。"
#: ../../reference/executionmodel.rst:210
msgid "Exceptions"
msgstr "例外"
#: ../../reference/executionmodel.rst:221
msgid ""
"Exceptions are a means of breaking out of the normal flow of control of a "
"code block in order to handle errors or other exceptional conditions. An "
"exception is *raised* at the point where the error is detected; it may be "
"*handled* by the surrounding code block or by any code block that directly "
"or indirectly invoked the code block where the error occurred."
msgstr ""
"例外とは、コードブロックの通常の制御フローを中断して、エラーやその他の例外的"
"な状況を処理できるようにするための手段です。例外はエラーが検出された時点で *"
"送出 (raise)* されます; 例外は、エラーが発生部の周辺のコードブロックか、エ"
"ラーが発生したコードブロック直接または間接的に呼び出しているコードブロックで "
"*処理 (handle)* することができます。"
#: ../../reference/executionmodel.rst:227
msgid ""
"The Python interpreter raises an exception when it detects a run-time error "
"(such as division by zero). A Python program can also explicitly raise an "
"exception with the :keyword:`raise` statement. Exception handlers are "
"specified with the :keyword:`try` ... :keyword:`except` statement. The :"
"keyword:`finally` clause of such a statement can be used to specify cleanup "
"code which does not handle the exception, but is executed whether an "
"exception occurred or not in the preceding code."
msgstr ""
"Python インタプリタは、ランタイムエラー (ゼロ除算など) が検出されると例外を送"
"出します。Python プログラムから、 :keyword:`raise` 文を使って明示的に例外を送"
"出することもできます。例外ハンドラ (exception handler) は、 :keyword:"
"`try` ... :keyword:`except` 文で指定することができます。 :keyword:`try` 文"
"の :keyword:`finally` 節を使うとクリーンアップコード (cleanup code) を指定で"
"きます。このコードは例外は処理しませんが、先行するコードブロックで例外が起き"
"ても起きなくても実行されます。"
#: ../../reference/executionmodel.rst:237
msgid ""
"Python uses the \"termination\" model of error handling: an exception "
"handler can find out what happened and continue execution at an outer level, "
"but it cannot repair the cause of the error and retry the failing operation "
"(except by re-entering the offending piece of code from the top)."
msgstr ""
"Python は、エラー処理に \"プログラムの終了 (termination)\" モデルを用いていま"
"す: 例外ハンドラは、プログラムに何が発生したかを把握することができ、ハンドラ"
"の外側のレベルに処理を継続することはできますが、(問題のあったコード部分を最初"
"から実行しなおすのでない限り) エラーの原因を修復したり、実行に失敗した操作を"
"やり直すことはできません。"
#: ../../reference/executionmodel.rst:244
msgid ""
"When an exception is not handled at all, the interpreter terminates "
"execution of the program, or returns to its interactive main loop. In "
"either case, it prints a stack backtrace, except when the exception is :exc:"
"`SystemExit`."
msgstr ""
"例外が全く処理されないとき、インタプリタはプログラムの実行を終了させるか、対"
"話メインループに処理を戻します。どちらの場合も、例外が :exc:`SystemExit` でな"
"ければ、スタックバックトレース (backtrace) を出力します。"
#: ../../reference/executionmodel.rst:248
msgid ""
"Exceptions are identified by class instances. The :keyword:`except` clause "
"is selected depending on the class of the instance: it must reference the "
"class of the instance or a base class thereof. The instance can be received "
"by the handler and can carry additional information about the exceptional "
"condition."
msgstr ""
"例外は、クラスインスタンスによって識別されます。 :keyword:`except` 節はインス"
"タンスのクラスにもとづいて選択されます: これはインスタンスのクラスか、その"
"ベースクラスを参照します。このインスタンスはハンドラによって受け取られ、例外"
"条件に関する追加情報を伝えることができます。"
#: ../../reference/executionmodel.rst:255
msgid ""
"Exception messages are not part of the Python API. Their contents may "
"change from one version of Python to the next without warning and should not "
"be relied on by code which will run under multiple versions of the "
"interpreter."
msgstr ""
"例外のメッセージは、Python API 仕様には含まれていません。メッセージの内容は、"
"ある Python のバージョンと次のバージョンの間で警告なしに変更される可能性があ"
"るので、複数バージョンのインタプリタで動作するようなコードは、例外メッセージ"
"の内容に依存させるべきではありません。"
#: ../../reference/executionmodel.rst:259
msgid ""
"See also the description of the :keyword:`try` statement in section :ref:"
"`try` and :keyword:`raise` statement in section :ref:`raise`."
msgstr ""
":keyword:`try` 文については、 :ref:`try` 節、 :keyword:`raise` 文については :"
"ref:`raise` 節も参照してください。"
#: ../../reference/executionmodel.rst:264
msgid "Footnotes"
msgstr "脚注"
#: ../../reference/executionmodel.rst:265
msgid ""
"This limitation occurs because the code that is executed by these operations "
"is not available at the time the module is compiled."
msgstr ""
"この制限は、上記の操作によって実行されるコードが、モジュールをコンパイルした"
"ときには利用できないために起こります。"