Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
👍3❤1🤔1
Курс «Английский для разработчиков» Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
👍2
Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints
👍3❤2👌1
Проверка на вхождение подстроки
Это маленькая, довольно очевидная подсказка, но я узнал о ней лишь через год изучения Python. Должно быть, вы знаете, что можно проверить, содержится ли нужный элемент в кортеже, списке, словаре, с помощью конструкции 'item in list' или 'item not in list'. Я не мог представить, что это сработает для строк.
Это маленькая, довольно очевидная подсказка, но я узнал о ней лишь через год изучения Python. Должно быть, вы знаете, что можно проверить, содержится ли нужный элемент в кортеже, списке, словаре, с помощью конструкции 'item in list' или 'item not in list'. Я не мог представить, что это сработает для строк.
👌3👍1🔥1
🧬 Примите участие в международной конференции Data Fusion 2023 от ВТБ, которая пройдёт 13-14 апреля.
Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.
Первый день конференции будет посвящен аспектам управления данными, практикам перехода на доверенные технологии, доступности дата-сетов для ИИ и другим темам, актуальным для CDO и руководителей бизнес-подразделений.
Программа 14 апреля адресована data science специалистам и исследователям. Темы докладов и сессий распределены по трем стримам: «ML+», «AI Classic», «ML Environment».
На конференции представят новейшие технологии и инструменты, а также будут проведены практические сессии и выступления ведущих предприятий. Не пропустите возможность улучшить свои навыки и расширить свои знания в области Data Science.
Участие в конференции бесплатное. Успейте зарегистрироваться по ссылке: https://cnrlink.com/datafusion81
Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.
Первый день конференции будет посвящен аспектам управления данными, практикам перехода на доверенные технологии, доступности дата-сетов для ИИ и другим темам, актуальным для CDO и руководителей бизнес-подразделений.
Программа 14 апреля адресована data science специалистам и исследователям. Темы докладов и сессий распределены по трем стримам: «ML+», «AI Classic», «ML Environment».
На конференции представят новейшие технологии и инструменты, а также будут проведены практические сессии и выступления ведущих предприятий. Не пропустите возможность улучшить свои навыки и расширить свои знания в области Data Science.
Участие в конференции бесплатное. Успейте зарегистрироваться по ссылке: https://cnrlink.com/datafusion81
👍1
Красивый вывод списка (ч.1)
Обычный формат вывода списка с помощью print не очень удобен. Конечно, становится понятно, что из себя представляет список, но чаще всего пользователь не хочет видеть кавычки вокруг каждого элемента.
Метод join преобразовывает список в строку, рассматривая каждый элемент как строку.
Обычный формат вывода списка с помощью print не очень удобен. Конечно, становится понятно, что из себя представляет список, но чаще всего пользователь не хочет видеть кавычки вокруг каждого элемента.
Метод join преобразовывает список в строку, рассматривая каждый элемент как строку.
🤮3🔥2👍1👌1
🚀 Участвуй в хакатоне от «Лаборатории Касперского» с призовым фондом 500 000 рублей. На хакатон приглашаются разработчики, аналитики, QA-специалисты, архитекторы ПО, специалисты и эксперты по ИБ.
Даты проведения хакатона: 17-28 апреля. Регистрация открыта до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy
Хакатон по кибериммунной разработке предлагает две невероятно интересные задачи, связанные с энергетической безопасностью:
— Создание программы для обнаружения повышенного радиационного фона в трубах с паром на атомной электростанции.
— Создание программы для управления оборудованием на теплоэлектростанции.
Задачи хакатона не требуют специфических знаний в энергетической отрасли, поэтому будут понятны и полезны всем: студентам, преподавателям, middle-, senior-специалистам, техническим директорам.
Участвовать можно индивидуально или в команде до 5 человек. Успей зарегистрироваться до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy
Даты проведения хакатона: 17-28 апреля. Регистрация открыта до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy
Хакатон по кибериммунной разработке предлагает две невероятно интересные задачи, связанные с энергетической безопасностью:
— Создание программы для обнаружения повышенного радиационного фона в трубах с паром на атомной электростанции.
— Создание программы для управления оборудованием на теплоэлектростанции.
Задачи хакатона не требуют специфических знаний в энергетической отрасли, поэтому будут понятны и полезны всем: студентам, преподавателям, middle-, senior-специалистам, техническим директорам.
Участвовать можно индивидуально или в команде до 5 человек. Успей зарегистрироваться до 16 апреля включительно: https://cnrlink.com/hackcyberimmunepy
👍1
🚀 Смотрите международную конференцию Data Fusion 2023 в прямом эфире прямо сейчас! Конференция посвящена работе с данными и развитию технологий искусственного интеллекта.
Data Fusion 2023 – это точка сближения науки и бизнеса. Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.
Присоединяйтесь к экспертам Банка ВТБ, Яндекса, Сколтеха, «Газпром нефти», ВШЭ и многим другим.
👉 Смотрите международную конференцию Data Fusion 2023 по ссылке: https://cnrlink.com/df2023online
Data Fusion 2023 – это точка сближения науки и бизнеса. Конференция будет полезна разработчикам и специалистам в области Data Science, CDO, бизнес-заказчикам DS-продуктов и сервисов, представителям государства и науки.
Присоединяйтесь к экспертам Банка ВТБ, Яндекса, Сколтеха, «Газпром нефти», ВШЭ и многим другим.
👉 Смотрите международную конференцию Data Fusion 2023 по ссылке: https://cnrlink.com/df2023online
❤1👍1🔥1
Queue (ч.2)
Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.
Наконец, приоритетные очереди позволяют извлекать объекты согласно порядку их сортировки.
Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.
Наконец, приоритетные очереди позволяют извлекать объекты согласно порядку их сортировки.
👍3❤2👌1
uuid
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).
Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.
Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).
Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.
Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
👍7❤2🔥1👌1
Целочисленное деление и деление с плавающей точкой (ч.1)
Если вы делите целое число на целое, по умолчанию результат обрезается до целого. Например, 5/2 вернет 2.
Есть два способа это исправить. Первый и самый простой способ заключается в том, чтобы преобразовать одно из чисел к типу float. Для констант достаточно добавить ".0" к одному из чисел: 5.0/2 вернет 2.5. Также вы можете использовать конструкцию float(5)/2.
Второй способ дает более чистый код, но вы должны убедиться, что ваша программа не сломается от этого существенного изменения.
Если вы делите целое число на целое, по умолчанию результат обрезается до целого. Например, 5/2 вернет 2.
Есть два способа это исправить. Первый и самый простой способ заключается в том, чтобы преобразовать одно из чисел к типу float. Для констант достаточно добавить ".0" к одному из чисел: 5.0/2 вернет 2.5. Также вы можете использовать конструкцию float(5)/2.
Второй способ дает более чистый код, но вы должны убедиться, что ваша программа не сломается от этого существенного изменения.
❤1👌1🤡1🖕1
Хотите начать карьеру в IT?
Быстро освоить навыки и перейти к практике — легко!
Платформа Deepskills представляет методику микрообучения, которая поможет вам быстро войти в профессию и получить работу мечты!
Курсы от практикующих экспертов.
Бесплатный пробный период в течение 14 дней, чтобы вы убедились в качестве нашего обучения.
Начни свой путь к успеху уже сегодня.
Учись на практике с Deepskills!
Быстро освоить навыки и перейти к практике — легко!
Платформа Deepskills представляет методику микрообучения, которая поможет вам быстро войти в профессию и получить работу мечты!
Курсы от практикующих экспертов.
Бесплатный пробный период в течение 14 дней, чтобы вы убедились в качестве нашего обучения.
Начни свой путь к успеху уже сегодня.
Учись на практике с Deepskills!
👍1🔥1👀1
Списковые включения
Возможно где-то до этого ты уже мог слышать понятие «list comprehensions». Это такой способ уместить цикл for, блок if и присваивание в одну строку.
Начнем с простейшего примера. Допустим, нам снова надо возвести в квадрат все элементы списка.
Да, определенно этот код короче предыдущего, но всё еще некрасив. С первого взгляда сложно сказать, что делает функция map (она принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка). К тому же мы вынуждены определять функцию, это выглядит довольно беспорядочно.
Но, оказывается, можно писать проще и понятнее
Возможно где-то до этого ты уже мог слышать понятие «list comprehensions». Это такой способ уместить цикл for, блок if и присваивание в одну строку.
Начнем с простейшего примера. Допустим, нам снова надо возвести в квадрат все элементы списка.
Да, определенно этот код короче предыдущего, но всё еще некрасив. С первого взгляда сложно сказать, что делает функция map (она принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка). К тому же мы вынуждены определять функцию, это выглядит довольно беспорядочно.
Но, оказывается, можно писать проще и понятнее
👍2❤1🔥1👌1
✈️ С 12 по 27 мая участвуй в хакатоне Aeroclub Challenge 2023 от компании «Аэроклуб» — лидера российского рынка business travel и поставщика IT-решений для отрасли.
🏆 Поборись за призовой фонд в размере 1 000 000 рублей. Регистрация открыта до 10 мая: https://cnrlink.com/aeroclubchallenge23
🎯 На Aeroclub Challenge 2023 приглашаются математики, дата сайентисты, python- и java-специалисты, аналитики, разработчики и эксперты в теме Travel с уровнями навыков junior, middle и senior. Участвовать можно индивидуально или в команде до 5 человек.
🧩 2 интересные задачи на выбор:
1. Создание обработчика писем электронной почты (Классификация писем по типу заявки и не заявки, извлечение и уточнение по заявке формализованного набора параметров, требуемых для обработки заявки);
2. Создание сервиса ранжирования предложений Auto Avia Offer (Автоматизация процесса подбора и отправки вариантов перелета с ценами в ответ на заявку по электронной почте).
Успей зарегистрироваться до 10 мая: https://cnrlink.com/aeroclubchallenge23
🏆 Поборись за призовой фонд в размере 1 000 000 рублей. Регистрация открыта до 10 мая: https://cnrlink.com/aeroclubchallenge23
🎯 На Aeroclub Challenge 2023 приглашаются математики, дата сайентисты, python- и java-специалисты, аналитики, разработчики и эксперты в теме Travel с уровнями навыков junior, middle и senior. Участвовать можно индивидуально или в команде до 5 человек.
🧩 2 интересные задачи на выбор:
1. Создание обработчика писем электронной почты (Классификация писем по типу заявки и не заявки, извлечение и уточнение по заявке формализованного набора параметров, требуемых для обработки заявки);
2. Создание сервиса ранжирования предложений Auto Avia Offer (Автоматизация процесса подбора и отправки вариантов перелета с ценами в ответ на заявку по электронной почте).
Успей зарегистрироваться до 10 мая: https://cnrlink.com/aeroclubchallenge23
👍1👌1
wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным
Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate()
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным
Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate()
👍2🔥1👌1
inspect (ч.1)
Модуль inspect пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих!
Ниже используется метод inspect.getsource() для вывода его собственного исходного кода. Также используется метод inspect.getmodule() для вывода модуля, в котором его определили.
Модуль inspect пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих!
Ниже используется метод inspect.getsource() для вывода его собственного исходного кода. Также используется метод inspect.getmodule() для вывода модуля, в котором его определили.
👍3🔥2👌1