従来の方法は以下の通りです:オプションのリスト引数「リスト=リストまたは[]」のpython
def func(list_of_vals = None):
if list_of_vals is None:
list_of_vals = []
...
以下の(短い)バージョンは、任意の落とし穴を持っている場合、私はwounder?なぜ誰もそれをしない?もっと不明瞭だと思われますか?このためif文と組み合わせるNone
を使用して
list_of_vals = list_of_vals or []
私はそれをすごくいいと思います。まともなpythonプログラマはそれを理解するでしょう。しかし、変数名として 'l'を使うと、それは悪いことです。 –
@AlexHall、確かに、アイデアを説明するための単なるサンプルコードです –
これは非常に一般的です。それはJSの標準でもあります。実際、Typescriptのデフォルト引数は上記のコードにコンパイルされますが、JSではコンパイルされます。言語に習熟している人でも、自分が行っていることを正確に知ることができます。 – Carcigenicate