zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20687

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Что такое Dython?

Мы продолжаем серию статей, посвященных всяческим производным слова Python, и на сей раз познакомим вас с Dython. Вы узнаете:

— как ускорить инжиниринг фичей в несколько раз;
— как очищать и готовить данные.

#лучшиепрактики

Читать полностью…

Zen of Python

Оператор xor

В Python оператор xor (исключающее ИЛИ) обозначается как ^. Он применяется к двум булевым операндам и возвращает True, если только один из них имеет значение True, а остальные — False. Если оба операнда имеют одинаковые значения (True или False), то результатом будет False.

Пример использования оператора xor в Python:

a = True
b = False

result = a ^ b
print(result) # Выводит: True

В этом примере переменная a имеет значение True, а переменная b имеет значение False. Оператор xor применяется к этим операндам, и результатом будет True.

Если оба операнда имеют одинаковые значения, например, оба True или оба False, результат будет False:

c = True
d = True

result = c ^ d
print(result) # Выводит: False

В этом примере оба операнда (c и d) имеют значение True, поэтому результатом будет False.

Таким образом, оператор xor возвращает True, только если только один из операндов имеет значение True, а остальные операнды имеют значение False.

#начинающим

Читать полностью…

Zen of Python

Открываем цикл статей об ETL для зоопарка чат-ботов

Эксклюзивно для читателей TProger мы открываем цикл статей, посвященный развитию ETL (extract, transform, load) – группе процессов, выполняющих выгрузку, подготовку и загрузку данных в BI-системы. Вы познакомитесь с общепринятыми и не очень системами хранения логов и различными способами их выгрузки в хранилища.

Список технологий, для которых будут налаживаться потоки данных

Читать полностью…

Zen of Python

Подборка актуальных вакансий

Data Scientist
Где: Москва, можно удалённо
Опыт: от 2 лет

Python-разработчик
Где: удалённо
Опыт: от 3 лет

Тестировщик
Где: удалённо
Опыт: от 3 лет

Data Engineer
Где: Москва
Опыт: от 3 лет

Senior Python-разработчик
Где: Москва, можно удалённо
Опыт: от 4 лет

Team Lead Python-разработчик
Где: удалённо
Опыт: от 5 лет

#вакансии #работа

Читать полностью…

Zen of Python

Фестиваль IT и спорта RUNIT пройдёт в Измайловском парке Москвы уже 18 июня

Сможете добежать до самого финиша? А достигнуть ещё большего?

СИБУР Диджитал подготовил «второй финиш» — ряд испытаний для тех, кто, достигая амбициозной цели, сразу же ставит перед собой следующую. Если это про вас, то вам в шатёр СИБУР Диджитал:

— примите вызов от настоящего дерзателя — Виктора Блуда. Он покажет, что значит выкладываться на максимум, и наградит участников;
— разомните не только ноги, но и голову: реши IT-загадки, чтобы выиграть призы;
— посетите «Галерею дерзателей» — выставку фото участников, сделанных во время забега. Найдите там свои эмоции достижений и заберите памятные снимки.

Добежать до финиша? Неплохо.
Пересечь второй финиш — цель, достойная вас.

https://runit.digital/

Реклама ООО «СИБУР» LjN8K825m

Читать полностью…

Zen of Python

Мы думали о слове «останова» неправильно

Многие из нас помнят, что точка останова — это преднамеренное прерывание выполнения программы, при котором выполняется вызов отладчика.

Оказывается, в термине «точка останова» второе слово мужского рода и в исходной форме звучит так: останов. Это просто синоним слова «остановка».

Статья на Викисловаре

#факты

Читать полностью…

Zen of Python

Достойный конкурент менеджеру pip

В своей статье Егор Егоров показывает, как использовать opensource-альтернативу дефолтному менеджеру пакетов pip. Вы узнаете:

— как установить этот менеджер;
— как быстрее создать виртуальное окружение;
— как собирать приложения и публиковать их (в контексте репозитория);
— как решается проблема унификации версий библиотек.

#poetry

Читать полностью…

Zen of Python

На каком языке написана chatGPT

Шах и мат, все, кто пытался переплюнуть Python то скоростью, то простотой! По данным канала AI Insights,
нашумевшая нейросеть OpenAI написана на PyTorch — библиотеке Python.

