Эта техника известна как monkey patching , см. также Wikipedia. Обезьянье исправление может также означать другие формы применения исправлений к существующим классам во время выполнения, добавление собственных функций в модуль - это лишь один из случаев использования этой техники.
В Python это довольно распространено. Когда вы делаете это, чтобы добавить некоторые функции в существующий пакет, вы должны быть осторожны, выбирая имена функций, которые вряд ли столкнутся с существующими именами функций или с именами, которые могут быть использованы в будущем выпуске модуля, который вы исправляете.
В C#, например, существует механизм под названием "методы расширения", который обеспечивает языковую поддержку именно такого сценария. Однако, в отличие от Python, столкновение имен автоматически приведет к ошибке при компиляции. В Python это может привести к негласной ошибке, поэтому будьте внимательны при выборе имен.
Прикрепляю к посту несколько видео по теме: