[Python-Dev] Dinamically set __call__ method
Gregory Ewing
greg.ewing at canterbury.ac.nz
Wed Nov 12 23:20:22 EST 2014
More information about the Python-list mailing list
Wed Nov 12 23:20:22 EST 2014
- Previous message (by thread): [Python-Dev] Dinamically set __call__ method
- Next message (by thread): [Python-Dev] Dinamically set __call__ method
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Fabio Zadrozny wrote: > can someone from python-dev give some background of why > that's the way it is? It's because, with new-style classes, a class is also an instance (of class "type" or a subclass thereof). So without that rule, it would be ambiguous whether a dunder method applied to instances of a class or to the class itself. > and if maybe it's something which python-dev would consider worth > changing in the future -- not sure how much could break because of that > though Something fairly fundamental that would break is classs instantiation! You instantiate a class by calling it, so if a(x) were implemented as a.__call__(x), and class C had a __call__ method, then C() would invoke that method instead of instantiating C. -- Greg
- Previous message (by thread): [Python-Dev] Dinamically set __call__ method
- Next message (by thread): [Python-Dev] Dinamically set __call__ method
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list