GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — python-docs-ja/reference/executionmodel.po at 3.12 · python/python-docs-ja Expand file tree/ Copy pathexecutionmodel.poMore file actions 779 lines (672 loc) · 32.2 KB / Copy pathexecutionmodel.poFile metadata and controls779 lines (672 loc) · 32.2 KB 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 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 # SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: # Osamu NAKAMURA, 2021 # Arihiro TAKASE, 2023 # Nozomu Kaneko <[email protected]>, 2023 # tomo, 2023 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-08 02:53-0300\n" "PO-Revision-Date: 2021-06-28 01:19+0000\n" "Last-Translator: tomo, 2023\n" "Language-Team: Japanese (https://app.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. A module run as " "a top level script (as module ``__main__``) from the command line using a :" "option:`-m` argument is also a code block. The string argument passed to the " "built-in functions :func:`eval` and :func:`exec` is a code block." msgstr "" "Python プログラムはコードブロックから構成されます。\n" "ブロック (:dfn:`block`) は、一つのまとまりとして実行される Python プログラム" "テキストの断片です。\n" "モジュール、関数本体、そしてクラス定義はブロックであり、対話的に入力された" "個々のコマンドもブロックです。\n" "スクリプトファイル (インタープリタに標準入力として与えられたり、インタープリ" "タにコマンドライン引数として与えられたファイル) もコードブロックです。\n" "スクリプトコマンド (インタープリタのコマンドライン上で :option:`-c` オプショ" "ンで指定されたコマンド) もコードブロックです。\n" "引数 :option:`-m` を使用して、コマンドラインからトップレベルスクリプト(すなわ" "ちモジュール ``__main__`` )として実行されるモジュールもまたコードブロックで" "す。組み込み関数 :func:`eval` や :func:`exec` に渡された文字列引数もコードブ" "ロックです。" #: ../../reference/executionmodel.rst:33 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:40 msgid "Naming and binding" msgstr "名前づけと束縛 (naming and binding)" #: ../../reference/executionmodel.rst:49 msgid "Binding of names" msgstr "名前の束縛" #: ../../reference/executionmodel.rst:55 msgid "" ":dfn:`Names` refer to objects. Names are introduced by name binding " "operations." msgstr "" ":dfn:`名前 (name)` は、オブジェクトを参照します。名前を導入するには、名前への" "束縛 (name binding) 操作を行います。" #: ../../reference/executionmodel.rst:59 msgid "The following constructs bind names:" msgstr "以下の構文が名前を束縛します:" #: ../../reference/executionmodel.rst:61 msgid "formal parameters to functions," msgstr "" #: ../../reference/executionmodel.rst:62 msgid "class definitions," msgstr "クラス定義," #: ../../reference/executionmodel.rst:63 msgid "function definitions," msgstr "関数定義," #: ../../reference/executionmodel.rst:64 msgid "assignment expressions," msgstr "代入式," #: ../../reference/executionmodel.rst:65 msgid "" ":ref:`targets <assignment>` that are identifiers if occurring in an " "assignment:" msgstr "" #: ../../reference/executionmodel.rst:68 msgid ":keyword:`for` loop header," msgstr "" #: ../../reference/executionmodel.rst:69 msgid "" "after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` " "clause, :keyword:`except* <except_star>` clause, or in the as-pattern in " "structural pattern matching," msgstr "" #: ../../reference/executionmodel.rst:71 msgid "in a capture pattern in structural pattern matching" msgstr "" #: ../../reference/executionmodel.rst:73 msgid ":keyword:`import` statements." msgstr ":keyword:`import` 文." #: ../../reference/executionmodel.rst:74 msgid ":keyword:`type` statements." msgstr "" #: ../../reference/executionmodel.rst:75 msgid ":ref:`type parameter lists <type-params>`." msgstr "" #: ../../reference/executionmodel.rst:77 msgid "" "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 "" #: ../../reference/executionmodel.rst:81 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:84 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:89 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 :term:`free variable`." msgstr "" #: ../../reference/executionmodel.rst:95 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:101 msgid "Resolution of names" msgstr "名前解決" #: ../../reference/executionmodel.rst:105 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:113 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:121 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:127 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. See :ref:`the FAQ entry on " "UnboundLocalError <faq-unboundlocalerror>` for examples." msgstr "" "ある名前がコードブロック内のどこかで束縛操作されていたら、そのブロック内で使" "われるその名前はすべて、現在のブロックへの参照として扱われます。このため、あ" "る名前がそのブロック内で束縛される前に使われるとエラーにつながります。この規" "則は敏感です。Python には宣言がなく、コードブロックのどこでも名前束縛操作がで" "きます。あるコードブロックにおけるローカル変数は、ブロックのテキスト全体から" "名前束縛操作を走査することで決定されます。例は :ref:`UnboundLocalError につい" "ての FAQ 項目 <faq-unboundlocalerror>` を参照してください。" #: ../../reference/executionmodel.rst:136 msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "names specified in the statement refer to the bindings of those names 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 names are not " "found there, the builtins namespace is searched next. If the names are also " "not found in the builtins namespace, new variables are created in the global " "namespace. The global statement must precede all uses of the listed names." msgstr "" #: ../../reference/executionmodel.rst:146 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:152 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. :ref:`Type parameters <type-params>` cannot be " "rebound with the :keyword:`!nonlocal` statement." msgstr "" #: ../../reference/executionmodel.rst:160 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:163 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, but it does not include :ref:`annotation scopes <annotation-" "scopes>`, which have access to their enclosing class scopes. This means that " "the following will fail::" msgstr "" #: ../../reference/executionmodel.rst:176 msgid "" "class A:\n" " a = 42\n" " b = list(a + i for i in range(10))" msgstr "" #: ../../reference/executionmodel.rst:180 msgid "However, the following will succeed::" msgstr "" #: ../../reference/executionmodel.rst:182 msgid "" "class A:\n" " type Alias = Nested\n" " class Nested: pass\n" "\n" "print(A.Alias.__value__) # <type 'A.Nested'>" msgstr "" #: ../../reference/executionmodel.rst:191 msgid "Annotation scopes" msgstr "" #: ../../reference/executionmodel.rst:193 msgid "" ":term:`Annotations <annotation>`, :ref:`type parameter lists <type-params>` " "and :keyword:`type` statements introduce *annotation scopes*, which behave " "mostly like function scopes, but with some exceptions discussed below." msgstr "" #: ../../reference/executionmodel.rst:198 msgid "Annotation scopes are used in the following contexts:" msgstr "" #: ../../reference/executionmodel.rst:200 msgid ":term:`Function annotations <function annotation>`." msgstr "" #: ../../reference/executionmodel.rst:201 msgid ":term:`Variable annotations <variable annotation>`." msgstr "" #: ../../reference/executionmodel.rst:202 msgid "" "Type parameter lists for :ref:`generic type aliases <generic-type-aliases>`." msgstr "" #: ../../reference/executionmodel.rst:203 msgid "" "Type parameter lists for :ref:`generic functions <generic-functions>`. A " "generic function's annotations are executed within the annotation scope, but " "its defaults and decorators are not." msgstr "" #: ../../reference/executionmodel.rst:206 msgid "" "Type parameter lists for :ref:`generic classes <generic-classes>`. A generic " "class's base classes and keyword arguments are executed within the " "annotation scope, but its decorators are not." msgstr "" #: ../../reference/executionmodel.rst:209 msgid "" "The bounds, constraints, and default values for type parameters (:ref:" "`lazily evaluated <lazy-evaluation>`)." msgstr "" #: ../../reference/executionmodel.rst:211 msgid "The value of type aliases (:ref:`lazily evaluated <lazy-evaluation>`)." msgstr "" #: ../../reference/executionmodel.rst:213 msgid "Annotation scopes differ from function scopes in the following ways:" msgstr "" #: ../../reference/executionmodel.rst:215 msgid "" "Annotation scopes have access to their enclosing class namespace. If an " "annotation scope is immediately within a class scope, or within another " "annotation scope that is immediately within a class scope, the code in the " "annotation scope can use names defined in the class scope as if it were " "executed directly within the class body. This contrasts with regular " "functions defined within classes, which cannot access names defined in the " "class scope." msgstr "" #: ../../reference/executionmodel.rst:221 msgid "" "Expressions in annotation scopes cannot contain :keyword:`yield`, ``yield " "from``, :keyword:`await`, or :token:`:= <python-grammar:" "assignment_expression>` expressions. (These expressions are allowed in other " "scopes contained within the annotation scope.)" msgstr "" #: ../../reference/executionmodel.rst:225 msgid "" "Names defined in annotation scopes cannot be rebound with :keyword:" "`nonlocal` statements in inner scopes. This includes only type parameters, " "as no other syntactic elements that can appear within annotation scopes can " "introduce new names." msgstr "" #: ../../reference/executionmodel.rst:228 msgid "" "While annotation scopes have an internal name, that name is not reflected in " "the :term:`qualified name` of objects defined within the scope. Instead, " "the :attr:`~definition.__qualname__` of such objects is as if the object " "were defined in the enclosing scope." msgstr "" #: ../../reference/executionmodel.rst:233 msgid "Annotation scopes were introduced in Python 3.12 as part of :pep:`695`." msgstr "" #: ../../reference/executionmodel.rst:236 msgid "" "Annotation scopes are also used for type parameter defaults, as introduced " "by :pep:`696`." msgstr "" #: ../../reference/executionmodel.rst:240 msgid "" "Annotation scopes are now also used for annotations, as specified in :pep:" "`649` and :pep:`749`." msgstr "" #: ../../reference/executionmodel.rst:247 msgid "Lazy evaluation" msgstr "" #: ../../reference/executionmodel.rst:249 msgid "" "Most annotation scopes are *lazily evaluated*. This includes annotations, " "the values of type aliases created through the :keyword:`type` statement, " "and the bounds, constraints, and default values of type variables created " "through the :ref:`type parameter syntax <type-params>`. This means that they " "are not evaluated when the type alias or type variable is created, or when " "the object carrying annotations is created. Instead, they are only evaluated " "when necessary, for example when the ``__value__`` attribute on a type alias " "is accessed." msgstr "" #: ../../reference/executionmodel.rst:258 msgid "Example:" msgstr "例:" #: ../../reference/executionmodel.rst:260 msgid "" ">>> type Alias = 1/0\n" ">>> Alias.__value__\n" "Traceback (most recent call last):\n" " ...\n" "ZeroDivisionError: division by zero\n" ">>> def func[T: 1/0](): pass\n" ">>> T = func.__type_params__[0]\n" ">>> T.__bound__\n" "Traceback (most recent call last):\n" " ...\n" "ZeroDivisionError: division by zero" msgstr "" #: ../../reference/executionmodel.rst:274 msgid "" "Here the exception is raised only when the ``__value__`` attribute of the " "type alias or the ``__bound__`` attribute of the type variable is accessed." msgstr "" #: ../../reference/executionmodel.rst:278 msgid "" "This behavior is primarily useful for references to types that have not yet " "been defined when the type alias or type variable is created. For example, " "lazy evaluation enables creation of mutually recursive type aliases::" msgstr "" #: ../../reference/executionmodel.rst:282 msgid "" "from typing import Literal\n" "\n" "type SimpleExpr = int | Parenthesized\n" "type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" "type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" msgstr "" #: ../../reference/executionmodel.rst:288 msgid "" "Lazily evaluated values are evaluated in :ref:`annotation scope <annotation-" "scopes>`, which means that names that appear inside the lazily evaluated " "value are looked up as if they were used in the immediately enclosing scope." msgstr "" #: ../../reference/executionmodel.rst:297 msgid "Builtins and restricted execution" msgstr "組み込みと制限付きの実行" #: ../../reference/executionmodel.rst:303 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:308 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:320 msgid "Interaction with dynamic features" msgstr "動的な機能とのやりとり" #: ../../reference/executionmodel.rst:322 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:325 msgid "" "i = 10\n" "def f():\n" " print(i)\n" "i = 42\n" "f()" msgstr "" #: ../../reference/executionmodel.rst:333 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:347 msgid "Exceptions" msgstr "例外" #: ../../reference/executionmodel.rst:358 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:364 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:374 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:381 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 traceback, except when the exception is :exc:" "`SystemExit`." msgstr "" "例外が全く処理されないとき、インタプリタはプログラムの実行を終了させるか、対" "話メインループに処理を戻します。\n" "どちらの場合も、例外が :exc:`SystemExit` でなければ、スタックのトレースバック" "を出力します。" #: ../../reference/executionmodel.rst:385 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 :term:`non-virtual base class <abstract base " "class>` thereof. The instance can be received by the handler and can carry " "additional information about the exceptional condition." msgstr "" "例外は、クラスインスタンスによって識別されます。 :keyword:`except` 節はインス" "タンスのクラスにもとづいて選択されます: これはインスタンスのクラスか、その :" "term:`非仮想基底クラス <abstract base class>` を参照します。このインスタンス" "はハンドラによって受け取られ、例外条件に関する追加情報を伝えることができま" "す。" #: ../../reference/executionmodel.rst:393 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:397 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:402 msgid "Footnotes" msgstr "脚注" #: ../../reference/executionmodel.rst:403 msgid "" "This limitation occurs because the code that is executed by these operations " "is not available at the time the module is compiled." msgstr "" "この制限は、上記の操作によって実行されるコードが、モジュールをコンパイルした" "ときには利用できないために起こります。" #: ../../reference/executionmodel.rst:8 msgid "execution model" msgstr "実行モデル" #: ../../reference/executionmodel.rst:8 msgid "code" msgstr "コード" #: ../../reference/executionmodel.rst:8 ../../reference/executionmodel.rst:17 msgid "block" msgstr "ブロック" #: ../../reference/executionmodel.rst:31 ../../reference/executionmodel.rst:299 msgid "execution" msgstr "実行" #: ../../reference/executionmodel.rst:31 msgid "frame" msgstr "フレーム" #: ../../reference/executionmodel.rst:42 msgid "namespace" msgstr "namespace" #: ../../reference/executionmodel.rst:42 ../../reference/executionmodel.rst:103 msgid "scope" msgstr "スコープ" #: ../../reference/executionmodel.rst:51 msgid "name" msgstr "name" #: ../../reference/executionmodel.rst:51 msgid "binding" msgstr "束縛" #: ../../reference/executionmodel.rst:57 msgid "from" msgstr "from" #: ../../reference/executionmodel.rst:57 msgid "import statement" msgstr "" #: ../../reference/executionmodel.rst:87 msgid "free" msgstr "自由" #: ../../reference/executionmodel.rst:87 msgid "variable" msgstr "variable" #: ../../reference/executionmodel.rst:111 msgid "environment" msgstr "環境" #: ../../reference/executionmodel.rst:117 msgid "NameError (built-in exception)" msgstr "NameError (組み込み例外)" #: ../../reference/executionmodel.rst:117 msgid "UnboundLocalError" msgstr "UnboundLocalError" #: ../../reference/executionmodel.rst:158 msgid "module" msgstr "module" #: ../../reference/executionmodel.rst:158 msgid "__main__" msgstr "__main__" #: ../../reference/executionmodel.rst:299 msgid "restricted" msgstr "制限" #: ../../reference/executionmodel.rst:349 msgid "exception" msgstr "例外" #: ../../reference/executionmodel.rst:351 msgid "raise an exception" msgstr "例外を送出する" #: ../../reference/executionmodel.rst:351 msgid "handle an exception" msgstr "例外を扱う" #: ../../reference/executionmodel.rst:351 msgid "exception handler" msgstr "例外ハンドラ" #: ../../reference/executionmodel.rst:351 msgid "errors" msgstr "エラー" #: ../../reference/executionmodel.rst:351 msgid "error handling" msgstr "エラー処理" #: ../../reference/executionmodel.rst:372 msgid "termination model" msgstr "終了モデル" #: ../../reference/executionmodel.rst:379 msgid "SystemExit (built-in exception)" msgstr "SystemExit (組み込み例外)" |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |