gpt4 book ai didi

python - 在 Python OOP 中调用类变量时应该使用 self 还是类名?

转载 作者:行者123 更新时间:2023-11-28 22:35:19 24 4
gpt4 key购买 nike

我对 OOP 很生疏。现在我的问题是,我将如何调用类变量?

我知道要调用一个 __init__ 变量,您需要执行以下操作:

class HelloWorld:

def __init__(self):
self.hello = "Hello"

def world(self):
print self.hello + "World"

如何调用类中未初始化的变量?以下哪项是正确的?

class HelloWorld:

hello = "Hello"

def world(self):
#Do I use self?
print self.hello + "World"
#Do I use the class name?
print HelloWorld.hello + "World"

我只是对应该使用 self 还是类名感到困惑。我看到的大多数示例都使用 self,但 Tutorials Point 上的示例使用类名。请详细说明,谢谢!

最佳答案

HelloWorld.hello 不需要使用 HelloWorld 的实例。这可能会用在 HelloWorld 的所有实例中应该共用一个值的情况。 self.hello 属于实例并且在 HelloWorld 的实例之间可能不同。

代码

class HelloWorld:

hello = "Hello"

def __init__(self, text):
self.hello = text

def world(self):
#Do I use self?
print self.hello + "World"
#Do I use the class name?
print HelloWorld.hello + "World"

print HelloWorld.hello
print HelloWorld('Goodbye').hello

MyInstance = HelloWorld('Goodbye')
MyInstance.world()

输出

Hello
Goodbye
GoodbyeWorld
HelloWorld

关于python - 在 Python OOP 中调用类变量时应该使用 self 还是类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38275636/

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