On 16/07/19 10:57 PM, Cameron Simpson wrote:
On 16Jul2019 10:20, Chris Angelico <ros...@gmail.com> wrote:
On Tue, Jul 16, 2019 at 10:17 AM DL Neil <pythonl...@danceswithmice.info> wrote:
When used, do you embed a class's name within its own code, as a literal?
[...]
So, what about other situations where one might need to access the
class's own name or that of its/a super-class? eg

class C2(C1):
        def __init__(self, fred, barney ):
                super().__init__( fred )
                self.barney = barney

        def __repr__( self ):
                return f"C2( { self.fred }, { self.barney }"
                ### note: 'common practice' of "C2" embedded as constant


How 'purist' do you go, cf YAGNI?

In the case of __repr__, I would most definitely use
self.__class__.__name__, because that way, a subclass can leave repr
untouched and still get decent behaviour.

Yeah, me too, though I spell it "type(self).__name__" for no totally rational reason.

+1
(looking through my code - perhaps at one time it was 'the old way'?)

--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to