Комментарии 5
ОТУС, ну зачем? Чем эта статья лучше краткого и лаконичного объяснения из docs.python.org?
Ну уж если писать статью, почему бы не раскрыть откуда и для чего в языке не ограничивающем доступ к полям класса появился этот функционал? Пример с __name
ужасен по той простой причине, что в Питоне не принято обрамлять "_поле" или "__поле" в property просто так. Хотя этим любят заниматься товарищи пришедшие из Java и C#.
Стоило бы отметить пару обыденных сценариев пользования property
в Питоне:
1. read-only property, которые возвращают фиксированное либо просчитанное значение. Например:
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def area(self):
return 2 * self.radius * math.pi
@property
def radius(self):
return self._radius
2. property in place of field - свойство ставится на месте обычного поля с сохранением имени. Таким образом сохраняется интерфейс класса, но при этом можно навесить дополнительную логику на операции чтении / записи поля.
Но ведь вы же выбираете, что переводить. Уверен, есть масса статей поинтереснее.
Однозначно, как сказал @masai - вы же выбираете, что переводить! Человек, выбирающий подобный материал для перевода, мягко говоря профнепригоден. Он тратит время переводчика и время читателя впустую. Что хуже, в следующий раз увидев OTUS в тегах, читатель даже не станет заглядывать в статью. Пожалуйста, берите качеством, а не количеством.
Функция property() в Python