PySimpleGUI
PySimpleGUI — это простая и легкая в использовании библиотека для создания графического интерфейса (GUI) в Python. Она предоставляет простые инструменты для создания оконных приложений с использованием графических элементов, таких как кнопки, текстовые поля, чекбоксы и др. PySimpleGUI предоставляет удобный интерфейс для создания GUI, особенно для начинающих разработчиков.
PySimpleGUI поддерживает различные стили и темы, и вы можете легко настраивать внешний вид вашего приложения. Вы можете найти дополнительные примеры использования PySimpleGUI на официальном сайте проекта.
🔗 Python tricks
PySimpleGUI — это простая и легкая в использовании библиотека для создания графического интерфейса (GUI) в Python. Она предоставляет простые инструменты для создания оконных приложений с использованием графических элементов, таких как кнопки, текстовые поля, чекбоксы и др. PySimpleGUI предоставляет удобный интерфейс для создания GUI, особенно для начинающих разработчиков.
PySimpleGUI поддерживает различные стили и темы, и вы можете легко настраивать внешний вид вашего приложения. Вы можете найти дополнительные примеры использования PySimpleGUI на официальном сайте проекта.
🔗 Python tricks
Особенности работы с изменяемой и не изменяемой коллекцией (ч.2)
Список изменяем и тут надо быть очень внимательным, чтобы не допустить серьезную ошибку! Сравните данный пример с предыдущем примером со строками.
🔗 Python tricks
Список изменяем и тут надо быть очень внимательным, чтобы не допустить серьезную ошибку! Сравните данный пример с предыдущем примером со строками.
🔗 Python tricks
Создание объектов, поддерживающих выражение with
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов enter и exit
🔗 Python tricks
Все знают о том, как, например, открыть файл, или, возможно, как установить блокировку с использованием оператора with. Но можно ли самостоятельно реализовать механизм управления блокировками? Да, это вполне реально. Протокол управления контекстом исполнения реализуется с использованием методов enter и exit
🔗 Python tricks
Добавляем условие для фильтрации
Важно: Условие проверяется на каждой итерации, и только элементы ему удовлетворяющие идут в обработку в выражении.
Мы можем использовать несколько условий, комбинируя их логическими операторами
🔗 Python tricks
Важно: Условие проверяется на каждой итерации, и только элементы ему удовлетворяющие идут в обработку в выражении.
Мы можем использовать несколько условий, комбинируя их логическими операторами
🔗 Python tricks
Добавляем обработку элемента в выражении
Мы можем вставлять не сам текущий элемент, прошедший фильтр, а результат вычисления выражения с ним или результат его обработки функцией.
Выражение выполняется независимо на каждой итерации, обрабатывая каждый элемент индивидуально.
🔗 Python tricks
Мы можем вставлять не сам текущий элемент, прошедший фильтр, а результат вычисления выражения с ним или результат его обработки функцией.
Выражение выполняется независимо на каждой итерации, обрабатывая каждый элемент индивидуально.
🔗 Python tricks
Dictionary Comprehension
Dictionary comprehension — это конструкция, позволяющая компактным способом создавать словари на основе существующих итерируемых объектов.
Dictionary comprehension применяется в ситуациях, когда нужно:
— Быстро создать словарь из списка или другого итерируемого объекта.
— Преобразовать одну структуру данных в словарь.
— Создать словарь с некоторой обработкой элементов.
Основные преимущества dictionary comprehension:
— Компактный и читаемый синтаксис по сравнению с циклами.
— Лаконичное создание словарей "на лету".
— Оптимизированная производительность по сравнению с циклами.
🔗 Python tricks
Dictionary comprehension — это конструкция, позволяющая компактным способом создавать словари на основе существующих итерируемых объектов.
Dictionary comprehension применяется в ситуациях, когда нужно:
— Быстро создать словарь из списка или другого итерируемого объекта.
— Преобразовать одну структуру данных в словарь.
— Создать словарь с некоторой обработкой элементов.
Основные преимущества dictionary comprehension:
— Компактный и читаемый синтаксис по сравнению с циклами.
— Лаконичное создание словарей "на лету".
— Оптимизированная производительность по сравнению с циклами.
🔗 Python tricks
set.remove
Метод remove() удаляет указанный элемент из множества и обновляет множество. Он не возвращает никакого значения. Если элемент, переданный в remove(), не существует, генерируется исключение KeyError.
🔗 Python tricks
Метод remove() удаляет указанный элемент из множества и обновляет множество. Он не возвращает никакого значения. Если элемент, переданный в remove(), не существует, генерируется исключение KeyError.
🔗 Python tricks
Аналоги в виде цикла for и в виде функций
Задачи решаемые с помощью генераторов выражений можно решить и без них. Каждый генератор выражений можно переписать в виде цикла for, но не каждый цикл for можно представить в виде такого выражения.
🔗 Python tricks
Задачи решаемые с помощью генераторов выражений можно решить и без них. Каждый генератор выражений можно переписать в виде цикла for, но не каждый цикл for можно представить в виде такого выражения.
🔗 Python tricks
Улучшаем читаемость
Не забываем, что в Python синтаксис позволяет использовать переносы строк внутри скобок. Используя эту возможность, можно сделать синтаксис генераторов выражений более легким для чтения.
🔗 Python tricks
Не забываем, что в Python синтаксис позволяет использовать переносы строк внутри скобок. Используя эту возможность, можно сделать синтаксис генераторов выражений более легким для чтения.
🔗 Python tricks
Green threads
Зелёные потоки (green threads) — это потоки выполнения, управление которыми вместо операционной системы производит виртуальная машина (ВМ). Green threads эмулируют многопоточную среду, не полагаясь на возможности ОС по реализации легковесных потоков. Управление ими происходит в пользовательском пространстве, а не пространстве ядра, что позволяет им работать в условиях отсутствия поддержки встроенных потоков.
🔗 Python tricks
Зелёные потоки (green threads) — это потоки выполнения, управление которыми вместо операционной системы производит виртуальная машина (ВМ). Green threads эмулируют многопоточную среду, не полагаясь на возможности ОС по реализации легковесных потоков. Управление ими происходит в пользовательском пространстве, а не пространстве ядра, что позволяет им работать в условиях отсутствия поддержки встроенных потоков.
🔗 Python tricks
pprint
🔗 Python tricks
pprint
(pretty-print) предоставляет функционал для красивого вывода структур данных в удобочитаемой форме. Он используется для отображения сложных объектов, таких как словари и списки, с отступами и переносами строк для лучшей читаемости.🔗 Python tricks
string.title
Метод title() возвращает версию строки, где первый символ каждого слова пишется с заглавной буквы (если первый символ — буква). Обрати внимание, данный метод также делает первую букву после апострофа заглавной.
🔗 Python tricks
Метод title() возвращает версию строки, где первый символ каждого слова пишется с заглавной буквы (если первый символ — буква). Обрати внимание, данный метод также делает первую букву после апострофа заглавной.
🔗 Python tricks
Решение с помощью функций
Для начала, замечу, что выражение генераторы и генераторы коллекций — это тоже функциональный стиль, но более новый и предпочтительный.
Можно применять и более старые функциональные подходы для решения тех же задач, комбинируя map(), lambda и filter().
🔗 Python tricks
Для начала, замечу, что выражение генераторы и генераторы коллекций — это тоже функциональный стиль, но более новый и предпочтительный.
Можно применять и более старые функциональные подходы для решения тех же задач, комбинируя map(), lambda и filter().
🔗 Python tricks
Выражения-генераторы
Выражения-генераторы (generator expressions) доступны, начиная с Python 2.4. Основное их отличие от генераторов коллекций в том, что они выдают элемент по-одному, не загружая в память сразу всю коллекцию.
🔗 Python tricks
Выражения-генераторы (generator expressions) доступны, начиная с Python 2.4. Основное их отличие от генераторов коллекций в том, что они выдают элемент по-одному, не загружая в память сразу всю коллекцию.
🔗 Python tricks
PsychoPy
PsychoPy — это программное обеспечение для создания экспериментов в области психологии, нейронауки и экспериментальной психиатрии с использованием языка программирования Python. Он предоставляет инструменты для создания различных видов стимулов, управления временем, сбора данных и анализа результатов.
В примере на картинке мы создаем окно, текстовый стимул, отображаем его, ждем 2 секунды и затем закрываем окно. PsychoPy предоставляет богатый набор функций для создания более сложных экспериментов, таких как представление изображений, воспроизведение звуков, сбор данных о времени реакции и многое другое.
🔗 Python tricks
PsychoPy — это программное обеспечение для создания экспериментов в области психологии, нейронауки и экспериментальной психиатрии с использованием языка программирования Python. Он предоставляет инструменты для создания различных видов стимулов, управления временем, сбора данных и анализа результатов.
В примере на картинке мы создаем окно, текстовый стимул, отображаем его, ждем 2 секунды и затем закрываем окно. PsychoPy предоставляет богатый набор функций для создания более сложных экспериментов, таких как представление изображений, воспроизведение звуков, сбор данных о времени реакции и многое другое.
🔗 Python tricks
Метод str.replace()
Метод
🔗 Python tricks
Метод
str.replace()
в Python используется для замены подстроки в строке новой подстрокой. Вот базовый синтаксис метода:new_string = old_string.replace(old_substring, new_substring)где:
old_string
— исходная строка, в которой вы хотите выполнить замену.old_substring
— подстрока, которую вы хотите заменить.new_substring
— новая подстрока, которой вы хотите заменить старую подстроку.🔗 Python tricks
Ветвление выражения
Условия ветвления пишутся не после, а перед итератором.
В данном случае if-else это не фильтр перед выполнением выражения, а ветвление самого выражения, то есть переменная уже прошла фильтр, но в зависимости от условия может быть обработана по-разному!
🔗 Python tricks
Условия ветвления пишутся не после, а перед итератором.
В данном случае if-else это не фильтр перед выполнением выражения, а ветвление самого выражения, то есть переменная уже прошла фильтр, но в зависимости от условия может быть обработана по-разному!
🔗 Python tricks
Особенности выражений-генераторов (ч.1)
Генаратор нельзя писать без скобок — это синтаксическая ошибка.
При передаче в функцию дополнительные скобки необязательны.
Нельзя получить длину функцией len()
Нельзя распечатать элементы функцией print()
🔗 Python tricks
Генаратор нельзя писать без скобок — это синтаксическая ошибка.
При передаче в функцию дополнительные скобки необязательны.
Нельзя получить длину функцией len()
Нельзя распечатать элементы функцией print()
🔗 Python tricks
Особенности выражений-генераторов (ч.2)
Обратите внимание, что после прохождения по выражению-генератору оно остается пустым!
Выражение-генератор может быть бесконечным.
К выражению-генератору не применимы срезы!
Из генератора легко получать нужную коллекцию. Это подробно рассматривается в следующей главе.
🔗 Python tricks
Обратите внимание, что после прохождения по выражению-генератору оно остается пустым!
Выражение-генератор может быть бесконечным.
К выражению-генератору не применимы срезы!
Из генератора легко получать нужную коллекцию. Это подробно рассматривается в следующей главе.
🔗 Python tricks
Метод str.replace()
Метод
где:
🔗 Python tricks
Метод
str.replace()
в Python используется для замены подстроки в строке новой подстрокой. Вот базовый синтаксис метода:new_string = old_string.replace(old_substring, new_substring)
где:
old_string
— исходная строка, в которой вы хотите выполнить замену.old_substring
— подстрока, которую вы хотите заменить.new_substring
— новая подстрока, которой вы хотите заменить старую подстроку.🔗 Python tricks