Одиночное наследование
Создавайте дочерние классы, наследующие атрибуты и методы родительского класса.
«Одиночное наследование» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Введение
Определение дочернего класса
class Animal:
def __init__(self, name): self.name = name
def speak(self): return '...'
class Dog(Animal):
def speak(self): return 'Woof'
d = Dog('Rex')
print(d.name, d.speak())Вызов super().__init__
class Animal:
def __init__(self, name): self.name = name
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name)
self.breed = breed
d = Dog('Rex', 'Labrador')
print(d.name, d.breed)Наследование методов
class Vehicle:
def start(self): return 'starting'
class Car(Vehicle):
pass
print(Car().start())Переопределение методов
class Shape:
def area(self): return 0
class Square(Shape):
def __init__(self, s): self.s = s
def area(self): return self.s**2
print(Square(4).area())Расширение поведения родительского класса
class Animal:
def describe(self): return 'I am an animal'
class Dog(Animal):
def describe(self): return super().describe() + ' and a dog'
print(Dog().describe())isinstance() и issubclass()
class Animal: pass
class Dog(Animal): pass
d = Dog()
print(isinstance(d, Animal))
print(issubclass(Dog, Animal))Новые методы дочернего класса
class Animal:
def __init__(self, name): self.name = name
class Dog(Animal):
def fetch(self): return f'{self.name} fetches!'
print(Dog('Rex').fetch())Защищённые атрибуты
class Animal:
def __init__(self, name): self._name = name
def name(self): return self._name
class Dog(Animal):
def bark(self): return f'{self._name} barks'
print(Dog('Rex').bark())Абстрактные базовые классы
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self): pass
class Circle(Shape):
def __init__(self, r): self.r = r
def area(self):
import math
return math.pi * self.r**2
print(Circle(3).area())__bases__ и __mro__
class A: pass
class B(A): pass
class C(B): pass
print(C.__mro__)Быстрая проверка
Повторение
Продолжить
Часто задаваемые вопросы
Урок «Одиночное наследование» бесплатный?
Да — полный текст урока «Одиночное наследование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Одиночное наследование»?
Создавайте дочерние классы, наследующие атрибуты и методы родительского класса. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Одиночное наследование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Одиночное наследование
- Переопределение методов и super()
- Множественное наследование и MRO
- Полиморфизм и утка типизация