... about my beloved buffer object: Would a patch to make the buffer object subclassable be still accepted for 2.2, or does this fall under the feature freeze? Another question: It is my understanding that makeing an object subclassable also exposes its constructor to Python. What is the signature of this constructor? Is the three argument version xxx(name, bases, dict) always used to return a new type object (Don Beaudry hook), and can other signatures freely be used to creates objects/instances of this type/class? Thomas
... about my beloved buffer object:
Would a patch to make the buffer object subclassable be still accepted for 2.2, or does this fall under the feature freeze?
NO. Go away. :-) I think the buffer() builtin should be deprecated, not improved.
Another question: It is my understanding that makeing an object subclassable also exposes its constructor to Python.
Yes, since otherwise there would be no way to instantiate the subclass either.
What is the signature of this constructor? Is the three argument version xxx(name, bases, dict) always used to return a new type object (Don Beaudry hook), and can other signatures freely be used to creates objects/instances of this type/class?
I'm sorry, I don't understand the question. This is the constructor signature for type object, IOW for metaclasses. It has nothing to do with the constructor signature for builtin classes. Also, what do you mean by constructor? __new__ or __init__? Read test_descr.py for examples. Also xxsubtype.c and various built-in types if you're interested in doing this at the C level. --Guido van Rossum (home page: http://www.python.org/~guido/)
From: "Guido van Rossum" <guido@python.org>
... about my beloved buffer object:
Would a patch to make the buffer object subclassable be still accepted for 2.2, or does this fall under the feature freeze?
NO. Go away. :-) Ok. ;-( Is the list of subtypable types now complete (for 2.2), or do you indend to do more?
I think the buffer() builtin should be deprecated, not improved.
Another question: It is my understanding that makeing an object subclassable also exposes its constructor to Python.
Yes, since otherwise there would be no way to instantiate the subclass either.
So I understood this...
What is the signature of this constructor? Is the three argument version xxx(name, bases, dict) always used to return a new type object (Don Beaudry hook), and can other signatures freely be used to creates objects/instances of this type/class?
I'm sorry, I don't understand the question. This is the constructor signature for type object, IOW for metaclasses. It has nothing to do with the constructor signature for builtin classes.
...but not this, sorry. I've confused this:
int(10) 10
with this:
type(int)("name", (), {}) <class '__main__.name'>
Sorry again. Thomas
Is the list of subtypable types now complete (for 2.2), or do you indend to do more?
I just found a few extension modules that define their own types, like SocketType. I'd like to see those converted. I don't know if I have time. --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (2)
-
Guido van Rossum -
Thomas Heller