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