@@ -518,7 +518,7 @@ msgstr "config.py::"
518518
519519#: ../../faq/programming.rst:270
520520msgid "x = 0 # Default value of the 'x' configuration setting"
521- msgstr ""
521+ msgstr "x = 0 # 'x' 設定のデフォルト値 "
522522
523523#: ../../faq/programming.rst:272
524524msgid "mod.py::"
@@ -529,6 +529,8 @@ msgid ""
529529"import config\n"
530530"config.x = 1"
531531msgstr ""
532+ "import config\n"
533+ "config.x = 1"
532534
533535#: ../../faq/programming.rst:277
534536msgid "main.py::"
@@ -540,6 +542,9 @@ msgid ""
540542"import mod\n"
541543"print(config.x)"
542544msgstr ""
545+ "import config\n"
546+ "import mod\n"
547+ "print(config.x)"
543548
544549#: ../../faq/programming.rst:283
545550msgid ""
@@ -689,6 +694,10 @@ msgid ""
689694" mydict[key] = value\n"
690695" return mydict"
691696msgstr ""
697+ "def foo(mydict={}): # 危険:すべての呼び出しで単一辞書への参照が共有される\n"
698+ " ... compute something ...\n"
699+ " mydict[key] = value\n"
700+ " return mydict"
692701
693702#: ../../faq/programming.rst:347
694703msgid ""
@@ -740,6 +749,8 @@ msgid ""
740749"def foo(mydict={}):\n"
741750" ..."
742751msgstr ""
752+ "def foo(mydict={}):\n"
753+ " ..."
743754
744755#: ../../faq/programming.rst:368
745756msgid "but::"
@@ -751,6 +762,9 @@ msgid ""
751762" if mydict is None:\n"
752763" mydict = {} # create a new dict for local namespace"
753764msgstr ""
765+ "def foo(mydict=None):\n"
766+ " if mydict is None:\n"
767+ " mydict = {} # ローカル名前空間での新辞書作成"
754768
755769#: ../../faq/programming.rst:374
756770msgid ""
@@ -761,9 +775,9 @@ msgid ""
761775"implemented like this::"
762776msgstr ""
763777"この性質が便利なこともあります。時間のかかる計算を行う関数があるときに使われ"
764- "る一般的な技法は、関数が呼び出されるごとにパラメタと結果の値をキャッシュし、 "
765- "再び同じ値が要求されたらキャッシュされた値を返すというものです。これは "
766- "\" memoizing\" と呼ばれ、このように実装されます::"
778+ "る一般的な技法は、関数が呼び出されるごとにパラメータと結果の値をキャッシュ "
779+ "し、 再び同じ値が要求されたらキャッシュされた値を返すというものです。これはメ "
780+ "モ化( \" memoizing\" ) と呼ばれ、このように実装されます::"
767781
768782#: ../../faq/programming.rst:379
769783msgid ""
@@ -778,6 +792,16 @@ msgid ""
778792" _cache[(arg1, arg2)] = result # Store result in the cache\n"
779793" return result"
780794msgstr ""
795+ "# 呼び出し元は2つのパラメータを指定でき、キーワードにより _cache をオプショ"
796+ "ンとして渡せる\n"
797+ "def expensive(arg1, arg2, *, _cache={}):\n"
798+ " if (arg1, arg2) in _cache:\n"
799+ " return _cache[(arg1, arg2)]\n"
800+ "\n"
801+ " # 値の算出\n"
802+ " result = ... 高コストな計算 ...\n"
803+ " _cache[(arg1, arg2)] = result # 結果をキャッシュに保持\n"
804+ " return result"
781805
782806#: ../../faq/programming.rst:389
783807msgid ""
@@ -814,6 +838,11 @@ msgid ""
814838" ...\n"
815839" g(x, *args, **kwargs)"
816840msgstr ""
841+ "def f(x, *args, **kwargs):\n"
842+ " ...\n"
843+ " kwargs['width'] = '14.3c'\n"
844+ " ...\n"
845+ " g(x, *args, **kwargs)"
817846
818847#: ../../faq/programming.rst:415
819848msgid "What is the difference between arguments and parameters?"
0 commit comments