Что pythonic путь состоит в том, чтобы использовать методы считывания и методы set?

Я делаю его как:

def set_property(property,value):  
def get_property(property):  

или

object.property = value  
value = object.property

Я плохо знаком с Python, таким образом, я все еще исследую синтаксис, и я хотел бы некоторый совет относительно выполнения этого.

296
задан Amber 12 April 2010 в 17:41
поделиться

3 ответа

Обратите внимание на декоратор @property .

17
ответ дан 23 November 2019 в 01:32
поделиться

Попробуйте следующее: Свойство Python

Пример кода:

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        print("getter of x called")
        return self._x

    @x.setter
    def x(self, value):
        print("setter of x called")
        self._x = value

    @x.deleter
    def x(self):
        print("deleter of x called")
        del self._x


c = C()
c.x = 'foo'  # setter called
foo = c.x    # getter called
del c.x      # deleter called
642
ответ дан 23 November 2019 в 01:32
поделиться
In [1]: class test(object):
    def __init__(self):
        self.pants = 'pants'
    @property
    def p(self):
        return self.pants
    @p.setter
    def p(self, value):
        self.pants = value * 2
   ....: 
In [2]: t = test()
In [3]: t.p
Out[3]: 'pants'
In [4]: t.p = 10
In [5]: t.p
Out[5]: 20
25
ответ дан 23 November 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: