如何在python中调用getter或setter?

use*_*770 0 python

我有以下问题:

    self.myWrapper = wrapper.Wrapper
    self.myWrapper.set_entities(self.myWrapper, self.testEntity)
Run Code Online (Sandbox Code Playgroud)

产生错误信息,也是如此

 self.myWrapper = wrapper.Wrapper   
 self.myWrapper.set_entities(self.myWrapper, self.testEntity)
Run Code Online (Sandbox Code Playgroud)

错误消息是:

TypeError:必须使用Wrapper实例作为第一个参数调用未绑定方法set_entities()(获取类型实例实例)

这有什么不对?对象实例和类型实例的区别在哪里?

Sil*_*Ray 6

假设wrapper.Wrapper是一个类,您需要实际初始化一个实例.

self.myWrapper = wrapper.Wrapper()
Run Code Online (Sandbox Code Playgroud)

注意括号.另外,请注意这不是getter/setter调用的问题(尽管如果使用成员属性的getter/setter模式,你应该在Python上阅读更多内容,因为在大多数情况下不建议使用Python),但是而是实例与类和属性访问的问题.

  • 你也不需要明确地传递`self`; 这是为你完成的. (2认同)