Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan rentetan untuk memanggil fungsi/kaedah dalam Python?

Bagaimana untuk menggunakan rentetan untuk memanggil fungsi/kaedah dalam Python?

王林
王林ke hadapan
2023-09-10 20:49:021288semak imbas

Bagaimana untuk menggunakan rentetan untuk memanggil fungsi/kaedah dalam Python?

Fungsi python biasanya dipanggil menggunakan nama mereka. Walau bagaimanapun, anda juga boleh menggunakan rentetan untuk memanggil fungsi. Untuk melakukan ini, gunakan locals() dan globals().

Fungsi panggilan menggunakan rentetan

Contoh

Dalam contoh ini, kita akan belajar cara memanggil dua fungsi menggunakan rentetan -

def demo1():
   print('Demo Function 1')

def demo2():
   print('Demo Function 2')

locals()['demo1']()
globals()['demo2']()

Output

Demo Function 1
Demo Function 2

Fungsi panggilan menggunakan pembolehubah rentetan

Contoh

Dalam contoh ini, kami mencipta kelas Contoh yang fungsinya xyzuvw() menerima args dan mencetaknya. Fungsi globals() digunakan untuk merujuk kelas ini. Selepas itu, getattr() digunakan untuk merujuk fungsi dalam kelas contoh xyzuvw() -

class Example:
   def __init__(self):
      pass

   def xyzuvw(self, arg):
      print('Called xyzuvw({})'.format(arg))

# Using globals()
k = globals()['Example']()
func = getattr(k, 'xyzuvw')
func('demo argument')

# Using getarr()
getattr(globals()['Example'](), 'xyzuvw')('demo argument')

Output

Called xyzuvw(demo argument)
Called xyzuvw(demo argument)

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rentetan untuk memanggil fungsi/kaedah 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