М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет135/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   131   132   133   134   135   136   137   138   ...   334
Байланысты:
Изучаем Python

189
и 
ElectricCar
, используются для представления автомобилей, поэтому мы до-
бавим их в модуль 
car .py
:
car.py
"""Классы для представления машин с бензиновым и электродвигателем."""
class Car():
...
class Battery():
"""Простая модель аккумулятора электромобиля."""
def __init__(self, battery_size=70):
"""Инициализация атрибутов аккумулятора."""
self.battery_size = battery_size
def describe_battery(self):
"""Выводит информацию о мощности аккумулятора."""
print(f"This car has a {self.battery_size}-kWh battery.")
def get_range(self):
"""Выводит приблизительный запас хода для аккумулятора."""
if self.battery_size == 75:
range = 260
elif self.battery_size == 100:
range = 315
print(f"This car can go about {range} miles on a full charge.")
class ElectricCar(Car):
"""Представляет аспекты машины, специфические для электромобилей."""
def __init__(self, make, model, year):
"""
Инициализирует атрибуты класса-родителя.
Затем инициализирует атрибуты, специфические для электромобиля.
"""
super().__init__(make, model, year)
self.battery = Battery()
Теперь вы можете создать новый файл с именем 
my_electric_car .py
, импортировать 
класс 
ElectricCar
и создать новый экземпляр электромобиля:
my_electric_car.py
from car import ElectricCar
my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.battery.get_range()
Программа выводит тот же результат, что и в предыдущем случае, хотя большая 
часть ее логики скрыта в модуле:


190
Глава 9 • Классы
2019 Tesla Model S
This car has a 75-kWh battery.
This car can go approximately 260 miles on a full charge.
Импортирование нескольких классов из модуля
В файл программы можно импортировать столько классов, сколько потребуется. 
Если вы захотите создать обычный автомобиль и электромобиль в одном файле, 
потребуется импортировать оба класса, 
Car
и 
ElectricCar
:


Достарыңызбен бөлісу:
1   ...   131   132   133   134   135   136   137   138   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет