Cуществует еще целый ряд соглашений – правил, которые не являются обязательными, но которым обычно следуют на практике. Например, имена с двумя символами подчеркивания в начале и в конце ( name) обычно имеют особый смысл для интерпретатора, поэтому вам следует избегать их использования для именования своих переменных.
Ниже приводится список соглашений, которым было бы желательно следовать:
— Имена, начинающиеся с одного символа подчеркивания (_X
), не импортируются инструкцией from module import *
— Имена, имеющие два символа подчеркивания в начале и в конце (__X__
) являются системными именами, которые имеют особый смысл для интерпретатора.
— Имена, начинающиеся с двух символов подчеркивания и не оканчивающиеся двумя символами подчеркивания (__X
), являются локальными («искаженными») для объемлющего класса (смотрите псевдочастные атрибуты).
— Имя, состоящее из единственного символа подчеркивания (_
), хранит результат последнего выражения при работе в интерактивной оболочке.
httpbin | Игрушечный API
Написан на Python + Flask, запускается в контейнере Docker. Самое оно потестировать свой проект в контексте авторизации, возможных ошибочных ответов API, куки, картинок и прочей жизы разработчика.
httpbin.org
Репозиторий GitHub
@zen_of_python
Новый уровень продуктивной разработки: добро пожаловать на платформу GitVerse
На платформе для работы с исходным кодом GitVerse можно легко и удобно организовать разработку любых проектов: писать и проверять код, автоматизировать CI/CD-процессы, общаться с единомышленниками и стать частью open source сообщества.
Что еще могут пользователи GitVerse:
– переносить проекты с других git-площадок в один клик;
– размещать открытые и приватные репозитории, работать самостоятельно и в командах;
– управлять проектами с помощью удобных досок и карточек, назначать роли, ревьюеров и делать все процессы прозрачными;
– делегировать рутинные задачи AI-ассистенту GigaCode, чтобы посвятить время по-настоящему интересным задачам!
Регистрируйтесь на платформе GitVerse и повышайте эффективность разработки!
Это #партнёрский пост
Генерация данных с помощью Python: зачем это нужно и как применять
В Tproger подробно разобрали генераторы данных — незаменимый инструмент для работы с большими объемами информации. Знаете ли вы, что они позволяют обрабатывать данные частями, что существенно экономит ресурсы? Также осветили библиотеки Faker и NumPy для синтеза данных.
А в каких проектах вам пригождалось синтезирование данных? Поделитесь в комментариях.
#основы
@zen_of_python
Подборка шпаргалок для всех разработчиков
Собрали для вас только самое полезное:
— Docker
— Регулярные выраже
— HTTP статус-коды
— Основы Git
— Теория и принципы ООП
— Markdown
— Команды и хоткеи Linux
#шпаргалка #подборка #general
PyAction | Если вам нужна своя логика CI / CD
PyAction — это специальный инструмент, позволяющий писать кастомную логику для GitHub Actions и ориентированный на специфические для Python задачи (например, установка пакетов, запуск тестов и так далее).
Quickstart
#инструмент #cicd
@zen_of_python
Tproger дарит мерч за лучшую статью
Кто-то: думает, чтобы написать статью
Типичные программисты: уже написали, собирают просмотры и подписчиков.
На этой неделе мы хотим рассказать про статью от Александра Киселёва → Django vs FastAPI — автор статьи пишет о том, какой из них лучше для начинающих.
А если вы думали о чём написать статью, традиционно мы опубликовали список актуальных тем во флудильне.
Скоро мы будем подводить итоги лучших статей от читателей за ноябрь. Ещё не поздно принять участие и выиграть мерч!
Обратитесь к боту, чтобы выбрать одну из тем или предложить свою. Далее напишите статью и отправьте её на модерацию.
@zen_of_python
Разработай прорывное решение для автоматического Code Review с помощью ИИ на хакатоне ЕВРАЗа 3.0
Создайте будущее Code Review с ИИ!
Участвуйте в уникальном хакатоне по созданию ИИ-чатбота, который станет незаменимым помощником для разработчиков ЕВРАЗа! Выберите одно из направлений — Python, TypeScript или C# и разработайте решение для анализа кода на соответствие стандартам компании.
Как подросток превратил Twitter в личную машину для кражи денег?
Представьте: аккаунты Илона Маска, Билла Гейтса, Джеффа Безоса и даже Apple начинают публиковать странные твиты про биткоины. Мир в шоке, миллионы людей в недоумении, а за всем этим стоит... 17-летний парень.
Как он провернул крупнейший взлом соцсетей в истории? Кто ему помогал? И почему даже опытные хакеры аплодировали этой дерзости?
В новом выпуске подкаста «АЙТИ КРАЙМ» мы разбираем взлом, который поставил под удар доверие к крупнейшей платформе и заставил весь мир задуматься: а насколько безопасны наши любимые соцсети?
Слушайте и смотрите:
Яндекс.Музыка
Apple Music
Spotify
YouTube
Telegram
Интерактивный тренажёр по Python
Питонтьютор — это онлайн-платформа для обучения, не требующая установки. В ней встроен инструмент, который переводит ошибки с консоли на русский, читабельный язык. Для изучающих Python тут подготовлены сотни заданий разного уровня сложности, так что каждый подберёт себе подходящее.
Ссылка на питонтьютор
#курс #python #ru
django-project-template | Когда «пригорело» конструктивно
Один Python-разработчик, регулярно работающий с Django, сетовал на устаревшие темплейты на GitHub, не учитывающие новые крутые инструменты вроде uv (быстрый менеджер зависимостей на смену pip).
В своем обзоре Давид Гийо заменяет «голый» Makefile на just
, предлагает переиначить дефолтную структуру Django-проекта и даже версионирует .env. Браво!
Сам темплейт на GH
@zen_of_python
Вышел Flask 3.1.0
Среди обновлений:
- Параметр -e path имеет приоритет над стандартными файлами .env и .flaskenv
- Запрос.max_content_length можно настроить для каждого запроса
- опции конфигурации для управления автоматическими ответами на опции и проч.
Release Note
@zen_of_python
Очень удобная шпаргалка про Python
Выверенное представление различных терминов языка на quickref.me. Здесь и про типы данных, и про модули, и про классы с наследованием.
#основы
@zen_of_python
PyRIT | Инструмент оценки рисков для генеративного ИИ
Это опенсорсный инфобез-фреймворк для оценки надежности моделей ML. Этот определяет недостоверный / предвзятый контент, тем самым позволяя сосредоточиться на более сложных процессах и идентифицировать более сложные угрозы.
Цена: бесплатно
Репозиторий проекта
@prog_tools
Собеседование на Middle Python Developer
40-минутная запись реального техинтервью на замедленотьюбе. Кандидат грамотно отвечал на вопросы про основы ООП, Python и фреймворки. В конце небольшая лайв-кодинг-сессия.
Полезно даже джунам.
Смотреть
@zen_of_python
Типичный Machine Learning Engineer из твиттерской в 2024 году:
— ожидает оклада $500К / год при этом решая задачи уровня Fizz Buzz
— не знает, что такое GPU
— использует только FastAPI как веб-сервер
— не знает, что такое Процессный параллелизм
— 5 разных версий Python вместо venv
— везде SQLite3
— Пустой файл __init__.py
Когда юморной твит принес больше всего пользы за день.
#кек
@zen_of_python
Квиз про namespaces + scopes
Небольшая викторина на 11 вопросов с realpython.com, посвященная пространствам имен и областям видимости. Для подготовки можно освежить свои познания с помощью этой статьи.
#квиз
@zen_of_python
Опрос Django + JetBrains
Если вам есть что сказать создателям Django, примите участие в официальном исследовании пользовательского опыта на djangoproject.com. Спросят, как водится, про версию фреймворка, используемое хранилище, темплейты и прочие тонкости. Для новичков это внезапно может стать хорошей возможностью познакомиться с основной терминологией и популярными инструментами.
Займет около 15 минут.
Описание
Перейти к опросу
#django
@zen_of_python
Шпаргалка метрик Kubernetes
Годная подсказка по k8s с листингом метрик диска, джобов, сервисов и событий.
#шпаргалка
@zen_of_python
DataAnonymization | обезличиваем базу
Полезный тул на Java, который быстро устранит имена, телефоны и пароли из вашего экземпляра MySQL / PostgreSQL / MariaDB / hive и проч. Работает в командной строке.
Древний китайский мудрец сказал однажды: «Нужда в таких дополнительных шагах, как анонимизация данных, коррелирует со сливами баз, а не с обучением моделей ML».
А какие инструменты анонимизации вы использовали? Поделитесь в комментариях.
Цена: бесплатно
Репозиторий проекта
@prog_tools
Техинтервью на должность Python-разработчика
Вне зависимости от грейдов, для всех питонистов на собеседовании существуют мастхэв-вопросы. О них и идет речь в видео от Rineisky Dev: типы данных, лямбда-функции, генераторы, асинхронность. Бонусом Git, Docker, Linux. 2+ часа базы.
Смотреть на замедленотьюбе
@zen_of_python
Шпаргалка PostgreSQL для взрослых
Хорошая подборка полезных команд psql и запросов к метаданным вашей БД про производительность, одновременные запросы, заполненность диска и проч.
#шпаргалка #продвинуто
@zen_of_python
Залетайте на крутое IT-мероприятие, посвящённое AI и передовым технологиям разработки рекомендательных систем
Регистрируйтесь и получайте ссылку на трансляцию, или приходите очно, если живёте в одном из городов.
Где и когда?
— Владивосток, 26 ноября
— Новосибирск, 28 ноября
— Нижний Новгород, 5 декабря
— Санкт-Петербург, 6 декабря
Вас ждут крутейшие доклады, живая дискуссия и новые знания в сфере рекомендательных систем.
Количество мест ограничено — успей занять своё и прикоснуться к миру AI!
Это #партнёрский пост
print: база + интересные факты
Синтаксис:print([object, ...][, sep=’ ‘][, end=’\n’][, file=sys.stdout]
Параметры sep, end и file, если они необходимы, должны передаваться в виде именованных аргументов, то есть с использованием специального синтаксиса «имя=значение». Их могут указывать в любом порядке в вызове функции, но после объектов, предназначенных для вывода, и определяют параметры вывода:
— sep
– строка, которая должна вставляться между объектами при выводе. По умолчанию состоит из одного пробела. Чтобы подавить вывод строки разделителя, в этом аргументе следует передать пустую строку.
— end
– строка, добавляемая в конец выводимого текста. По умолчанию содержит символ конца строки \n
. Если в этом аргументе передать пустую строку, следующий вызов функции print начнет вывод текста с позиции, где закончился вывод текущей строки.
— file
– объект файла, стандартный поток или другой объект, похожий на файл, куда будет выводиться текст. with open('output.txt', 'w') as f:
# Используем print для записи в файл с немедленным сбросом буфера
print("Hello, World!", file=f, flush=True)
Функция print
получает текстовое представление объекта с помощью встроенной функции str
. Это может привести к неожиданным результатам на выводе: «сплющенные» массивы, ссылка на объект в памяти (<__main__.NoStrClass object at 0x...>
) вместо самого «контента».
Интересные факты:
— В Python 2.X print – это инструкция, в Python 3.X встроенная функция, которая принимает именованные аргументы. Поэтому в 3.X и появились скобки.
— Можно перечислять очень много аргументов:print("Python", "is", "fun!")
— Для «красивого» вывода сложных объектов можно использовать pprint
— Дебаггинг с print
называется «волчья стена» (раньше для отлова волков на огороженной земле возводили забор по середине, чтобы отсечь половину территории, где мог находиться хищник, и так «половинили» до излова)
— Если вы получаете <main.MyClass object at 0x...>
вместо самих данных, значит, в кастомном классе того или иного инструмента нет встроенного метода __str__
/ __repr__
. Тут нет единой формулы решения, однако StackOverflow полнится подобными вопросами.
@zen_of_python
rich-cli| Цветной вывод в командной строке
Подсветит не только --help, но и многие другие объекты:
- вычитываемые файлы с кодом
- составные команды
- файлы.json и проч.
Цена: бесплатно
Репозиторий проекта
✍️ - интересно
🌭 - не актуально
#инструмент
@zen_of_python
dataherald | Из естественного языка в SQL-запрос
Целое API, которое позволит общаться с вашей базой данных в режиме диалога на базе ChatGPT, потому на русском языке тоже. Есть веб-интерфейс. Поднимается из контейнера Docker.
Пусть ваш дата-аналитик понервничает.
Цена: бесплатно (взимают только за токены)
Репозиторий проекта c 3,5K звезд
@zen_of_python