gpt4 book ai didi

python - 你可以将一个对象 append 到 python 中已经实例化的对象吗?

转载 作者:太空宇宙 更新时间:2023-11-04 03:58:12 26 4
gpt4 key购买 nike

有没有办法将 append 方法添加到从 python 中的对象类继承的类中。

这是我的问题...我有一个句子、单词和字符类...我希望能够将一个字符 append 到感知...但是当我这样做时

    string_a = Character('a')
string_b = Character('b')
string_c = Character('c')
str_list = [string_a, string_b, string_c]
# this part works fine
sentience = Sentence(str_list)
# this part does not work... but it makes sense why not, because I'm adding two data types to one object.
# but sense sentience inherits from character, and it's really just a list of characters... I was thinking there must be some way to append another character to it.
new_str_list = [sentience + string_a]

new_sentience = Sentence(new_str_list)

python 抛出一个错误,这是有道理的......但是所有这些都是说有一种方法可以 append 到特定的实例化 Sentience 类(正如我之前提到的,它只是对象类的一个子类)或添加一个字符实例化为预先存在的感知对象?问题是我正在制作一个 Character/word/sentience/paragraph lexical tokenizer...它通过 HTML,我不想保持 html 完好无损,所以我正在构建一个这样的类结构,因为事情就像 HTML 标签有自己的数据类型,所以我可以稍后将它们添加回去。

如有任何帮助,我们将不胜感激。

最佳答案

基本上您要做的是重写 Sentence 的加法运算符。

如果您向 Sentence 添加类似于以下内容的内容,您可以定义将 Sentence 添加到对象时发生的情况。

  def __add__(self, object):
#Now you have access to self (the first operand of the addition) and the second operand of the addition, you'd probably want to do something like the following:
if type(object) == Sentence:
return self.words + object.words
if type(object) == list:
return self.words + list
if type(object) == Character:
return self.words + str(Character)

关于python - 你可以将一个对象 append 到 python 中已经实例化的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17158445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com