|
|
|
|
|
by alanfranz
1688 days ago
|
|
class.methodName = newMethod
> .. kinda thing, future callers now get your method instead of the original.Which is as powerful as it is a problem, since doing such kind of monkeypatching will change the behaviour all other instances, including already-created ones, that know nothing about your trick. Any part of the program can modify any other part of the program in a significant way, making local reasoning and debugging very hard. So, great for quick-and-dirty single-file scripts/ipython notebooks. Terrible for large systems. That's the very issue with Python. The way it doesn't enforce sane, clean programming behaviour makes it easy for a beginner/non-programmer to work with it. But a large system with a lot of external libraries is very hard to maintain. Source:
Python user since ~2004 |
|