ON-BLOG

CGのこと、あれこれ書いてます。

argsってなんですのん?

会社の人に説明するときに、単純に【引数の事】でアーギュメントの略だよ。
と伝えても、うん?
って感じだったので、コードと共に説明した事をメモ。

def test_code(*args):
    print args[0]
    print args[1]

test_args1 = "code1"
test_args2 = "code2"
test_code(test_args1,test_args2)

結果

>>> 
code1
code2
>>> 


これも

def test_code(*args):
    print args[0]
    print args[1]
    print args

test_code("test1","test2")

結果

>>> 
test1
test2
('test1', 'test2')
>>> 

こうすると、理解されたので、そのままメモしときます。
要は、【*Args】としておけば
関数の引数をタプルで指定したまま使用できる感じです。

キーワード付きの場合は、【kwargs】で代用できます。

def keyward_args(**kwargs):
	for key, value in kwargs.iteritems():
		print key , value

keyward_args(test1="test1_code",test2="test2_code",test3="test3_code")

結果

>>> 
test1 test1_code
test3 test3_code
test2 test2_code
>>> 

こんな感じです。
この辺りが微妙にややこしいのがハードル高くしてますよね。



あ、あとこれは私感なんですが、これ記述しておけば
体外の引数が受け取ってくれるような気がしますね。

以上です。