[Python-de] super()?

Christian Tanzer tanzer at swing.co.at
Sat Sep 7 12:41:43 EDT 2002


martin at v.loewis.de (Martin v. Loewis) wrote:

> tanzer at swing.co.at (Christian Tanzer) writes:
>
> > Der Deskriptor für diese bound method kann anhand im_self.__class
> > die Klasse die Instanz feststellen. Warum kann er dann nicht im
> > im_class die Klasse ablegen, in der die bound method tatsächlich
> > definiert wird.
>
> Weil er die Klasse nicht kennt.

OK, warum kann der Erzeuger des Deskriptors für diese bound method
nicht die richtige Klasse in im_class ablegen?

Wenn `super(B, d).save` ausgewertet wird, gibt es irgendein Stück
Code, das die Klasse kennt, von der `save` tatsächlich definiert wird.
Dieses Stück Code verwischt IMHO Spuren und macht Introspektion für
bound methods weniger nützlich als sie sein könnte.

Natürlich ist das nicht weltbewegend. Das Problem von Python ist, daß
winzige Warzen hervorstechen, weil es insgesamt so wenige (und kleine)
Warzen in Python gibt :)

-- 
Christian Tanzer                                         tanzer at swing.co.at
Glasauergasse 32                                       Tel: +43 1 876 62 36
A-1130 Vienna, Austria                                 Fax: +43 1 877 66 92





More information about the Python-de mailing list