2012-09-07 21 views
0

如何將默認值傳遞給像10,20這樣的c擴展名,下面的代碼不會將a = 10和b = 20中的 值。在下面的代碼中,example.py很簡單,是一個調用c函數calculate的python代碼。在python extesnions中傳遞默認值的正確方法是什麼?

example.py

def Multiply: 
    calculate(a=10,b =20) 

calculate.c擴展文件

if(! PyArg_ParseTuple(args, "ii" ,&a, &b)); 

-----------some more code here ------ 
------------------------------------ 
+0

我想你錯過了c擴展文件中的右括號。 – mgilson

回答

1

那些沒有默認值;那些是關鍵字參數。因此,它們不會在args元組中。

相反,您可能需要PyArg_ParseTupleAndKeywords()

+0

可以分享一些使用上述方法的示例代碼。我在python文檔中經過了一些代碼但是它不太清楚 – jaysh

+0

當使用PyARG_ParseAndKeywords()時,我得到錯誤|「比關鍵字列表條目更多的參數說明符」。 – jaysh

相關問題