Python Glossary English

все Python 3inspectфункция

inspect.isgetsetdescriptor()

дескрипторы

Проверяет, что объект — getset-дескриптор: атрибут C-типа с геттером и сеттером на C, например function.__code__.

Синтаксис

inspect.isgetsetdescriptor(object) -> bool

Это деталь реализации CPython: в других интерпретаторах функция может всегда давать False. Свой property на Python сюда не относится — getset бывает только у типов, написанных на C. Найти такой атрибут можно в __dict__ встроенного типа, а не через экземпляр: f.__code__ вернёт уже объект кода. Для «любого дескриптора данных» надёжнее isdatadescriptor.

Примеры

import inspect, types
code_attr = types.FunctionType.__dict__['__code__']
print(inspect.isgetsetdescriptor(code_attr))  # → True
print(inspect.isgetsetdescriptor(property(lambda s: 1)))  # → False
print(inspect.isdatadescriptor(code_attr))  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности