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
geopy
География бывает крайне загадочной средой для программистов (ха, вот так каламбур!). Но с модулем geopy все становится на удивление просто.
Его работа заключается в абстрагировании API-интерфейсов различных сервисов геокодирования, что позволяет вам получать доступ к полному адресу нужного места, его широте, долготе и даже высоте.
География бывает крайне загадочной средой для программистов (ха, вот так каламбур!). Но с модулем geopy все становится на удивление просто.
Его работа заключается в абстрагировании API-интерфейсов различных сервисов геокодирования, что позволяет вам получать доступ к полному адресу нужного места, его широте, долготе и даже высоте.
👍3🌚2👌1
Самый частый элемент
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции max():
• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции max():
• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
👍4❤1👌1
Знакомимся с Python и Java на практике за 2 дня.
🗓 Регистрируйтесь на бесплатный онлайн-вебинар — 23-24 мая в 19.00 МСК!
На вебинарах вы:
— Поймете: какие задачи решают разработчики, какие проекты реализуют и почему им так много платят.
— Узнаете: что изучить, чтобы начать свой путь в программирование и через год стать востребованным специалистом.
— Разберете реальные задачи на Python и Java и попробуете себя в кодинге.
— Выясните: как пройти собеседование, найти удаленную работу и начать менять свою жизнь уже сегодня.
🎁 Все участники получат «Карту компетенций бэкенд-разработчика» в подарок! Она поможет составить свой образовательный трек и понять, какие навыки и инструменты необходимы для трудоустройства.
🗓 Регистрируйтесь на бесплатный онлайн-вебинар — 23-24 мая в 19.00 МСК!
На вебинарах вы:
— Поймете: какие задачи решают разработчики, какие проекты реализуют и почему им так много платят.
— Узнаете: что изучить, чтобы начать свой путь в программирование и через год стать востребованным специалистом.
— Разберете реальные задачи на Python и Java и попробуете себя в кодинге.
— Выясните: как пройти собеседование, найти удаленную работу и начать менять свою жизнь уже сегодня.
🎁 Все участники получат «Карту компетенций бэкенд-разработчика» в подарок! Она поможет составить свой образовательный трек и понять, какие навыки и инструменты необходимы для трудоустройства.
❤1
Использование * и ** для распаковки аргументов функций
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.
Распаковать словарь можно, используя префикс **:
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.
Распаковать словарь можно, используя префикс **:
👍4🔥1👌1
Записывайтесь на курс от Хекслета, пройдите 5 бесплатных уроков профессии и получите скидку 10% на курс!
Мы заинтересованы в успешном трудоустройстве наших студентов — гарантируем стажировки от компаний-партнеров и участие в Карьерном треке. Вернем деньги, если после учебы не получилось найти работу🔝
На профессии «Python-разработчик» вы за 10 месяцев:
✔️ Научитесь работать с сетевыми запросами и овладеете навыком проектирования архитектуры приложений, сможете работать с чужим кодом и оформлять пул-реквесты в Open Source проектах.
✔️ Решите более 310 задач в браузере, создадите 4 проекта для портфолио на GitHub и выполните 150 тестовых заданий от наших партнёров.
Оцените формат и решите, стоит ли продолжать! Вводные ознакомительные курсы профессии доступны бесплатно сразу после регистрации!
Мы заинтересованы в успешном трудоустройстве наших студентов — гарантируем стажировки от компаний-партнеров и участие в Карьерном треке. Вернем деньги, если после учебы не получилось найти работу🔝
На профессии «Python-разработчик» вы за 10 месяцев:
✔️ Научитесь работать с сетевыми запросами и овладеете навыком проектирования архитектуры приложений, сможете работать с чужим кодом и оформлять пул-реквесты в Open Source проектах.
✔️ Решите более 310 задач в браузере, создадите 4 проекта для портфолио на GitHub и выполните 150 тестовых заданий от наших партнёров.
Оцените формат и решите, стоит ли продолжать! Вводные ознакомительные курсы профессии доступны бесплатно сразу после регистрации!
🔥1
Яндекс Практикум запустил бесплатный курс “Основы работы с Git”. Вы сможете полностью освоить популярную систему контроля версий кода за 20 часов.
Курс будет полезен тем, кто только погружается в разработку, и тем, кто не первый год пишет код:
— новички освоят инструменты, которые точно пригодятся в профессии;
— знатоки структурируют знания и повысят свою продуктивность.
На курсе вы научитесь:
— Писать код вместе с другими разработчиками и разработчицами;
— Отменять и откладывать изменения в своих ветках;
— Использовать локальный и удалённый репозиторий;
— Соединять ветки и разрешать конфликты;
— Управлять репозиторием через IDE и консоль;
— Понимать принципы и культуру командной разработки.
И освоите необходимые инструменты и технологии:
— GitHub;
— Terminal;
— GitHub Desktop;
— Bitbucket;
— GitBash;
— GitLab.
Переходите по ссылке и начинайте заниматься уже сейчас.
Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KCT9Y
Курс будет полезен тем, кто только погружается в разработку, и тем, кто не первый год пишет код:
— новички освоят инструменты, которые точно пригодятся в профессии;
— знатоки структурируют знания и повысят свою продуктивность.
На курсе вы научитесь:
— Писать код вместе с другими разработчиками и разработчицами;
— Отменять и откладывать изменения в своих ветках;
— Использовать локальный и удалённый репозиторий;
— Соединять ветки и разрешать конфликты;
— Управлять репозиторием через IDE и консоль;
— Понимать принципы и культуру командной разработки.
И освоите необходимые инструменты и технологии:
— GitHub;
— Terminal;
— GitHub Desktop;
— Bitbucket;
— GitBash;
— GitLab.
Переходите по ссылке и начинайте заниматься уже сейчас.
Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KCT9Y
❤1👍1
f-строки 2.0
Python 3.8
Сложно описать словами, насколько проще и элегантнее сделали форматирование f-строки, появившиеся ещё в Python 3.6.
Сложно поверить, но Python 3.8 удалось сделать их ещё удобнее. Добавив знак = после имени подставляемой переменной, вы сможете вывести её имя и её значение без дублирования имени.
Дебаг с помощью print станет ещё удобнее
Python 3.8
Сложно описать словами, насколько проще и элегантнее сделали форматирование f-строки, появившиеся ещё в Python 3.6.
Сложно поверить, но Python 3.8 удалось сделать их ещё удобнее. Добавив знак = после имени подставляемой переменной, вы сможете вывести её имя и её значение без дублирования имени.
Дебаг с помощью print станет ещё удобнее
👍7🔥3❤1