0
votes

Comment appeler la sous-fonction dans une classe de Python?

(Je suis très nouveau à la fois à Python et à Stackoverflow.)

class Student:
    def A(self):
        def B():
            print("I'm B")
        self.A.B = B


0 commentaires

3 Réponses :


1
votes

Vous n'avez pas besoin de référencer auto car la fonction interne b est définie là-bas. Il devrait être comme ceci: xxx


0 commentaires

0
votes

Je n'utilise jamais de cours, mais pourriez-vous le faire de cette façon? XXX


0 commentaires

1
votes

Les fonctions Python sont Objets de première classe . Quelle est la fonction de première classe dans Python

donc la première pièce du code est parfaitement valide. Il ajoute simplement une propriété B à la fonction, qui peut être appelée ultérieurement à l'aide de ab () .

mais pour le second morceau de code, cette est invalide, comme self.a renvoie une référence à a méthode de classe étudiant xxx < p> self.a n'a pas d'attribut B , de sorte qu'il renvoie une erreur xxx

maintenant une solution rapide serait d'assigner à auto.b xxx

Bien que le code ci-dessus fonctionne, c'est une mauvaise façon, comme vous devrez toujours Appelez A pour chaque objet instancié avant d'appeler B .


1 commentaires

Selon ma compréhension, la fonction peut avoir une propriété et la méthode ne peut pas avoir d'attribut. Est-ce correct?