@@ -1979,6 +1979,12 @@ msgid ""
1979
1979
"why we say that for lists, ``+=`` is a \" shorthand\" for :meth:`!list."
1980
1980
"extend`::"
1981
1981
msgstr ""
1982
+ "なぜこれが起きるかを調べるためには、次の 2 点を知っている必要があります。(a) "
1983
+ "オブジェクトに :meth:`~object.__iadd__` 特殊メソッドが実装されている場合、拡"
1984
+ "張代入 ``+=`` が実行されるときにそれが呼び出され、その返り値が代入文で使われ"
1985
+ "ます; (b) リストでは、:meth:`!__iadd__` は :meth:`~list.extend` の呼び出しと"
1986
+ "等価で、リストを返します。こんな理由で、リストでは ``+=`` は :meth:`!list."
1987
+ "extend` の \" 略記\" だと言ったのでした::"
1982
1988
1983
1989
#: ../../faq/programming.rst:1397
1984
1990
msgid "This is equivalent to::"
@@ -2007,6 +2013,9 @@ msgid ""
2007
2013
"points to, that final assignment still results in an error, because tuples "
2008
2014
"are immutable."
2009
2015
msgstr ""
2016
+ ":meth:`!__iadd__` は成功し、リストは拡張 (extend) されますが、``result`` が "
2017
+ "``a_tuple[0]`` が既に指しているオブジェクトと同じオブジェクトを指していたとし"
2018
+ "ても、タプルは不変なので、その最後の代入はやはりエラーとなります。"
2010
2019
2011
2020
#: ../../faq/programming.rst:1421
2012
2021
msgid ""
@@ -2124,6 +2133,11 @@ msgid ""
2124
2133
"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, "
2125
2134
"float, complex))``."
2126
2135
msgstr ""
2136
+ "ビルトイン関数 :func:`isinstance(obj, cls) <isinstance>` を使ってください。ク"
2137
+ "ラスのタプルを与えて ``isinstance(obj, (class1, class2, ...))`` のようにすれ"
2138
+ "ば、あるオブジェクトが任意の数のクラスのオブジェクトであるかを調べられます"
2139
+ "し、``isinstance(obj, str)`` や ``isinstance(obj, (int, float, complex))`` の"
2140
+ "ようにすれば、Python のビルトイン型のオブジェクトであるかも調べられます。"
2127
2141
2128
2142
#: ../../faq/programming.rst:1499
2129
2143
msgid ""
@@ -2201,19 +2215,28 @@ msgid ""
2201
2215
"implementation of :meth:`!__setattr__` is roughly equivalent to the "
2202
2216
"following::"
2203
2217
msgstr ""
2218
+ "なお、一般的に委譲はトリッキーになりがちです。属性が設定される時には読み出さ"
2219
+ "れる時と同様に、そのクラスに :meth:`~object.__setattr__` メソッドを定義する必"
2220
+ "要があり、それには細心の注意が必要です。 :meth:`!__setattr__` の基本的な実装"
2221
+ "はおおよそ以下のようになります::"
2204
2222
2205
2223
#: ../../faq/programming.rst:1604
2206
2224
msgid ""
2207
2225
"Most :meth:`!__setattr__` implementations must modify :meth:`self.__dict__ "
2208
2226
"<object.__dict__>` to store local state for self without causing an infinite "
2209
2227
"recursion."
2210
2228
msgstr ""
2229
+ "たいてい、 :meth:`!__setattr__` 実装は :meth:`self.__dict__ <object."
2230
+ "__dict__>` を変更して、無限再帰を起こすことなくローカルな状態を保存するように"
2231
+ "しなければなりません。"
2211
2232
2212
2233
#: ../../faq/programming.rst:1610
2213
2234
msgid ""
2214
2235
"How do I call a method defined in a base class from a derived class that "
2215
2236
"extends it?"
2216
2237
msgstr ""
2238
+ "基底クラスで定義されたメソッドを、そのクラスを継承した派生クラスから呼び出す"
2239
+ "にはどうしますか?"
2217
2240
2218
2241
#: ../../faq/programming.rst:1612
2219
2242
msgid "Use the built-in :func:`super` function::"
@@ -2238,6 +2261,10 @@ msgid ""
2238
2261
"this trick is also handy if you want to decide dynamically (e.g. depending "
2239
2262
"on availability of resources) which base class to use. Example::"
2240
2263
msgstr ""
2264
+ "基底クラスをエイリアス (alias) に代入しておいてから、そのエイリアスを継承する"
2265
+ "といいかもしれません。そうすればエイリアスに代入する値を変えるだけで済みま"
2266
+ "す。ちなみに、この手法は使用する基底クラスを動的に選びたいとき、例えば使える"
2267
+ "リソースによって選びたいときなどにも便利です。例::"
2241
2268
2242
2269
#: ../../faq/programming.rst:1642
2243
2270
msgid "How do I create static class data and static class methods?"
@@ -2387,6 +2414,9 @@ msgid ""
2387
2414
"__del__` -- it simply decrements the object's reference count, and if this "
2388
2415
"reaches zero :meth:`!__del__` is called."
2389
2416
msgstr ""
2417
+ ":keyword:`del` 文は必ずしも :meth:`~object.__del__` を呼び出すとは限りません "
2418
+ "-- これは単純にオブジェクトの参照カウントを減らすもので、カウントがゼロになっ"
2419
+ "たときに :meth:`!__del__` が呼び出されます。"
2390
2420
2391
2421
#: ../../faq/programming.rst:1747
2392
2422
msgid ""
@@ -2401,6 +2431,15 @@ msgid ""
2401
2431
"run :func:`gc.collect` to force a collection, but there *are* pathological "
2402
2432
"cases where objects will never be collected."
2403
2433
msgstr ""
2434
+ "データ構造が循環リンク (子のそれぞれが親の参照を持ち、親のそれぞれが子のリス"
2435
+ "トを持つツリーなど) を含む場合、その参照カウントは決して 0 にはなりません。"
2436
+ "時々、Python はこのようなサイクルを検出するアルゴリズムを実行しますが、データ"
2437
+ "構造への参照がなくなってからこのガベージコレクタが実行されるまでいくらか時間"
2438
+ "が掛かるかもしれないので、 :meth:`!__del__` メソッドは不都合な予期できないタ"
2439
+ "イミングで呼び出されるかもしれません。これは問題を再現しようとするときに不便"
2440
+ "です。さらに悪いことに、オブジェクトの :meth:`!__del__` メソッドが実行される"
2441
+ "順序は任意です。 :func:`gc.collect` を起動して収集を強制することができます"
2442
+ "が、オブジェクトが決して回収されないような本当に病的な場合も *あります* 。"
2404
2443
2405
2444
#: ../../faq/programming.rst:1758
2406
2445
msgid ""
@@ -2411,6 +2450,13 @@ msgid ""
2411
2450
"``close()`` and ``close()`` should make sure that it can be called more than "
2412
2451
"once for the same object."
2413
2452
msgstr ""
2453
+ "循環参照コレクタがあるとはいえ、オブジェクトに ``close()`` メソッドを明示的に"
2454
+ "定義し、使い終わったらいつでも呼び出せるようにするのはいいことです。\n"
2455
+ "``close()`` メソッドを使うと、サブオブジェクトを参照している属性を取り除けま"
2456
+ "す。\n"
2457
+ ":meth:`!__del__` を直接呼び出さないでください -- :meth:`!__del__` は "
2458
+ "``close()`` を呼び出すでしょうし、 ``close()`` なら同じオブジェクトに対して複"
2459
+ "数回呼ばれてもいいことが保証されているでしょう。"
2414
2460
2415
2461
#: ../../faq/programming.rst:1765
2416
2462
msgid ""
@@ -2428,6 +2474,8 @@ msgid ""
2428
2474
"Finally, if your :meth:`!__del__` method raises an exception, a warning "
2429
2475
"message is printed to :data:`sys.stderr`."
2430
2476
msgstr ""
2477
+ "最後に、 :meth:`!__del__` メソッドが例外を発生させた場合、警告のメッセージ"
2478
+ "が :data:`sys.stderr` に書きこまれます。"
2431
2479
2432
2480
#: ../../faq/programming.rst:1783
2433
2481
msgid "How do I get a list of all instances of a given class?"
@@ -2793,33 +2841,35 @@ msgstr "問題はインタプリタが以下の段階を実行することです
2793
2841
2794
2842
#: ../../faq/programming.rst:2118
2795
2843
msgid "main imports ``foo``"
2796
- msgstr ""
2844
+ msgstr "main が ``foo`` をインポートする "
2797
2845
2798
2846
#: ../../faq/programming.rst:2119
2799
2847
msgid "Empty globals for ``foo`` are created"
2800
- msgstr ""
2848
+ msgstr "``foo`` の空のグローバルが生成される "
2801
2849
2802
2850
#: ../../faq/programming.rst:2120
2803
2851
msgid "``foo`` is compiled and starts executing"
2804
- msgstr ""
2852
+ msgstr "``foo`` がコンパイルされ実行を始める "
2805
2853
2806
2854
#: ../../faq/programming.rst:2121
2807
2855
msgid "``foo`` imports ``bar``"
2808
- msgstr ""
2856
+ msgstr "``foo`` が ``bar`` をインポートする "
2809
2857
2810
2858
#: ../../faq/programming.rst:2122
2811
2859
msgid "Empty globals for ``bar`` are created"
2812
- msgstr ""
2860
+ msgstr "``bar`` の空のグローバルが生成される "
2813
2861
2814
2862
#: ../../faq/programming.rst:2123
2815
2863
msgid "``bar`` is compiled and starts executing"
2816
- msgstr ""
2864
+ msgstr "``bar`` がコンパイルされ実行を始める "
2817
2865
2818
2866
#: ../../faq/programming.rst:2124
2819
2867
msgid ""
2820
2868
"``bar`` imports ``foo`` (which is a no-op since there already is a module "
2821
2869
"named ``foo``)"
2822
2870
msgstr ""
2871
+ "``bar`` が ``foo`` をインポートする(すでに ``foo`` という名前のモジュールがあ"
2872
+ "るので no-op となる)"
2823
2873
2824
2874
#: ../../faq/programming.rst:2125
2825
2875
msgid ""
@@ -2890,6 +2940,8 @@ msgid ""
2890
2940
"Van Rossum doesn't like this approach much because the imports appear in a "
2891
2941
"strange place, but it does work."
2892
2942
msgstr ""
2943
+ "インポートが奇妙な場所に現れることから Van Rossum はこの方法をそれほど好みま"
2944
+ "せんが、これは有効です。"
2893
2945
2894
2946
#: ../../faq/programming.rst:2150
2895
2947
msgid ""
0 commit comments