Python 3.x 使用self时出现属性错误

Python 3.x 使用self时出现属性错误,python-3.x,self,Python 3.x,Self,我用这个小脚本实现了一个带有两个函数的类。我想简单地打印一个值,当我从类外部调用它时,它是在第一个函数中从第二个函数中找到的 问题 读过这篇文章后,我觉得很简单,但我尝试的东西似乎都不管用。我不断收到属性错误: class search: def test(self): self.here = 'hi' self.gone = 'bye' self.num = 12 def tester(self): return "{}".form

我用这个小脚本实现了一个带有两个函数的类。我想简单地打印一个值,当我从类外部调用它时,它是在第一个函数中从第二个函数中找到的

问题
读过这篇文章后,我觉得很简单,但我尝试的东西似乎都不管用。我不断收到属性错误:

class search:
   def test(self):
      self.here = 'hi'
      self.gone = 'bye'
      self.num = 12

   def tester(self):
      return "{}".format(self.here)

s = search()
s.tester()
print (s.gone)
返回

AttributeError:“搜索”对象没有“此处”属性

问题
如何修改此脚本以获得所需的结果?

定义“此处”

class search:
   here=None
   def __init__(self):
     self.here='hi'

   def test(self):
     ...

问题是您从未执行启动变量的函数测试(self)。您可以在s.tester()之前使用s.test()调用它。

不过我想保留在第一个函数中指定的值。这只会使全局变量为null,并且不打印任何内容。然后使用构造函数u u; init __;设置值,updatedAh,这就是我要找的。抱歉,python新手。太好了!欢迎来到python,玩得开心。