TGViewer
Oh My Py Oh My Py @ohmypy · 2.26K subscribers
Post #162 2.85K
Через базовый класс

Если расчехлить навыки программирования на джаве из 1990-х годов, получится небольшая иерархия:

class Flyer:
def fly():
...

class Frank(Flyer):
# ...

class Plane(Flyer):
# ...

class Superman(Flyer):
# ...


def launch(flyer: Flyer):
flyer.fly()


Подход рабочий:

$ mypy flyer.py
Success: no issues found in 1 source file


Но, как говорят авторы Python, ужасно «непитоничный»:

The problem is that a class has to be explicitly marked, which is unpythonic and unlike what one would normally do in idiomatic dynamically typed Python code.

Действительно. Мало того, что нам пришлось модифицировать три класса вместо одной функции. Мало того, что у нас в коде завелась иерархия наследования.

Так еще и Френк, самолет и Супермен теперь объединены общим знанием о том, что они Летающие Объекты. Им прекрасно жилось и без этого, знаете ли.
  • 🤔 11
  • 👍 3
More from @ohmypy
  1. Apr 4, 2023ChatGPT-бот: группы, внешние ссылки, шорткаты Сделать GPT-бота легко, а вот удобного GPT-б…
  2. Mar 11, 2023ChatGPT-бот на Python Последние месяцы поставили рекорд по количеству программ, интегриров…
  3. Aug 3, 2022JSON Lines На днях узнал про формат JSON Lines. Это такой CSV на стероидах: — каждая запис…
  4. Jul 18, 2022Попробуйте Go Чем больше я узнаю Python, тем больше мне нравится Go. Альберт Эйнштейн Нет,…
  5. Jun 1, 2022Многозначительное многоточие Не знаю, заметили вы или нет в посте о протоколах. Не самая и…
  6. May 31, 2022Через протокол Цитата выше взята из PEP 544 (Python Enhancement Proposal, предложение о до…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →