"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 변수가 함수를 나타내는지 어떻게 확인할 수 있나요?

Python 변수가 함수를 나타내는지 어떻게 확인할 수 있나요?

2024년 11월 12일에 게시됨
검색:407

How can I Determine if a Python Variable Represents a Function?

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

따라서 객체의 호출 가능 특성을 확인하려면 특정 클래스 정의에 대한 적합성이 아니라 호출 능력을 명시적으로 확인해야 합니다.

릴리스 선언문 이 글은 1729252937에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3