Logo of Jet School
ГлавнаяОтзывыНаши курсыАкцииПроекты
О насБлогНовостиМероприятияГалереяГлоссарий
Контакты
AZ
RU
AZ
RU

JET School

Вдохновляющее образование для яркого будущего

Баку, ул. Олимпия 6А (около станции метро Гянджлик, рядом с Министерством Спорта)
+994 70 983 66 99+994 70 983 66 99info@jetschool.az
Понедельник - Воскресенье: 09:30 - 22:00

Навигация

  • Главная
  • Отзывы
  • Проекты
  • Выпускники
  • Предложения
  • Вакансии
  • Кадры с занятий

Направления обучения

  • Курс Компьютерной Инженерии
  • Курс Кибербезопасности
  • Курс Робототехники
  • Летняя школа: IT и программирование
  • Курс по разработке 2D игр на Unity
  • Курс AI Engineering

Ресурсы

  • Блог
  • Новости
  • События
  • Глоссарий

© 2021 – 2026 JET School. Авторские права защищены.

Что такое Duck Typing?

JET Schoolwww.jetschool.az

Что такое Duck Typing?

Duck Typing — это принцип, используемый в Python и других динамически типизированных языках программирования. Он гласит, что важно не то, к какому типу принадлежит объект, а то, как он себя ведёт.

Идея основана на известной фразе:

"Если нечто ходит как утка и крякает как утка — значит, это утка."

То есть, если объект имеет метод quack() и fly(), то его можно использовать как утку, даже если он не является экземпляром класса Duck.

Пример:


class Duck:

def quack(self):

print("Кря-кря!")


class Person:

def quack(self):

print("Я умею крякать, как утка!")


def make_it_quack(thing):

thing.quack()


duck = Duck()

person = Person()


make_it_quack(duck) # Вывод: Кря-кря!

make_it_quack(person) # Вывод: Я умею крякать, как утка!


В этом примере функция make_it_quack не проверяет тип передаваемого объекта. Она просто вызывает метод quack() — и это работает, если метод существует. Именно это и есть Duck Typing.

Преимущества:

  • Код становится более гибким и расширяемым.
  • Нет жёстких ограничений по типам, что ускоряет разработку и прототипирование.

Важно знать:

Использование Duck Typing требует аккуратности. Если ожидаемый метод отсутствует, возникнет ошибка выполнения (runtime error). Чтобы избежать этого, часто применяют hasattr() или конструкции try-except.

+994 70 983 66 99www.jetschool.az

Duck Typing — это принцип, используемый в Python и других динамически типизированных языках программирования. Он гласит, что важно не то, к какому типу принадлежит объект, а то, как он себя ведёт.

Идея основана на известной фразе:

"Если нечто ходит как утка и крякает как утка — значит, это утка."

То есть, если объект имеет метод quack() и fly(), то его можно использовать как утку, даже если он не является экземпляром класса Duck.

Пример:

class Duck:

def quack(self):

print("Кря-кря!")

class Person:

def quack(self):

print("Я умею крякать, как утка!")

def make_it_quack(thing):

thing.quack()

duck = Duck()

person = Person()

make_it_quack(duck) # Вывод: Кря-кря!

make_it_quack(person) # Вывод: Я умею крякать, как утка!

В этом примере функция make_it_quack не проверяет тип передаваемого объекта. Она просто вызывает метод quack() — и это работает, если метод существует. Именно это и есть Duck Typing.

Преимущества:

  • Код становится более гибким и расширяемым.
  • Нет жёстких ограничений по типам, что ускоряет разработку и прототипирование.

Важно знать:

Использование Duck Typing требует аккуратности. Если ожидаемый метод отсутствует, возникнет ошибка выполнения (runtime error). Чтобы избежать этого, часто применяют hasattr() или конструкции try-except.

Заполните форму чтобы узнать больше о наших IT курсах

Укажите возраст (сколько вам лет?)
Выберите язык обучения

Связанные термины:

Начни изучать IT уже сегодня

Категория: Программирование
Аутентификация
Авторизация