繁体   English   中英

不确定我是否必须使用 class 属性或实例属性

[英]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 属性(因为我们假设所有员工都为这家公司工作),它还有特定于个别员工的nameid_numbersalary属性。

因此,要回答您的问题,这取决于您将如何使用文本 class。如果您计划同时拥有多个实例,每个实例都有自己单独的文本,那么听起来您需要实例属性。

但是,如果您只有 class 的一个实例,那么 class 属性就可以完成这项工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM