我是这个网站和编程新手,所以请不要对这个新问题太苛刻。在
正如这个问题的标题所说,我试图用Python编写一个包含类的程序。它是一个在给定故事中寻找单词的程序。这个故事有一个标题,一个指南,一个主题,一个摘要和一个链接。在这种情况下,我希望程序能在故事的标题中找到单词。不过,我创建的子类不能正常工作。以下是我迄今为止所做的尝试:
class NewsStory(object):
def __init__(self,guid,title,subject,summary,link):
self.guid = guid
self.title = title
self.subject = subject
self.summary = summary
self.link = link
def get_guid(self):
return self.guid
def get_title(self):
return self.title
def get_subject(self):
return self.subject
def get_summary(self):
return self.summary
def get_link(self):
return self.link
class Trigger(object):
def evaluate(self, story):
"""
Returns True if an alert should be generated
for the given news item, or False otherwise.
"""
raise NotImplementedError
class WordTrigger(object):
def __init__(self,word):
self.word = word
def is_word_in(self,text):
#check if self.word is in text
texter = text.lower()
for char in texter:
if char in str.punctuation :
char = ' '
#text_List.append(char)
text_List = text.split(' ')
for string in text_List:
if self.word == string:
return True
return False
class TitleTrigger(WordTrigger):
def evaluate(self,story):
print "story:", story.title
return self.is_word_in(story.title)
然而,当我测试这个程序时,我得到了以下失败:“当单词出现在标题中时,title触发器无法启动。”
问题1:我做错了什么?在
此外,我在理解一般的类时遇到了困难。在
问题2:请您提供一个关于Python类的介绍的无障碍参考资料?我尝试了一些资源,比如Python文档、wikibooks和tutorials,但是从这些资源中我并没有变得更聪明。你有“更好”的吗?这可以是任何东西:一本书,一个网站,一篇文章,等等。在
首先,关于Python和面向对象编程的一些提示:
self._word = word
。在我建议你阅读PEP 8
我看你在用结构标点,但str类型没有该属性。我想您想使用
string
模块:但是,我看到您没有使用这部分代码,而是在迭代分割文本列表。我会这样做:
^{pr2}$顺便说一句,我没听明白你之前说的那个错误。在
相关问题 更多 >
编程相关推荐