ISinstance () возвращает false, потому что путь импорта не равен типу класса [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 ISinstance () возвращает false, потому что путь импорта не равен типу класса [закрыто]

Сообщение Anonymous »

Я хочу проверить, является ли переменная определенным классом: < /p>
if isinstance(inv, src.components.inventory.Inventory):
inv.items.remove(entity)
< /code>
Но чек идет не так, потому что тип класса отличается от импорта: < /p>
print(f"type of inv: {type(inv)}")
< /code>
Результаты < /p>
type of inv:

Я в настоящее время работаю над учебником Roguelike, но по некоторым причинам я перенес все файлы кода в SRC/и компоненты в SRC/Components /.
Как я могу решить эту проблему? Я мог бы сделать сравнение строк, но тогда мне не хватает типа, чтобы иметь возможность вызвать удаление.class BaseComponent:
...

src/components/inventory.py:
from src.components.base_component import BaseComponent

class Inventory(BaseComponent):
...

src/components/consumble.py:
from src.components.inventory import Inventory

class Consumable(BaseComponent):
def consume(self) -> None:
entity = self.parent
inv = entity.parent
if isinstance(inv, Inventory):
inv.items.remove(entity)


Подробнее здесь: https://stackoverflow.com/questions/796 ... class-type
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»