Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 함수의 인수 수를 어떻게 찾을 수 있습니까?

<시간/>

다음과 같은 qux.py 스크립트가 있다고 가정합니다.

#qux.py
def aMethod1(arg1, arg2):
     pass
def aMethod2(arg1,arg2, arg3, arg4, arg5):
    pass

이 스크립트의 내용에 액세스할 수 없다고 가정하면 다음과 같이 주어진 함수에서 인수의 수를 찾을 수 있습니다.

파이썬 함수 내에서 매개변수 이름 목록을 찾기 위해 inspect 모듈을 가져오고 주어진 스크립트 qux.py도 가져옵니다.

inspect.getargspec(foo)를 사용하여 foo() 함수의 모든 인수 목록을 얻습니다. 이 목록의 첫 번째는 다시 일반 인수 목록입니다. x =inspect.getargspec(foo)인 경우 인수의 수는 len(x[0])에서 찾습니다.

#fubar.py
import qux
import inspect
x=inspect.getargspec(qux.aMethod1)
y=inspect.getargspec(qux.aMethod2)
print(llen(y[0]))

터미널에서 이 스크립트 실행

$ python fubar.py

다음 출력을 얻습니다.

5