Maison >développement back-end >Tutoriel Python >Comment appeler une fonction membre d'une autre au sein de la même classe Python ?

Comment appeler une fonction membre d'une autre au sein de la même classe Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-13 14:45:11134parcourir

How Do I Call One Member Function From Another Within the Same Python Class?

Accès aux fonctions membres au sein d'une classe

En Python, les classes peuvent contenir diverses méthodes pour effectuer des tâches spécifiques. Un scénario courant consiste à avoir deux méthodes dans la même classe, l’une appelant l’autre. Cependant, la syntaxe pour y parvenir peut ne pas être immédiatement évidente.

Exemple de scénario

Considérez l'extrait de code suivant :

class Coordinates:
    def distToPoint(self, p):
        # Calculate distance using Pythagoras

    def isNear(self, p):
        distToPoint(self, p)
        # ...

Dans cet Par exemple, la classe Coordonnées définit deux méthodes : distToPoint, qui calcule la distance entre cette coordonnée et un autre point, et isNear, qui vérifie si cette coordonnée est proche du point spécifié. Notre objectif est d'invoquer distToPoint dans isNear.

Solution : Utilisation de l'invocation de fonction membre

Pour appeler une fonction membre au sein de la même classe, nous utilisons la syntaxe self.< ;nom_fonction>(arguments). Dans ce cas, self fait référence à l'instance actuelle de la classe et function_name est le nom de la fonction que nous voulons appeler.

Par conséquent, dans la méthode isNear, nous appellerions distToPoint comme suit :

def isNear(self, p):
    self.distToPoint(p)
    # ...

En utilisant cette approche, nous pouvons appeler de manière transparente des fonctions membres à partir de la même classe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn