DEV Community

Discussion on: What is the most blurry part of python to you?

Collapse
 
djangotricks profile image
Aidas Bendoraitis • Edited

For me it's metaclass programming (it allows you to create classes and add attributes and methods to the classes dynamically). I have used them before, but normally I would try to avoid them, because it is difficult to maintain code with metaclasses. I think the only place where using metaclasses makes sense is creating a framework.

Also different libraries and frameworks in Python have their own blurry things. For example, in Django I would say that signals is one of such. To simplify, signals are like events in JavaScript. Unfortunately when you start adding them to your apps, you start losing control of the flow: what comes after what when you save forms or run cron jobs, or run background tasks.