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

Известная игра на Python

Одной из наиболее известных игр, написанных на Python, является «Civilization IV». Эта игра разработана и издана Firaxis Games + 2K Games в 2005 году. ЯП использовался для разработки игрового движка и логики игры.

В «Civilization IV» игроку предлагается управлять различными цивилизациями, начиная с античной эпохи, и развивать их вплоть до современной эпохи, строить города, исследовать новые технологии, управлять внешними отношениями и сражаться с другими цивилизациями.

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

Играли в CIV?

#факты

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

Zen of Python

Дебаггинг с print() признан как метод еще в 1982 году

Оказывается, у этого столь популярного «ленивого» метода поиска багов уже есть название! Термин «волчий забор» (wolf fence) впервые упомянул Эдвард Гаусс аж в 1982 году.

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

На форумах люди также называют этот метод «бинарным поиском» (binary search) или «бисекцией» (bisection).

Какие еще необычные названия у привычных вещей в Python вы знаете? Поделитесь в комментариях.

#начинающим

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

Zen of Python

Почему бросают учить Python?

Согласно исследованию developerpitstop.com, около 40% опрошенных заявили, что бросили обучение Python до его окончания. Среди причин бросания фигурируют:

— выгорание;
— проблемы со здоровьем;
— скука;
— нет образовательной цели;
— слишком много изменений;
— одиночество.

Как вам кажется, какие ещё факторы могут играть роль и с чем сталкивались вы? Поделитесь в комментариях.

#обучение

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

Zen of Python

Статья «Карьерный путь: из 1C специалиста в тимлида разработки на Python»

Удивительная история о том, как тимлид Николай Нагорный преодолел путь от специалиста техподдержки в компании, продающей 1С, до руководителя группы разработки на Python.

Кто работал в мире 1С, знает об особенной атмосфере 1С-франчайзи: низкие зарплаты, много неупорядоченных задач и, конечно, текучка. А если к этому примешиваются пандемия, релокейт, то получается вообще «полный набор». Однако автор статьи нашел в себе упорство переучиться и исполнить мечту. Рекомендуется к прочтению в минуты неурядиц.

#карьера

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

Zen of Python

«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество

Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.

Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore

#python

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

Zen of Python

Необычный способ вырасти от джуна до миддл-разработчика

У многих из нас легко наберется с десяток каналов вакансий: тут и сохраненные поиски hh.ru, Вакансии в IT от TProger и LinkedIn. А как джуниор-специалисту вырасти над собой с помощью бесконечного скроллинга вакансий? Есть один интересный прием, но он предполагает, что ваш текущий работодатель дает вам достаточно свободы экспериментировать с подбором технологий.

Человеческий мозг устроен таким образом, что незаметно сканирует тексты вакансий на предмет частовстречающихся слов. Если вы тоже привыкли фильтровать вакансии по стеку, то могли заметить, что некоторые фреймворки, библиотеки и прочие инструменты «натирают глаз». Для Python-разработчика это могут быть Django, Flask, REST API или PostgreSQL.

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

1. Запомните нужные вам технологии. Смотрите как можно больше подходящих вам вакансий и они сами осядут в памяти.
2. Гуглите каждую технологию, чтобы хотя бы поверхностно понимать, для чего она нужна.
3. Постепенно вы придёте к мысли, что некоторые технологии уже можно применить в вашей работе. Не стесняйтесь пользоваться помощью фрилансеров — именно они помогут быстро развернуть тот или иной сервис, докрутят пример из сети под ваше потребности.
4. Как только вы смогли использовать технологию в реальной задаче, её можно смело добавлять в резюме. Ведь вы не только познакомились с ней, но и знаете, как применить её в работе.

А какие приемы роста знаете вы?

#карьера

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

Zen of Python

Сеньор притворился джуном на собеседовании

В этом забавном 15-минутном видео Senior Python Developer решил поиграть с интервьюером в кошки-мышки. Отдает чувством чьего-то превосходства?

Неожиданно, но лицемерия там нет. Соискатель честно трудился и отвечал на классические вопросы:
— насколько хорошо знает GIT и MongoDB;
— типы данных;
— изменяемые и неизменяемые типы данных;
— генератор и итератор;
— способы форматирования строк в Python;
— dunder-методы;
— инициализация классов;
— декораторы;
— PEP8;
— как прочитать JSON;
— фреймворки Python;
— что лучше: Flask или Django;
— задача с LeetCode.

Как вы думаете, что означает такой нестандартный результат собеседования?

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

Zen of Python

Контур запускает Hiring Days для Python-разработчиков

Если вы пишете на Python, ваш грейд от middle+ и выше, и вы думаете о смене работы, то это ваш шанс. Пять задач в контесте,
одно интервью с опытными разработчиками и, если произойдет мэтч, оффер ваш!

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

