可変長引数とは、「任意の数の引数を受けてるための引数」です。実際に簡単なサンプルを見てみましょう。
def test (arguments1, *arguments2):
	print(arguments1,arguments2)
test(1,2,3,4,5)引数を可変長引数にするには、アスタリスク(∗)を引数の先頭に付与します。関数testでarguments1とarguments2の2つの引数を定義しています。2つめのarguments2の先頭は「∗」を
上記コードを実行すると以下の様な結果になります。
% python arg.py
1 (2, 3, 4, 5)実行結果を見ると、可変長引数に代入された値は、タプルとして表示されています。
引数を可変長引数として使用する場合、引数の順番に注意する必要があります。キーワード指定しない場合は、可変長引数を最後に指定する必要があります。
先程のサンプルから可変長引数の順番を変えてみます。
def test (*arguments1, arguments2):
	print(arguments1,arguments2)
test(1,2,3,4,5)実行結果は以下の通りです。
% python arg.py
Traceback (most recent call last):
  File "arg.py", line 4, in <module>
    test(1,2,3,4,5)
TypeError: test() missing 1 required keyword-only argument: 'arguments2'上記のようにエラーが出力されます。
可変長引数を通常の引数より前に指定したい場合は、通常の引数をキーワード引数として呼び出す必要があります。
def test (*arguments1, arguments2):
	print(arguments1,arguments2)
test(1,2,3,4,arguments2=5)実行結果は以下の通りです。
% python arg.py
(1, 2, 3, 4) 5実際に可変長引数を使用するケースとして、複数の値を引数に代入する場合があげられます。
def test (*arguments1):
	sum = 0
    for n in arguments1:
    	sum += n
	print(sum)
test(1,2,3,4,5)上記サンプルは、複数の数値を可変長引数に代入し、関数testの中で引数の合計を求めて表示させるサンプルです。
実行結果は以下の通りです。
 % python arg.py
15引数の先頭に「∗∗」とアスタリスクを2つ続けるて入力すると、任意の数の引数を辞書として受け取ることができます。
def test (**kwarguments):
        print(kwarguments)
test(num='1',code='hoge',result='NG')実行結果は以下の通りです。
 % python arg.py
{'code': 'hoge', 'num': '1', 'result': 'NG'}この場合も引数の順番に注意する必要があります。キーワード指定しない場合は、可変長引数を最後に指定する必要があります。
辞書として受け取る場合は、通常の引数の前に「∗∗」を付けた引数を記述することはできません。
ネットワ-ク初心者のみなさま。
                                    
 ネットワークの基礎知識を疎かにすることは
                                    
 大変危険です!! 
これを読めばネットワークの基礎が分かる!!
                                    
 ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
                                
もちろん無料です!!
↓メールマガジン購読はこちら↓