super(): как это работаетСегодня мы разберём одно из ключевых понятий объектно-ориентированного программирования в Python —
super(). Когда мы работаем с наследованием, то порой сталкиваемся с дублированием кода:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def raise_salary(self, amount):
self.salary += amount
class Manager(Employee):
def __init__(self, name, salary, department):
self.name = name
self.salary = salary
self.department = department
На первый взгляд, всё верно. Но посмотрите внимательно — часть кода в
Manager.__init__ дублирует логику базового класса Employee. В больших проектах уследить за всеми такими повторениями становится трудоемко. Решение простое — использовать super():
class Manager(Employee):
def __init__(self, name, salary, department):
super().__init__(name, salary)
self.department = department
Теперь
Manager вызывает конструктор базового класса Employee, а значит:Как это работает под капотом
Многие думают, что
super() — это функция. На самом деле это класс. При его вызове возвращается прокси-объект, который даёт доступ к методам родительского класса. То есть строка:
super().__init__(name, salary)
означает:
«Возьми ближайший родительский класс в иерархии и вызови его метод `__init__()`».
Что важно помнить
super() работает не только в __init__. Его можно использовать в любых методах, которые переопределяются в подклассе;super() без аргументов — контекст определяется автоматически;super() работает через механизм Method Resolution Order (MRO). Это гарантирует, что каждый базовый класс вызывается ровно один раз.#основы
@zen_of_python
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍12❤1
  Импортозамещение Trello, Jira и Confluence — подборка для разработчиков
На Tproger представили подборку российских альтернатив Trello, Jira и Confluence с акцентом на коллективное хранения документов. В статье вы найдете инструменты, которые позволяют управлять процессами, задачами и документацией в одном пространстве, без разделения между трекером и хранилищем знаний. Инструменты соответствуют ФЗ-152 (о персональных данных) — все решения размещаются на отечественных серверах или поддерживают on-premise. Среди разбираемых продуктов есть как простые таск-системы, так и комплексные платформы с удобным редактором, версионированием и автоматической миграцией контента из зарубежных сервисов.
@prog_tools
  
  
  
  
  
На Tproger представили подборку российских альтернатив Trello, Jira и Confluence с акцентом на коллективное хранения документов. В статье вы найдете инструменты, которые позволяют управлять процессами, задачами и документацией в одном пространстве, без разделения между трекером и хранилищем знаний. Инструменты соответствуют ФЗ-152 (о персональных данных) — все решения размещаются на отечественных серверах или поддерживают on-premise. Среди разбираемых продуктов есть как простые таск-системы, так и комплексные платформы с удобным редактором, версионированием и автоматической миграцией контента из зарубежных сервисов.
@prog_tools
❤1🤣1💊1
  Для тех, кто чувствует, что может больше в IT
Когда начинаешь щёлкать старые рабочие задачи как орешки, приходит время прокачиваться до мидла или сеньора.
Усилить экспертизу поможет новое направление курсов Яндекс Практикум PRO. Оно создано специально для практикующих специалистов в IT-профессиях: программировании, анализе данных, работе с нейронками, продакт- и проджект- менеджменте.
Здесь обучают на реальных кейсах и помогают углубить знания в выбранной сфере. И эти навыки точно понадобятся каждому, кто задумывается о переходе с позиции джуна.
Вся информация о курсах собрана здесь.
Это #партнёрский пост
  Когда начинаешь щёлкать старые рабочие задачи как орешки, приходит время прокачиваться до мидла или сеньора.
Усилить экспертизу поможет новое направление курсов Яндекс Практикум PRO. Оно создано специально для практикующих специалистов в IT-профессиях: программировании, анализе данных, работе с нейронками, продакт- и проджект- менеджменте.
Здесь обучают на реальных кейсах и помогают углубить знания в выбранной сфере. И эти навыки точно понадобятся каждому, кто задумывается о переходе с позиции джуна.
Вся информация о курсах собрана здесь.
Это #партнёрский пост
Python Software Foundation отвергла грант США на $1,5 млн из-за запрета на инициативы по инклюзивности
PSF неожиданно отказалась от гранта на 1,5 млн долларов, предложенного Национальным научным фондом США (NSF), из-за условий, запрещающих организациям-получателям продвигать программы, направленные на разнообразие, равенство и инклюзивность. Несмотря на финансовую поддержку в рамках проекта по безопасности opensource-экосистем, PSF сочла, что такие ограничения противоречат её ценностям и миссии. Совет директоров единодушно отверг предложение, указав, что запрет на инициативы DEI (diversity, equity, inclusion) может повредить всей её деятельности. Решение принято в условиях сохраняющейся потребности фонда в ресурсах и растущего внимания к безопасности экосистемы Python.
#факт
@zen_of_python
  
  
  
  
  