Регистрируйтесь до 2 июня
Контест доступен для решения с 3 по 6 июня.

Реклама АО «ПФ «СКБ Контур» LjN8KERyx

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

Zen of Python

​​Сравнение библиотек для создания ботов

На openweaver.com есть замечательная статья, сравнивающая современные библиотеки для создания ботов. Автор сравнил 13 библиотек по следующим параметрам:
— поддержка библиотеки создателями;
— качество;
— безопасность;
— лицензирование;
— вероятность переиспользования.

Переходите по ссылке и найдите для себя оптимальный вариант.

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

Zen of Python

Сколько времени нужно, чтобы освоить Python?

Согласно исследованию «Factors Affecting Students' Attitudes toward Computer Programming» Vilnius University, освоение поделили на три стадии:

Базовое понимание: С постоянными усилиями и структурированным планом обучения вы можете приобрести базовое понимание синтаксиса Python и основных концепций в течение 3-4 недель. В этом этапе обычно изучаются переменные, типы данных, условные операторы, циклы, функции.

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

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

#карьера

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

Zen of Python

Можно ли использовать Python для фронтенда?

Краткий ответ – да. Но ненапрямую.

Во фреймворках наподобие Django прямо в HTML-код можно внедрять переменные (так называемые теги), например:
<h2>{{ dog.name }}</h2>

То есть задав список из 100 собачих имен, мы отрендерим 100 веб-страниц с разными именами с помощью одной строки.

Вот другой пример: показать таблицу с двумя столбцами на основе списка some_list.

{% for o in some_list %}
<tr class="{% cycle 'row1' 'row2' %}">
...
</tr>
{% endfor %}


Еще одно немаловажное применение – визуализация данных. Питоническое комьюнити прекрасно умеет строить всевозможные графики, и порой проще встроить plotly или bokeh, чем писать что-то свое.

#django

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

Zen of Python

Этих фактов о Python вы точно не знали

Здесь не будет про «Летающий цирк Монти Пайтона».

— язык изначально был создан для забавы, как пет-проект;
— помимо PEP, существует гид Zen of Python – принципы: простота, читаемость, ясность и красота кода;
— согласно TIOBE-индексу, Python – самый популярный язык в мире в 2023 году;
— на pypi.org насчитывается более 300 тысяч питонических библиотек.

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

#факты #интересное

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

Zen of Python

Выйти из Vim — больше не проблема, причем везде

Оказывается, выход из Vim в разных ситуациях разный! Если вы используете этот редактор на своем локальном устройстве, достаточно набрать Esc + :wq! Последняя команда сохранит внесенные изменения.

