Объектная ориентация – это отличный способ инкапсулировать данные в вашем приложении. Это минимизирует сложность и придерживается хороших принципов инженерных программ.
Тем не менее, атрибуты в 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.