Рубрики
Без рубрики

Как работает метод Python Issubclass ()?

Эй, ребята! Сегодня мы здесь с еще одним учебником по теме Python Issubclass () метода.

Автор оригинала: Pankaj Kumar.

Эй, ребята! Сегодня мы здесь с еще одним учебником по теме Python Issubclass () Метод Отказ

Итак, давайте поправляемся в тему.

Что такое Python Issubclass ()?

Python Issubclass () Метод – это Встроенный Метод, который проверяет, является ли пропущенный класс A подкласс указанного ClassInfo (Может быть класс или кортеж классовых объектов). Это возвращает Правда Если класс является подклассом (прямым, косвенным или виртуальным ) ClassInfo. Или остальное, возвращает Ложь Отказ В любом другом случае A Типеррор Исключение поднимается.

issubclass(class, classinfo)

Класс это название класса, которое мы хотим подтвердить, это подкласс ClassInfo или нет. Если ClassInfo является кортежом классов, функция проверяет одинаковую для каждого из классов, представляемых в нем.

Итак, теперь, когда у нас есть основное представление о том, что Issubclass () Давайте посмотрим на несколько примеров, чтобы получить лучшее понимание.

Использование метода Python Issubclass ()

В этом разделе мы собираемся иметь дело с другими способами, мы можем использовать Python Issubclass () метод. Для обоих случаев, когда мы проходим ClassInfo как имя класса, а также кортеж объектов класса.

1. Python Issubclass () в наследстве

Когда мы говорим о Наследование , концепция родительских и детских классов очень важно. Когда ребенок наследует от родитель Класс, оно происходит или расширяет свойства его. На данный момент ребенок Говорят, что является подклассом родитель класс.

Следовательно, Issubclass () Метод приходит удобно, когда мы хотим получить информацию о наследстве класса. Или проверьте, наследуется ли он из другого класса или нет.

Итак, давайте возьмем пример.

class Animals:
    pass

class Humans(Animals):
    pass

class Men(Humans):
    pass

class Women(Humans):
    pass

print("issubclass(Women, Humans) :", issubclass(Women, Humans))
print("issubclass(Men, Humans) :", issubclass(Men, Humans))
print("issubclass(Women, Men) :", issubclass(Women, Men)) #both are child of the same Humans Class
print("issubclass(Humans, Animals) :", issubclass(Humans, Animals))
print("issubclass(Animals, Humans) :", issubclass(Animals, Humans)) #not the opposite
print("issubclass(Women, Animals) :", issubclass(Women, Animals)) #multi-level inheritance
print("issubclass(Animals, object) :", issubclass(Animals, object)) #object is the baseclass of all classes

Выход:

Python Issubclass Выход

Здесь Животные Родительский класс с ребенком Люди Отказ Два класса, Мужчины и Женщины снова наследует от Люди Класс ( многоуровневое наследование ). Следовательно, оба Мужчины и Женщины Класс – подклассы Люди а также Животные Отказ И Люди это подкласс Животные Отказ

Это объясняет на вершину 6 полученные результаты.

Далее для последнего случая, мы получаем Правда Отказ Это из-за того, что все классы в Python являются подклассами объект класс.

2. Python Issubclass () с кортежом классов

Теперь давайте попробуем рассмотрение ClassInfo как кортеж классов. Посмотрите на пример ниже.

class Animals:
    pass

class Humans(Animals):
    pass

class Men(Humans):
    pass

class Women(Humans):
    pass

print("issubclass(Men, (str, list, tuple)) :", issubclass(Men, (str, list, tuple)))
print("issubclass(Men, (str, list, Humans)) :", issubclass(Men, (str, list, Humans)))
print("issubclass(Women, (str, list, Women)) :", issubclass(Women, (str, dict, Women)))
#A class is a subclass of itself in Python

Выход:

Ошибка с кортежом классов

Опять здесь мы взяли то же самое Наследование пример. Как упоминалось ранее, на этот раз ClassInfo передается как кортеж классовых объектов. В этом случае функция проверяет, является ли пропущенный класс подклассом любого из объектов класса в ClassInfo кортеж

Для самого первого результата Мужчины Очевидно, не подкласс любого из утра , Список или кортеж классы. Итак, мы получаем Ложь Отказ

Для следующего случая мужчины снова не подкласс ул. Или списка, а подкласс людей. Следовательно, мы получаем истину в результате.

Наконец, для последнего случая, мы получаем Правда С Женщины это подкласс самого. Это из-за того, что в Python каждый класс является подклассом самого.

Заключение

Так что это за сегодня. Мы узнали о Python Issubclass () метод.

Для любых дополнительных вопросов не стесняйтесь написать его в комментариях ниже.

Рекомендации