Как стать автором
Обновить

Комментарии 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 в тегах, читатель даже не станет заглядывать в статью. Пожалуйста, берите качеством, а не количеством.

Да, вы несомненно правы. Будем внимательнее относиться к подбору статей для перевода
Зарегистрируйтесь на Хабре, чтобы оставить комментарий