gpt4 book ai didi

python - 如何从类方法外部访问类方法内部的变量?

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

这是我的代码,抛出了 AttributeError。如何访问 abc 变量并将其打印出来?

出于某种原因,我不希望 foo 类返回 "ABC"。是的,我知道我可以做到,但我正在寻找不同的解决方案。感谢您的帮助。

class John:   
def foo(self):
abc = "ABC"

a = John()
print(a.foo.abc)

最佳答案

您必须将类 John 内的变量定义为该类的属性。就像这样:

class John:
def __init__(self): # You have to have this initialization method, which is called when you do 'John()'
self.foo()
def foo(self):
self.abc = "ABC" # Note the use of 'self.'

a = John()
print(a.abc) # abc is an attribute of 'John', no need to pass through 'foo'

编辑

__init__() 在您创建类 a = John() 的实例时执行。在 __init__() 中,您可以执行在类的函数中执行的任何操作。您可以在现场创建属性(在属性名称之前使用 self.)或调用函数或类方法(在本例中,我们称为 foo 方法,与自己。)。因此,在这一行中:

a = John()

您正在创建类John的实例,将其分配给a,并执行John.__init__(),它执行John.foo(),它创建属性 John.abc

关于python - 如何从类方法外部访问类方法内部的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46344616/

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