Обучение верблюдоводов в навигации по пустыне

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Представьте себе сценARIO в огромном и жарком арабском пустыне, где группа кочевников полагается на своих верных верблюдов для передвижения. В этом наборе вы будете играть роль верблюдодателя, который должен обучить новых верблюдов приобрести навыки навигации и выносливости, которые необходимы для путешествий по пустыне.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python/ObjectOrientedProgrammingGroup -.-> python/inheritance("Inheritance") subgraph Lab Skills python/inheritance -.-> lab-271562{{"Обучение верблюдоводов в навигации по пустыне"}} end

Понятие наследования

В этом шаге вы создадите класс на Python, представляющий собой базового верблюда. Затем вы создадите новый класс для гоночного верблюда, наследовав от базового верблюда его характеристики и способности и добавив дополнительные атрибуты скорости.

В /home/labex/project/camel.py:

## Создайте класс базового Верблюда
class Camel:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def navigate(self):
        print(f"{self.name} is navigating through the desert.")

## Создайте класс RacingCamel, наследующийся от Camel
class RacingCamel(Camel):
    def __init__(self, name, age, speed):
        super().__init__(name, age)
        self.speed = speed

    def race(self):
        print(f"{self.name} is racing at {self.speed} mph.")

## Создайте экземпляр базового Верблюда
basic_camel = Camel("Tom", 5)
basic_camel.navigate()

Запустите скрипт:

python camel.py

На вашем терминале должна быть отображена следующая информация:

Tom is navigating through the desert.

Использование функции super()

В этом шаге вы усовершенствуете класс RacingCamel, используя функцию super() для вызова метода navigate() родительского класса.

Обновите и добавьте следующий код в файл /home/labex/project/camel.py:

class RacingCamel(Camel):
    def __init__(self, name, age, speed):
        super().__init__(name, age)
        self.speed = speed

    def race(self):
        print(f"{self.name} is racing at {self.speed} mph.")

    def navigate(self):
        super().navigate()
        print(f"{self.name} is navigating at high speed.")

## Создайте экземпляр RacingCamel
racing_camel = RacingCamel("Sprint", 8, 60)
racing_camel.navigate()
racing_camel.race()

Запустите скрипт:

python camel.py

На вашем терминале должна быть отображена следующая информация:

Sprint is navigating through the desert.
Sprint is navigating at high speed.
Sprint is racing at 60 mph.

Резюме

В этом практическом занятии вы узнали о концепции наследования в Python. Определив родительские и дочерние классы, вы можете создать иерархию классов, которые наследуют атрибуты и методы, тем самым способствуя повторному использованию и поддерживая четкую структуру в своем коде. Понимание наследования является важным аспектом объектно-ориентированного программирования и позволяет эффективно организовывать и развивать код.