Объединение списка строк в одну строку
Метод join() объединяет список строк, заданный как аргумент, в одну строку. В нашем случае мы объединили их, используя в качестве разделителя запятую.
Подписывайтесь на канал 👉@pythonofff
Метод join() объединяет список строк, заданный как аргумент, в одну строку. В нашем случае мы объединили их, используя в качестве разделителя запятую.
Подписывайтесь на канал 👉@pythonofff
👍3
Создаем пакеты
Пакет в Python — это, грубо говоря, папка с другими папками и модулями. Помимо разделения частей проекта, пакеты нужны для формирования пространства имен, чтобы можно работать с пакетами и модулями через точку, как в примере выше.
При импорте вида from package import * будет подключены либо все модули и объекты модуля __init__.py, либо то, что находится в переменной __all__ в том же модуле __init__.py — подробнее про эту переменную было в посте ранее.
Также примечателен файл init.py, который раньше был обязателен для создания пакетов. С версии Python 3.3 его необходимость пропала. Однако его функциональность на этом не заканчиваются.
Подписывайтесь на канал 👉@pythonofff
Пакет в Python — это, грубо говоря, папка с другими папками и модулями. Помимо разделения частей проекта, пакеты нужны для формирования пространства имен, чтобы можно работать с пакетами и модулями через точку, как в примере выше.
При импорте вида from package import * будет подключены либо все модули и объекты модуля __init__.py, либо то, что находится в переменной __all__ в том же модуле __init__.py — подробнее про эту переменную было в посте ранее.
Также примечателен файл init.py, который раньше был обязателен для создания пакетов. С версии Python 3.3 его необходимость пропала. Однако его функциональность на этом не заканчиваются.
Подписывайтесь на канал 👉@pythonofff
👍1
Функция enumerate для получения пар индекс-значение
Функция enumerate() применяется в случаях, когда необходим счётчик количества элементов в последовательности. Позволяет избавиться от необходимости инициировать и обновлять отдельную переменную-счётчик.
Подписывайтесь на канал 👉@pythonofff
Функция enumerate() применяется в случаях, когда необходим счётчик количества элементов в последовательности. Позволяет избавиться от необходимости инициировать и обновлять отдельную переменную-счётчик.
Подписывайтесь на канал 👉@pythonofff
👍2
Завершение программы
Функция exit создана для удобства работы в интерактивном режиме, однако не рекомендуется использовать её внутри скриптов.
По факту функция просто поднимают исключение SystemExit. А при попытке вызова без скобок напишут подсказку о правильном способе выхода из интерпретатора.
Использовать sys.exit() стоит потому, что этот метод лежит в стандартном модуле и всегда там доступен. Также это довольно явный способ завершения программы.
Подписывайтесь на канал 👉@pythonofff
Функция exit создана для удобства работы в интерактивном режиме, однако не рекомендуется использовать её внутри скриптов.
По факту функция просто поднимают исключение SystemExit. А при попытке вызова без скобок напишут подсказку о правильном способе выхода из интерпретатора.
Использовать sys.exit() стоит потому, что этот метод лежит в стандартном модуле и всегда там доступен. Также это довольно явный способ завершения программы.
Подписывайтесь на канал 👉@pythonofff
👍3
Перемешивание
Располагает элементы списка в произвольном порядке. Обратите внимание: shuffle работает в обычном порядке и возвращает None.
Подписывайтесь на канал 👉@pythonofff
Располагает элементы списка в произвольном порядке. Обратите внимание: shuffle работает в обычном порядке и возвращает None.
Подписывайтесь на канал 👉@pythonofff
Создаем виртуальное окружение
Виртуальное окружение — это изолированная среда, которая имеет свои локальные интерпретатор и пакеты, независимые от глобального интерпретатора и других окружений.
В стандартной библиотеке Python третьей версии есть пакет venv, который позволяет создавать виртуальные окружения удобно и быстро. Пример представлен на картинке.
Скрипт activate в директории bin предназначен для активации окружения, а команда deactivate в уже активированном окружении — для выхода из него.
В случае успешного создания и активации у вас в терминале должно появится название вашего виртуального окружения в круглых скобках.
Подписывайтесь на канал 👉@pythonofff
Виртуальное окружение — это изолированная среда, которая имеет свои локальные интерпретатор и пакеты, независимые от глобального интерпретатора и других окружений.
В стандартной библиотеке Python третьей версии есть пакет venv, который позволяет создавать виртуальные окружения удобно и быстро. Пример представлен на картинке.
Скрипт activate в директории bin предназначен для активации окружения, а команда deactivate в уже активированном окружении — для выхода из него.
В случае успешного создания и активации у вас в терминале должно появится название вашего виртуального окружения в круглых скобках.
Подписывайтесь на канал 👉@pythonofff
👍1
Многоточие в Python
Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python
Подписывайтесь на канал 👉@pythonofff
Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python
Подписывайтесь на канал 👉@pythonofff
👍3
Статические методы
Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.
Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.
Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.
Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.
Подписывайтесь на канал 👉@pythonofff
Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.
Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.
Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.
Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.
Подписывайтесь на канал 👉@pythonofff
👍1
all or any: все или хоть что-нибудь
Python – удивительно простой и выразительный язык. Его даже иногда называют «выполняемым псевдокодом». И с этим трудно поспорить, когда вы можете себе позволить конструкции
Подписывайтесь на канал 👉@pythonofff
Python – удивительно простой и выразительный язык. Его даже иногда называют «выполняемым псевдокодом». И с этим трудно поспорить, когда вы можете себе позволить конструкции
Подписывайтесь на канал 👉@pythonofff
👍3
Находим наименьшие и наибольшие
В стандартной библиотеке есть модуль heapq, который, как можно понять по названию, реализует структуру даных куча.
Особенности и пользу этой структуры данных пока что разбирать не будем, но посмотрим на два интересных метода в этом модуле.
С помощью методов nsmallest и nlargest можно получить наименьшие и наибольшие элементы в списке.
Первым аргументов передается, сколько элементов нужно взять, вторым — список.
Подписывайтесь на канал 👉@pythonofff
В стандартной библиотеке есть модуль heapq, который, как можно понять по названию, реализует структуру даных куча.
Особенности и пользу этой структуры данных пока что разбирать не будем, но посмотрим на два интересных метода в этом модуле.
С помощью методов nsmallest и nlargest можно получить наименьшие и наибольшие элементы в списке.
Первым аргументов передается, сколько элементов нужно взять, вторым — список.
Подписывайтесь на канал 👉@pythonofff
👍1
Проверка необходимой версии Python
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
Подписывайтесь на канал 👉@pythonofff
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
Подписывайтесь на канал 👉@pythonofff
Получаем информацию о памяти на диске
Со встроенным модулем shutil многие уже, вероятно, знакомы, но его обычно используют в контексте задач копирования, переноса файлов и папок.
Но с помощью shutil мы можем даже получить информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.
Так как все три значения возвращаются в байтах, в примере мы их перевели и вывели в гигабайты для лучшей наглядности.
Подписывайтесь на канал 👉@pythonofff
Со встроенным модулем shutil многие уже, вероятно, знакомы, но его обычно используют в контексте задач копирования, переноса файлов и папок.
Но с помощью shutil мы можем даже получить информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.
Так как все три значения возвращаются в байтах, в примере мы их перевели и вывели в гигабайты для лучшей наглядности.
Подписывайтесь на канал 👉@pythonofff
👍2
Разница между списками
Возвращает разницу между двумя списками после применения функции к каждому элементу обоих списков.
Подписывайтесь на канал 👉@pythonofff
Возвращает разницу между двумя списками после применения функции к каждому элементу обоих списков.
Подписывайтесь на канал 👉@pythonofff
👍1
Списковые включения
На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями.
Сейчас подробнее разберем именно списки, но по такому же принципу можно создавать и словари.
В квадратных скобках вы пишите самую обычную конструкцию цикла for, но само выражение ставите перед ключевым словом for. Также можно добавлять условия в конце записи.
Как правило, списковые включения работают заметно быстрее, чем циклы. Однако, злоупотреблять этим не рекомендуется, так как это зачастую снижает читаемость кода.
Подписывайтесь на канал 👉@pythonofff
На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями.
Сейчас подробнее разберем именно списки, но по такому же принципу можно создавать и словари.
В квадратных скобках вы пишите самую обычную конструкцию цикла for, но само выражение ставите перед ключевым словом for. Также можно добавлять условия в конце записи.
Как правило, списковые включения работают заметно быстрее, чем циклы. Однако, злоупотреблять этим не рекомендуется, так как это зачастую снижает читаемость кода.
Подписывайтесь на канал 👉@pythonofff
👍6🔥1
Наличие дублей
Проверяет, есть ли в списке повторяющиеся значения, пользуясь тем, что set()содержит только уникальные элементы
Подписывайтесь на канал 👉@pythonofff
Проверяет, есть ли в списке повторяющиеся значения, пользуясь тем, что set()содержит только уникальные элементы
Подписывайтесь на канал 👉@pythonofff
👍3❤1
Ищем учеников на бесплатный интенсив по созданию искусственного интеллекта с нуля. Опыт программирования не важен!🤖
Гарантия трудоустройства всем выпускникам университета! Удаленная работа из любой точки мира!
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ и СНГ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
👉Классификация марок молока
👉Классификация людей на входящих и выходящих из автобуса
👉Обнаружение возгораний
👉Оценка стоимости квартир
👉Классификация отзывов на Teslа
👉Оценка резюме соискателей
👉Прогнозирование стоимости полиметаллов
👉Сегментация изображений самолетов
👉Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатный интенсив и напишите искусственный интеллект за 3 вечера💪
Регистрируемся тут
Гарантия трудоустройства всем выпускникам университета! Удаленная работа из любой точки мира!
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ и СНГ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
👉Классификация марок молока
👉Классификация людей на входящих и выходящих из автобуса
👉Обнаружение возгораний
👉Оценка стоимости квартир
👉Классификация отзывов на Teslа
👉Оценка резюме соискателей
👉Прогнозирование стоимости полиметаллов
👉Сегментация изображений самолетов
👉Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатный интенсив и напишите искусственный интеллект за 3 вечера💪
Регистрируемся тут
👍2
Время исполнения программы
Зачастую требуется замерить время исполнения кода, чтобы понять, насколько оптимальное решение было выбрано.
Как вариант, можно воспользоваться функцией time из модуля time, которая возвращает текущее время в формате Unix.
Перед исполнением нашего кода сохраним начальное время, а после — конечное. Путем вычета первого из второго и получим время исполнения программы.
Использование time.time() — не самый точный и лучший вариант, но, например, для быстрого сравнения двух разных частей кода подходит хорошо.
Подписывайтесь на канал 👉@pythonofff
Зачастую требуется замерить время исполнения кода, чтобы понять, насколько оптимальное решение было выбрано.
Как вариант, можно воспользоваться функцией time из модуля time, которая возвращает текущее время в формате Unix.
Перед исполнением нашего кода сохраним начальное время, а после — конечное. Путем вычета первого из второго и получим время исполнения программы.
Использование time.time() — не самый точный и лучший вариант, но, например, для быстрого сравнения двух разных частей кода подходит хорошо.
Подписывайтесь на канал 👉@pythonofff
👍2
Склеивание n строк в одну
С помощью этого фрагмента можно сильно сэкономить память. Достаточно записать строку n раз без использования циклов
Подписывайтесь на канал 👉@pythonofff
С помощью этого фрагмента можно сильно сэкономить память. Достаточно записать строку n раз без использования циклов
Подписывайтесь на канал 👉@pythonofff
👍2
Очистка элементов в последовательности
Встроенный модуль itertools был создан для работы с более сложными случаями итераторов. Плюс модуля в том, что он быстро работает и оптимизирован в плане памяти.
Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют itertools, а именно метод compress.
Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.
Если логическое значения равно True или 1, то элемент сохраняется в последовательности, в противном случае — удаляется из нее.
Подписывайтесь на канал 👉@pythonofff
Встроенный модуль itertools был создан для работы с более сложными случаями итераторов. Плюс модуля в том, что он быстро работает и оптимизирован в плане памяти.
Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют itertools, а именно метод compress.
Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.
Если логическое значения равно True или 1, то элемент сохраняется в последовательности, в противном случае — удаляется из нее.
Подписывайтесь на канал 👉@pythonofff
👍7
Объединение двух словарей
В Python 2 для соединения двух словарей мы использовали метод update(). В Python 3.5 процесс еще проще.
В этом же скрипте объединены два словаря. В случае пересечения используются значения из второго словаря.
Подписывайтесь на канал 👉@pythonofff
В Python 2 для соединения двух словарей мы использовали метод update(). В Python 3.5 процесс еще проще.
В этом же скрипте объединены два словаря. В случае пересечения используются значения из второго словаря.
Подписывайтесь на канал 👉@pythonofff
👍6