9

Duck typing в python

Duck typing в python

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

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

—Нет необходимости привязываться к конкретным классам и типам.
—Код становится более гибким и менее связанным.
—Легче расширять и изменять код, добавляя новые типы.
—Упрощает полиморфизм.

➡️Пример кода:

class Bird:

def fly(self):

return "I can fly!"

class Duck(Bird):

def quack(self):

return "Quack!"

class Airplane:

def fly(self):

return "I can also fly!"

def make_it_fly(flyable_thing):

print(flyable_thing.fly())

# Создаем объекты

duck = Duck()

airplane = Airplane()

# Используем их, не смотря на разные типы

make_it_fly(duck) # Выведет: I can fly!

make_it_fly(airplane) # Выведет: I can also fly!

⬆️В этом примере функция make_it_fly принимает любой объект, который имеет метод fly(). Если объект соответствует этому интерфейсу, он будет выполнен, независимо от того, является ли объект уткой, самолетом или чем-то еще.

🔎Duck typing позволяет создавать более гибкий и динамичный код, так как вы можете использовать объекты, которые соответствуют необходимым интерфейсам, не заботясь о их конкретных классах.

Ещё много крутой и полезной информации закинул в свой канал - клик

Лига программистов

2.1K постов11.9K подписчика

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества