[PYTHON] Schreiben Sie Dekorateur in der Klasse

Ein Dekorateur, der leicht zu verstehen, aber schwer zu verstehen ist Ich weinte ein wenig, als ich es in der Klasse schrieb und dachte, dass es bereits perfekt war Es wäre schön, "args [0]" als Antwort auf "* args" zu übergeben

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

~ %

Fortsetzung folgt

=> to be continued...

Recommended Posts

Schreiben Sie Dekorateur in der Klasse
Fallklasse in Python
Schreiben Sie DCGAN mit Keras
Schreiben Sie Python in MySQL
Dekorationsmuster in Java
Klassennotation in Python
Ich musste im Unterricht keinen Dekorateur schreiben. Danke Kontextmanager
Schreiben Sie die Standardeingabe in den Code
Schreiben Sie die Beta-Distribution in Python
Schreiben Sie Python in Rstudio (reticulate)
Schreiben Sie Spigot in VS Code
Schreiben Sie Daten im HDF-Format
Schreiben Sie Spinnen-Tests in Scrapy
Rufen Sie den Klassennamen ab, in dem die Methode im Dekorator definiert ist
Schreiben Sie eine Dichotomie in Python
Schreiben Sie einen tabellengesteuerten Test in C.
Dekorateur 1
Schreiben Sie ein JSON-Schema mit Python DSL
Wie man nüchtern mit Pandas schreibt
In Python-Klassenvariablen versteckte Landminen
Realisieren Sie die Schnittstellenklasse in der Sprache C.
Schreiben Sie einen HTTP / 2-Server in Python
Schreiben Sie die AWS Lambda-Funktion in Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
[Maya] Schreiben Sie einen benutzerdefinierten Knoten in Open Maya 2.0
Lesen Sie PNG-Chunks in Python (Klassenausgabe)
Klasse
Schreiben Sie externe Schlüsseleinschränkungen in Django
Schreiben Sie Selentestcode in Python
Dekorateur 2
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Untersuchen Sie die Klasse eines Objekts mit Python
Schreiben Sie einen Test in GO-Sprache + Gin
Klasse
Schreiben Sie einen C-Sprach-Unit-Test in Python
Dekorateur
Dekorateur
Generieren Sie eine erstklassige Sammlung in Python
Erstellen Sie mit Class einen Python-Funktionsdekorator
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Veranschaulichen Sie Klassenabhängigkeiten in einem Xcode-Projekt
Implementieren Sie __eq__ usw. generisch in der Python-Klasse
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Binden Sie an die Klasse, um YAML zu lesen und zu schreiben
Implementieren Sie einen benutzerdefinierten View Decorator mit Pyramid
Dekorateur zur Vermeidung von UnicodeEncodeError in Python 3 print ()
Schreiben Sie eine kurze Eigenschaftsdefinition in Python
Trump-Klasse in Python (mit Vergleich)
Lernen Sie das Designmuster "Decorator" mit Python
Schreiben Sie die O_SYNC-Datei in C und Python
Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python
Schreiben und führen Sie SQL direkt in Elixir aus
Lesen und schreiben Sie JSON-Dateien mit Python
Schreiben Sie eine einfache Giermethode in Python
Ajax in Django (mit generischer Klassenansicht)
Verwendung von __slots__ in der Python-Klasse