1
我一直堅持這個很長一段時間(就像幾個星期),我已經完成了代碼中的一切,但這個。我也研究了很多,但無法靠近解決方案。我等了一個星期來這裏的唯一原因是我想自己解決這個問題,但現在,我放棄了!如何使用函數的參數作爲函數內另一個對象的對象?
現在,假設我有以下代碼:
class test:
def meth1(self, obj):
self.hello = {}
return self.hello.obj()
def meth2(self):
test.meth1(self, 'keys')
現在,當我創建一個實例,並嘗試調用方法meth2
這樣的:
x = test()
x.meth2()
它給了我一個錯誤明顯的原因。我怎樣才能讓它做我想做的事 - 將一個參數傳遞給一個函數,並將該參數用作另一個對象的對象?
OK!我實際上已經忘了getattr,因爲我從來沒有能夠正確地調整它...?那麼,你介意給我解釋一下這段代碼是怎麼回事? 我的意思是,我知道這和說'self.hello.obj'類似,但它有什麼不同? –
@AkshatTripathi當然,我添加了一個小解釋。讓我知道你是否還有什麼不明白的地方。 – arshajii
但它有什麼不同?你寫的代碼是:'getattr(self.hello,obj)()'等價於'self.hello.obj()',當我嘗試後者時,會引發異常,爲什麼呢? –