我正在爲Python類設置問題。我們正在被引入到類。我試圖(A)用單個參數string創建一個名爲Sentence的類,並創建一個將該句子存儲爲字符串的實例變量。 (B)然後爲該類指定訪問器方法:getSentence(將該句子作爲字符串返回),getWords(返回句中的單詞列表),getLength(返回句子中的字符數),getNumWords(返回句子中的單詞數量)。以下是我迄今所嘗試的:Python類,實例變量和訪問器方法
line = "This Tuesday is Election Day"
class Sentence:
def __init__(self, text, string, words, length, num):
self.text = sentence
self.string = str(self.text)
self.words = self.text.split()
self.length = len(self.text)
self.num = len(self.words)
def getSentence(self):
return self.string
def getWords(self):
return self.words
def getLength(self):
return self.length
def getNumWords(self):
return self.num
line.getWords()
謝謝你的時間。
下面是更新的代碼工作:
class Sentence:
def __init__(self, string):
self.astring = str(string)
def getSentence(self):
return self.astring
def getWords(self):
return (self.astring).split()
def getLength(self):
return len(self.astring)
def getNumWords(self):
return len(self.getWords())
string = Sentence("The Election is tomorrow")
print (string.getSentence())
print (string.getWords())
print (string.getLength())
print (string.getNumWords())
它工作?問題是什麼? – tdelaney
它不起作用,我想象它。我在上面創建了一個示例字符串,「This Tuesday ...」以及當我輸入'line'時。getSentence()'我收到'AttributeError:'str'對象沒有屬性'getSentence'「 – Babeeshka
這是你的第一個問題。您想要將該字符串傳遞給該類以進行進一步處理。一個簡單的測試就是'foo =句子(行)'。這會失敗,因爲'Sentence .__ init__'需要一堆變量。但是'string,words,length,num'是由類來計算的,所以你不應該把它們傳遞給初始值設定項。所以把它們拿出來。然後你會遇到下一個問題....這就是所謂的「測試驅動開發」。編寫破解測試,修復問題,編寫更多測試。 – tdelaney