Skip to content
Advertisement

Tag: metaclass

Dill doesn’t seem to respect metaclass

I have recently begun working with dill. I have a metaclass, which I use to create a Singleton pattern. Always have one object at any instant. I am using dill to serialise.The problem is once the object is loaded back, it doesn’t respect the Singleton pattern (enforced by metaclass) and __init__ gets called. Here is the code which can reproduce

Python – What does it mean for a Class to be callable?

I am trying to understand what ‘callables’ are in Python and what it means for a class to be callable. I was playing with the following code: This gives the following result: Furthermore, Gives: Does this mean that class A has a __call__ method? and why is it of type class? is A.__call__() being called each time I instantiate with

Dynamically creating Django models with `type`

I have 20+ MySQL tables, prm_a, prm_b, … with the same basic structure but different names, and I’d like to associate them with Django model classes without writing each one by hand. So, feeling ambitious, I thought I’d try my hand at using type() as a class-factory: The following works: But if I try to generate the model classes as

Using the __call__ method of a metaclass instead of __new__?

When discussing metaclasses, the docs state: You can of course also override other class methods (or add new methods); for example defining a custom __call__() method in the metaclass allows custom behavior when the class is called, e.g. not always creating a new instance. [Editor’s note: This was removed from the docs in 3.3. It’s here in 3.2: Customizing class

Advertisement