Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich Funktionen höherer Ordnung in Python?

Wie erstelle ich Funktionen höherer Ordnung in Python?

PHPz
PHPznach vorne
2023-09-05 19:29:051208Durchsuche

Wie erstelle ich Funktionen höherer Ordnung in Python?

In Python wird eine Funktion, die eine andere Funktion als Argument verwendet oder eine Funktion als Ausgabe zurückgibt, als Funktion höherer Ordnung bezeichnet. Werfen wir einen Blick auf seine Funktionen -

  • Diese Funktion kann in einer Variablen gespeichert werden.

  • Diese Funktion kann als Parameter an eine andere Funktion übergeben werden.

  • Funktionen höherer Ordnung können in Listen, Hash-Tabellen usw. gespeichert werden.

  • Funktionen können von Funktionen zurückgegeben werden.

Schauen wir uns einige Beispiele an −

Funktion als Objekt

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

In diesem Beispiel werden diese Funktionen als Objekte behandelt. Hier wird die Funktion demo() einer Variablen zugewiesen -

# Creating a function
def demo(mystr):
   return mystr.swapcase() # swapping the case

print(demo('Thisisit!'))
sample = demo
print(sample('Hello'))

Ausgabe

tHISISIT!
hELLO

Funktion als Parameter übergeben

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

In dieser Funktion als Parameter übergeben. Die Funktion demo3() ruft die Funktionen demo() und demo2() als Parameter auf.

def demo(text):
   return text.swapcase()

def demo2(text):
   return text.capitalize()

def demo3(func):
   res = func("This is it!") # Function passed as an argument
   print (res)

# Calling
demo3(demo)
demo3(demo2)

Ausgabe

tHIS IS IT!
This is it!

Lassen Sie uns nun über Dekorateure sprechen. Wir können Dekoratoren als Funktionen höherer Ordnung verwenden.

Dekorateure in Python

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

In einem Dekorator wird eine Funktion als Parameter an eine andere Funktion übergeben und dann in der Wrapper-Funktion aufgerufen. Schauen wir uns ein kurzes Beispiel an −

@mydecorator
def hello_decorator():
   print("This is sample text.")

Das Obige kann auch als -

geschrieben werden
def demo_decorator():
   print("This is sample text.")
hello_decorator = mydecorator (demo_decorator)

Dekorationsbeispiel

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

In diesem Beispiel werden wir mit Dekoratoren als Funktionen höherer Ordnung arbeiten -

def demoFunc(x,y):
   print("Sum = ",x+y)

# outer function
def outerFunc(sample):
   def innerFunc(x,y): # inner function
      return sample(x,y)
   return innerFunc

# calling
demoFunc2 = outerFunc(demoFunc)
demoFunc2(10, 20)

Ausgabe

Sum = 30
Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

def demoFunc(x,y):
   print("Sum = ",x+y)

# outer function
def outerFunc(sample):
   def innerFunc(x,y): # inner function
      return sample(x,y)
   return innerFunc

# calling
demoFunc2 = outerFunc(demoFunc)
demoFunc2(10, 20)

Ausgabe

Sum = 30

Syntax-Dekorator anwenden

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Das obige Beispiel kann mit einem Decorator mit @-Symbol vereinfacht werden. Die Anwendung von Dekoratoren kann vereinfacht werden, indem das @-Symbol vor der Funktion platziert wird, die wir dekorieren möchten -

# outer function
def outerFunc(sample):
   def innerFunc(x,y): # inner function
      return sample(x,y)
   return innerFunc

@outerFunc
def demoFunc(x,y):
   print("Sum = ",x+y)

demoFunc(10,20)

Ausgabe

Sum = 30

Das obige ist der detaillierte Inhalt vonWie erstelle ich Funktionen höherer Ordnung in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen