У меня нет идеи относительно того, почему я получаю эту ошибку.Может кто-то объяснить, что именно означает эта ошибка, TypeError: issubclass() arg 1 должен быть классом
ответ
Это означает, что вы не предоставляете класс в качестве аргумента для issubclass()
. Оба аргумента должны быть классами. Второй аргумент также может быть кортежем классов.
Если вы покажете код, который вызывает эту ошибку, мы можем помочь дальше.
От documentation:
issubclass(class, classinfo)
Returntrue
ifclass
is a subclass (direct or indirect) ofclassinfo
. A class is considered a subclass of itself.classinfo
may be a tuple of class objects, in which case every entry inclassinfo
will be checked. In any other case, aTypeError
exception is raised.
@Felix: У меня есть класс клуба и класс manager.Club имеет атрибут Manager, где должен храниться экземпляр класса менеджера.Я написал функции для отношений наоборот. Я думаю, что эти функции приводят к выдаче ошибки issubclass – gizgok
@gizgok: Без кода это действительно сложно помочь. –
Первый аргумент в issubclass()
должен быть "класс" типа.
, как люди говорили, что 2 аргументы issubclass()
должны быть классы, а не экземпляры объекта.
рассмотреть этот пример:
>>> issubclass(1, int)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: issubclass() arg 1 must be a class
>>> issubclass(type(1), int)
True
>>> isinstance(1, int)
True
ключ является использование функции type()
получить тип экземпляра для использования с функцией issubclass()
, которая, как отмечается в другом комментарии, что эквивалентно вызову isinstance()
Конечно, классы * являются * объектами. –
ну, ты прав ... я не хочу путать очевидного новичка в питоне. я должен был использовать «экземпляры объекта» (исправьте меня, если я ошибаюсь) –
В основном этот метод сообщает вам, является ли первый параметр подклассом второго. Поэтому, естественно, оба параметра должны быть классами. По вашему звонку, вы вызвали issubclass
без каких-либо параметров, что смущает интерпретатора.
Вызов issubclass
походит на запрос переводчика: «Эй, этот класс является подклассом этого другого класса?». Однако, поскольку вы не предоставили два класса, вы, по сути, попросили интерпретатора: «Эй, я не собираюсь вам ничего показывать, но скажите мне, это ли это подкласс». Это смущает интерпретатора, и именно поэтому вы получаете эту ошибку.
- 1. Test Suite Python - issubclass() arg 1 должен быть классом
- 2. Привет, моя пользовательская проверка бросает выражение TypeError issubclass() arg 1 должно быть классом
- 3. TypeError - Что означает эта ошибка?
- 4. «issubclass() аргумент 2 должен быть классом или кортеж» в assertRaises
- 5. Может ли кто-нибудь объяснить, что означает эта ошибка System.ArgumentException?
- 6. Unittest error 'issubclass arg 2'
- 7. Что означает эта ошибка?
- 8. Что означает эта ошибка?
- 9. PHP: Что означает эта ошибка? Абстрактный метод должен быть совместимым?
- 10. Джанго issubclass) Arg 1 (должна быть ошибка класса в insering TabularInline на странице администратора
- 11. Что именно означает ERROR_INVALID_ORDINAL?
- 12. Что означает эта ошибка?
- 13. Что означает эта ошибка
- 14. Что именно означает => означает?
- 15. Что означает эта ошибка?
- 16. Что именно указывает эта ошибка?
- 17. Кто может объяснить, что означает «? CurrentPosition + 1: currentPosition-1;»
- 18. Что означает эта ошибка?
- 19. Что означает эта ошибка?
- 20. Что означает эта ошибка?
- 21. Что означает эта ошибка?
- 22. Что означает эта ошибка: HPE_INVALID_CONSTANT?
- 23. Может кто-нибудь объяснить, что означает код putchar ('/' // */1)
- 24. Что означает эта ошибка uWSGI?
- 25. MPLABx Что означает эта ошибка?
- 26. Что именно означает «закрытие»?
- 27. Что означает эта ошибка Python?
- 28. Что означает эта ошибка Python?
- 29. Что означает эта ошибка сегмента?
- 30. Что означает эта ошибка mysql?
Ошибка кажется довольно ясной. Возможно, вам следует опубликовать код, который, по вашему мнению, должен работать, но этого не происходит. –
Кроме того, существует очень мало причин использовать 'issubclass'. –
Возможно, вы имели смысл использовать 'isinstance()' вместо этого? –