List и Tuple — зачем нужны и какие отличия
List и Tuple — это два основных типа данных для хранения последовательностей.
List (список) — изменяемый тип данных, можно добавлять, удалять и изменять элементы.
Tuple (кортеж) — неизменяемый тип данных, элементы нельзя изменить после создания.
Основные отличия:
- Списки изменяемые, кортежи - нет;
- Списки удобнее для добавления/удаления элементов;
- Кортежи более эффективны по памяти и быстрее для доступа к элементам.
Для хранения постоянных данных лучше использовать кортежи, а для изменяемых данных — списки.
🔗 Python tricks
List и Tuple — это два основных типа данных для хранения последовательностей.
List (список) — изменяемый тип данных, можно добавлять, удалять и изменять элементы.
Tuple (кортеж) — неизменяемый тип данных, элементы нельзя изменить после создания.
Основные отличия:
- Списки изменяемые, кортежи - нет;
- Списки удобнее для добавления/удаления элементов;
- Кортежи более эффективны по памяти и быстрее для доступа к элементам.
Для хранения постоянных данных лучше использовать кортежи, а для изменяемых данных — списки.
🔗 Python tricks
Дан целочисленный массив nums, вернуть [nums[i], nums[j], nums[k]] такие, что nums[i] + nums[j] + nums[k] == 0.
В нашем решении сначала список nums сортируется. Затем перебираются все возможные комбинации индексов i, j и k. Их сумма проверяется на равенство target и добавляется в результирующий сет, если равна.
🔗 Python tricks
В нашем решении сначала список nums сортируется. Затем перебираются все возможные комбинации индексов i, j и k. Их сумма проверяется на равенство target и добавляется в результирующий сет, если равна.
🔗 Python tricks
Mypy
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
🔗 Python tricks
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
🔗 Python tricks
MongoDB: Find
В MongoDB ты можешь использовать методы find() и find one() для поиска данных в коллекции. Точно так же, как оператор SELECT используется для поиска данных в таблице базы данных MySQL. Метод find one() возвращает первое вхождение в выборке. Метод find() возвращает все вхождения в выборке.
🔗 Python tricks
В MongoDB ты можешь использовать методы find() и find one() для поиска данных в коллекции. Точно так же, как оператор SELECT используется для поиска данных в таблице базы данных MySQL. Метод find one() возвращает первое вхождение в выборке. Метод find() возвращает все вхождения в выборке.
🔗 Python tricks
Потребление памяти при сортировке в Python
Сначала сравним, сколько памяти потребляет каждая из функций. Для отслеживания максимального использования памяти, используем встроенный модуль resource. Так как данный модуль позволяет отслеживать использование памяти для одного потока, мы запускаем сортировку списка в отдельном потоке. Также можно использовать FunctionSniffingClass, включенный в репозитории.
🔗 Python tricks
Сначала сравним, сколько памяти потребляет каждая из функций. Для отслеживания максимального использования памяти, используем встроенный модуль resource. Так как данный модуль позволяет отслеживать использование памяти для одного потока, мы запускаем сортировку списка в отдельном потоке. Также можно использовать FunctionSniffingClass, включенный в репозитории.
🔗 Python tricks
Использование тернарного оператора для компактных условий
В Python можно использовать тернарный оператор для написания условных выражений в одну строку, что делает код более кратким и читаемым. Это полезно, когда нужно вернуть значение на основе простого условия.
Тернарный оператор удобен для ситуаций, когда вам нужно написать небольшое условие без использования многострочных блоков if-else, улучшая читаемость кода.
🔗 Python tricks
В Python можно использовать тернарный оператор для написания условных выражений в одну строку, что делает код более кратким и читаемым. Это полезно, когда нужно вернуть значение на основе простого условия.
Тернарный оператор удобен для ситуаций, когда вам нужно написать небольшое условие без использования многострочных блоков if-else, улучшая читаемость кода.
🔗 Python tricks
Использование списка включений (list comprehension) для фильтрации и трансформации данных
Списки включений (list comprehension) позволяют быстро и лаконично создавать новые списки на основе существующих, применяя фильтрацию и трансформацию данных в одной строке. Это полезно для оптимизации кода, который требует создания новых списков по определённым условиям.
Использование списков включений делает код более лаконичным, понятным и оптимизированным для выполнения операций над списками.
🔗 Python tricks
Списки включений (list comprehension) позволяют быстро и лаконично создавать новые списки на основе существующих, применяя фильтрацию и трансформацию данных в одной строке. Это полезно для оптимизации кода, который требует создания новых списков по определённым условиям.
Использование списков включений делает код более лаконичным, понятным и оптимизированным для выполнения операций над списками.
🔗 Python tricks
Использование метода get() для безопасного доступа к значениям словаря
При работе со словарями (dict) в Python, иногда нужно получить значение по ключу, который может отсутствовать. Вместо того чтобы проверять наличие ключа с помощью условия if, можно использовать метод get(), который возвращает значение по ключу, или значение по умолчанию, если ключа нет.
Использование метода get() позволяет избежать ошибок при работе с отсутствующими ключами и сделать код более чистым и удобным.
🔗 Python tricks
При работе со словарями (dict) в Python, иногда нужно получить значение по ключу, который может отсутствовать. Вместо того чтобы проверять наличие ключа с помощью условия if, можно использовать метод get(), который возвращает значение по ключу, или значение по умолчанию, если ключа нет.
Использование метода get() позволяет избежать ошибок при работе с отсутствующими ключами и сделать код более чистым и удобным.
🔗 Python tricks
Использование zip() для одновременной итерации по нескольким спискам
Функция zip() позволяет одновременно перебирать несколько списков в Python, что удобно, когда нужно работать с несколькими последовательностями одинаковой длины. Это позволяет избежать использования индексов и делает код более читаемым.
Использование zip() — это быстрый и удобный способ параллельной обработки нескольких списков, который помогает сделать код проще и аккуратнее.
🔗 Python tricks
Функция zip() позволяет одновременно перебирать несколько списков в Python, что удобно, когда нужно работать с несколькими последовательностями одинаковой длины. Это позволяет избежать использования индексов и делает код более читаемым.
Использование zip() — это быстрый и удобный способ параллельной обработки нескольких списков, который помогает сделать код проще и аккуратнее.
🔗 Python tricks
Настраиваемый логгер-декоратор
Начнем с примера использования. Так мы не перегружаем внимание внутренней сложностью и повышаем шансы создать удачный интерфейс модуля. На этом принципе основана разработка через тестирование — test-driven development (TTD).
У класса
🔗 Python tricks
Начнем с примера использования. Так мы не перегружаем внимание внутренней сложностью и повышаем шансы создать удачный интерфейс модуля. На этом принципе основана разработка через тестирование — test-driven development (TTD).
У класса
Logger есть метод log_msg(), который можно использовать напрямую внутри функций.🔗 Python tricks
Анатомия декоратора в Python
Создадим декоратор
🔗 Python tricks
Создадим декоратор
@hello_decorator.
Декоратор в Python — функция, которая принимает функцию/класс и возвращает функцию/класс. В примере декоратор hello_decorator() принимает функцию f(), и возвращает функцию wrapper().🔗 Python tricks
🔴 Тестовый собес на Middle Python с разработчиком из Яндекса завтра вечером!
[+ разбор 50 сложных вопросов в подарок ]
23 сентября (уже завтра) в 19:00 по мск приходи онлайн, чтобы посмотреть на настоящее интервью на Middle Python-разработчика!
Собеседование проведёт Хачатур Саркисян - ведущий разработчик из Яндекса.
Как это будет:
📂 Хачатур задаст разработчику вопросы и задачи, которые могут спросить на реальном собесе;
📂 После каждого ответа респондента ты услышишь подробный комментарий от ментора и поймёшь, чего на самом деле ожидает собеседующий на интервью;
📂 В конце сможешь задать любой вопрос Хачатуру и получить на него развёрнутый ответ.
Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
И ты можешь посмотреть его бесплатно 🔥
Только завтра, в прямом эфире!
🎁 Подарок для всех, кто зарегается на веб — файл с ОТВЕТАМИ НА 50 СЛОЖНЫХ ВОПРОСОВ с Python-собеседований 🔥
Переходи в бот, чтобы попасть на эфир и забрать подарок 👉 @shortcut_py_bot
Реклама.
О рекламодателе.
[+ разбор 50 сложных вопросов в подарок ]
23 сентября (уже завтра) в 19:00 по мск приходи онлайн, чтобы посмотреть на настоящее интервью на Middle Python-разработчика!
Собеседование проведёт Хачатур Саркисян - ведущий разработчик из Яндекса.
Как это будет:
📂 Хачатур задаст разработчику вопросы и задачи, которые могут спросить на реальном собесе;
📂 После каждого ответа респондента ты услышишь подробный комментарий от ментора и поймёшь, чего на самом деле ожидает собеседующий на интервью;
📂 В конце сможешь задать любой вопрос Хачатуру и получить на него развёрнутый ответ.
Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
И ты можешь посмотреть его бесплатно 🔥
Только завтра, в прямом эфире!
🎁 Подарок для всех, кто зарегается на веб — файл с ОТВЕТАМИ НА 50 СЛОЖНЫХ ВОПРОСОВ с Python-собеседований 🔥
Переходи в бот, чтобы попасть на эфир и забрать подарок 👉 @shortcut_py_bot
Реклама.
О рекламодателе.
Сложение списков
Не всегда операторы в python ведут себя так, как мы привыкли. Например сложение списков.
Как видно, инструкция 28 в случае
🔗 Python tricks
Не всегда операторы в python ведут себя так, как мы привыкли. Например сложение списков.
Как видно, инструкция 28 в случае
+ простое сложение, а в случае += — сложение на месте, которое не приводит к созданию нового списка. += в данном случае сопоставим по производительности с list.extend.🔗 Python tricks
Однострочный условный оператор (тернарный оператор)
В Python существует возможность использовать однострочный условный оператор, который позволяет сократить код и сделать его более лаконичным. Это особенно полезно для простых условий, которые можно выразить в одной строке.
Использование тернарного оператора позволяет упростить код, особенно когда нужно выполнить простое условие и присвоить значение одной переменной на основе этого условия.
🔗 Python tricks
В Python существует возможность использовать однострочный условный оператор, который позволяет сократить код и сделать его более лаконичным. Это особенно полезно для простых условий, которые можно выразить в одной строке.
Использование тернарного оператора позволяет упростить код, особенно когда нужно выполнить простое условие и присвоить значение одной переменной на основе этого условия.
🔗 Python tricks