Именные функции, инструкция def
Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.
Функция может быть любой сложности и возвращать любые объекты (списки, кортежи, и даже функции!)
🔗 Python tricks
Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.
Функция может быть любой сложности и возвращать любые объекты (списки, кортежи, и даже функции!)
🔗 Python tricks
Аргументы функции
Функция может принимать произвольное количество аргументов или не принимать их вовсе. Также распространены функции с произвольным числом аргументов, функции с позиционными и именованными аргументами, обязательными и необязательными.
Функция также может принимать переменное количество позиционных аргументов, тогда перед именем ставится *
🔗 Python tricks
Функция может принимать произвольное количество аргументов или не принимать их вовсе. Также распространены функции с произвольным числом аргументов, функции с позиционными и именованными аргументами, обязательными и необязательными.
Функция также может принимать переменное количество позиционных аргументов, тогда перед именем ставится *
🔗 Python tricks
Метод isalpha()
Метод
Как видно в примере выше, первая строка состоит только из букв, поэтому
🔗 Python tricks
Метод
isalpha()
является строковым методом, который позволяет проверить, состоит ли каждый символ в строке из букв (алфавитных символов). Он возвращает True
, если все символы в строке являются буквами, и False
в противном случае.Как видно в примере выше, первая строка состоит только из букв, поэтому
isalpha()
возвращает True
. Вторая строка содержит символы, которые не являются буквами (запятая и восклицательный знак), поэтому isalpha()
возвращает False.🔗 Python tricks
Pystan
Pystan — это python-обёртка для Stan, которая позволяет использовать методы байесовского статистического вывода.
Основные возможности
— Простой интерфейс для задания байесовских моделей на языке
— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.
🔗 Python tricks
Pystan — это python-обёртка для Stan, которая позволяет использовать методы байесовского статистического вывода.
Основные возможности
Pystan
:— Простой интерфейс для задания байесовских моделей на языке
Stan
.— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.
Pystan
используется везде, где нужно решать задачи статистического моделирования и анализа данных с помощью байесовских методов.🔗 Python tricks
pyperclip
Для установки
🔗 Python tricks
pyperclip
— это библиотека Python, которая предоставляет простой способ копирования и вставки текста в буфер обмена (clipboard) операционной системы. Вы можете использовать pyperclip
для копирования текста в буфер обмена и вставки текста из буфера обмена в свой Python-скрипт.Для установки
pyperclip
, вы можете использовать инструмент управления пакетами Python, такой как pip. Откройте терминал или командную строку и выполните следующую команду:pip install pyperclipПосле установки библиотеки, вы можете использовать ее в своем Python-коде.
🔗 Python tricks
FastAPI
FastAPI — это современный, быстрый (высокопроизводительный) веб-фреймворк для создания API используя Python 3.6+, в основе которого лежит стандартная аннотация типов Python. FastAPI обладает выдающейся производительностью благодаря использованию асинхронности и автоматическому созданию документации для вашего API.
FastAPI предоставляет множество других возможностей, такие как валидация запросов, зависимости (dependencies), работа с базами данных и многое другое, что делает его мощным инструментом для создания веб-приложений на Python.
🔗 Python tricks
FastAPI — это современный, быстрый (высокопроизводительный) веб-фреймворк для создания API используя Python 3.6+, в основе которого лежит стандартная аннотация типов Python. FastAPI обладает выдающейся производительностью благодаря использованию асинхронности и автоматическому созданию документации для вашего API.
FastAPI предоставляет множество других возможностей, такие как валидация запросов, зависимости (dependencies), работа с базами данных и многое другое, что делает его мощным инструментом для создания веб-приложений на Python.
🔗 Python tricks
Анонимные функции, инструкция lambda
Анонимные функции могут содержать лишь одно выражение, но и выполняются они быстрее. Анонимные функции создаются с помощью инструкции lambda. Кроме этого, их не обязательно присваивать переменной, как делали мы инструкцией def func().
lambda функции, в отличие от обычной, не требуется инструкция return, а в остальном, ведет себя точно так же.
🔗 Python tricks
Анонимные функции могут содержать лишь одно выражение, но и выполняются они быстрее. Анонимные функции создаются с помощью инструкции lambda. Кроме этого, их не обязательно присваивать переменной, как делали мы инструкцией def func().
lambda функции, в отличие от обычной, не требуется инструкция return, а в остальном, ведет себя точно так же.
🔗 Python tricks
Зачем нужны кортежи, если есть списки?
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
🔗 Python tricks
На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.
В третьих, это возможность использовать кортежи в качестве ключей словаря.
🔗 Python tricks
Как работать с кортежами?
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()
🔗 Python tricks
Почему когда мы создаем кортеж из одного элемента нам выводит строку?
Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.
Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()
🔗 Python tricks
list.pop
Метод list pop() удаляет элемент по указанному индексу. Метод также возвращает удаленный элемент. Если индекс, переданный методу, находится за пределами диапазона, он выдает исключение IndexError: pop index out of range.
🔗 Python tricks
Метод list pop() удаляет элемент по указанному индексу. Метод также возвращает удаленный элемент. Если индекс, переданный методу, находится за пределами диапазона, он выдает исключение IndexError: pop index out of range.
🔗 Python tricks
Операции с кортежами
Все операции над списками, не изменяющие список (сложение, умножение на число, методы 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