Commits

Kosei Kitahara  committed 9468109

Update Default Argument Values

  • Participants
  • Parent commits 0c260b5

Comments (0)

Files changed (1)

 変数の初期値
 ````````````
 
-たいていの場合に利用する
+大抵の場合に利用する
 
 定義:
-    関数の引数配列の最後に、例えば `def foo(a, b=0):` のような変数の値を指定できます。
+    関数の引数配列の末尾に、例えば `def foo(a, b=0):` のような変数の値を指定できます。
     もし 1 つの引数で `foo` が呼びだされた場合、 `b` は `0` となります。
     もし 2 つの引数で呼び出された場合、 `b` は 2 つめの引数の値となります。
 
 利点:
     たいていは初期値で動作し、必要に応じて初期値を上書きする関数です。
-    特殊ケースのための関数をたくさん定義するのではなく、
-    変数の初期値を指定することで、それを簡単に実現できます。
+    特殊ケースのために複数の関数を定義するのではなく、
+    変数の初期値を指定することで、簡単に実現できます。
     また、Python はメソッド/関数のオーバーロードをサポートしませんが、
     変数の初期値によりオーバーロードのような使い方ができます。
 
 欠点:
     変数の初期値は、モジュールがロード時に一度だけ評価されます。
-    配列や辞書のような変数が変更されやすいオブジェクトでは問題が発生するかもしれません。
-    例えば関数が配列にアイテムを追加するなど、オブジェクトを変更した場合変数の初期値が変わってしまいます。
+    変数が配列や辞書のようなミュータブルなオブジェクトの場合は問題が発生するかもしれません。
+    例えば関数が配列にアイテムを追加するなど、オブジェクトを変更した場合は初期変数が変わってしまいます。
 
 結論:
     以下に注意して利用します:
 
-    変更可能なオブジェクトは、関数やメソッドで定義された変数の初期値に指定しないようにしましょう::
+    ミュータブルなオブジェクトは、関数やメソッドで定義された変数の初期値に指定しないようにしましょう::
 
         # Yes:
         def foo(a, b=None):
         def foo(a, b=[]):
             ...
 
-    初期値が設定された変数は変数名指定してください
+    初期値が設定された変数は変数名指定します
     これはコードをドキュメント化する際の助けとなり、
-    変数が追加された際にインターフェースが壊れてしまうのを防ぐことができます::
+    変数が追加された際にインターフェースが壊れてしまうのを防ぐことができます::
 
         def foo(a, b=1):
             ...