Создать новый объект класса - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть 2 класса в python cl1 в файле f1.py и cl2 в файле f2.py. Я написал импорт f2

import f2

class cl1:
  a = f2.cl2()

Но я вижу ошибку в a = f2.cl2(): объект модуля не имеет атрибута 'cl2'

Почему?

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 февраля 2010

извините, я был не прав: Ваша проблема, вероятно, в том, что у вас есть циклический импорт: f1 импортирует f2 и наоборот. проверьте ваш дизайн, так как обычно это возможно для разработки вашего программного обеспечения без циклического импорта.

см .: это

0 голосов
/ 26 февраля 2010

Следующий код работает просто отлично (если вы используете Python 3, вы можете пропустить части (object), но в Python 2 вы должны оставить их внутри - они не несут ответственности за вашу ошибку, но если вы получитеЕсли вы пропустите их, у вас будут странные проблемы в будущем по мере роста вашего кода ...):

f2.py is:

class cl2(object):
  pass

f1.py is:

import f2

class cl1(object):
  a = f2.cl2()

Если ваш код не работает, он должен отличаться от этого.Пожалуйста, подтвердите, что этот простой код работает для вас, а затем покажите нам (отредактировав исходный вопрос, , а не , разместив комментарии или "ответы"), как ваш нерабочий код отличается (отсутствие импорта, циклический импортнеправильный импорт или что-то еще).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...