Forwarded from Точка входа в программирование
«Ядро планеты Python»: большой интерактивный учебник по Python, который дополняет сообщество
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
Учебник охватывает основные темы Python, но коротко и достаточно ёмко, чтобы раскрыть специфику, удобство, красоту и силу этого языка.
Всё с кучей примеров и небольшими дорожными картами по каждой теме, а последнее изменение — меньше недели назад: https://github.com/amaargiru/pycore
#python
👍25❤2
Статья «Карьерный путь: из 1C специалиста в тимлида разработки на Python»
Удивительная история о том, как тимлид Николай Нагорный преодолел путь от специалиста техподдержки в компании, продающей 1С, до руководителя группы разработки на Python.
Кто работал в мире 1С, знает об особенной атмосфере 1С-франчайзи: низкие зарплаты, много неупорядоченных задач и, конечно, текучка. А если к этому примешиваются пандемия, релокейт, то получается вообще «полный набор». Однако автор статьи нашел в себе упорство переучиться и исполнить мечту. Рекомендуется к прочтению в минуты неурядиц.
#карьера
Удивительная история о том, как тимлид Николай Нагорный преодолел путь от специалиста техподдержки в компании, продающей 1С, до руководителя группы разработки на Python.
Кто работал в мире 1С, знает об особенной атмосфере 1С-франчайзи: низкие зарплаты, много неупорядоченных задач и, конечно, текучка. А если к этому примешиваются пандемия, релокейт, то получается вообще «полный набор». Однако автор статьи нашел в себе упорство переучиться и исполнить мечту. Рекомендуется к прочтению в минуты неурядиц.
#карьера
❤3
Вебхук-бот без затрат на VPS? Это возможно
В этом видеоуроке Jason Jurotich предлагает дешевый способ поднять своего бота, потратившись лишь на максимально простой домен. В стек входят следующие бесплатные технологии:
— aiogram (небезызвестная вам библиотека-конструктор);
— nginx (HTTP-сервер);
— Google Cloud VPC.
А какие еще бесплатные или lowcost-серверы знаете вы? Поделитесь в комментариях.
#aiogram #nginx
В этом видеоуроке Jason Jurotich предлагает дешевый способ поднять своего бота, потратившись лишь на максимально простой домен. В стек входят следующие бесплатные технологии:
— aiogram (небезызвестная вам библиотека-конструктор);
— nginx (HTTP-сервер);
— Google Cloud VPC.
А какие еще бесплатные или lowcost-серверы знаете вы? Поделитесь в комментариях.
#aiogram #nginx
👍7
Почему бросают учить Python?
Согласно исследованию developerpitstop.com, около 40% опрошенных заявили, что бросили обучение Python до его окончания. Среди причин бросания фигурируют:
— выгорание;
— проблемы со здоровьем;
— скука;
— нет образовательной цели;
— слишком много изменений;
— одиночество.
Как вам кажется, какие ещё факторы могут играть роль и с чем сталкивались вы? Поделитесь в комментариях.
#обучение
Согласно исследованию developerpitstop.com, около 40% опрошенных заявили, что бросили обучение Python до его окончания. Среди причин бросания фигурируют:
— выгорание;
— проблемы со здоровьем;
— скука;
— нет образовательной цели;
— слишком много изменений;
— одиночество.
Как вам кажется, какие ещё факторы могут играть роль и с чем сталкивались вы? Поделитесь в комментариях.
#обучение
👍6👎4
Конкуренты Python
Языков программирования насчитывают аж 2500 штук. И способность Python держаться в топах на фоне этого числа очень выгодно выделяет язык. Однако идеала не существует, и в некоторых разрезах этот ЯП обгоняют другие. Если вам стало интересно, с кем сравнивают Python и в чем, то вот небольшой рейтинг:
— Golang хорошо подходит для больших данных. Многопоточность осуществляется через так называемые горутины (goroutines), которые потребляют намного меньше памяти, чем традиционные потоки в Python;
— Mojo предоставляет очень быстрое исполнение и высокую производительность. Благодаря его асинхронности, Mojo обрабатывает большое количество запросов одновременно, не блокируя при этом выполнение программы;
— Java широко используется в крупных предприятиях и веб-разработке. Обладает мощной системой типов, но более сложным синтаксисом;
— C++ используется для создания высокопроизводительных приложений и игр. Он может быть быстрее, чем Python, но тогда понадобится больше времени на написание кода;
— Ruby удобен для создания быстрых прототипов и веб-приложений;
— JavaScript — ЯП, который часто используется для создания интерактивных веб-страниц и клиентских приложений. Также используется в мобильной разработке и становится все более популярным в машинном обучении.
А какие ещё языки сравнивают с Python? Поделитесь в комментариях.
#факты
Языков программирования насчитывают аж 2500 штук. И способность Python держаться в топах на фоне этого числа очень выгодно выделяет язык. Однако идеала не существует, и в некоторых разрезах этот ЯП обгоняют другие. Если вам стало интересно, с кем сравнивают Python и в чем, то вот небольшой рейтинг:
— Golang хорошо подходит для больших данных. Многопоточность осуществляется через так называемые горутины (goroutines), которые потребляют намного меньше памяти, чем традиционные потоки в Python;
— Mojo предоставляет очень быстрое исполнение и высокую производительность. Благодаря его асинхронности, Mojo обрабатывает большое количество запросов одновременно, не блокируя при этом выполнение программы;
— Java широко используется в крупных предприятиях и веб-разработке. Обладает мощной системой типов, но более сложным синтаксисом;
— C++ используется для создания высокопроизводительных приложений и игр. Он может быть быстрее, чем Python, но тогда понадобится больше времени на написание кода;
— Ruby удобен для создания быстрых прототипов и веб-приложений;
— JavaScript — ЯП, который часто используется для создания интерактивных веб-страниц и клиентских приложений. Также используется в мобильной разработке и становится все более популярным в машинном обучении.
А какие ещё языки сравнивают с Python? Поделитесь в комментариях.
#факты
👍10🤡5❤1
Дебаггинг с print() признан как метод еще в 1982 году
Оказывается, у этого столь популярного «ленивого» метода поиска багов уже есть название! Термин «волчий забор» (wolf fence) впервые упомянул Эдвард Гаусс аж в 1982 году.
Представьте, что вы на Аляске и ловите одного-единственного волка. Как это сделать? Сначала постройте забор в центре Аляски длиной в штат, дождитесь, когда завоет волк. Определите, по какую сторону забора он находится. Разделите на половины часть штата, где выл волк, и ждите воя снова. Повторяйте шаги, пока не встретитесь с волком вживую.
На форумах люди также называют этот метод «бинарным поиском» (binary search) или «бисекцией» (bisection).
Какие еще необычные названия у привычных вещей в Python вы знаете? Поделитесь в комментариях.
#начинающим
Оказывается, у этого столь популярного «ленивого» метода поиска багов уже есть название! Термин «волчий забор» (wolf fence) впервые упомянул Эдвард Гаусс аж в 1982 году.
Представьте, что вы на Аляске и ловите одного-единственного волка. Как это сделать? Сначала постройте забор в центре Аляски длиной в штат, дождитесь, когда завоет волк. Определите, по какую сторону забора он находится. Разделите на половины часть штата, где выл волк, и ждите воя снова. Повторяйте шаги, пока не встретитесь с волком вживую.
На форумах люди также называют этот метод «бинарным поиском» (binary search) или «бисекцией» (bisection).
Какие еще необычные названия у привычных вещей в Python вы знаете? Поделитесь в комментариях.
#начинающим
👍21😁4❤1
Планируется ли ускорение Python?
Мир IT любит апгрейды производительности, и питонисты – не исключение. Уже существует множество проектов в области оптимизации Python
Например, PyPy — альтернативная реализация Python, которая существенно ускоряет выполнение кода. Однако она не всегда работает с некоторыми библиотеками или модулями Python.
На уровне языка важными улучшениями были внедрение асинхронного программирования и возможность параллельного исполнения кода с использованием модуля asyncio, а также введение модуля multiprocessing.
Еще одним направлением улучшения производительности Python является JIT (Just-in-Time) компиляция, которая может значительно увеличить скорость выполнения программ, особенно тех, которые выполняют сложные вычисления. Примером может служить проект Numba.
Однако конкретного плана по ускорению со стороны Python Software Foundation нет.
Расскажите о случаях, когда вам не хватало стандартной скорости языка в комментариях.
#лучшиепрактики
Мир 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?
#факты
Одной из наиболее известных игр, написанных на Python, является «Civilization IV». Эта игра разработана и издана Firaxis Games + 2K Games в 2005 году. ЯП использовался для разработки игрового движка и логики игры.
В «Civilization IV» игроку предлагается управлять различными цивилизациями, начиная с античной эпохи, и развивать их вплоть до современной эпохи, строить города, исследовать новые технологии, управлять внешними отношениями и сражаться с другими цивилизациями.
Это один из примеров того, как Python может использоваться для разработки игр: создания игрового движка и прочих инструментов.
Играли в CIV?
#факты
👍29❤7🤡1
Автоформатирование таблиц в свежей версии PyCharm
Согласно данным раздела What's New jetBrains, в обновлении PyCharm v.2023.1 стало легко «причесывать» таблицы.
Для этого вызываем меню контекстных действий (Windows – Alt + Enter, macOS – ⌥ + Enter) или жмем желтую лампочку. Затем выбираем «Переформатировать код».
А какие фичи PyCharm используете вы? Поделитесь в комментариях.
#pycharm
Согласно данным раздела What's New jetBrains, в обновлении PyCharm v.2023.1 стало легко «причесывать» таблицы.
Для этого вызываем меню контекстных действий (Windows – Alt + Enter, macOS – ⌥ + Enter) или жмем желтую лампочку. Затем выбираем «Переформатировать код».
А какие фичи PyCharm используете вы? Поделитесь в комментариях.
#pycharm
👍13💩3❤2🔥2
Как находить схожие по смыслу фразы? С этим поможет FuzzyWuzzy
Если вы сталкиваетесь с необходимостью отыскивать схожие по смыслу словосочетания, то для этого создали замечательную библиотеку fuzzywuzzy.
В своей статье Егор Егоров показывает, как выводить похожесть строк минимальным кодом:
Решение подходит и для наполнения ботов тренировочными фразами.
#лучшиепрактики
Если вы сталкиваетесь с необходимостью отыскивать схожие по смыслу словосочетания, то для этого создали замечательную библиотеку fuzzywuzzy.
В своей статье Егор Егоров показывает, как выводить похожесть строк минимальным кодом:
from fuzzywuzzy import fuzz as f
f.ratio("Строка для проверки", "Проверка строки")
>>>41
Решение подходит и для наполнения ботов тренировочными фразами.
#лучшиепрактики
👍11
Шпаргалка Python.pdf
1.7 MB
Шпаргалка Python
Как и при изучении иностранного языка, порой во время освоения ЯП хочется повесить на стену какую-нибудь подсказку. Особенно прекрасно, если и позиционные аргументы уже запомнились.
А что бы вы добавили на второй лист такой шпаргалки? Поделитесь комментариями.
#начинающим
Как и при изучении иностранного языка, порой во время освоения ЯП хочется повесить на стену какую-нибудь подсказку. Особенно прекрасно, если и позиционные аргументы уже запомнились.
А что бы вы добавили на второй лист такой шпаргалки? Поделитесь комментариями.
#начинающим
❤21👍9
Python стал на одну пятую популярнее за 2022
По статистике GitHub, использование Python выросло в 2022 году на 22,5% в сравнении с предыдущим годом. Локдаун ЯПу только помог: люди активно работали в том числе и над opensource-проектами, и за 2021 год почти удвоили число коммитов в сравнении с 2020.
Принимали ли вы участие в opensource-проектах? Расскажите в комментариях.
#карьера
По статистике GitHub, использование Python выросло в 2022 году на 22,5% в сравнении с предыдущим годом. Локдаун ЯПу только помог: люди активно работали в том числе и над opensource-проектами, и за 2021 год почти удвоили число коммитов в сравнении с 2020.
Принимали ли вы участие в opensource-проектах? Расскажите в комментариях.
#карьера
👏7👍2😭1
Django за час
Известный видеоблогер Мош Хамедани виртуозно обучает Django в этом ролике. По состоянию на июнь 2023 процедуры установки, синтаксис и подключаемые ресурсы работают также, без нужды отлаживать свой учебный проект.
Вот перечень затрагиваемых Мошем тем:
— настройка среды разработки;
— создание первого проекта;
— использование встроенного терминала в VSCode;
— создание вашего первого приложения;
— написание просмотров;
— использование шаблонов;
— отладка;
— модель данных.
Этот фреймворк прекрасно подойдет тем, кто созрел для собственного самописного сайта.
#django
Известный видеоблогер Мош Хамедани виртуозно обучает Django в этом ролике. По состоянию на июнь 2023 процедуры установки, синтаксис и подключаемые ресурсы работают также, без нужды отлаживать свой учебный проект.
Вот перечень затрагиваемых Мошем тем:
— настройка среды разработки;
— создание первого проекта;
— использование встроенного терминала в VSCode;
— создание вашего первого приложения;
— написание просмотров;
— использование шаблонов;
— отладка;
— модель данных.
Этот фреймворк прекрасно подойдет тем, кто созрел для собственного самописного сайта.
#django
💩9👍3
Как превратить скрипт.py в программу.exe
У любого студента рано или поздно появляется желание похвастать своей рабочей программой перед близкими, которые используют компьютеры, но не программируют. Для этой цели мы создали статью о процессе перегонки питонического кода в .exe.
#начинающим
У любого студента рано или поздно появляется желание похвастать своей рабочей программой перед близкими, которые используют компьютеры, но не программируют. Для этой цели мы создали статью о процессе перегонки питонического кода в .exe.
#начинающим
👍7🤡3
F-строки для именования переменных
В Python можно использовать интерполяцию строк (string interpolation), чтобы именовать переменные. Вот примеры:
Вот несколько способов "загнать" variable в имя файла.txt:
Этот трюк поможет при обработке объектов разной длины.
#лучшиепрактики
В 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}'
Этот трюк поможет при обработке объектов разной длины.
#лучшиепрактики
💩19👍14❤1👎1
Как скрыть предупреждения
Вы можете использовать модуль warnings и установить соответствующие параметры. Вот несколько способов скрыть предупреждения в Python:
В этом примере предупреждения определенной категории, такой как DeprecationWarning (предупреждение об устаревании), будут игнорироваться.
Этот код запрещает выводить предупреждения, но сохраняет их во внутреннем буфере, который можно проверить позже, если требуется.
А вы «гасите» предупреждения? Поделитесь в комментариях.
#начинающим
Вы можете использовать модуль warnings и установить соответствующие параметры. Вот несколько способов скрыть предупреждения в Python:
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
В этом примере предупреждения определенной категории, такой как DeprecationWarning (предупреждение об устаревании), будут игнорироваться.
Этот код запрещает выводить предупреждения, но сохраняет их во внутреннем буфере, который можно проверить позже, если требуется.
А вы «гасите» предупреждения? Поделитесь в комментариях.
#начинающим
😁22👍2❤1
20 разработчиков Python, на которых стоит подписаться
Для любителей Twitter мы собрали каналы самых влиятельных питонистов мира сего. Среди них, конечно же, и создатель Гвидо ван Россум, и авторы популярных фреймворков вроде Django, и даже пара русскоговорящих.
Кого еще вы бы добавили в этот список? Поделитесь в комментариях.
#факты
Для любителей Twitter мы собрали каналы самых влиятельных питонистов мира сего. Среди них, конечно же, и создатель Гвидо ван Россум, и авторы популярных фреймворков вроде Django, и даже пара русскоговорящих.
Кого еще вы бы добавили в этот список? Поделитесь в комментариях.
#факты
💩7👍5
iPad-приложение для изучающих Python в стиле Swift Playgrounds
Владельцы яблочных планшетов наверняка помнят прекрасное приложение Swift Playgrounds, в стильной игровой манере обучающее основам языка.
Для Python выпустили нечто подобное — Tinkerstellar. Хотя создатель Alex Staravoitau и не стал вклинивать изометрические мини-игры, все же качество UI приятно удивляет.
А какие геймифицированные приложения для изучения Python вы знаете?
Владельцы яблочных планшетов наверняка помнят прекрасное приложение Swift Playgrounds, в стильной игровой манере обучающее основам языка.
Для Python выпустили нечто подобное — Tinkerstellar. Хотя создатель Alex Staravoitau и не стал вклинивать изометрические мини-игры, все же качество UI приятно удивляет.
А какие геймифицированные приложения для изучения Python вы знаете?
👍7
Типы ошибок
В программировании на языке Python можно столкнуться с различными типами ошибок, которые могут возникать в процессе выполнения программы. Вот некоторые из наиболее распространенных:
— синтаксические ошибки (SyntaxError) возникают, когда нарушены правила языка. Например, пропущенная скобка;
— ошибки времени выполнения (Runtime Errors) возникают во время выполнения программы и могут быть вызваны различными факторами, такими как деление на ноль (ZeroDivisionError), обращение к несуществующему элементу списка (IndexError) или вызов неопределенной переменной (NameError);
— исключения (Exceptions) используются для обработки в том числе необычных ситуаций. Некоторые из распространенных исключений в Python включают ValueError, TypeError, FileNotFoundError и др.;
— ошибки импорта (Import Errors) возникают при проблемах с импортом модулей. Например, неверное имя модуля;
— ошибки атрибутов (Attribute Errors) возникают, когда пытаемся обратиться к атрибуту объекта, который не существует;
— ошибки деления (Division Errors) возникают, когда происходит деление на ноль (ZeroDivisionError) или применяется неправильный оператор деления;
Вы и так наверняка часто встречаетесь с этими сущностями, так что в сотый раз рекомендовать надстраивать обработчики ошибок не будем. Наша задача — дать новичкам освоиться с ошибками, почувствовать уверенность в обращении с ними. В определённый момент вы придете к чувству, что это скорее помощники.
#начинающим
В программировании на языке Python можно столкнуться с различными типами ошибок, которые могут возникать в процессе выполнения программы. Вот некоторые из наиболее распространенных:
— синтаксические ошибки (SyntaxError) возникают, когда нарушены правила языка. Например, пропущенная скобка;
— ошибки времени выполнения (Runtime Errors) возникают во время выполнения программы и могут быть вызваны различными факторами, такими как деление на ноль (ZeroDivisionError), обращение к несуществующему элементу списка (IndexError) или вызов неопределенной переменной (NameError);
— исключения (Exceptions) используются для обработки в том числе необычных ситуаций. Некоторые из распространенных исключений в Python включают ValueError, TypeError, FileNotFoundError и др.;
— ошибки импорта (Import Errors) возникают при проблемах с импортом модулей. Например, неверное имя модуля;
— ошибки атрибутов (Attribute Errors) возникают, когда пытаемся обратиться к атрибуту объекта, который не существует;
— ошибки деления (Division Errors) возникают, когда происходит деление на ноль (ZeroDivisionError) или применяется неправильный оператор деления;
Вы и так наверняка часто встречаетесь с этими сущностями, так что в сотый раз рекомендовать надстраивать обработчики ошибок не будем. Наша задача — дать новичкам освоиться с ошибками, почувствовать уверенность в обращении с ними. В определённый момент вы придете к чувству, что это скорее помощники.
#начинающим
👍12❤2