Einführung in Pipe Operator und Funktionszusammensetzung in Python (vorläufig)

Annahme

class F:
    def __init__(self, f):
        self.f = f

    def __call__(self, *args, **kwargs):
        return self.f(*args, **kwargs)

    def __mul__(self, other):
        def _f(*args, **kwargs):
            return self.f(other(*args, **kwargs))
        return _f

    def __ror__(self, other):
        return self.f(other)


@F
def f(x):
    return x + 1

@F
def g(x):
    return x * x

Konsequenz

>>> 1 | f
2

>>> 2 | g
4

>>> 1 | f | g
4

>>> (f * g)(1)
2

>>> (g * f)(1)
4

Recommended Posts

Einführung in Pipe Operator und Funktionszusammensetzung in Python (vorläufig)
Funktionssynthese und Anwendung in Python
Ich habe Funktionssynthese und Curry mit Python versucht
[Python] Verwendung von Hash-Funktion und Taple.
Python 3.6 unter Windows ... und zu Xamarin.
[Einführung in die Udemy Python3 + -Anwendung] 49. Funktionszitat und Rückgabewertdeklaration
Python-Protokollierung und Dump an JSON
Selen und Python zum Öffnen von Google
Verwendung der Zip-Funktion von Python
[Python] Unterschied zwischen Funktion und Methode
[Python] Funktionsargumente * (Stern) und ** (Doppelstern)
[Python] Verwendung der Aufzählungsfunktion (Indexnummer und Element extrahieren)
So verpacken und verteilen Sie Python-Skripte
Von Python bis zur Verwendung von MeCab (und CaboCha)
[Road to Intermediate Python] Verwenden Sie ternäre Operatoren
So installieren und verwenden Sie pandas_datareader [Python]
[Einführung in die Udemy Python3 + -Anwendung] 48. Funktionsdefinition
[Python] Verwendung von __command__, Funktionserklärung
Fraktal zum Erstellen und Spielen mit Python
[Einführung in die Udemy Python3 + -Anwendung] 45. Aufzählungsfunktion
[Einführung in die Udemy Python3 + -Anwendung] 41. Eingabefunktion
Funktion zum Speichern von Bildern nach Datum [python3]
Portieren und Ändern des Doublet-Solvers von Python2 auf Python3.
[Einführung in die Udemy Python3 + -Anwendung] 44. Bereichsfunktion
[Einführung in die Udemy Python3 + -Anwendung] 46. Zip-Funktion
Lesen Sie Python csv und exportieren Sie es nach txt
Lambda-Funktion zur Erstellung eines AMI-Backups (Python)
Python: Verwendung von Einheimischen () und Globalen ()
Zipline Funktion zum Kaufen und Verkaufen von Aktien
Einführung der Python-Bibliothek TRML2PDF in MacOSX (10.11.xx)
[Python] Berechnen von MAE und RMSE
Verwendung von Python zip und Aufzählung
Komprimieren Sie Python-Daten und schreiben Sie in SQLite
Verwendung ist und == in Python
[Python] Führen Sie UIKit3 in das Django-Projekt ein
Führen Sie Postfix in WSL ein, um an Office365 adressierte E-Mails weiterzuleiten und mit Python zu verarbeiten
Python-Funktion ①
[Python] -Funktion
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
Python-Funktion ②
Einführung in die Thano-Funktionsdefinition und automatische Differenzierung
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
Registrieren Sie Funktionsargumente automatisch in argparse in Python
So generieren Sie eine Sequenz in Python und C ++
[Einführung in Python3 Tag 12] Kapitel 6 Objekte und Klassen (6.3-6.15)
Bildtext und Post to Slack (Python Slackbot)
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Ich habe "Python Dictionary Type" und "Excel Function" verglichen.
[Einführung in Python3, Tag 22] Kapitel 11 Parallele Verarbeitung und Vernetzung (11.1 bis 11.3)
Senden Sie eine Nachricht an Skype und Chatwork in Python
[Einführung in die Udemy Python3 + -Anwendung] 64. Namespace und Gültigkeitsbereich
[Einführung in Python3 Tag 11] Kapitel 6 Objekte und Klassen (6.1-6.2)
Einführung in Deep Learning ~ Lokalisierungs- und Verlustfunktion ~
Versuchen Sie es mit Tensorflow. ① Erstellen Sie eine Python-Umgebung und führen Sie Tensorflow ein
Liste des zu verschiebenden und zu merkenden Python-Codes
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet