Python에서 변수가 함수를 나타내는지 확인하는 방법
Python에서는 변수가 다음을 가리키는지 확인하는 것이 유용할 수 있습니다. 기능. 처음에는 isinstance(x, function) 사용을 고려할 수 있지만 Python은 정의되지 않은 함수 클래스에 대해 NameError를 발생시킵니다.
Callable Objects 및 hasattr
변수는 함수이고 Python은 callable()을 제공합니다. Python 2.x 및 Python 3.2의 경우 이 메서드는 호출 가능한 개체를 확인하는 기능을 제공합니다. 또는 Python 3.x 3.2 이전의 경우 hasattr(obj, '__call__')을 사용하여 객체가 호출 가능한 객체의 __call__ 속성 특성을 가지고 있는지 검사할 수 있습니다.
types.FunctionType 관련 주의사항 및 Inspection.isfunction
types.FunctionTypes 또는 Inspection.isfunction을 활용하는 접근 방식이 제안되었지만 이러한 방법에는 제한이 있습니다. Python이 아닌 함수에 대해서는 False를 반환합니다. C로 구현된 내장 함수는 호출 가능하더라도 이 검사에 실패합니다.
>>> isinstance(open, types.FunctionType)
False
>>> callable(open)
True
따라서 객체의 호출 가능 특성을 확인하려면 특정 클래스 정의에 대한 적합성이 아니라 호출 능력을 명시적으로 확인해야 합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3