Рубрики
Без рубрики

Python Property () – то, что вы всегда хотели знать, но никогда не осмеливались спросить

Объектная ориентация – это отличный способ инкапсулировать данные в вашем приложении. Это минимизирует сложность и придерживается хороших принципов инженерных программ. Однако атрибуты в Python могут быть легко доступны снаружи — они на самом деле не инкапсулированы. Это одна из причин.

Автор оригинала: Chris.

Объектная ориентация – это отличный способ инкапсулировать данные в вашем приложении. Это минимизирует сложность и придерживается хороших принципов инженерных программ.

Тем не менее, атрибуты в Python могут быть легко доступны из-за пределов – они на самом деле не инкапсулированы. Это одна из причин Собственность () Встроенная функция существует: это позволяет вам Действительно инкапсулировать данные С помощью Частные атрибуты что вы можете получить доступ через Getter и Setter функционирует снаружи.

Встроенный Python Собственность () Функция создает и возвращает новый атрибут свойств, который должен быть частным, то есть только доступным по определенным функциям. В качестве аргументов вы передаете три функции, чтобы получить, установить и удалить значение атрибута – а также четвертый DOCSTRING аргумент Все четыре аргумента – Нет по умолчанию.

Вот формальный синтаксис и список аргументов Собственность () Функция:

property(fget=None, fset=None, fdel=None, doc=None)
Аргументы ФГР Callable объект функции для получения значения атрибута. Возвращает значение атрибута.
оказаться Выполняемый объект функции для настройки значения атрибута. Не требуется возврата.
фель Выполняемый объект функции для удаления значения атрибута. Не требуется возврата.
док Строка, описывающая документацию атрибута.
Возвращаемое значение имущество Возвращает новый объект свойства класса, который позволяет получить доступ к собственности снаружи через определенные методы Gotter и Setter.

Python Property () – примеры использования

Узнайте пример! В следующем мы собираемся исследовать пример того, почему и как использовать Собственность () Встроенная функция Отказ

Посмотрите на это простое Автомобиль Класс, для которого мы создаем «секрет» _унатель Атрибут – обратите внимание на префикс подчеркивание, чтобы отговорить внешний доступ:

class Car:

    def __init__(self):
        self._owner = None

    def get_owner(self):
        return self._owner

    def set_owner(self, name):
        self._owner = name

    def delete_owner(self):
        del self._owner


porsche = Car()
porsche.set_owner('Chris')
print(porsche.get_owner())
# Chris

Атрибут владельца имеет функцию Getter, функцию настройки и функцию удаления, которая удаляет атрибут.

Это следует правилам ориентации объекта, чтобы обеспечить внешний доступ атрибутов объекта только через функции, а не напрямую через Porsche._owner Отказ Однако использование сложных имен функций Getter и Setter может быть болью. Вот почему вы также можете добавить дополнительную строку, используя Собственность () Функция, чтобы сделать _унатель недвижимость, а не просто атрибут:

class Car:

    def __init__(self):
        self._owner = None

    def get_owner(self):
        return self._owner

    def set_owner(self, name):
        self._owner = name

    def delete_owner(self):
        del self._owner

    # Creates a property: Car.owner
    owner = property(get_owner,
                     set_owner,
                     delete_owner,
                     'Owner of the car')
    

porsche = Car()
porsche.owner = 'Chris'
print(porsche.owner)
# Chris

Это значительно облегчает доступ атрибута. Вместо того, чтобы звонить в Clunky Porsche._owner или даже porsche.get_owner () Теперь вы можете позвонить Porsche.owner Как будто владелец был атрибут Отказ Python затем внутренне вызывает определенные функции Getter и Setter для изменения, доступа или удаления атрибута _унатель Отказ

Python Property () – Видео

Но прежде чем мы будем двигаться дальше, я рад представить вам мою новую книгу Python Python One-listers (Amazon Link).

Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!

Книга была выпущена в 2020 году с помощью книги по программированию мирового класса Nostarch Press (San Francisco).

Ссылка: https://nostarch.com/pythononeliners.

Python Property () – Упражнение интерактивного кода

Давайте посмотрим на практическое упражнение:

Упражнение : Заменить оба вхождения ??? С некоторым кодом, чтобы сделать вас владельцем Porsche!

Резюме

Объектная ориентация – это отличный способ инкапсулировать данные в вашем приложении. Это минимизирует сложность и придерживается хороших принципов инженерных программ.

Тем не менее, атрибуты в Python могут быть легко доступны из-за пределов – они на самом деле не инкапсулированы. Это одна из причин Собственность () Встроенная функция существует: это позволяет вам Действительно инкапсулировать данные С помощью Частные атрибуты что вы можете получить доступ через Getter и Setter функционирует снаружи.

Встроенный Python Собственность () Функция создает и возвращает новый атрибут свойств, который должен быть частным, то есть только доступным по определенным функциям. В качестве аргументов вы передаете три функции, чтобы получить, установить и удалить значение атрибута – а также четвертый DOCSTRING аргумент Все четыре аргумента – Нет по умолчанию.

Я надеюсь, что вам понравилось статью! Чтобы улучшить свое образование Python, вы можете присоединиться к популярной академии по электронной почте Free Finxter:

Хотите увеличить свои навыки Python в веселой и легкой потребности? Рассмотрим следующие ресурсы и стать магистральным кодером!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.