reduce
Функция reduce уменьшает итерируемый объект, многократно применяя функцию к следующему элементу итерируемого объекта и совокупному результату на данный момент. В Python 2 эта функция доступна как встроенная. В Python 3 она перемещена в модуль functools.
#практика
Функция reduce уменьшает итерируемый объект, многократно применяя функцию к следующему элементу итерируемого объекта и совокупному результату на данный момент. В Python 2 эта функция доступна как встроенная. В Python 3 она перемещена в модуль functools.
#практика
Последовательность Фибоначчи
Практический вариант использования генератора — перебор значений бесконечного ряда. В данном коде приведен пример нахождения первых десяти членов последовательности Фибоначчи. Чтобы вывести другое количество членов последовательности, измени параметр range.
#практика
Практический вариант использования генератора — перебор значений бесконечного ряда. В данном коде приведен пример нахождения первых десяти членов последовательности Фибоначчи. Чтобы вывести другое количество членов последовательности, измени параметр range.
#практика
Выражения генератора
В Python можно создавать итераторы генератора, используя синтаксис, подобный comprehension. Если в функцию не обязательно должен передаваться список, ты можешь поместить выражение генератора внутри вызова функции. Это сократит количество символов, улучшит читаемость. Скобки из вызова функции неявно делают твое выражение выражением генератора.
#практика
В Python можно создавать итераторы генератора, используя синтаксис, подобный comprehension. Если в функцию не обязательно должен передаваться список, ты можешь поместить выражение генератора внутри вызова функции. Это сократит количество символов, улучшит читаемость. Скобки из вызова функции неявно делают твое выражение выражением генератора.
#практика
👍3
Создание нескольких графиков
В данном примере кривые синуса и косинуса строятся на одном и том же рисунке с помощью наложения графиков. Мы используем отдельные команды для построения графиков. Это можно использовать для получения отдельных дескрипторов для каждого графика.
#практика
В данном примере кривые синуса и косинуса строятся на одном и том же рисунке с помощью наложения графиков. Мы используем отдельные команды для построения графиков. Это можно использовать для получения отдельных дескрипторов для каждого графика.
#практика
Рефакторинг кода построения списка
Предположим, у тебя есть сложный код, который создает и возвращает список. Начинает он с пустого списка и многократно добавляет к нему значения. Вместо того чтобы нецелесообразно заменять внутреннюю логику представлением списка, ты можешь превратить всю функцию в генератор на месте, а затем собрать результаты. Если логика является рекурсивной, используй yield from, чтобы включить все значения из рекурсивного вызова в «сглаженный» результат.
#практика
Предположим, у тебя есть сложный код, который создает и возвращает список. Начинает он с пустого списка и многократно добавляет к нему значения. Вместо того чтобы нецелесообразно заменять внутреннюю логику представлением списка, ты можешь превратить всю функцию в генератор на месте, а затем собрать результаты. Если логика является рекурсивной, используй yield from, чтобы включить все значения из рекурсивного вызова в «сглаженный» результат.
#практика
Генератор: отправка объектов
С помощью метода send() ты можешь отправить объект генератору. При первом вызове next(generator) программа переходит к первому оператору yield и возвращает значение total в этой точке, равное 0. В этой точке выполнение генератора приостанавливается. Когда ты вызываешь generator.send(x), интерпретатор берет аргумент x и делает его возвращаемым значением последнего оператора yield, которому присваивается значение. Затем генератор работает как обычно, пока не выдаст следующее значение. При вызове next(generator) генератор останавливается.
#практика
С помощью метода send() ты можешь отправить объект генератору. При первом вызове next(generator) программа переходит к первому оператору yield и возвращает значение total в этой точке, равное 0. В этой точке выполнение генератора приостанавливается. Когда ты вызываешь generator.send(x), интерпретатор берет аргумент x и делает его возвращаемым значением последнего оператора yield, которому присваивается значение. Затем генератор работает как обычно, пока не выдаст следующее значение. При вызове next(generator) генератор останавливается.
#практика
twinx()
В этом примере мы построим синусоидальную кривую и гиперболическую синусоиду на одном графике с общей осью x и разными осью y. Это достигается с помощью команды twinx(). Аналогично можно сделать график с общей осью y с помощью twiny().
#практика
В этом примере мы построим синусоидальную кривую и гиперболическую синусоиду на одном графике с общей осью x и разными осью y. Это достигается с помощью команды twinx(). Аналогично можно сделать график с общей осью y с помощью twiny().
#практика
Модуль pyautogui
Для управления мышью и клавиатурой используй модуль pyautogui. Этот модуль в основном используется для автоматизации задач щелчка мышью и нажатия на клавиатуру. Для мыши координаты экрана (0,0) начинаются с верхнего левого угла. Предварительно модуль нужно установить с помощью pip install pyautogui. В коде ты можешь увидеть несколько полезных функций.
#практика
Для управления мышью и клавиатурой используй модуль pyautogui. Этот модуль в основном используется для автоматизации задач щелчка мышью и нажатия на клавиатуру. Для мыши координаты экрана (0,0) начинаются с верхнего левого угла. Предварительно модуль нужно установить с помощью pip install pyautogui. В коде ты можешь увидеть несколько полезных функций.
#практика
Открытие URL в разных браузерах
Модуль webbrowser поддерживает различные браузеры, используя методы register() и get(). Метод get используется для создания контроллера браузера с использованием пути к определенному исполняемому файлу. Метод register используется для присоединения этих исполняемых файлов к предустановленным типам браузеров для будущего использования, обычно при использовании нескольких типов браузеров.
#практика
Модуль webbrowser поддерживает различные браузеры, используя методы register() и get(). Метод get используется для создания контроллера браузера с использованием пути к определенному исполняемому файлу. Метод register используется для присоединения этих исполняемых файлов к предустановленным типам браузеров для будущего использования, обычно при использовании нескольких типов браузеров.
#практика
Проверка исключения
Ты можешь проверить, что функция выдает исключение, с помощью менеджера контекста. Если код выполнится успешно, он не пройдет тест, потому что исключение не возникло. Если код вызывает исключение правильного типа, тест продолжится. Ты также можешь получить содержимое исключения, если хочешь выполнить против него дополнительные утверждения.
#практика
Ты можешь проверить, что функция выдает исключение, с помощью менеджера контекста. Если код выполнится успешно, он не пройдет тест, потому что исключение не возникло. Если код вызывает исключение правильного типа, тест продолжится. Ты также можешь получить содержимое исключения, если хочешь выполнить против него дополнительные утверждения.
#практика
👍1
Вывод с помощью template
Шаблоны поддерживают замену на основе $ вместо замены на основе %. Substitute выполняет замену шаблона, возвращая новую строку. Отображение — это любой объект, похожий на словарь, с ключами, соответствующими заполнителям шаблона. В этом примере цена и количество являются заполнителями. Аргументы ключевых слов также можно использовать в качестве заполнителей. Заполнители из ключевых слов имеют приоритет, если присутствуют оба.
#практика
Шаблоны поддерживают замену на основе $ вместо замены на основе %. Substitute выполняет замену шаблона, возвращая новую строку. Отображение — это любой объект, похожий на словарь, с ключами, соответствующими заполнителям шаблона. В этом примере цена и количество являются заполнителями. Аргументы ключевых слов также можно использовать в качестве заполнителей. Заполнители из ключевых слов имеют приоритет, если присутствуют оба.
#практика
👍2🔥1😁1
Round() в Python 2 и Python 3
При использовании round() в Python 2 для числа, одинаково близкого к двум целым числам, вернется число, наиболее удаленное от 0. Однако в Python 3 функция round() возвращает четное целое число. Кроме этого, в Python возвращаемое значение имеет тип float. В Python 3 же – int.
#практика
При использовании round() в Python 2 для числа, одинаково близкого к двум целым числам, вернется число, наиболее удаленное от 0. Однако в Python 3 функция round() возвращает четное целое число. Кроме этого, в Python возвращаемое значение имеет тип float. В Python 3 же – int.
#практика
Абстрактные классы
Абстрактные базовые классы — это форма проверки интерфейса. Она более строгая, чем отдельные проверки hasattr() для конкретных методов. Определив абстрактный базовый класс, ты можешь определить общий API для набора подклассов. Эта возможность особенно полезна в ситуациях, когда третья сторона собирается предоставить реализации, такие как плагины для приложения. abc помечает методы базового класса как абстрактные, а затем регистрирует конкретные классы как реализации абстрактной базы.
#практика
Абстрактные базовые классы — это форма проверки интерфейса. Она более строгая, чем отдельные проверки hasattr() для конкретных методов. Определив абстрактный базовый класс, ты можешь определить общий API для набора подклассов. Эта возможность особенно полезна в ситуациях, когда третья сторона собирается предоставить реализации, такие как плагины для приложения. abc помечает методы базового класса как абстрактные, а затем регистрирует конкретные классы как реализации абстрактной базы.
#практика
Черепашья графика
Turtle — это предустановленная библиотека Python, которая позволяет пользователям создавать изображения и фигуры с помощью предоставленного виртуального холста. Экранное перо, которым ты рисуешь, называется черепахой. Данный код позволяет нарисовать ninja twist.
#практика
Turtle — это предустановленная библиотека Python, которая позволяет пользователям создавать изображения и фигуры с помощью предоставленного виртуального холста. Экранное перо, которым ты рисуешь, называется черепахой. Данный код позволяет нарисовать ninja twist.
#практика
👍1
Python и Excel
Библиотека Python xlrd предназначена для извлечения данных из файлов электронных таблиц Microsoft Excel. Предварительно ее нужно установить с помощью pip install xlrd. В данном коде указаны основные команды для чтения данных из excel: количество листов, имена листов, содержимое ячеек, количество строк/столбцов.
#практика
Библиотека Python xlrd предназначена для извлечения данных из файлов электронных таблиц Microsoft Excel. Предварительно ее нужно установить с помощью pip install xlrd. В данном коде указаны основные команды для чтения данных из excel: количество листов, имена листов, содержимое ячеек, количество строк/столбцов.
#практика
🤣2
SQLite
SQLite — это легкая база данных. Поскольку для нее не требуется отдельный сервер базы данных, она часто используется для прототипирования или для небольших приложений. Данный код подключается к базе данных, хранящейся в файле с именем users.db. Предварительно создается файл, если он еще не существует. Ты можешь взаимодействовать с базой данных с помощью операторов SQL.
#практика
SQLite — это легкая база данных. Поскольку для нее не требуется отдельный сервер базы данных, она часто используется для прототипирования или для небольших приложений. Данный код подключается к базе данных, хранящейся в файле с именем users.db. Предварительно создается файл, если он еще не существует. Ты можешь взаимодействовать с базой данных с помощью операторов SQL.
#практика
SSE с помощью asyncio
Server Sent Events (SSE) - это однонаправленное соединение между сервером и клиентом (обычно веб-браузером), которое позволяет серверу «отправлять» информацию клиенту. Это очень похоже на веб-сокеты и длинный опрос. Основное различие между SSE и веб-сокетами заключается в том, что SSE является однонаправленным. Только сервер может отправлять информацию клиенту, тогда как в случае с веб-сокетами оба могут отправлять информацию друг другу. Обычно считается, что SSE намного проще в использовании/внедрении, чем веб-сокеты.
#практика
Server Sent Events (SSE) - это однонаправленное соединение между сервером и клиентом (обычно веб-браузером), которое позволяет серверу «отправлять» информацию клиенту. Это очень похоже на веб-сокеты и длинный опрос. Основное различие между SSE и веб-сокетами заключается в том, что SSE является однонаправленным. Только сервер может отправлять информацию клиенту, тогда как в случае с веб-сокетами оба могут отправлять информацию друг другу. Обычно считается, что SSE намного проще в использовании/внедрении, чем веб-сокеты.
#практика