[PYTHON] Écrire un décorateur en classe

Un décorateur facile à comprendre mais difficile à comprendre J'ai pleuré un peu quand je l'ai écrit en classe en pensant que c'était déjà parfait Ce serait bien de passer * args et ʻargs [0]`

yo.py



import functools
import random

class Prot:
    def __init__(self):
        self.yo = ['yo'*i for i in range(10)] 

    def yoyo(f):
        functools.wraps(f)
        def wraps(*args):
            print('yo gacha.')
            result = f(args[0]) #  args[0] = self, result = return value
            print('')
            return result
        return wraps

    @yoyo
    def yo_gacha(self):
        print(self.yo[random.randint(0, 9)])	

if __name__ == '__main__':
    p = Prot()
    for _ in range(2): p.yo_gacha()    
~ %python -m yo
yo gacha.
yoyoyoyo

yo gacha.
yoyoyoyoyoyoyoyoyo

~ %

à suivre

=> to be continued...

Recommended Posts

Écrire un décorateur en classe
classe de cas en python
Ecrire DCGAN avec Keras
Ecrire Python dans MySQL
Modèle de décorateur en Java
Notation de classe en Python
Je n'ai pas eu besoin d'écrire décorateur en classe Merci contextmanager
Ecrire l'entrée standard dans le code
Écrire une distribution bêta en Python
Ecrire python dans Rstudio (réticulé)
Ecrire Spigot dans VS Code
Écrire des données au format HDF
Ecrire des tests Spider dans Scrapy
Récupère le nom de la classe où la méthode est définie dans le décorateur
Ecrire une dichotomie en Python
Ecrire un test piloté par table en C
Décorateur 1
Ecrire un schéma JSON avec Python DSL
Comment écrire sobrement avec des pandas
Les mines terrestres cachées dans les variables de classe Python
Réaliser une classe d'interface en langage C
Ecrire un serveur HTTP / 2 en Python
Ecrire une fonction AWS Lambda en Python
Ecrire des algorithmes A * (A-star) en Python
[Maya] Ecrire un nœud personnalisé dans Open Maya 2.0
Lire des morceaux PNG en Python (édition de classe)
classe
Ecrire des contraintes de clé externe dans Django
Ecrire le code de test du sélénium en python
Décorateur 2
Ecrire un graphique à secteurs en Python
Ecrire le plugin vim en Python
Écrire une recherche de priorité en profondeur en Python
Examiner la classe d'un objet avec python
Ecrire un test en langue GO + gin
classe
Ecrire un test unitaire de langage C en Python
Décorateur
Décorateur
Écrire de la documentation dans Sphinx avec Python Livereload
Générer une collection de première classe en Python
Créer un décorateur de fonction Python avec Class
[Introduction à Python] Comment utiliser la classe en Python?
Illustrer les dépendances de classe dans un projet Xcode
Implémenter __eq__ etc. de manière générique dans la classe Python
Ecrire le test dans la docstring python
Lier à la classe pour lire et écrire YAML
Implémenter un décorateur de vue personnalisé avec Pyramid
Decorator pour éviter UnicodeEncodeError dans Python 3 print ()
Ecrire une courte définition de propriété en Python
Classe Trump en Python (avec comparaison)
Apprenez le modèle de conception "Décorateur" avec Python
Ecrire le fichier O_SYNC en C et Python
Ecrire un programme de chiffrement Caesar en Python
Écrivez et exécutez SQL directement dans Elixir
Lire et écrire des fichiers JSON avec Python
Ecrire une méthode de cupidité simple en Python
Ajax dans Django (en utilisant la vue de classe générique)
Comment utiliser __slots__ dans la classe Python