PSF неожиданно отказалась от гранта на 1,5 млн долларов, предложенного Национальным научным фондом США (NSF), из-за условий, запрещающих организациям-получателям продвигать программы, направленные на разнообразие, равенство и инклюзивность. Несмотря на финансовую поддержку в рамках проекта по безопасности opensource-экосистем, PSF сочла, что такие ограничения противоречат её ценностям и миссии. Совет директоров единодушно отверг предложение, указав, что запрет на инициативы DEI (diversity, equity, inclusion) может повредить всей её деятельности. Решение принято в условиях сохраняющейся потребности фонда в ресурсах и растущего внимания к безопасности экосистемы Python.
#факт
@zen_of_python
🌚9❤6😁4👎1
  air | Веб-фреймворк на базе FastAPI, Starlette и Pydantic
Новый минималистичный веб-тул от авторов книги 'Two Scoops of Django'. Крутая особенность — Air Tags, теги-компоненты по аналогии с React. С Air проще писатьвеб-приложения с подкапотным API. Хорошая попытка исправить то, что не нравится в Django.
#инструмент
@zen_of_python
Новый минималистичный веб-тул от авторов книги 'Two Scoops of Django'. Крутая особенность — Air Tags, теги-компоненты по аналогии с React. С Air проще писатьвеб-приложения с подкапотным API. Хорошая попытка исправить то, что не нравится в Django.
#инструмент
@zen_of_python
🤔2
  Media is too big
    VIEW IN TELEGRAM
  Не пропусти МТС True Tech Champ — масштабный фестиваль 21 ноября для тех, кто живет технологиями 
Тебя ждут:
• Захватывающая сюжетная линия: уникальная кибервселенная с возможностью влиять на ход происходящего;
• Конференция с международными спикерами: эксперты расскажут о трендах в ИИ и инновациях в индустрии;
• ИТ-качалка — наращивай экспертизу на воркшопах;
• Шоу-финал ИТ-чемпионата, где более 250 талантов со всей России сразятся в лайв-кодинге и программировании роботов на скоростное прохождение лабиринтов со спецэффектами. Поболей за своих фаворитов;
• Активности: бои роботов, кодерские челленджи, пайка плат и не только. Заработай True Coins и обменяй их на стильный мерч;
• HR-Hub, где команда МТС расскажет о возможностях для развития в компании и поможет перезагрузить карьерный трек;
• Афтепати со звездными хэдлайнерами — зажги под популярные хиты!
Когда: 21 ноября, МТС Live Холл в Москве и онлайн.
Регистрируйся на сайте.
Бесплатное участие, количество мест ограничено.
Это #партнёрский пост
  Тебя ждут:
• Захватывающая сюжетная линия: уникальная кибервселенная с возможностью влиять на ход происходящего;
• Конференция с международными спикерами: эксперты расскажут о трендах в ИИ и инновациях в индустрии;
• ИТ-качалка — наращивай экспертизу на воркшопах;
• Шоу-финал ИТ-чемпионата, где более 250 талантов со всей России сразятся в лайв-кодинге и программировании роботов на скоростное прохождение лабиринтов со спецэффектами. Поболей за своих фаворитов;
• Активности: бои роботов, кодерские челленджи, пайка плат и не только. Заработай True Coins и обменяй их на стильный мерч;
• HR-Hub, где команда МТС расскажет о возможностях для развития в компании и поможет перезагрузить карьерный трек;
• Афтепати со звездными хэдлайнерами — зажги под популярные хиты!
Когда: 21 ноября, МТС Live Холл в Москве и онлайн.
Регистрируйся на сайте.
Бесплатное участие, количество мест ограничено.
Это #партнёрский пост
Юн Цуй «Рецепты Python. Коллекция лучших техник программирования»
Если вам уже попадалась постепенно усложняющаяся книга по языку, которую труднее читать к концу, то в этот раз будет по-другому. В книге Юн Цуй собрал 63 самых полезных, по его мнению, навыков Python-разработчика, К примеру, в одной из глав задача ««Как найти элементы в последовательности?» получает сначала базовое решение, а потом дополняется еще двумя.
#обучение
@zen_of_python
  
  
  
  
  
Если вам уже попадалась постепенно усложняющаяся книга по языку, которую труднее читать к концу, то в этот раз будет по-другому. В книге Юн Цуй собрал 63 самых полезных, по его мнению, навыков Python-разработчика, К примеру, в одной из глав задача ««Как найти элементы в последовательности?» получает сначала базовое решение, а потом дополняется еще двумя.
#обучение
@zen_of_python
🔥1
  