>  기사  >  백엔드 개발  >  Python 변수가 함수를 나타내는지 어떻게 확인할 수 있나요?

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-18 20:03:30420검색

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

Python에서 변수가 함수를 나타내는지 확인하는 방법

Python에서는 변수가 함수를 가리키는지 확인하는 것이 유용할 수 있습니다. 기능. 처음에는 isinstance(x, function) 사용을 고려할 수 있지만 Python은 정의되지 않은 함수 클래스에 대해 NameError를 발생시킵니다.

호출 가능한 객체 및 hasattr

변수는 함수이고 Python은 callable()을 제공합니다. Python 2.x 및 Python 3.2의 경우 이 메서드는 호출 가능한 개체를 확인하는 기능을 제공합니다. 또는 Python 3.x 3.2 이전의 경우 hasattr(obj, '__call__')을 사용하여 객체가 호출 가능한 객체의 __call__ 속성 ​​특성을 가지고 있는지 검사할 수 있습니다.

types.FunctionType 관련 주의 사항 및 검사.isfunction

types.FunctionTypes 또는 검사.isfunction을 활용하는 접근 방식이 제안되었지만 이러한 방법에는 제한이 있습니다. Python이 아닌 함수에 대해서는 False를 반환합니다. C로 구현된 내장 함수는 호출 가능하더라도 이 검사에 실패합니다.

<code class="python">>>> isinstance(open, types.FunctionType)
False
>>> callable(open)
True</code>

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

위 내용은 Python 변수가 함수를 나타내는지 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.