192
Глава 9 • Классы
при попытке создания экземпляра
ElectricCar
произойдет ошибка. Также необхо-
димо
обновить модуль
Car
, чтобы он содержал только класс
Car
:
car.py
"""Простая модель автомобиля."""
class Car():
...
Теперь вы можете импортировать классы из каждого модуля по отдельности и соз-
дать ту
разновидность машины, которая вам нужна:
my_cars.py
❶
from car import Car
from electric_car
import ElectricCar
my_beetle = Car('volkswagen', 'beetle', 2019)
print(my_beetle.get_descriptive_name())
my_tesla = ElectricCar('tesla', 'roadster', 2019)
print(my_tesla.get_descriptive_name())
В точке
класс
Car
импортируется из своего модуля, а класс
ElectricCar
— из сво-
его. После этого создаются экземпляры обоих разновидностей. Вывод показывает,
что экземпляры были созданы правильно:
2019 Volkswagen Beetle
2019 Tesla Roadster
Использование псевдонимов
Как было показано в главе 8, псевдонимы весьма полезны при использовании мо-
дулей для организации кода проектов. Псевдонимы также могут использоваться
и при импортировании классов.
Для примера возьмем программу, которая должна создать группу экземпляров элек-
трических машин. Многократно вводить (и читать) имя
ElectricCar
будет очень
утомительно.
Имени
ElectricCar
можно назначить псевдоним в команде
import
:
from electric_car
import ElectricCar as EC
С этого момента вы сможете использовать этот псевдоним каждый раз, когда вам
потребуется создать экземпляр
ElectricCar
:
my_tesla = EC('tesla', 'roadster', 2019)
Выработка
рабочего процесса
Как видите, Python предоставляет много возможностей структурирования кода
в крупных проектах. Вы должны знать все эти возможности, чтобы найти удачные
Стандартная библиотека Python
193
способы организации своих проектов, а также лучше понимать код других раз-
работчиков.
На первых порах постарайтесь поддерживать простую структуру своего кода. По-
пробуйте разместить весь код в одном файле, и только когда все заработает, переме-
стите классы в отдельные модули. Если вам нравится схема взаимодействия между
модулями и файлами, попробуйте сохранить классы в модулях в начале работы над
проектом. Найдите подход, при котором у вас получается работоспособный код,
и двигайтесь дальше.
Достарыңызбен бөлісу: