0
所以我試圖創建一個圖形框架(它被設置爲類)之間共享信息並運行到此錯誤,儘管經過了許多小時的谷歌搜索和嘗試不同的事情,但沒有解決好運。我只是試圖創建一個可以寫入其他類並從其他類讀取的庫。我創建了這個測試代碼只是爲了調試問題,所以如果你想看到我的主代碼讓我知道,謝謝。TypeError:未綁定的方法SendVars()必須使用Vars實例作爲第一個參數調用(取而代之的是bool實例)
class Vars():
global vari
vari = dict(Sifo = False, Username = "", Password = "", Event = "", Time = "")
def GetVars(self, var):
print "1"
return vari.pop(var)
def SendVars(self, var, val):
print"2"
vari[str(var)] = val
class maintest():
def test(self):
yes = raw_input("Yes: ")
if yes == "1":
yes = True
else:
yes = False
self.result(yes)
def result(self, reslt):
if reslt == True:
yes = True
else:
yes = False
Vars.SendVars('yes', yes)
a = maintest()
a.test()
print Vars.GetVars('yes')
輸出:
Yes: 1
Traceback (most recent call last):
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 43, in <module>
a.test()
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 31, in test
self.result(yes)
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 40, in result
Vars.SendVars('yes', yes)
TypeError: unbound method SendVars() must be called with Vars
instance as first argument (got str instance instead)
你是我的英雄受詛咒的!這一直困擾我很多,我知道這是一個愚蠢的簡單,我有全球定義,但我不知道怎麼粘貼到問題大聲笑。再次謝謝你!!! – Jake
沒問題!順便說一下,我會避免命名任何變量'vars',因爲這在Python中有特殊含義https://docs.python.org/2.7/library/functions.html#vars爲了方便,我在回答中做了它。想想我現在會改變它。 – perfect5th
是的,當我把它放進Eclipse時,Eclipse對我大叫,所以我把它改成了var,它似乎工作正常。 – Jake