Геттеры и сеттеры
В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция
В Python геттер реализуется через декоратор
Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.
#классы #property
В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция
{ get; set; }
.В Python геттер реализуется через декоратор
@property
, а сеттер в виде @свойство.setter
. В примере метод геттера называется age
, поэтому декоратор сеттера – @age.setter
.Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.
#классы #property
Добавляем классу большую функциональность
Декоратор
Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
#oop #classmethod
Декоратор
@classmethod
— это метод, который получает класс в качестве параметра, который принято обозначать как cls
. Он указывает на класс ToyClass, а не на объект этого класса. Методы класса привязаны к самому классу, а не его экземпляру. Они могут менять состояние класса, что отразится на всех объектах этого класса, но не могут менять конкретный объект.
Проще говоря,
@classmethod
— это обычный метод класса, имеющий доступ ко всем атрибутам класса, через который он был вызван.#oop #classmethod
🤔3
Блок for…else
Все мы знаем, что else неразрывно связан с блоком if, но вы, возможно, не в курсе, что else используется в цикле for.
В выражении for...else блок else выполняется только в том случае, если все итерации цикла будут успешно завершены. Если же выполнение цикла прерывается оператором break, то else не выполняется.
Все мы знаем, что else неразрывно связан с блоком if, но вы, возможно, не в курсе, что else используется в цикле for.
В выражении for...else блок else выполняется только в том случае, если все итерации цикла будут успешно завершены. Если же выполнение цикла прерывается оператором break, то else не выполняется.
👍1
Наиболее частый элемент в списке
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
👍1
Создание строки из списка строк
Создание строки из списка и установка пробелов между каждым словом: (1)
Все сводится к тому, что функция
#Python
Создание строки из списка и установка пробелов между каждым словом: (1)
Все сводится к тому, что функция
String.join()
может присоединять не только списки, но и любой iterable. Помещение его внутрь строки предотвращает реализацию одной и той же функциональности в нескольких местах.#Python