#факты

Читать полностью…

Zen of Python

Deque: следующий шаг питониста при обращении со списками

deque (double-ended queue – «двусторонняя очередь») - это структура данных в Python, представляющая собой двустороннюю очередь. Она позволяет эффективно добавлять и удалять элементы как с начала, так и с конца очереди. Реализована в модуле collections.

my_deque.append(4) # в конец очереди
my_deque.appendleft(0) # в начало очереди

Вот другие операции, которые можно выполнять с двусторонней очередью:

— вставка элементов на определенную позицию (insert());
— удаление первого вхождения элемента (remove());
— проверка наличия элемента (in);
— переворот элементов (reverse());
— получение срезов (slice);
— сортировка (sort()).

deque исполняет все за константное время и потому является эффективным выбором для работы с большими объёмами данных.

#лучшиепрактики

Читать полностью…

Zen of Python

iPad-приложение для изучающих Python в стиле Swift Playgrounds

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

Для Python выпустили нечто подобное — Tinkerstellar. Хотя создатель Alex Staravoitau и не стал вклинивать изометрические мини-игры, все же качество UI приятно удивляет.

А какие геймифицированные приложения для изучения Python вы знаете?

Читать полностью…

Zen of Python

Питонистов много. Питонисты разные.

Кто-то предпочитает работать с циклами, кто-то — поедая банку варенья, а кто-то — в перерывах между вскапытанием грядок.

Вместе с КРОК предлагаем вам пройти тест, который определит ваши уникальные черты. Ответьте на 10 вопросов и узнайте, какой вы PYшарик: https://tprg.ru/RBet

Реклама ЗАО «КРОК инкорпорейтед»

Читать полностью…

Zen of Python

F-строки для именования переменных

В Python можно использовать интерполяцию строк (string interpolation), чтобы именовать переменные. Вот примеры:

with open(f'aWord{name}.txt', "w") as f1:
for line in f:
f1.write(line)

Вот несколько способов "загнать" variable в имя файла.txt:

'{}.txt'.format(variable)
'{one}.txt'.format(one=variable)
'%s.txt' % variable
f'{variable}'

Этот трюк поможет при обработке объектов разной длины.

#лучшиепрактики

Читать полностью…

Zen of Python

Django за час

Известный видеоблогер Мош Хамедани виртуозно обучает Django в этом ролике. По состоянию на июнь 2023 процедуры установки, синтаксис и подключаемые ресурсы работают также, без нужды отлаживать свой учебный проект.

Вот перечень затрагиваемых Мошем тем:
— настройка среды разработки;
— создание первого проекта;
— использование встроенного терминала в VSCode;
— создание вашего первого приложения;
— написание просмотров;
— использование шаблонов;
— отладка;
— модель данных.

Этот фреймворк прекрасно подойдет тем, кто созрел для собственного самописного сайта.

#django

Читать полностью…

Zen of Python

Python стал на одну пятую популярнее за 2022

По статистике GitHub, использование Python выросло в 2022 году на 22,5% в сравнении с предыдущим годом. Локдаун ЯПу только помог: люди активно работали в том числе и над opensource-проектами, и за 2021 год почти удвоили число коммитов в сравнении с 2020.

Принимали ли вы участие в opensource-проектах? Расскажите в комментариях.

#карьера

Читать полностью…

Zen of Python

Как находить схожие по смыслу фразы? С этим поможет FuzzyWuzzy

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

В своей статье Егор Егоров показывает, как выводить похожесть строк минимальным кодом:

from fuzzywuzzy import fuzz as f
f.ratio("Строка для проверки", "Проверка строки")
>>>41

Решение подходит и для наполнения ботов тренировочными фразами.

#лучшиепрактики

Читать полностью…

Zen of Python

Обработку исключений теперь можно сопроводить заметкой

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

try:
raise TypeError("unsupported operand")
except Exception as exc:
exc.add_note("Пояснение...")
raise

Невероятно полезно при множестве блоков try-except.

Подробнее о релизе здесь.

#лучшиепрактики

Читать полностью…

Zen of Python

Что будет, если вы захотите, скажем, пристроить кота на Авито?

Система изучит объявление, проверит дубли среди 150 000 000 других объявлений. Затем кот пройдёт модерацию. Попадёт в базу данных, а потом в систему рекомендаций…

Впрочем, лучше один раз увидеть. А показывают Авито изнутри здесь: https://tprg.ru/bkAN

Реклама ООО «Авито Тех» LjN8Jutzi

Читать полностью…

Zen of Python

ТОП-5 мобильных приложений для изучения Python

Если срочно потребовалось — или просто захотелось — изучить, закрепить новую тему, а ноутбука под рукой нет, выход — мобильные приложения для изучения Python. В статье собрали пять вариантов: простых, удобных и условно бесплатных. Описанные плюсы и минусы — собственный опыт и отзывы на App Store.

#обучение

Читать полностью…

Zen of Python

yield: понять и полюбить

yield — это «сводный брат» return. Каждый раз, когда в коде для генератора встречается этот оператор, выполнение приостанавливается, и значение, указанное после yield, возвращается генератору. Затем выполнение возобновляется с того же места и продолжается до встречи следующего yield.

Для примера, посмотрим на простой генератор, который возвращает числа от 1 до 10:

def infinite_sequence():
num = 0
while True:
yield num
num += 1

Этот код создает функцию-генератор infinite_sequence(), которая возвращает числа. Каждый раз, когда выполняется оператор yield, значение i возвращается генератору как текущее, и выполняется приостановка до следующей итерации.

Вызвав эту функцию, мы получим:

for i in infinite_sequence():
print(i, end=" ")

>>> 0 1 2 3 4 5 6

И так, пока не остановим выполнение кода.

Yield очень полезен при работе с большими объемами данных, когда недостаточно памяти для загрузки всего набора данных в память. Генератор сможет вернуть список значений по одному, не занимая много памяти.

#лучшиепрактики

Читать полностью…

Zen of Python

Рисовать черепашкой, но на Python? Легко!

Первые уроки информатики у многих из нас ассоциируются с рисующей фигуры черепашкой на PASCAL. Забавно было вращать головой, чтобы понять, куда же зверушку повернуть для рисования сложной фигуры.

У Python тоже есть своя библиотека для рисования, и называется она turtle (документация).

Код ниже нарисует звезду:

from turtle import *
color('red', 'yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos()) < 1:
break
end_fill()
done()

А с какими языками программирования вы впервые столкнулись на уроках информатики? Поделитесь в комментариях.

#обучение

Читать полностью…

Zen of Python

Модуль uuid как способ сгенерировать уникальные ID

UUID (Universally Unique IDentifier) — уникальный идентификатор. Для гарантии неповторяемости он состоит из большого количества цифр и букв.

К примеру, при подключении данных к BI-системе, автоматически удаляющей дубликаты, UUID помогают избежать искажения статистических показателей. В сниппете ниже мы добавляем столбец ID к датафрейму df:

import uuid

for i in df.index:
df.at[i, 'ID'] = uuid.uuid4()

А в каких ситуациях вам пригождается UUID? Напишите в комментариях.

#лучшиепрактики

Читать полностью…

Zen of Python

Интерпретатор теперь указывает на причину ошибки точнее

В новой версии Python 3.11.4 при отображении пути ошибки (Traceback) вы легче сможете обнаружить причину ошибки, потому что символами ^ теперь выделяется конкретный объект, а не вся строка:

Traceback (most recent call last):
File "distance.py", line 11, in <module>
print(manhattan_distance(p1, p2))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "distance.py", line 6, in manhattan_distance
return abs(point_1.x - point_2.x) + abs(point_1.y)
^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'x'

Подробнее о релизе здесь.

#лучшиепрактики

Читать полностью…

Zen of Python

map(): чего мы о ней не знали

Функция используется обычно для преобразования элементов одной последовательности в другую. Вашему вниманию необычный нюанс: она может быть комбинирована с другими функциями, чтобы выполнить комплексные операции над последовательностями. Например:

from functools import reduce

def add(x, y):
return x + y

numbers1 = [1, 2, 3, 4, 5]
numbers2 = [10, 20, 30, 40, 50]
result = map(lambda x: x[0] + x[1], zip(numbers1, numbers2))
sum = reduce(add, result)
print(sum) # 165

В этом примере map() используется совместно с zip() для сложения соответствующих элементов из двух списков, а затем результаты суммируются с помощью функции reduce().

А какие необычные применения map() вы знаете? Поделитесь в комментариях.

#лучшиепрактики

Читать полностью…

Zen of Python

Типы ошибок

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

синтаксические ошибки (SyntaxError) возникают, когда нарушены правила языка. Например, пропущенная скобка;

— ошибки времени выполнения (Runtime Errors) возникают во время выполнения программы и могут быть вызваны различными факторами, такими как деление на ноль (ZeroDivisionError), обращение к несуществующему элементу списка (IndexError) или вызов неопределенной переменной (NameError);

исключения (Exceptions) используются для обработки в том числе необычных ситуаций. Некоторые из распространенных исключений в Python включают ValueError, TypeError, FileNotFoundError и др.;

ошибки импорта (Import Errors) возникают при проблемах с импортом модулей. Например, неверное имя модуля;

— ошибки атрибутов (Attribute Errors) возникают, когда пытаемся обратиться к атрибуту объекта, который не существует;

— ошибки деления (Division Errors) возникают, когда происходит деление на ноль (ZeroDivisionError) или применяется неправильный оператор деления;

Вы и так наверняка часто встречаетесь с этими сущностями, так что в сотый раз рекомендовать надстраивать обработчики ошибок не будем. Наша задача — дать новичкам освоиться с ошибками, почувствовать уверенность в обращении с ними. В определённый момент вы придете к чувству, что это скорее помощники.

#начинающим

Читать полностью…

Zen of Python

20 разработчиков Python, на которых стоит подписаться

Для любителей Twitter мы собрали каналы самых влиятельных питонистов мира сего. Среди них, конечно же, и создатель Гвидо ван Россум, и авторы популярных фреймворков вроде Django, и даже пара русскоговорящих.

Кого еще вы бы добавили в этот список? Поделитесь в комментариях.

#факты

Читать полностью…

Zen of Python

Как скрыть предупреждения

Вы можете использовать модуль warnings и установить соответствующие параметры. Вот несколько способов скрыть предупреждения в Python:

import warnings

warnings.filterwarnings("ignore", category=DeprecationWarning)

В этом примере предупреждения определенной категории, такой как DeprecationWarning (предупреждение об устаревании), будут игнорироваться.

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

А вы «гасите» предупреждения? Поделитесь в комментариях.

#начинающим

Читать полностью…

Zen of Python

Как превратить скрипт.py в программу.exe

У любого студента рано или поздно появляется желание похвастать своей рабочей программой перед близкими, которые используют компьютеры, но не программируют. Для этой цели мы создали статью о процессе перегонки питонического кода в .exe.

#начинающим

Читать полностью…

Zen of Python

Python-ковбоев объявили в розыск. Вы знаете их?

Яндекс Практикум ищет ревьюеров и авторов курсов:

Системный аналитик;
Python-разработчик.

Задача наставников — помогать студентам учиться. А ревьюеров — проверять код и простыми словами объяснить ошибки. Это удалёнка, можно совмещать с основной работой.

Если у вас самый подходящий опыт на всём Диком Западе и вы готовы им делиться — переходите по ссылке, узнайте подробнее про условия и оставляйте отклик!

Реклама АНО ДПО «Образовательные технологии Яндекса»

Читать полностью…

Zen of Python

Шпаргалка Python

Как и при изучении иностранного языка, порой во время освоения ЯП хочется повесить на стену какую-нибудь подсказку. Особенно прекрасно, если и позиционные аргументы уже запомнились.

А что бы вы добавили на второй лист такой шпаргалки? Поделитесь комментариями.

#начинающим

Читать полностью…

Zen of Python

Автоформатирование таблиц в свежей версии PyCharm

Согласно данным раздела What's New jetBrains, в обновлении PyCharm v.2023.1 стало легко «причесывать» таблицы.

Для этого вызываем меню контекстных действий (Windows – Alt + Enter, macOS – ⌥ + Enter) или жмем желтую лампочку. Затем выбираем «Переформатировать код».

А какие фичи PyCharm используете вы? Поделитесь в комментариях.

#pycharm

Читать полностью…
Subscribe to a channel