Операции с кортежами
Все операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.
Например, гордость программистов на python - поменять местами значения двух переменных
🔗 Python tricks
Все операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.
Например, гордость программистов на python - поменять местами значения двух переменных
🔗 Python tricks
Словари (dict) и работа с ними
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключения.
🔗 Python tricks
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключения.
🔗 Python tricks
Что такое списки?
Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.
🔗 Python tricks
Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.
🔗 Python tricks
Строки. Функции и методы строк
При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной
🔗 Python tricks
При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной
🔗 Python tricks
Генерация QR-кода
QR-коды используются для кодирования и декодирования данных в машиночитаемую форму. Благодаря библиотеке pyqrcode ты можешь без проблем создавать QR-коды. Делимся кодом для генерации QR-кода.
🔗 Python tricks
QR-коды используются для кодирования и декодирования данных в машиночитаемую форму. Благодаря библиотеке pyqrcode ты можешь без проблем создавать QR-коды. Делимся кодом для генерации QR-кода.
🔗 Python tricks
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
🔗 Python tricks
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
🔗 Python tricks
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
🔗 Python tricks
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
🔗 Python tricks
PySnooper
PySnooper — это библиотека для отладки, которая позволяет логгировать каждую строку выполняемого кода вместе со значениями переменных. Она полезна, когда нужно понять, как работает код и где происходят изменения переменных.
Для использования необходимо декорировать функцию, которую нужно отладить с помощью
Результат использования pysnooper предоставлен на изображении.
🔗 Python tricks
PySnooper — это библиотека для отладки, которая позволяет логгировать каждую строку выполняемого кода вместе со значениями переменных. Она полезна, когда нужно понять, как работает код и где происходят изменения переменных.
Для использования необходимо декорировать функцию, которую нужно отладить с помощью
@pysnooper.snoop()
. Вид лога можно настроить с помощью параметров: variables — какие переменные отображать, depth — максимальная вложенность структур данных, prefix — префикс для каждой строки лога.Результат использования pysnooper предоставлен на изображении.
🔗 Python tricks
Декоратор @frozenДекоратор
@frozen
— это не встроенный декоратор, а часто используемый соглашение в библиотеках и коде на Python. Он используется для обозначения, что класс или объект должен быть неизменяемым (immutable). Неизменяемые объекты не могут быть изменены после создания. Это означает, что их атрибуты и состояние остаются постоянными, что может быть полезно во многих сценариях.Преимущества неизменяемых объектов включают в себя упрощение работы с объектами в многозадачных приложениях, избегание побочных эффектов и более безопасную работу с объектами в разных частях кода.
🔗 Python tricks
Строки в тройных апострофах или кавычках
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
🔗 Python tricks
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
🔗 Python tricks
Почему при получаем исключение UnboundLocalError, хотя переменная имеет значение?
Это происходит потому, что, когда вы делаете присваивание переменной в области видимости, она становится локальной в этой области и скрывает другие переменные с таким же именем во внешних областях.
Когда последняя инструкция в
🔗 Python tricks
Это происходит потому, что, когда вы делаете присваивание переменной в области видимости, она становится локальной в этой области и скрывает другие переменные с таким же именем во внешних областях.
Когда последняя инструкция в
foo
присваивает новое значение переменной x
, компилятор решает, что это локальная переменная. Следовательно, когда более ранний print
пытается напечатать неинициализированную переменную, возникает ошибка.🔗 Python tricks
Какие правила для глобальных и локальных переменных в Python
В Python, переменные, на которые только ссылаются внутри функции, считаются глобальными. Если переменной присваивается новое значение где-либо в теле функции, считается, что она локальная, и, если вам нужно, то нужно явно указывать её глобальной.
🔗 Python tricks
В Python, переменные, на которые только ссылаются внутри функции, считаются глобальными. Если переменной присваивается новое значение где-либо в теле функции, считается, что она локальная, и, если вам нужно, то нужно явно указывать её глобальной.
🔗 Python tricks
Функция zlib.compress()
Функция
Zlib — это библиотека, которая предоставляет алгоритмы сжатия данных. С её помощью можно уменьшить объем данных, что полезно, например, при передаче данных по сети или сохранении данных на диске, чтобы уменьшить потребление места.
Функция
🔗 Python tricks
Функция
zlib.compress()
является частью стандартной библиотеки и предназначена для сжатия данных с использованием библиотеки сжатия данных Zlib.Zlib — это библиотека, которая предоставляет алгоритмы сжатия данных. С её помощью можно уменьшить объем данных, что полезно, например, при передаче данных по сети или сохранении данных на диске, чтобы уменьшить потребление места.
Функция
zlib.compress()
принимает один аргумент — последовательность байтов (например, строку или байтовый объект) и возвращает сжатую версию этой последовательности.🔗 Python tricks
Py-spy
Py-spy — это инструмент для профилирования производительности Python-приложений. Он предоставляет информацию о том, как Python-приложение использует центральный процессор (CPU) и может помочь вам выявить узкие места в вашем коде, которые могут приводить к высокому использованию CPU.
Py-spy можно использовать из командной строки, чтобы наблюдать за работой запущенных Python-процессов. Он предоставляет информацию о потреблении CPU, вызовах функций, стеке вызовов и других характеристиках производительности. Вы можете использовать py-spy для оптимизации вашего Python-кода и выявления проблем с производительностью.
🔗 Python tricks
Py-spy — это инструмент для профилирования производительности Python-приложений. Он предоставляет информацию о том, как Python-приложение использует центральный процессор (CPU) и может помочь вам выявить узкие места в вашем коде, которые могут приводить к высокому использованию CPU.
Py-spy можно использовать из командной строки, чтобы наблюдать за работой запущенных Python-процессов. Он предоставляет информацию о потреблении CPU, вызовах функций, стеке вызовов и других характеристиках производительности. Вы можете использовать py-spy для оптимизации вашего Python-кода и выявления проблем с производительностью.
🔗 Python tricks
Почему анонимные функции (lambda), определенные в цикле с разными значениями, возвращают один и тот же результат
Это случается, поскольку
В конце цикла,
🔗 Python tricks
Это случается, поскольку
x
не является локальной для lambda
, а определена во внешней области видимости, и получается тогда, когда она вызывается - а не когда определяется.В конце цикла,
x=4
, поэтому все функции возвращают 4**2
, то есть 16
. Это можно также проверить, изменив значение x
и посмотрев на результат🔗 Python tricks
Как организовать совместный доступ к глобальным переменным для нескольких модулей
Канонический способ организовать подобный доступ - это создать отдельный модуль (часто называемый config или cfg). Просто добавьте
🔗 Python tricks
Канонический способ организовать подобный доступ - это создать отдельный модуль (часто называемый config или cfg). Просто добавьте
import config
в каждый модуль приложения. При этом модуль становится доступен через глобальное имя. Поскольку существует только один экземпляр модуля, любые изменения, произведённые в модуле отражаются везде.🔗 Python tricks
Annoy
В этом примере мы создаем индекс
Результат работы кода - список из 1000 индексов элементов, которые являются ближайшими соседями для элемента с индексом 0.
🔗 Python tricks
Annoy
(Approximate Nearest Neighbors Oh Yeah) — это библиотека, которая используется для поиска точек в пространстве, близких к заданной точке запроса. Она также создает большие файловые структуры данных только для чтения, которые отображаются в память, чтобы многие процессы могли использовать одни и те же данные.В этом примере мы создаем индекс
Annoy
с длиной вектора элемента f
и используем расстояние angular
. Затем мы добавляем 1000 элементов со случайными значениями в индекс и строим его с использованием 10 деревьев. После этого мы сохраняем индекс в файл test.ann
. Затем мы загружаем индекс из файла и выполняем поиск 1000 ближайших соседей для элемента с индексом 0.Результат работы кода - список из 1000 индексов элементов, которые являются ближайшими соседями для элемента с индексом 0.
🔗 Python tricks
Emot
Emot (Emotional Analysis for Text) — это библиотека для анализа эмодзи на Python. Она может быть полезна для обработки данных текста, чтобы удалить эмодзи и других задач, связанных с анализом эмотиконами.
Чтобы использовать библиотеку Emot, вам сначала нужно установить её с помощью pip:
Emot (Emotional Analysis for Text) — это библиотека для анализа эмодзи на Python. Она может быть полезна для обработки данных текста, чтобы удалить эмодзи и других задач, связанных с анализом эмотиконами.
Чтобы использовать библиотеку Emot, вам сначала нужно установить её с помощью pip:
pip install emot
🔗 Python tricksДинамическая загрузка модуля
Динамическая загрузка модуля в Python — это процесс импорта модуля во время выполнения программы, в отличие от статического импорта, который выполняется на этапе компиляции. Это может быть полезно, если вы хотите загружать модули в зависимости от условий или пользовательского ввода, чтобы сделать вашу программу более гибкой.
Обратите внимание, что для динамической загрузки модуля он должен быть доступен в пути поиска модулей Python, например, находиться в том же каталоге, где выполняется ваш скрипт, или в путях, указанных в переменной
Также обратите внимание, что динамическая загрузка модулей может быть мощным инструментом, но она также может привести к проблемам безопасности, если модули загружаются из ненадежных источников. Убедитесь, что вы проверяете и фильтруете ввод, который вы используете для определения имени модуля, чтобы избежать потенциальных уязвимостей.
🔗 Python tricks
Динамическая загрузка модуля в Python — это процесс импорта модуля во время выполнения программы, в отличие от статического импорта, который выполняется на этапе компиляции. Это может быть полезно, если вы хотите загружать модули в зависимости от условий или пользовательского ввода, чтобы сделать вашу программу более гибкой.
Обратите внимание, что для динамической загрузки модуля он должен быть доступен в пути поиска модулей Python, например, находиться в том же каталоге, где выполняется ваш скрипт, или в путях, указанных в переменной
sys.path
.Также обратите внимание, что динамическая загрузка модулей может быть мощным инструментом, но она также может привести к проблемам безопасности, если модули загружаются из ненадежных источников. Убедитесь, что вы проверяете и фильтруете ввод, который вы используете для определения имени модуля, чтобы избежать потенциальных уязвимостей.
🔗 Python tricks
Theano
Theano — это библиотека для глубокого обучения и численных вычислений, написанная на языке Python. Theano предоставляет инструменты для оптимизации и вычисления матричных операций, что делает его полезным инструментом для работы с нейронными сетями и другими вычислительными задачами. Однако стоит отметить, что Theano больше не активно развивается и поддерживается, и многие из его функциональных возможностей были интегрированы в другие библиотеки глубокого обучения, такие как TensorFlow и PyTorch.
🔗 Python tricks
Theano — это библиотека для глубокого обучения и численных вычислений, написанная на языке Python. Theano предоставляет инструменты для оптимизации и вычисления матричных операций, что делает его полезным инструментом для работы с нейронными сетями и другими вычислительными задачами. Однако стоит отметить, что Theano больше не активно развивается и поддерживается, и многие из его функциональных возможностей были интегрированы в другие библиотеки глубокого обучения, такие как TensorFlow и PyTorch.
🔗 Python tricks