Python | Лайфаки
48 subscribers
483 photos
2 videos
187 links
Прикольные советы и факты о питоне
Download Telegram
F-строки

Сложно делать что-либо без строк в Python и чтобы сохранить адекватность, вам нужно иметь структурированный способ работы со строками. Большая часть людей, работающих с Python, предпочитают метод format python.


Личный IT канал - https://t.me/+dCIkWWWlfF5jOGEy
Айтишник ведет личный лайфблог в котором рассказывает о том как живет по жизни, о том как двигается в айти, как вырос от специалиста отдела технического контроля, до руководителя софтовой разработки. Залетайте в блог по приглосу - https://t.me/+dCIkWWWlfF5jOGEy
Собираем пирамиду

Распространенная задачка, которая также часто встречается на собеседованиях. Необходимо вывести пирамиду из целых последовательных чисел. Это один из вариантов её решения.
Сохраняем объект pickle

Рассмотрим подробный, полный цикл сохранения. Создаем список товаров, создаем файл, записываем в файл с помощью pickle.

Очень просто и легко, можно запаковать в функцию и проблем не будет никаких. Особенно для оперативного использования.
Выводим палитру цветов pyxel

Рисуем квадраты всеми цветами. Инициализуермся, и выводим все возможные цвета. pyxel.rect создает квадрат заданного цвета.
Используем f-строки для упрощения вывода информации в консоль

Начиная с Python 3.8 f-строки могут быть использованы для самодокументирования — с помощью =.

Это значит, что для того, чтобы вывести в консоль какое-то значение, вам больше не нужно писать f"variable_name = {variable_name}".

Изменение это небольшое, но довольно важное. Благодаря ему вы не просто избавитесь от повторений в коде, но и упростите его чтение.
Графики Vpython

Еще одно интересное применение Vpython это создание интерактивных графиков.

Все что нужно - создать фукнции, передать значения. Отображение графика имеет множество возможностей на панели сверху.
Метод float()

Чтобы преобразовать строку в число с плавающей запятой, в Python используется функция float(). Эта функция принимает только один параметр — строку или целое число. Если аргументы не переданы, метод возвращает 0.0.
inspect (ч.1)

Модуль inspect пригодится для понимания того, что происходит за кулисами в Python. Вы даже можете вызывать его методы на них самих!

Ниже используется метод inspect.getsource() для вывода его собственного исходного кода. Также используется метод inspect.getmodule() для вывода модуля, в котором его определили.


Подробнее тут: https://t.me/+dCIkWWWlfF5jOGEy
Атрибуты и методы

Давайте возьмем массив numpy. Мы уже использовали некоторые его методы и атрибуты!

К примеру, у каждого массива numpy есть атрибут shape, к которому вы можете получить доступ, указав имя массива, за которым следуют точка и название атрибута shape.

Состояние — Атрибуты


Подробнее тут: https://t.me/+dCIkWWWlfF5jOGEy
Аннотация типов

Дает нам возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #

При большом количестве кода бывает, что просто забудешь какой тип должна принять / вернуть функция. Для этого и можно воспользоваться этой полезной фичей

А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде


Далее https://t.me/+dCIkWWWlfF5jOGEy
Разраб? Ищем тебя! Залетай в нашу команду. Платим рынок. Берем только с опытом. Проверяй себя в боте https://t.me/bratkovsearcherbot
Списковые включения (ч.2)

Да, определенно этот код короче предыдущего, но всё еще некрасив. С первого взгляда сложно сказать, что делает функция map (она принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка). К тому же мы вынуждены определять функцию, это выглядит довольно беспорядочно.

Но, оказывается, можно писать проще и понятнее


https://t.me/+dCIkWWWlfF5jOGEy
Вращаем и сохраняем изображение

Для вращения используем функцию rotate(количество_градусов). А для сохранения используем функцию save(путь_к_файлу).


https://t.me/+dCIkWWWlfF5jOGEy
Проверка возможности вызова

Поговорим о возможности вызова того или иного объекта. Для проверки возможности вызова воспользуемся встроенной функцией callable. Она возвращает True или False в зависимости от объекта. Под вызовом подразумеваются ( ).


https://t.me/+dCIkWWWlfF5jOGEy
Как рассчитать дату в будущем в Python

Давайте посчитаем, какая дата будет после промежутка time_delt1, который мы создали ранее.

Чтобы вычислить будущий момент времени, нам нужно только добавить диапазон, определенный объектом timedelta, к текущему времени.


https://t.me/+dCIkWWWlfF5jOGEy
Итерация next() для генераторов

В большинстве обычных сценариев в программировании мы можем получить доступ к индексу и получить номер позиции, используя счётчик, который будет просто добавляемым значением

Однако вместо этого можно использовать next(). Next берёт итератор, который будет хранить текущую позицию в памяти и перебирать список в фоновом режиме.


https://t.me/+dCIkWWWlfF5jOGEy
Транспонирование двумерного массива данных

Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией zip

Если вы регулярно сталкиваетесь с подобными задачами, вместо таких трюков в Python принято использовать библиотеку NumPy.


https://t.me/+dCIkWWWlfF5jOGEy
📂 Функция scandir() в Python

Функция os.scandir() — это удобный и эффективный способ работы с содержимым директорий в Python. 🚀

🔹 Что делает?
Возвращает итератор объектов os.DirEntry, соответствующих файлам и поддиректориям в указанной папке.

🔹 Особенности:
Записи возвращаются в произвольном порядке (не гарантируется сортировка).
Специальные записи '.' (текущая директория) и '..' (родительская директория) всегда идут первыми.

🔹 Почему лучше, чем os.listdir()?
Быстрее — не требует дополнительных системных вызовов для получения метаданных.
Удобнее — объекты DirEntry содержат полезные методы, например:
- .is_file()
- .is_dir()
- .stat()

💡 Пример использования:
python
import os

with os.scandir('/path/to/dir') as entries:
for entry in entries:
if entry.is_file():
print(f"📄 Файл: {entry.name}")
elif entry.is_dir():
print(f"📁 Папка: {entry.name}")


#python #для_продвинутых #программирование
#вопросы_с_собеседований 🔍
Как работает хэш-таблица?

Разбираем по кирпичикам �

Ключ → Значение: Данные хранятся в виде пар, где каждому ключу соответствует определённое значение.

Магия хэш-функции :
- Ключ подаётся в хэш-функцию, которая преобразует его в целочисленный индекс.
- Этот индекс указывает на конкретную ячейку (бакет) в массиве, где и лежит значение.

Коллизии — не приговор 💥:
- Если разные ключи дают одинаковый хэш (коллизия), используются методы разрешения:
- Метод цепочек — значения с одинаковым хэшом хранятся в связном списке.
- Открытая адресация — ищется следующая свободная ячейка по определённому алгоритму.

Динамический рост 📈:
- При большой заполненности таблица расширяется (rehashing), чтобы сохранить эффективность O(1) для вставки и поиска.

Итог: Быстрый доступ к данным за счёт хэширования, но важно правильно выбрать хэш-функцию и метод борьбы с коллизиями. 🚀