[問題] class中,如何依照傳入的method name作為

作者: Talent14 (Talent)   2020-12-17 15:56:17
請問大家,如下程式碼,從main.py呼叫TestClass時,可以傳method name當作參數名稱,並直接執行該method嗎?
因為類別中如果要呼叫本身的method,需要以self.test1_func()呼叫.
不知道是否有其他方式或是方向可以建議,先感謝大家!
PS: 手機排版,若不方便閱讀,請見諒!
*** main.py ***
from test_class import TestClass
TestClass(p1='test_p1', p2='test_p2', func=test1_func)
*** test_class.py ***
class TestClass:
def __init__(self, func, **less):
self.p1 = kwds.get('p1')
self.p2 = kwds.grt('p2')
func()
def test1_func(self):
return 'test1', self.p1
作者: LP9527 (ㄊㄇ抽菸都去)   2020-12-17 19:04:00
import inspect或直接用依賴注入
作者: zerof (貓橘毛發呆雕像)   2020-12-26 06:54:00
直接傳 method
作者: tsaiminghan (tsaiminghan)   2020-12-26 09:01:00
用getattr

Links booklink

Contact Us: admin [ a t ] ucptt.com