Zen of Python
20.1K subscribers
1.22K photos
161 videos
32 files
3.17K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
加入频道
Можно ли использовать 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
👍84💩3🤡1
Cоздаем конвертер электронных книг за 8 строк

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

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

#начинающим
🤯6👏3🤔3👍1🤡1
Сколько времени нужно, чтобы освоить Python?

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

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

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

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

#карьера
👍19😁9🤡61
​​Сравнение библиотек для создания ботов

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

Переходите по ссылке и найдите для себя оптимальный вариант.
🔥3
Какие Python-библиотеки для ботов Telegram вы считаете лучшими?
Anonymous Poll
33%
python-telegram-bot
5%
telethon
4%
telethon
13%
Другое (напишу в комментариях)
54%
Хочу посмотреть результаты
💩25😁2👍1🌭1
Что такое Zen of Python?

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

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

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

#лучшиепрактики
👍18🌭3
Статья «Python в лицах: история главных разработчиков языка программирования»

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

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

#история
👎4👍2
Сеньор притворился джуном на собеседовании

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

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

Как вы думаете, что означает такой нестандартный результат собеседования?
👍131😁1
Необычный способ вырасти от джуна до миддл-разработчика

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

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

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

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

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

#карьера
6🌭2
Вывод строк двумя print'ами без разрыва

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

Вот пример:

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

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

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

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

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

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

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

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

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

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

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

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

#aiogram #nginx
👍7
Почему бросают учить Python?

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

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

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

#обучение
👍6👎4
​Конкуренты Python

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

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

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

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

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

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

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

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

#факты
👍10🤡51
Дебаггинг с print() признан как метод еще в 1982 году

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

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

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

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

#начинающим
👍21😁41
Планируется ли ускорение Python?

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

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

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

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

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

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

#лучшиепрактики
👍1
Известная игра на Python

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

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

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

Играли в CIV?

#факты
👍297🤡1
Автоформатирование таблиц в свежей версии PyCharm

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

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

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

#pycharm
👍13💩32🔥2
Как находить схожие по смыслу фразы? С этим поможет FuzzyWuzzy

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

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

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

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

#лучшиепрактики
👍11
Шпаргалка Python.pdf
1.7 MB
Шпаргалка Python

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

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

#начинающим
21👍9