gpt4 book ai didi

Python:如何使用类方法在 __init__ 函数中定义变量?

转载 作者:行者123 更新时间:2023-11-28 18:44:42 24 4
gpt4 key购买 nike

class TextToNumbers():
def __init__(self, number):
self.text = str(number)
self.chunks = parse_text_to_chunks(self.text)

def parse_text_to_chunks(text_to_parse):
#stuff

这是我正在构建的类的示例。我希望它在初始化时用类方法定义一些变量。 (至少我认为这是我想要的)我认为如果我谈论我的最终目标,那就是我有一组复杂的信息需要在初始化时直接提供关于类的信息。如何在初始化时调用类方法来定义类变量?

最佳答案

如果您正在寻找一种在初始化期间调用实例方法的方法,您可以使用 self像这样调用它

class TextToNumbers():
def __init__(self, number):
self.text = str(number)
self.chunks = self.parse_text_to_chunks(self.text)
print self.chunks

def parse_text_to_chunks(self, text_to_parse):
# 1st parameter passed is the current INSTANCE on which this method is called
self.var1 = text_to_parse[1:]
return self.var1

TextToNumbers(123)

我相信这就是您真正需要的。但是如果你想要一个类方法

class TextToNumbers():
def __init__(self, number):
self.text = str(number)
self.chunks = TextToNumbers.parse_text_to_chunks(self.text)
print self.chunks

@classmethod
def parse_text_to_chunks(cls, text_to_parse):
# 1st parameter passed is the current CLASS on which this method is called
cls.var1 = text_to_parse[1:]
return cls.var1

TextToNumbers(123)

但是在 __init__ 中创建类方法来初始化类变量是没有意义的,因为类变量由类的所有实例共享,从 __init__ 调用每次创建对象时都会覆盖。

关于Python:如何使用类方法在 __init__ 函数中定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896957/

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