1
args = [4,5]
kwargs = {'x': 7}
func(a, b=2, *args, **kwargs)

a、b、args、および kwargs を参照するために受け入れられている命名法は何ですか?

特に、次の空欄を埋めてください。

'a' is a (_blank_) positional argument
'args' contains (_blank_) positional arguments
'b' is a (_blank_) keyword argument
'kwargs' contains (_blank_) keyword arguments

(空白) = {形式 / 任意の長さ / 実際 / 可変位置 / 固定}のようなものを探しています

また、上記で間違っている場合は修正してください。

4

2 に答える 2

1

探しているものの多くはPython チュートリアルにあります。

左から右へ:

  • a位置引数です。
  • b=3は、デフォルト値が 3 の位置引数です。
  • *argsタプルとしてアンパックされた任意の引数リストです。
  • **kwargsディクショナリとしてアンパックされたキーワード引数です。
于 2012-06-01T01:27:57.897 に答える
1

エドワード・ローパーがすでに説明したように、あなたの条件は正しいです。より具体的にすることしかできません:

  1. 'a' は、最初に必要な位置引数です。
  2. 'args' は不正な位置引数を渡します。(キーワード引数の後に使用するためです。)
  3. 'b' はオプションのキーワード引数で、名前はbで、デフォルト値は 2 です。
  4. 'kwargs' は、任意のキーワード引数を渡します。

    def punk(a, b, *args, **kwargs):
        print a
        print b
        print args
        print kwargs
    
    a=1; b=2; args = [4,5]; kwargs={'x':7}
    punk(a, b=b, *args, **kwargs)
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
    TypeError: punk() got multiple values for keyword argument 'b'
    

合法的に使用する場合args、潜在的に必要な任意の位置引数を渡すために使用されると言えます。

>>> punk(a, *args)
1
4
(5,)
{}
于 2012-06-01T01:29:56.763 に答える