1. ホーム
  2. python

[解決済み] 関数の引数でアスタリスクがむき出し?

2022-03-14 22:52:16

質問

関数の引数にアスタリスクがあると、どうなるのですか?

を見てみると pickleモジュール を見ると、こんな感じです。

pickle.dump(obj, file, protocol=None, *, fix_imports=True)

引数の前にシングルとダブルのアスタリスクがあるのは知っていますが(引数の数が可変の場合)、これは何も前にありません。そして、これはpickleとは関係ないことは確かです。こんなこともあるんだなという例でしょう。私はこれをインタプリタに送るときに初めてその名前を知りました。

>>> def func(*):
...     pass
...
  File "<stdin>", line 1
SyntaxError: named arguments must follow bare *

重要であれば、私はpython 3.3.0を使用しています。

どのように解決するのですか?

* は呼び出し側が名前付き引数を使うように強制するために使われます。 * に続くキーワード引数がない場合に、引数として指定します。

参照 この回答 または Python 3 ドキュメント をご覧ください。