Python
 Computer >> コンピューター >  >> プログラミング >> Python

**(二重星)と*(星)はPythonのパラメーターに対して何をしますか?


Python関数では、プレフィックスに単一のアスタリスク(スター)が付いた引数は、呼び出し元の環境から可変数の引数を受け取るのに役立ちます

>>> def function(*arg):
      for i in arg:
        print (i)

>>> function(1,2,3,4,5)
1
2
3
4
5

可変数のキーワード引数を関数に渡す必要がある場合、関数定義で二重アスタリスク(スター)付きの引数が使用されます

>>> def function(**arg):
      for i in arg:
        print (i,arg[i])


>>> function(a=1, b=2, c=3, d=4)
a 1
b 2
c 3
d 4

Python 3では、代入ステートメントでアスタリスクを使用して変数を定義し、反復可能オブジェクトの拡張アンパックを有効にすることができます。

>>> a,*b=[1,2,3,4]
>>> a
1
>>> b
[2, 3, 4]
>>> a,*b,c=[1,2,3,4]
>>> a
1
>>> b
[2, 3]
>>> c
4



  1. Pythonの名前空間とは何ですか?

    名前空間は、スコープを実装する方法です。 Pythonでは、各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。それを「評価コンテキスト」と考えてください。関数などの実行が終了すると、名前空間は削除されます。変数は削除されます。さらに、名前がローカル名前空間にない場合に使用されるグローバル名前空間があります。 各変数名はローカル名前空間(関数の本体、モジュールなど)でチェックされ、次にグローバル名前空間でチェックされます。 変数は通

  2. %はPythonの文字列に何をしますか?

    %は、文字列フォーマット演算子または補間演算子です。 formatの%値(formatは文字列)を指定すると、formatの%変換仕様は、0個以上の値の要素に置き換えられます。この効果は、C言語でsprintf()を使用する場合と同様です。たとえば、 >>> lang = "Python" >>> print "%s is awesome!" % lang Python is awesome この表記で数値をフォーマットすることもできます。たとえば、 >>> cost = 128.527 >&