История изменений
Исправление
Crocodoom,
(текущая версия)
:
Очень мало задач требуют возможность менять типы данных без остановки выполнения программы.
Именно менять — не знаю, но создавать новые? Это из той же оперы. В питоне я могу создать класс в функции, заполнить его методами (в том числе статическими) и вернуть класс в вызывающий контекст. А потом вызвать статический метод в этом контексте. Это диспетчеризация в чистом виде, поскольку заранее про класс ничего неизвестно.
Очень мало задач
И вообще, это субъективное и некорректное утверждение. Обосновать ты его не сможешь, поскольку оно недоказуемо и неопровергаемо. Так-то можно вообще на голых сях любую задачу решить.
Любой, кто владеет метаклассами, применит вышеописанный трюк там, где это будет уместно. Лично я применял, чесслово. Другое дело, что большинство питонистов считают метаклассы «чёрной магией», и используют питон как «дёргалку библиотек».
Исходная версия
Crocodoom,
:
Очень мало задач требуют возможность менять типы данных без остановки выполнения программы.
Именно менять — не знаю, но создавать новые? Это из той же оперы. В питоне я могу создать класс в функции, заполнить его методами (в том числе статическими) и вернуть класс в вызывающий контекст. А потом вызвать статический метод в этом контексте. Это диспетчеризация в чистом виде, поскольку заранее про класс ничего неизвестно.
Очень мало задач
И вообще, это субъективное и некорректное утверждение. Обосновать ты его не сможешь, поскольку оно недоказуемо и неопровергаемо.
Любой, кто владеет метаклассами, применит вышеописанный трюк там, где это будет уместно. Лично я применял, чесслово. Другое дело, что большинство питонистов считают метаклассы «чёрной магией», и используют питон как «дёргалку библиотек».