Làm thế nào để tạo 1 function và gọi nó trong lúc code đang chạy.
Ví dụ bạn có 3 từ "danh" "dam" "da", làm sao để tạo được 3 hàm với 3 cái tên như mong đơi. Kiểu như:
for fname in "danh", "dam", "da":
tao_ham(fname)
Ví dụ sau thực hiện tạo và gọi hàm on-fly (tức là ngay trong khi code đang chạy)
https://github.com/familug/FAMILUG/blob/master/Python/onflyfunc.py
Bạn có được thứ gần giống như mong đợi. Dùng 1 dictionary lưu tên hàm và gán cho nó giá trị là hàm sẽ được gọi:
#!/usr/bin/env python2
'''
Simple example creates functions and call them on-fly
'''
def create_func(name):
def print_name():
print "hello", name
return print_name
funcs = {i: create_func(i) for i in ('Pichu', 'Pikachu', 'Raichu')}
for fname in funcs:
print fname
funcs[fname]()
No comments:
Post a Comment