Superclass static method name from subclass
Thomas Passin
list1 at tompassin.net
Fri Nov 11 12:02:37 EST 2022
You can define a classmethod in SubClass that seems to do the job:
class SuperClass(object):
@staticmethod
def spam(): # "spam" and "eggs" are a Python tradition
print('spam from SuperClass')
class SubClass(SuperClass):
@classmethod
def eggs(self):
super().spam()
SubClass.eggs() # Prints "spam from SuperClass"
If you try to make it a @staticmethod, though, you would need to provide
a class argument to super(), but a staticmethod does not pass one in.
On 11/11/2022 11:21 AM, Ian Pilcher wrote:
> Is it possible to access the name of a superclass static method, when
> defining a subclass attribute, without specifically naming the super-
> class?
>
> Contrived example:
>
> class SuperClass(object):
> @staticmethod
> def foo():
> pass
>
> class SubClass(SuperClass):
> bar = SuperClass.foo
> ^^^^^^^^^^
>
> Is there a way to do this without specifically naming 'SuperClass'?
>
More information about the Python-list
mailing list