2012-09-07 3 views
0

어떻게 10,20 같은 c 확장에 기본값을 전달할 수 있습니까? 아래 코드는 a = 10 및 b = 20에 대해 값을 사용하지 않습니다. 아래 코드에서 example.py는 c 함수를 호출하는 간단한 파이썬 코드를 계산합니다.파이썬 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

관련 문제