Тестирование на наличие поля в классе

Для жирного,

mySpannable.setSpan(new StyleSpan(Typeface.BOLD),termStart,termStop,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
13
задан Andrew Jaffe 20 April 2010 в 06:04
поделиться

3 ответа

Для этого также можно использовать обработку исключений.

try:
    val = x.name
except AttributeError:
    val = x.appearance
2
ответ дан 1 December 2019 в 18:54
поделиться

hasattr (x, 'foo') - это встроенная двоичная функция, которая проверяет, имеет ли объект x атрибут x.foo (независимо от того, получает ли он его из своего класса или нет), что кажется близким к тому, что вы спрашиваете. Вопрос о том, действительно ли то, о чем вы спрашиваете, следует спрашивать - это другой вопрос. Как следует из ответа @Eli, ваш дизайн кажется странным. Однако это действительно ответ на ваш вопрос ;-).

35
ответ дан 1 December 2019 в 18:54
поделиться

Вы ищете:

isinstance (object, classinfo)

Верните true, если аргумент объекта является экземпляром аргумента classinfo, или подкласса (прямого или косвенного). Также верните true, если classinfo является объектом типа (класс нового стиля), а объект является объектом этого типа или (прямым или косвенным) подклассом {{1 }} из них. Если объект не является экземпляром класса или объектом данного типа , функция всегда возвращает false. Если classinfo не является ни объектом класса , ни объектом типа, он может быть кортежем объектов класса или типа или может рекурсивно содержать другие такие кортежи (другие типы последовательностей не принимаются). Если classinfo не является классом, типом или кортежем классов, типами и такими кортежами, возникает исключение TypeError .

Все, что вы пытаетесь сделать, не кажется хорошей идеей. Пожалуйста, опишите ваши первоначальные потребности более подробно, и мы поможем вам придумать лучший дизайн.

3
ответ дан 1 December 2019 в 18:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: