TGViewer
Channel Public Channel
Python tricks | Хитрости Питона

Python tricks | Хитрости Питона

@python_tricks

Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Subscribers
5.08K
Photos
2.2K
Videos
26
Links
2.5K

Showing posts older than #2822 · Back to latest

Older Posts 20 shown
Post #2821 797
Оператор ==

== проверяет, равны ли значения двух операндов. В данном контексте — переменных, занимающих разные ячейки памяти. 

Этот оператор можно использовать для сравнения практически любых объектов: строк, списков, словарей и кортежей. Это делает его очень частым «гостем» в инструкциях if-else. К тому же, когда через неделю свой код воспринимать становится сложнее, всего два символа в операторе упрощают чтение длиной в сотни строк. 

🔗 Python tricks
Post #2819 745
Splat-оператор

Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) — словарь до именованных аргументов.

🔗 Python tricks
Post #2818 827
try / except + else + finally

Мастхэв для начинающих питонистов — пара try / except, обработчик исключений. Шикарным дополнением к такому блоку является, на мой взгляд, else: он опишет поведение программы на случай других ошибок, которых может быть немало!

Более того, добавив finally, вы выполните завершающие работы, например, скомандуете выслать уведомление

🔗 Python tricks
Post #2817 742
Переменные (ч.2)

Оставляйте неизменными названия переменных, которые устоялись в документации. Порой проще дописать комментарий об объекте и найти подсказку в Stack Overflow, чем получить понятное название, содержимое которого спустя месяц не отладить.

🔗 Python tricks
Post #2816 744
Переменные (ч.1)

Но переменных много, правил именования — тоже. И базовая программа не охватывает всё.

Используйте аббревиатуры. Так выглядит переменная, содержащая идентификатор пользователя Telegram.

🔗 Python tricks
Post #2815 781
MySQL: OFFSET

Ключевое слово OFFSET используется в комбинации с LIMIT для выполнения постраничного вывода результатов запроса к базе данных. Например, если у тебя есть таблица с большим количеством записей, и ты хочешь вывести результаты постранично, используй LIMIT для указания количества записей на странице и OFFSET"для указания смещения (то есть, сколько записей пропустить перед выводом следующей страницы).

🔗 Python tricks
Post #2814 766
Частичное совпадение пользовательского ввода

Эта замечательная фича позволяет справляться с ситуациями, когда пользователь вводит не все, что от него ожидается. Фишка работает в версиях Python не ниже 3.10.

🔗 Python tricks
Post #2812 716
Логические блоки

• Используйте один уровень отступа для каждого нового блока кода (циклы, условия, функции и так далее).
• Избегайте хардкод-чисел. Заменяйте числа в коде на именованные константы.

🔗 Python tricks
Post #2811 783
tuple.index

Метод index() в Python используется для того, чтобы найти индекс первого вхождения определенного элемента в кортеже (tuple). Если элемент не найден в кортеже, будет вызвано исключение ValueError.

🔗 Python tricks
Post #2810 742
Функции

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

🔗 Python tricks
Post #2808 807
Столбцы таблиц и столбцов (ч.2)

Если решили именовать столбец по-русски, старайтесь использовать небольшое название (до 20 символов): такое при многократном обращении к столбцу не потребуется долго набирать.

🔗 Python tricks
Post #2807 745
Столбцы таблиц и столбцов (ч.1)

По умолчанию именуйте столбцы по-английски. Большая часть библиотек сегодня поддерживает обращение через квадратные скобки (для случаев, когда в названии не латиница). Но если название станет аргументом, передаваемым через командную строку, то придётся запоминать, как именно передавать кириллицу.

🔗 Python tricks
Post #2806 773
Файлы (ч.2)

Пишите в README пояснения к скриптам. Документация репозитория выручит, если придумать хорошее название не удастся.

🔗 Python tricks
Post #2805 836
MySQL: RIGHT JOIN

RIGHT JOIN используется для объединения строк из двух таблиц на основе условия, где все строки из правой таблицы и соответствующие строки из левой таблицы возвращаются. Если нет соответствующих строк в левой таблице, то NULL значения заполняются в столбцах левой таблицы. В этом примере, все строки из таблицы Customers будут возвращены, а соответствующие строки из таблицы Orders будут включены. Если нет соответствующих заказов для клиентов, то будут возвращены NULL значения.

🔗 Python tricks
Post #2804 710
Файлы (ч.1)

Если речь идет о временном файле, который вы изучите сразу после исполнения и удалите, достаточно назвать его как объект.

Гуглите и используйте аббревиатуры. К примеру, датафрейм о пациентах, прошедший Предварительную обработку данных (Exploratory Data Analysis) и выгруженный в файл, можно назвать ‘patients_eda.csv’.

🔗 Python tricks
Post #2803 709
Форматирование многострочного вывода

Если вы хотите, чтобы вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это «резервирует» пространство из 10 символов

🔗 Python tricks
Post #2801 697
Частичное совпадение пользовательского ввода

Эта замечательная фича позволяет справляться с ситуациями, когда пользователь вводит не все, что от него ожидается. Фишка работает в версиях Python не ниже 3.10.

🔗 Python tricks
Post #2800 710
Выборка простых чисел в списке любого размера

Выбирать простые числа приходилось мне на практике разве что во время учёбы, так что найти этому коду реальное применение непросто. Однако его легко переиначить для поиска любых других типов чисел – чётных / нечётных / делимых на определенное число.

🔗 Python tricks
Post #2799 701
Словарное включение (ч.2)

Оказывается, Python поддерживает аналогичный функционал для словарей! Код генерирует словарь, где у каждого имени определяется длина в символах.

🔗 Python tricks
Post #2798 803
⚡️Хакатон ГАГАРИН.ХАК!

Крупный онлайн-марафон, который соберет участников со всей России. Событие пройдет в преддверии дня космонавтики и представит уникальную возможность для разработчиков продемонстрировать свои навыки и презентовать уникальные решения.

🚀Тебя ждет уникальный кейс:
- Алгоритм обнаружения аномалий в видеопотоке для реализации алгоритма сервисной аналитики.

📌Цель:
- Разработать алгоритм, который будет анализировать видеопоток на наличие аномалий или движений. Алгоритм не должен включать транскодирование видео и может быть реализован на любом языке программирования.

🏆Общий призовой фонд - 1 250 000 рублей!

🗓️Дата проведения: 12 - 14 Апреля
📍Формат: Онлайн

Подробная информация и регистрация: https://tglink.io/e5f8ef5f2926
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →