Vous pouvez passer d'une classe (et non un objet) en tant que paramètre à une méthode en python?
Je veux faire quelque chose comme ce qui suit
class A:
def static_method_A():
print "hello"
def main(param=A):
param.static_method_A()
Je veux que ce soit équivalent à A.static_method()
. Est-ce possible?
Vous devez vous connecter pour publier un commentaire.
Sûr. Les Classes sont des objets de première classe en Python.
Bien que, dans votre exemple, vous devez utiliser le
@classmethod
(objet de classe comme argument initial) ou@staticmethod
(pas d'argument initial) décorateur de votre méthode.Vous devriez être en mesure de faire ce qui suit (la note la
@staticmethod
décorateur):Bien sûr, pourquoi pas? N'oubliez pas d'ajouter @staticmethod à des méthodes statiques.