![](/img/trans.png)
[英]How to revert an instance to use the class attribute instead of the shadowing instance attribute?
[英]Not sure if I have to use class attribute or instance attribute
我是 python 的初学者,所以我已经为这个非常基本的问题道歉。
我有一个作业,我必须从给定的文本创建一个句子和标记列表,并将它们作为属性保存在 class 中。此外,我必须确保标记保存在仍然代表句子的数据结构中(如:我仍然可以看到标记是否位于句子的开头)。
我知道如何创建 class,理论上,我知道如何使用 NLTK 对文本进行标记。
class Text:
sentences = []
sentences.append(sent_tokenize(text))
tokens = [word_tokenize(text)]
tokens.append()
def __init__(self, text):
self.raw_text = text
在上面的示例中,我使用了(据我所知)class 属性。 但是,我不确定我是否真的必须这样编码,或者我是否必须使用实例属性。
我非常感谢任何帮助!
实例属性的要点是,您可以拥有多个 class实例,每个实例都有自己的属性值。
为了说明这一点,假设有一个员工 class:
class Employee:
company = "ACME Corp"
def __init__(self, name, id_number, salary):
self.name = name
self.id_number = id_number
self.salary = salary
bob = Employee("Bob", 1, 10000)
alice = Employee("Alice", 2, 15000)
craig = Employee("Craig", 3, 18000)
这个 class 有一个在所有实例之间共享的company
class 属性(因为我们假设所有员工都为这家公司工作),它还有特定于个别员工的name
、 id_number
和salary
属性。
因此,要回答您的问题,这取决于您将如何使用文本 class。如果您计划同时拥有多个实例,每个实例都有自己单独的文本,那么听起来您需要实例属性。
但是,如果您只有 class 的一个实例,那么 class 属性就可以完成这项工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.