在Python中从__init__调用setter

艾昂

如何从内部调用Python(v2.7)setter属性__init__我写了以下课程,但我不知道如何更改它以使其正常工作。我有一个AttributeError: 'test' object has no attribute '_x'例外。这里也有一些类似的问题,但到目前为止找不到答案。这个想法是当调用初始化程序进行一些处理/切片并将结果分配给属性时

class test(object):
    def __init__(self, a,b):
        self._x = self.x(a,b)

    @property
    def x(self):
        return self._x

    @x.setter
    def x(self, a, b):
        self._x = "Get this from {} and make a dataframe like {}".format(a,b)
马丁·彼得斯(Martijn Pieters)

self.x属性,因此您可以直接将其分配给它,就像使用常规属性一样:

def __init__(self, a, b):
    self.x = (a, b)

但是,设置者总是会得到一个对象。在上述情况下,将其传递给元组;您可以打开它的包装:

@x.setter
def x(self, value):
    a, b = value
    self._x = "Get this from {} and make a dataframe like {}".format(a,b)

注意value论点;这是将分配传递给设置器的结果。

演示:

>>> class test(object):
...     def __init__(self, a, b):
...         self.x = (a, b)
...     @property
...     def x(self):
...         return self._x
...     @x.setter
...     def x(self, value):
...         a, b = value
...         self._x = "Get this from {} and make a dataframe like {}".format(a,b)
...
>>> t = test(42, 'foo')
>>> t.x
'Get this from 42 and make a dataframe like foo'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中从__init__调用setter

来自分类Dev

Python中的多重继承-调用__init__时出错

来自分类Dev

在 Python 脚本中调用 __init__ 时显示重复的行

来自分类Dev

Python:类中的 __init__

来自分类Dev

如何通过调用__init__方法中的方法在python中引入对象的属性?

来自分类Dev

在 Python 中的 __init__() 中添加方法

来自分类Dev

看似微不足道的问题,在python中调用int的__init__

来自分类Dev

Python:从__init__函数中调用类变量和类方法

来自分类Dev

在python中可以编写一个将在子类的__init__之后自动调用的方法

来自分类Dev

在Python中动态创建类后如何调用父类的__init__方法?

来自分类Dev

如何在不调用__init__的情况下获取Python中的类引用

来自分类Dev

Python中的__init__自动运行方法

来自分类Dev

为什么__init__在python中失败

来自分类Dev

类作为python __init__中的参数

来自分类Dev

python中带有__init__的对象

来自分类Dev

python类的属性不在__init__中

来自分类Dev

Python 3内置类型__init__不调用super().__ init__?

来自分类Dev

Python线程子目录:__init__未调用

来自分类Dev

python:运行__new__时出错?不调用__init__

来自分类Dev

导入时未调用Python自定义__init__

来自分类Dev

Python重载__init__

来自分类Dev

__init__中的UnboundLocalError

来自分类Dev

如果仅调用super .__ init__是必需的__init__吗?

来自分类Dev

在某些类的python中的__init__ def中获取变量

来自分类Dev

如何在 Python 中的 def __init__ 中检索变量

来自分类Dev

在python __init__中捕获许多args之一

来自分类Dev

在python的__init__中返回None的错误格式

来自分类Dev

在Python 3中扩展类并使用__init__构造它

来自分类Dev

从Python中的构造函数__init__内省参数

Related 相关文章

  1. 1

    在Python中从__init__调用setter

  2. 2

    Python中的多重继承-调用__init__时出错

  3. 3

    在 Python 脚本中调用 __init__ 时显示重复的行

  4. 4

    Python:类中的 __init__

  5. 5

    如何通过调用__init__方法中的方法在python中引入对象的属性?

  6. 6

    在 Python 中的 __init__() 中添加方法

  7. 7

    看似微不足道的问题,在python中调用int的__init__

  8. 8

    Python:从__init__函数中调用类变量和类方法

  9. 9

    在python中可以编写一个将在子类的__init__之后自动调用的方法

  10. 10

    在Python中动态创建类后如何调用父类的__init__方法?

  11. 11

    如何在不调用__init__的情况下获取Python中的类引用

  12. 12

    Python中的__init__自动运行方法

  13. 13

    为什么__init__在python中失败

  14. 14

    类作为python __init__中的参数

  15. 15

    python中带有__init__的对象

  16. 16

    python类的属性不在__init__中

  17. 17

    Python 3内置类型__init__不调用super().__ init__?

  18. 18

    Python线程子目录:__init__未调用

  19. 19

    python:运行__new__时出错?不调用__init__

  20. 20

    导入时未调用Python自定义__init__

  21. 21

    Python重载__init__

  22. 22

    __init__中的UnboundLocalError

  23. 23

    如果仅调用super .__ init__是必需的__init__吗?

  24. 24

    在某些类的python中的__init__ def中获取变量

  25. 25

    如何在 Python 中的 def __init__ 中检索变量

  26. 26

    在python __init__中捕获许多args之一

  27. 27

    在python的__init__中返回None的错误格式

  28. 28

    在Python 3中扩展类并使用__init__构造它

  29. 29

    从Python中的构造函数__init__内省参数

热门标签

归档