Невозможно импортировать класс Serializer между двумя файлами [duplicate]

Существует метод для итерации только собственных свойств объекта, не считая его прототипов:

for (var i in array) if (array.hasOwnProperty(i)) {
    // do something with array[i]
}

, но он все равно будет перебирать настраиваемые свойства.

В javascript any пользовательское свойство может быть назначено любому объекту, включая массив.

Если требуется итерация по разреженному массиву, следует использовать for (var i = 0; i < array.length; i++) if (i in array) или array.forEach с es5shim.

0
задан Marc 16 December 2015 в 10:09
поделиться

2 ответа

Ввод импорта в конце ваших a.py и b.py должен исправлять проблемы. Если это не поможет вам переместить импорт в блок определения класса, замените

from .a import TestA
Class TestB(object):
    pass

на

Class TestB(object):
    from .a import TestA
    pass

. Небольшое предложение: не используйте относительный импорт.

0
ответ дан Andriy Ivaneyko 27 August 2018 в 07:45
поделиться

Существует несколько подходов, которые вы можете использовать для решения проблемы перекрестного импорта:

  • Восстановите свои модули, чтобы не было перекрестных импортов, т.е. одиночный модуль и т. д.
  • Заменить from module import foo на import module и использовать полные имена.
  • Поместить импорт в конец модулей (не рекомендуется).

См. также Циркулярный импорт в Python .

1
ответ дан Community 27 August 2018 в 07:45
поделиться
Другие вопросы по тегам:

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