需要一些幫助來理解我做錯了什麼。可能很基本,但我沒有把我的大腦包裹在它周圍。Python/pylint E1101需要關於正確對象定義的幫助
我的代碼是這樣的:
class baseElement(object):
def __init__(self):
self.Portal = ''
self.locator = ''
def present(self):
return self.Portal.PTF.Presence_of_Element(self.locator)
def visible(self):
return self.Portal.PTF.Is_Element_Visible(self.locator)
class baseActiveElement(baseElement):
def hover(self):
self.Portal.PTF.Mouse_over_element(self.locator)
def click(self):
self.Portal.PTF.Click_on_Element(self.locator)
def get(self):
return self.locator
我定義的門戶網站,當我從實例這些基地的對象,它包含了一些函數來執行特定的操作。這工作。那裏沒有問題。
但pylint的抱怨正是如此:
E1101: 8,15:baseElement.present: Instance of 'str' has no 'PTF' member
E1101: 11,15:baseElement.visible: Instance of 'str' has no 'PTF' member
E1101: 15,8:baseActiveElement.hover: Instance of 'str' has no 'PTF' member
E1101: 18,8:baseActiveElement.click: Instance of 'str' has no 'PTF' member
我應該怎麼做才能不引起這個錯誤?
編輯: 如果我改變我的init這樣:
class baseElement(object):
def __init__(self):
self.Portal = object
self.Portal.PTF = self.Portal.PTF
self.locator = ''
的pylint的異議消失了,我可以看到定義門戶爲基本對象的價值,因爲它最終會成爲一個真正的對象,但將Portal.PTF定義爲本身對我來說看起來是無稽之談。
如果您不想要空字符串,請不要將'self.Portal'初始化爲空字符串。 – geoffspear
什麼是PTF屬性? – Brady
Wooble,我將它初始化爲空字符串,因爲在編譯時沒有門戶對象,只有在運行時。而且pylint會拋出E1101,如果沒有它,不會找到「Portal」。什麼會是一個更好的方法來創建一個虛擬? –