Latexify для перегонки кода на Python в LaTex
Уникальная в своём роде утилита, позволяющая конвертировать код в формулы. Поддерживает Pythons 3.7+.
Какие инструменты, упрощающие верстку LaTeX, вы знаете? Поделитесь в комментариях.
#факты
Загонка списка в print() без явного цикла
Допустим, нам нужно вывести инвентарь игрока:inv = ['Железный меч',
'Исцеляющее зелье',
'Деревянный щит',
'Палка']
Сделать это можно с помощью f-строки и join():>>> print(f"У вас есть: {', '.join(inv)}")
... У вас есть: Железный меч, Исцеляющее зелье, Деревянный щит, Палка
#лучшиепрактики
Рейтинг лучших программистов в мире 2023: раунд 2
В первом раунде баттла победили Дуров и Брин, а сегодня за звание лучшего программиста в мире будут бороться новые пары.
Первая пара:
— Джеймс Гослинг, создатель Java;
— Бьёрн Страуструп, создатель С++;
Вторая пара:
— Гвидо ван Россум, создатель Python;
— Андерс Гейлсберг, создатель Turbo Pascal, Delphi, C# и TypeScript.
Давайте накидаем плюсов Гвидо ван Россуму! Ссылка на голосование
#баттлпрограммистов
Рейтинг лучших программистов в мире 2023
Объявляем баттл за звание лучшего программиста мира.
В сегодняшнем раунде участвуют две пары:
— Марк Цукерберг, создатель запрещённой в РФ компании против Павла Дурова, создателя Вконтакте и Telegram;
— Илон Маск, основатель SpaceX, владелец Twitter, соучредитель Neuralink и OpenAI против Сергея Брина, соучредителя Google.
#баттлпрограммистов
Dunder-методы: зачем они нужны и что могут
Рассказываем, что такое Dunder-методы (определяются двумя подчёркиваниями), зачем они нужны и как их использовать.
#факты
Запись логов в файл методом print()
В своём коротком видео ютьюбер @Indently показывает, как изменить статус выводимого print()
текста на ошибку, чтобы усовершенствовать процесс отладки. Всего за 6 строк кода он создает возможность записывать время возникновения ошибки и кастомный текст, описывающий её.
#лучшиепрактики
Скрытый функционал цикла while
Оказывается, у while
есть свой else
, как и у if
! В своём YouTube-шортсе @Indently показывает, как вызывать c else
уведомление об окончании действий в цикле.
#факты
Как архивировать папку силами Python
С этим поможет библиотека zipfile. Она последовательно запакует в каждый из файлов в .zip:import os
import zipfile
def zipdir(path, ziph):
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file),
os.path.relpath(os.path.join(root, file),
os.path.join(path, '..')))
with zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
zipdir('tmp/', zipf)
#zipfile
Почему мы всё время начинаем и бросаем учить английский?
Одна из причин — мы не знаем свой уровень языка. В итоге берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут.
В итоге разрыв знаний удручает и мотивация снова падает.
Если вы готовы дать английскому ещё один шанс, вам помогут поверить в свои силы и довести дело до конца.
Приходите на бесплатную консультацию в Яндекс Практикум:
— проведут устный тест на уровень языка;
— покажут, чего реально добиться и за какой срок;
— расскажут, как курсы Яндекс Практикума помогут достичь цели.
Записаться
Реклама АНО ДПО «Образовательные технологии Яндекса», ИНН: 7704282033, erid: LjN8K4eaj
Тимур Гуев: интервью
Вы просили, и мы договорились! Тимур Гуев, автор популярнейшего Stepik-курса "Поколение Python", фаундер онлайн-школы BEEGEEK, согласился на интервью и ждет ваших вопросов! Мы выберем самые залайканные из них, так что накидывайте в комментариях к этому посту.
#интервью
Принципы SOLID на примерах Python
В статье разобрали принципы SOLID на примерах Python-кода, с подробным объяснением преимуществ и возможных недостатков каждого принципа.
#лучшиепрактики
Дайджест Python
Собрали дайджест из лучших материалов по Python с 1 по 14 июля, которые только смогли найти. Дайджест включает статьи и видео на русском и английском языках.
Узнайте, как сделать из Python-скрипта исполняемый файл, какие инструменты использовать в Data Science и как настроить автопостинг в ВК.
#обучение
Причесываем многострочный вывод с print()
Если вы хотите, чтобы ваш вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это как бы «зарезервирует» пространство из 10 символов:name1 = 'Владимир'
name2 = 'Илья'
print(f'{name1:10}: тимлид')
print(f'{name2:10}: фулстэк-разработчик')
Вывод будет приятным и опрятным:Владимир : тимлид
Илья : фулстэк-разработчик
#лучшиепрактики
Maigret для досье на человека
Это удобный, и что немаловажно, поддерживаемый OSINT-инструмент, который составляет досье на человека по никнейму, проверяя аккаунты на множестве сайтов, среди которых Telegram, Instagram, Pinterest и Reddit. Назван, кстати, в честь вымышленного французского детектива Жюля Мегре.
Репозиторий проекта на GitHub
#OSINT #maigret
Условно бесплатный сервер от Amazon EC2
Благодаря вашим комментариям, мы теперь можем регулярно знакомить вас с различными решениями для скорого и условно бесплатного развёртывания базовых версий ваших проектов - ботов, баз данных, контейнеров и проч.
На сей раз в обзор попала промо-программа Amazon AWS: в зависимости от ваших потребностей бесплатный аккаунт позволяет в течение года расходовать или 750 часов работы сервера / 1М запросов ежемесячно / 500 Мб места для хранения данных. Программа включает даже эластичную балансировку нагрузки!
#AmazonAWS
Фичи из свежих релизов Python
Рассказываем в статье, какие новые функции появились в свежих релизах Python. Среди них прокачанный трейсинг ошибок и чтение TOML-конфигов.
#лучшиепрактики
Три способа выделить уникальные элементы списка
Частый запрос среди новичков по версии AnswerThePublic. Дополним привычное представление об удалении дубликатов парой трюков.
Допустим, у нас есть список:list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
setset_res = set(list_inp)
print("The unique elements of the input list using set():\n")
list_res = (list(set_res))
not infor item in list_inp:
if item not in res_list:
res_list.append(item)
numpy.uniqueimport numpy as np
res = np.array(list_inp)
unique_res = N.unique(res)
#лучшиепрактики
Trafilatura: CLI-аналог BeautifulSoup
Интересный opensource-инструмент Trafilatura, предлагающий скрейпинг содержимого веб-страниц. По заверениям создателя, утилита пытается найти баланс между ограничением шума («левых» элементов на странице) и включением всех смыслонесущих частей.
Какие удобные утилиты для парсинга, кроме BS4, вы знаете? Поделитесь в комментариях.
#CLI
Гвидо ван Россум о создании Python за 4+ минуты
Короче, наверное, и не расскажешь. Создатель языка рассказал вкратце (на английском), что послужило предпосылкой для создания языка, причём здесь Амстердам и чем ему не угодили shell-скрипты.
#интервью
Удобная запись больших чисел в Python
Если уж и довелось использовать в коде большое число, то для улучшения его читаемости (в коде, не на выводе) можно использовать «экспоненциальную запись» (Scientific Notation). В своём минутном ролике @Indently показывает, какие принимаются разделители, кроме пробела.
#лучшиепрактики
Airbrake: мониторинг ошибок
Эта система мониторинга подключается к вашему проекту Django всего за четыре строки кода:
pip install -U pybrake
import pybrakenotifier = pybrake.Notifier(
project_id=123,
project_key='abcdefgh12345678')
Библиотека предлагает, помимо категоризации ошибок, ещё и аналитику (как меняется число ошибок от недели к неделе, как изменилось время ответа сервера и т.д.)
#airbrake #факты
Топ игр, которые заставят вас вспотеть:
1. Питонолов
Не верите? Тогда попробуйте попасть молотком по всем питонам в игре от образовательной платформы Нетология. Переходите по ссылке — охота на Python в самом разгаре: https://tprg.ru/aesi
Реклама ООО «Нетология» LjN8KBSFH
Прекратите использовать datetime.utcnow()!
Благодаря нашему подписчику @Nekozawa, вашему вниманию альтернативный способ сгенерировать временной штамп без использования utcnow()
. Этот метод, в виду своей «наивности» не учитывает часовой пояс, что может привести к ошибкам и, что хуже, некорректной работе кода.
Оптимальный способ выглядит так:tmstmp = datetime.now(tz=timezone.utc)
Статья, отправляющая utcnow() в анналы истории, здесь.
#
GPT-Migrate — ИИ-инструмент для миграции с одного языка или фреймворка на другой
GPT-Migrate позволяет быстрее переписать весь код с одного языка программирования на другой. Подробнее о том, как мигрировать с языка на язык, включая Python, в статье Рафаила Агазода,
#лучшиепрактики
Гоша Дударь про разработку Python-ботов с нуля
В своём плейлисте на 12 роликов известный ютьюбер показывает, как создать бота на aiogram, подключить к нему базу данных SQLite и развернуть свой проект для связки с Telegram. Прекрасный стек для новичков.
#aiogram #sqlite #webhookбот
Python для инженеров: старт потока 28 августа
Авторы курса Денис Наумов и Антон Рязанцев создали его специально для инженеров по эксплуатации, которые хотят сокращать рутину.
Разберут админские библиотеки и научат писать модули автоматизации для Kubernetes, Docker, Ansible и др.
Изученное закрепят проектом: на выбор будет несколько вариантов для инженера или ваш реальный кейс с подробной обратной связью.
Узнать больше о программе и записаться вы можете на сайте.
Реклама ООО «Слёрм» LjN8K5145
Как сдружить match-case и input()
В своем минутном видео блогер b001 показывает, как вызывать ту или иную функцию на основе пользовательского ввода. В целом применение конструктора match / case
довольно нестандартное. И не забыта обработка для случаев, когда пользователь балуется и пишет «фывумыву».
#лучшиепрактики
Элегантный способ выделить простые числа из списка любого размера
Всего за 11 строк кода YouTube-блогер b001 показывает, как выделить из списка на 1000 чисел простые и вытащить из в отдельный объект. Заодно можно узнать, как вытащить результирующий список из объекта со ссылкой на ячейку памяти.
#лучшиепрактики
Проверка состояния сайта на requests
Таким лаконичным способом можно массово проверять жизнеспособность не только сайтов, но и множества веб-страниц на нём, в любых количествах. Возможности requests неисчерпаемы!pip install requests
import requests
r = requests.get("pythonians" rel="nofollow">https://medium.com/@pythonians")
print(r.status_code) # 200
#request