Python3: Überprüfen Sie, ob die Methode statisch ist

Eine ähnliche Frage (im Zusammenhang mit Python2:Python: Überprüfen Sie, ob die Methode statisch ist)

Lässt folgende Klassendefinition berücksichtigen:

class A:
  def f(self):
    return 'this is f'

  @staticmethod
  def g():
    return 'this is g'

In Python 3 gibt es keineinstancemethod jetzt funktioniert alles, daher funktioniert die Antwort für Python 2 nicht mehr.

Wie ich schon sagte, alles funktioniert, also können wir anrufenA.f(0), aber wir können natürlich nicht anrufenA.f() (Argument Fehlanpassung). Aber wenn wir eine Instanz machena=A() und wir rufen ana.f() Python wird an die Funktion übergebenA.f dasself als erstes argument. Berufunga.g() verhindert das Senden oder Erfassen derself - Es muss also eine Möglichkeit geben, zu testen, ob es sich um eine statische Methode handelt oder nicht.

Also können wir in Python3 überprüfen, ob eine Methode als deklariert wurdestatic oder nicht?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage