次のように定義された正規の Python 関数を使用します。
def foo(*args, **kwargs):
print("args:", len(args))
for i in args:
print(i)
print("kwargs:", len(kwargs))
for k in kwargs:
print(k, kwargs[k])
この関数を Python から呼び出すと、次のようになります。
some_list = ['one', 'two', 'three']
some_kwords = { "name1" : "alice", "name2" : "bob", "name3" : "carol" }
foo(*some_list, **some_kwords)
Python C API は、C 空間からこの関数を呼び出す方法を提供していますか? 上記の 3 行を C の同等の行に変換するにはどうすればよいでしょうか?
同様の質問で、 を使用してboost::python
、C++ がこのキーワード引数関数を Python とほぼ同じ構文で呼び出すことに注意してください。これはかなりのトリックです!