Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mencipta fungsi peringkat tinggi dalam Python?

Bagaimana untuk mencipta fungsi peringkat tinggi dalam Python?

PHPz
PHPzke hadapan
2023-09-05 19:29:051293semak imbas

Bagaimana untuk mencipta fungsi peringkat tinggi dalam Python?

Dalam Python, fungsi yang mengambil fungsi lain sebagai parameter atau mengembalikan fungsi sebagai output dipanggil fungsi tertib lebih tinggi. Mari lihat ciri-cirinya -

  • Fungsi ini boleh disimpan dalam pembolehubah.

  • Fungsi ini boleh dihantar sebagai parameter kepada fungsi lain.

  • Fungsi tertib tinggi boleh disimpan dalam senarai, jadual cincang, dll.

  • Fungsi boleh dikembalikan daripada fungsi.

Mari kita lihat beberapa contoh −

Fungsi sebagai Objek

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam contoh ini, fungsi ini dianggap sebagai objek. Di sini, fungsi demo() diberikan kepada pembolehubah -

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

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

Output

tHISISIT!
hELLO

Fungsi lulus sebagai parameter

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Fungsi ini diluluskan sebagai parameter. demo3() Panggilan fungsi demo() dan demo2() berfungsi sebagai parameter.

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)

Output

tHIS IS IT!
This is it!

Sekarang, mari kita bincangkan penghias. Kita boleh menggunakan penghias sebagai fungsi pesanan yang lebih tinggi.

Penghias dalam Python

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam penghias, fungsi dihantar sebagai parameter kepada fungsi lain, yang kemudiannya dipanggil dalam fungsi pembalut. Mari lihat contoh cepat −

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

juga boleh ditulis sebagai -

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

Contoh penghias

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam contoh ini, kami akan bekerjasama dengan penghias sebagai fungsi tertib tinggi -

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)

Output

Sum = 30
Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

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)

Output

Sum = 30

Gunakan penghias sintaks

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Contoh di atas boleh dipermudahkan menggunakan penghias dengan @simbol. Aplikasi penghias boleh dipermudahkan dengan meletakkan simbol @ sebelum fungsi yang ingin kita hiaskan -

# 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)

Output

Sum = 30

Atas ialah kandungan terperinci Bagaimana untuk mencipta fungsi peringkat tinggi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam