У меня три модуля в одной папке.
Первый модуль, run.py, является главной программой.
Второй модуль, называемый shape.py, содержит класс с именем"Shape"
Третий модуль, называемый circle.py, содержит класс с именем "Circle", который наследуется от Shape.
Код записывается следующим образом:
run.py
from shapes import Shape
from circles import Circle
a = Circle()
a.print_test()
shape.py
class Shape(object):
def print_name(self):
print "I am a generic shape"
circle.py
class Circle(Shape):
def print_name(self):
print "I am a circle"
Я хочу иметь возможность запустить программу и заставить консоль сказать "Я круг », но он вызывает исключение при импорте кругов, говорящих, что« форма не определена ».
Я всегда могу сказать circle.py импортировать класс Shape, но это не то, что мне нужно.Что если они не в одной папке?Что делать, если существует сложная иерархия папок?
Такое ощущение, что я импортирую модуль фигур дважды таким образом, чтобы я мог импортировать круги.
Что я могу сделать?(ну, в этом случае, run.py, вероятно, даже не нужно импортировать Shape, но если бы у меня были другие модули "треугольники", "шестиугольники" и "пятиугольники", я не хочу, чтобы их все приходилось импортироватьФорма)
РЕДАКТИРОВАТЬ: Я мог бы просто поместить их все в один модуль, потому что они формы!Но такого рода проблемы могут возникнуть со временем.