Однако при подключении через SHH в той же командной строке Windows или Терминале macOS Escape не сработает, и легко оказаться в ситуации не-могу-выйти. В таком случае клавишу заменяет комбинация Ctrl + [.

Подробнее о том, как обращаться с Vim в этом посте.

#vim #советы

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

Zen of Python

Пожалуй, лучший англоязычный Python-обучатор на YouTube

Кори Шефер создает обучающие видео целыми плейлистами аж с 2013 года и за это время обрел 1,1М+ подписчиков. Видео собраны в аккуратные, систематизированные плейлисты и регулярно появляются в результатах поиска, чтобы о Python вы ни спросили.

Этот замечательный курс Python для начинающих длится почти девять часов. Не обязательно выделять ресурс и просматривать все. Отдельно взятые ролики прекрасно закроют пробелы по вводным для языка темам: установка пакета, настройка IDE, базовые функции и так далее.

#обучение

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

Zen of Python

Трудно запомнить, легко застрять! Непривычные команды редактора vim, раз уж вы в него попали

Vim (Vi Improved) является мощным текстовым редактором, доступным в большинстве операционных систем, включая Linux, macOS и Windows. Помимо базовых команд (внести правку, сохранить, выйти) есть еще парочка действий с совсем уж непривычными способами вызова:

1. Удаление символов и строк: в командном режиме (который работает, пока вы не нажмете i, чтобы выполнить ввод) используйте команды x для удаления текущего символа и dd для удаления текущей строки.

2. Копирование, вырезание и вставка: в командном режиме используйте команду yy для копирования текущей строки, dd для вырезания текущей строки и p для вставки скопированного или вырезанного содержимого.

3. Поиск и замена: в командном режиме используйте команду / для поиска по тексту. Например, /search для поиска слова «search». Используйте команду :%s/old/new/g для замены всех вхождений «old» на «new» во всем файле.

4. Отмена и повтор действий: в командном режиме используйте команду u для отмены последнего действия и Ctrl + r для повтора отмененного действия.

5. Работа с несколькими файлами: чтобы открыть несколько файлов, запустите команду vim с указанием имен файлов:

vim file1.txt file2.txt

6. В командном режиме используйте команду :n для перехода к следующему файлу и :u для перехода к предыдущему файлу.

#vim

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

Zen of Python

Планируется ли ускорение Python?

Мир IT любит апгрейды производительности, и питонисты – не исключение. Уже существует множество проектов в области оптимизации Python

Например, PyPy — альтернативная реализация Python, которая существенно ускоряет выполнение кода. Однако она не всегда работает с некоторыми библиотеками или модулями Python.

На уровне языка важными улучшениями были внедрение асинхронного программирования и возможность параллельного исполнения кода с использованием модуля asyncio, а также введение модуля multiprocessing.

Еще одним направлением улучшения производительности Python является JIT (Just-in-Time) компиляция, которая может значительно увеличить скорость выполнения программ, особенно тех, которые выполняют сложные вычисления. Примером может служить проект Numba.

Однако конкретного плана по ускорению со стороны Python Software Foundation нет.

Расскажите о случаях, когда вам не хватало стандартной скорости языка в комментариях.

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

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

Zen of Python

​Конкуренты Python

Языков программирования насчитывают аж 2500 штук. И способность Python держаться в топах на фоне этого числа очень выгодно выделяет язык. Однако идеала не существует, и в некоторых разрезах этот ЯП обгоняют другие. Если вам стало интересно, с кем сравнивают Python и в чем, то вот небольшой рейтинг:

Golang хорошо подходит для больших данных. Многопоточность осуществляется через так называемые горутины (goroutines), которые потребляют намного меньше памяти, чем традиционные потоки в Python;

Mojo предоставляет очень быстрое исполнение и высокую производительность. Благодаря его асинхронности, Mojo обрабатывает большое количество запросов одновременно, не блокируя при этом выполнение программы;

Java широко используется в крупных предприятиях и веб-разработке. Обладает мощной системой типов, но более сложным синтаксисом;

C++ используется для создания высокопроизводительных приложений и игр. Он может быть быстрее, чем Python, но тогда понадобится больше времени на написание кода;

Ruby удобен для создания быстрых прототипов и веб-приложений;

JavaScript — ЯП, который часто используется для создания интерактивных веб-страниц и клиентских приложений. Также используется в мобильной разработке и становится все более популярным в машинном обучении.

А какие ещё языки сравнивают с Python? Поделитесь в комментариях.

#факты

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

Zen of Python

Вебхук-бот без затрат на VPS? Это возможно

В этом видеоуроке Jason Jurotich предлагает дешевый способ поднять своего бота, потратившись лишь на максимально простой домен. В стек входят следующие бесплатные технологии:
— aiogram (небезызвестная вам библиотека-конструктор);
— nginx (HTTP-сервер);
— Google Cloud VPC.

А какие еще бесплатные или lowcost-серверы знаете вы? Поделитесь в комментариях.

#aiogram #nginx

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

Zen of Python

Ребята из Авито запускают набор студентов на новый курс в Академии Аналитиков!

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

Прямо сейчас открыто два направления подготовки — аналитик данных и DS-инженер.

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

Старт в сентябре, а приём заявок до середины июня. Так что ныряйте за подробностями по ссылке: http://clc.to/FaUJwA

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

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

Zen of Python

Вывод строк двумя print'ами без разрыва

Это один из самых популярных запросов в поисковых системах среди новичков. Без лишних слов, вот как это делается: добавляем дополнительный аргумент end, который сообщит программе о том, что разрыв не нужен.

Вот пример:

print("Привет! ", end = '')
print("Прекрасный день.")

>>> Привет! Прекрасный день.

Помимо возможности покрасоваться на уроках Python для начинающих, это еще и возможность воссоединить абзац после обработки обратно.

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

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

Zen of Python

Вернитесь в детство и узнайте, кто вы из PYшариков!

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

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

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

Zen of Python

Статья «Python в лицах: история главных разработчиков языка программирования»

В этой статье мы расскажем о Гвидо ван Россуме, Тиме Питерсе, Бьярне Страуструпе и других разработчиках, которые повлияли на становление языка. Вы узнаете о том, какие достижения и открытия внесли эти люди в мир программирования, какие принципы и идеи были воплощены.

Если вы интересуетесь Python и хотите узнать больше об его создании и развитии, то этот материал для вас.

#история

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

Zen of Python

Что такое Zen of Python?

Это набор принципов для написания кода на языке программирования Python. Они были описаны в стихотворной форме и включены в документацию Python. Вот основы Zen of Python:

красивое лучше, чем уродливое. Он призывает к написанию кода, который является эстетически приятным и легко читаемым;
явное лучше, чем неявное. Код должен быть ясным и понятным, избегая неявных и запутанных конструкций;
простое лучше, чем сложное. Код должен быть простым, легким для понимания и поддержки;
сложное лучше, чем запутанное. Если решение сложной проблемы требует сложного кода, то это может быть оправдано, но код всё равно должен быть понятным и структурированным;
плоское лучше, чем вложенное. Использование множества вложенных блоков кода должно быть минимизировано, чтобы сделать его более понятным и легким для чтения;
разреженное лучше, чем плотное. Код должен быть разбит на отдельные части, чтобы облегчить его чтение и понимание;
читаемость имеет значение. Код должен быть написан таким образом, чтобы его можно было легко прочитать и понять другим программистам;
ошибки никогда не должны замалчиваться. Если возникают ошибки или исключения, они должны быть обработаны явно и не должны игнорироваться.

Эти правила не являются жесткими, но отклонение от них должно иметь вескую причину.

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

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

Zen of Python

В образовательном курсе «Паттерны и практики написания кода» от AvitoTech сейчас проходят Dependency Injection

В этом ролике вы узнаете про происхождение DI, а также про подходы Hollywood Principle, Inversion of Control и Service Locator. Смотрите в свободном доступе на канале AvitoTech: https://tprg.ru/OV9X

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

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

Zen of Python

Cоздаем конвертер электронных книг за 8 строк

В своей статье «Python is the Perfect Tool for any Problem» американец Уилл Коэрсен описывает свой старт в качестве Python-разработчика, и приводит пример интересного решения задачи по перегонке электронной книги в .pdf, причем всего за восемь строк кода!

А какие у вас были первые интересные программы?

#начинающим

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

Zen of Python

​​Анонс обзор книги для миддлов «Python. К вершинам мастерства» Лучано Рамальо

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

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

Статья здесь.

#книги #обучение

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

Zen of Python

Хэш-таблица: что это такое и в чем преимущество перед словарями?

Хэш-таблица, как и словарь, хранит данные в парах «ключ – значение», но с небольшими дополнениями:

1. Ключ, сгенерированный хэш-функцией, точно будет уникальным
Например, ID наподобие «5647ddf9d5e2d0f862c241e892363cd32» скорее всего не будет повторяться. Идентификаторы должны быть уникальны. Если вдруг появится полный дубликат, он просто не будет добавлен.

Такой способ хранения подходит для инвентаризации чего угодно. Например, классификатор заболеваний или список налогоплательщиков.

2. Кодирование по стандартам
Данные можно закодировать с помощью определенного шифра, чтобы обеспечить информации безопасность, а также ускорить выполнение запросов.

Получается, хэш-таблицы — это уже серьезный подход, требующий дополнительных трудозатрат. Такой вариант лучше использовать для компаний, которые особенно подвержены хакерским атакам.

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

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

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

Zen of Python

Хотите поразвлечься Python-квизами?

Хорошая подборка интерактивов есть на realpython.com:

базовые типы данных;
HTTP-запросы с requests;
напиши свою первую программу;
как исправлять ошибки;
области видимости;
— и еще около 20 тестов.

Это точно поможет освежить имеющиеся знания и получить новые.

А на каком тесте у вас появилась азартная нервная дрожь?

#начинающим #тесты

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

Zen of Python

Вокруг стало как-то много аналитиков: бизнес-аналитик, системный аналитик, дата-аналитик. Кто есть кто?

Вместе с реальным специалистом разобрали, кто такой аналитик, и какие особенности его работы встречаются в крупных компаниях: https://tprg.ru/0Czd

#карьера

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

Zen of Python

Как понять синтаксис лямбда-функций?

Этот вопрос частенько фигурирует среди запросов разработчиков любого грейда. Эта концепция немного сложнее, чем кажется на первый взгляд. Так что предлагаем вам приём для запоминания.

Символ λ отдалённо напоминает молнию, и ассоциации создаются верные: быстрое, краткое событие. Здесь более-менее понятно.

А как же быть с синтаксисом? Там часто творится нечто, что разобрать с наскока непросто. Общие правила таковы:

1. Символом x обозначайте «жертву» определённой операции, например:
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # Выбираем только четные числа
print(even_numbers) # Вывод: [2, 4]

2. Кропотливо разбирайте, что делает каждая встроенная функция или оператор. Давайте разберём насыщенный пример:
list(map(trace(lambda x: x*2), range(3)))

- range() создаст перечисление от нуля до трех;
- trace() опишет подробно, что вызвана лямбда-функция с числами от range();
- map() применит умножение на 2 к каждому элементу;
list() превратит результат в список.

На выходе мы получим:

[TRACE] Calling <lambda> with args (0,) and kwargs [TRACE] Calling <lambda> with args (1,) and kwargs {} [TRACE] Calling <lambda> with args (2,) and kwargs {} [0, 2, 4]

Таким образом, на практике у вас появится «лямбда-насмотренность», то есть способность раскладывать сложное действие на простые операции и как бы нанизывать их друг на друга.

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

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