当前位置: 首页 > 面试题库 >

Python:如何使对象属性引用调用方法

余信然
2023-03-14
问题内容

我想要进行属性调用,例如object.x返回某种方法的结果object.other.other_method()。我怎样才能做到这一点?

编辑:我很快问:看起来我可以用

object.__dict__['x']=object.other.other_method()

这样行吗?


问题答案:

使用属性装饰器

class Test(object): # make sure you inherit from object
    @property
    def x(self):
        return 4

p = Test()
p.x # returns 4

使用__dict__进行处理很脏,尤其是在@property可用时。



 类似资料:
  • 关于堆栈溢出的第一个问题!我觉得这一定是Java初学者的一个常见问题。但我已经尝试了几个小时,一直没有找到解决办法。我认为可以通过这种方式访问对象属性。 起初,我认为实际上是一个对象数组,所以当我创建对象数组时,我在构造函数中使用了一个对象数组。我立即解决了这个问题,但这个问题仍然存在。 它甚至更烦人,因为在调试模式下,我可以看到及其属性中的。看着Eclipse嘲笑我。

  • 这是我的代码想要使用AdapterVersion(父类)的对象引用访问AdapterVer1 getAdaptObj1()的子类方法(没有类型转换)

  • JavaScript 中所有变量都可以当作对象使用,除了两个例外 null 和 undefined。 false.toString(); // 'false' [1, 2, 3].toString(); // '1,2,3' function Foo(){} Foo.bar = 1; Foo.bar; // 1 一个常见的误解是数字的字面值(literal)不能当作对象使用。这是因为 Java

  • 问题内容: 假设我有一个带有某些属性的类。如何最好地(在Pythonic- OOP中)访问这些属性?就像吗?还是写get访问器?这些东西可接受的命名方式是什么? 编辑: 您能否详细说明使用单引号或双引号下划线命名属性的最佳做法?我在大多数模块中看到使用单个下划线。 如果已经问过这个问题(虽然搜索没有带来结果,但我有一个直觉,请指出)-我将结束这个问题。 问题答案: 通常公认的做事方式只是使用简单的

  • 当试图访问一个空引用对象的属性或调用空引用对象的方法时,会抛出 NullPointer 异常。 通过下面的代码可以复现出问题。

  • 问题内容: 我是xpath的新手,尝试使用xpath获取“值”的值: 虽然很容易找到像这样的元素: 我还无法弄清楚如何获得所需的值,例如: 某些预期会产生错误: 任何想法如何解决这个问题? 编辑:xpath是正确的,但是它“返回”了obj属性,并且由于它不是元素,因此不允许使用。我找不到类似get_attr_by_xpath()之类的方法。 问题答案: 我最终用作: