Fungsi python biasanya dipanggil menggunakan nama mereka. Walau bagaimanapun, anda juga boleh menggunakan rentetan untuk memanggil fungsi. Untuk melakukan ini, gunakan locals() dan globals().
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']()
Demo Function 1 Demo Function 2
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')
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!