— Какие книги считаются лучшими? На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать? У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых? Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: https://www.composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пин##сии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
>>3652729 Начинают те, кто больше ничего не знает. Также как 10 лет назад всё на жопаскрипте делали и копротивлялись "зато мне больше учить ничего не надо". Плюс ллм для того же быдла на петухоне охотней накидает код по сравнению с другими языками.
>>3652792 Что такое "мелкий" проект? Для скриптов можно взять любой другой язык, который делает нужную задачу лучше. Нужно работать с текстом - бери awk или даже перл. Нужно вертеть данные и рисовать графики - бери R с ggplot. Нахуй этот принцип "один язык для всего" не нужен.
>>3652729 Сейчас питон более оправданный выбор, чем несколько лет назад. Минусов не прибавилось, конкуренты не прибавились, а питон очень удобен для интеграции с разными АПИ, в том числе с ЛЛМ-АПИ
Соответственно надо смотреть о чём примерно проект и уже под это принимать решение
> мелкоскриптов как раз лучше go Го лучше для дистрибьюции, это точно, но на нём намного сложнее разрабатывать что-то, что будет коммуницировать с системой, где много обработки жсонов и прочей хрени.
То есть выбор между го и питоном можно и нужно делать, у каждой платформы свои серьёзные плюсы и минусы, тут под проект и под компетенции разработчиков уже
>>3652917 >> Дистрибьюция - слабое место. >Ы? Заебёшься собирать это говно. Как скомпилировать? Где хранить пакеты эти блядские? Интернет отъебнул - и приехали. Релиз, опять же, весит как жопа твоей мамки.
>>3652865 >Ёбнутый? Нет. >Такие как ты уебки будут еще на питон пиздеть? Да. Я-то на всём этом писал, в отличие от залётных сосачеров. Поэтому могу спокойно сравнить.
>>3652972 С чего тебе припекло? Петухон - объективно старый язык без нормального тулинга. Растоблядкам аж uv пришлось делать, потому что никто другой не осилил.
>>3652979 В нормальных языках ты просто закидываешь статически слинкованный экзешник и всё, он просто работает. Не надо ставить ни интерпретаторы, ни виртуальные машинки.
>>3652981 Вариантов немного, куда вообще пихают питон. Запустить репозиторий а) локально б) на продакшне В эмбед его не пихают. Локально я собираю свои поделки в единый бинарь с помощью pyinstaller. На продакш выкатываю в докер-образе, энтрипоинт - uvicorn. В обоих случаях не устраивает скорость компиляции, размер релиза. Когда пробую переписать на Go - оказывается что всё работает быстрее, предсказуемее, и сам процесс написания/понимания программы не сложнее чем на питоне.
>>3652988 Он вполне живой, жава тоже старая, дальше что? Что тебе не нравится?
>>3652992 В жаве тоже нужна вм. Если тебе нужен нативный код это твои проблемы.
>>3652993 Шо ты там конпелируешь? Или конпеляция для тебя это сборка экзешника? Ты можешь внятно блядь описать как и для чего ты используешь питон и что тебя не устраивает, хуле я с вас все клещами тяну?
Если для тебя питон слишком медленный, то... пиши на чем хочешь. Для многих вещей его хватает.
>>3652993 Предстоит новый микросервис. Рассматриваю либо python 3.14 (GIL-free), обмазавшись mypy и типизацией по самые гланды, иначе никак, либо Go либо Elixir. Для чего ещё можно взять Python? Для интеграционных тестов. В продакшн он не пойдёт.
>>3652999 >конпеляция для тебя это сборка экзешника? Конь пиляция. Да, сборка экзешника, который не требует установки дополнительных библиотек в систему. Ну типа я тебе дал один файл, ты запустил, заработало.
>>3653023 >обычная установка Обычная установка чего? Моей произвольной питон-программы? Я же пишу - компилирую с помощью pyinstall. Развей мысль, я не понимаю.
>>3653028 Обычная установка для питона - это питон + virtualenv зависимости+ папка с программой. Если не в курсе. Ну мало ли. Пришел в питон тред и не знаешь как софт на питоне ставится.
>>3653027 Мне похую новый язык или старый. Питон актуальный. Пердл - это музейная ебань. Довелось на нем писать.
>>3653031 >Мне похую новый язык или старый Оно и видно. Один копролит не говно, потому что он популярный, зато другой говно, потому что гайдиков на нём нет. Проходили это уже. И похуй, что тот же авк значительно быстрее петухона с текстом работает, неосиляторы будут находить причины его избегать с нелепыми отмазками вроде "ряя он же старый".
>>3653031 >питон + virtualenv зависимости+ папка с программой с установкой питона и зависимостей ДЛЯ РАЗРАБОТКИ вопросов нет. uv/mise/pyenv, затем venv, это знают даже дети. Вопросы к дистрибьюции. Ты ж хоть читай что тебе пишут.
>Пришел в питон тред и не знаешь как софт на питоне ставится. да ты, я вижу, не понимаешь области проблем, свою подсовываешь.
> да ты, я вижу, не понимаешь области проблем, свою подсовываешь. Схуя я должен понимать твою проблему если ты ее даже не можешь внятно объяснить?
>>3653035 Каких гайдиков, перл - говнише ебаное. С каким текстом тебе там надо работать и какое это отношение имеет к программированию вообще? > неосиляторы А нахуя мне осиливать что-то если есть питон? Тебе надо, ты и асиливай.
>>3653075 Как ты на этом говне сидишь? Как пишется класс и создается объект? Что за магия 1; в конце модуля? Слабая типизация - говнище по определению.
>>3653089 >Что ты на нем пишешь? Препроцессинг текста для НЛП, да и как скриптоязык общего пользования, не буду же я тормознутый и неудобный Питухон пользовать >Как пишется класс и создается объект? Гугли, Object->new >Что за магия 1; в конце модуля? Показатель, что модуль загрузился, давно необязателен.
>>3653074 >На вопрос ответишь? На какой? Про обработку текста? Ты серьёзно не понимаешь, где используется текст в программировании? Есть куча текстовых файлов, надо в них искать подстроки и потом их доставать периодически. авк с этим справляется очень быстро. Если правила сложные, то берёшь перл и в нём накидываешь скрипт на 10 строк.
>>3653042 >На продакте так же ставишь. Проблемы? Нахуй мне на продакте питон или другие интерпретаторы? Завтра понадобится переехать - мне на новой машине заново настраивать питон и библиотеки? Как зависимости ставить? Пипом подтягивать? А если это сервер в закрытом сегменте сети? А вот я работаю с десятком разных языков, и питона у меня версий штук пять - мне все эти языки и версии тоже устанавливать? А чем? Менеджером версий? А если в нём уязвимость/троян/эксплоит? В общем, малыш, иди локалхост админь.
>>3653099 >Когда питон уже взлетел он еще был обязателен. Они почти ровесники, чет долго твой Питон взлетал и если бы не МЛ то и не взлетел бы. А так для МЛ я собственно и вкатился в Питон, больше в нем смысла не вижу.
>>3653099 >Логи парсишь? Нет, это не логи. Чеки, платёжки, договора и всякая стандартная хуета. >К разработке, сука, это какое имеет отношение? Самое прямое? Ты забираешь данные из нужных доков, чтобы дальше с ними работать.
>>3653110 > Нет, это не логи. Чеки, платёжки, договора и всякая стандартная хуета. А нахуя их парсить? Не самая типичная задача. В общем, всем похуй на тебя.
>>3653115 >А нахуя их парсить? Потому что в них лежат нужные данные, что за ебанутый вопрос? >Не самая типичная задача У тебя полвеба пересылают данные текстом. Совсем нетипичная, агась... >В общем, всем похуй на тебя Ага, так похуй, что уже целый день извиваешься в треде своим "нинужно".
Я не погромист, но питон стал чуть ли не основным инструментом на работе.
Дернуть ручку, получить жсон, распарсить и положить в бд, повторить по списку. Библиотеки почти под всё. Кафки, редисы, всяческие бд. Ассинхронный питон по сути упирается в мощности других сервисов.
Скрипты для деплоя на питоне пишу. Да и вообще мелкую автоматизацию всю. Сейчас на любой линуксовой машине питон из коробки. На крайний случай докер.
Вот понадобилось еще девочкам с техпода несколько скриптов передать. Ну не будут же они .py файлы запускать. Да и компиляция в экзешник муторно, постоянно новую версию рассылать. Запилил сервис на стримлите. Вебморда на питоне, не надо отдельно с фронтом ебаться. Идеально для внутреннего сервиса.
Занялся еще ллмкой, тоже по работе. Бекенд на фастапи вообще как по маслу прогоняет через себя кучу событий с кафки, перегоняет жсоны, вектора для рага, и стримит тексты с ллм.
В общем швейцарский нож для не программиста. Может этот ваш awk и быстрее в работе с текстовыми файлами, но я рот ебал тратить еще больше времени на эту нишевую шнягу. Учитывая что задачи редко бывают узкоспециализированны, а как правило надо одновременно кучу всего.
>>3653128 >Как так получилось что у тебя данные в тексте а не в базе? Вот так получилось. Работаю с тем, что есть. Тебя это ебать не должно. >твой кейс настолько списифисеский Ты просил пример, я тебе его привёл. Теперь начались виляния. Тебе уже даже другой кейс привели, где с текстом надо работать, ещё более очевидный, но у тебя всё "врёти, не бывает такого в программирование, иж чо удумали, с текстом работатьо, нинужно нинужно нинужно".
>>3653129 >Может этот ваш awk и быстрее в работе с текстовыми файлами, но я рот ебал тратить еще больше времени на эту нишевую шнягу С ллм проблем не должно возникнуть с этим. Сейчас вообще упарываться в один язык для всего - это шиза, когда тебе ллм на любом языке быстро набросает код. Можно под каждый кейс делать свой скрипт на том языке, который лучше задачу решают. И не копротивляться за один петухон. Но нет, мы в 2026ом будем петь то же, что и 5-10 лет назад.
>>3653141 > Можно под каждый кейс делать свой скрипт на том языке, который лучше задачу решают. Ну охуеть. Типа на го опросить апи и собрать файлы, на этом awk их обработать, на ссях модуль работы с кафкой. В бд залить каким нибудь шарпом. И оркестратор этому всему нужен, наверное на джабе?
Охуенный стек для скриптовых операций. Чтобы самому подрочится с оркестрацией и потом какой нибудь саппорт охуел при необходимости поправить кусок логики.
>>3653159 >Чтобы самому подрочится с оркестрацией и потом какой нибудь саппорт охуел при необходимости поправить кусок логики Тут вся доска орёт про замену живых людей ллм, вот пусть ллм и расхлёбывает это всё, раз всех заменили.
>>3653210 Ты случайный человек. Ты ничего не знаешь ни про виртуальные окружения, ни про докеры, ни про возможности использовать свой собственный репозиторий для pip и возможности брать пакеты из локального каталога (хз, как можно не знать о таких возможностях), чтобы не качать пакеты из интернета, ни много чего ещё. Уходи отсюда, не хочу с тобой разговаривать.
>>3653249 >Ты ничего не знаешь ни про виртуальные окружения, ни про докеры, ни про возможности использовать свой собственный репозиторий для pip и возможности брать пакеты из локального каталога С таким апломбом вещает об очевидном тот, кто вчера сам для себя это открыл. Дай угадаю, года три как вкатился?
Я ничего не пишу про докер, собственный пип и много чего ещё потому что это очевидные вещи. А разговор этот про то, что я вскользь упомянул что эти очевидные вещи имеют очевидные же минусы. Ну там время сборки, размер релиза, зависимости плывут иногда. Ты ж с ними сталкивался, да, малышок?
Вот прям щас взял проект из 2024, проект на poetry, два года назад собирался, сейчас не собирается. С Go такого не бывает. Про uv тут писали выше - astral пришлось пилить свой менеджер версий питона чтобы с ним хоть как-то можно было работать.
Вопросы неслучайному человеку: как можно пользоваться всеми этими виртуальными окружениями, собственными репозиториями для pip, поддерживать докер-конфиги и чтобы при этом не тошнило?
>>3653140 > Вот так получилось. Работаю с тем, что есть. Тебя это ебать не должно. Так это ты гнида хуеротая пытаешься меня убедить что твой кейс имеет какое-то значение. Пока больше похоже на какой-то проеб.
>>3653280 >пытаешься меня убедить что твой кейс имеет какое-то значение Ты дурачок попросил пример, я тебе его привёл. То, что ты не понимаешь, зачем в программировании нужно обрабатывать текст, не значит, что "ряя это всё специфическое". С такими копротивлениями подозреваю, что код ты не пишешь, иначе бы такие вопросы не задавал.
>>3653300 Это задача очень нетипичная для разработчика, а не админа. И подозреваю что эти проблемки вы сами себе и создали. Твои проблемки никого не ебут.
Это тебя скорость не устраивала? Сколько тысяч платежек за раз обрабатываешь?
>>3653096 >Есть куча текстовых файлов, надо в них искать подстроки и потом их доставать периодически. авк с этим справляется очень быстро. Авк тащить в питон проект конечно пиздец. Многопоточно хоть парсишь это говно? Автотесты есть?
>>3653308 взаимодействие с JSON API, например разные ИИ апи, на питоне делать намного удобнее, чем на го. Это факт. В теории, конечно, можно на чём угодно сделать, хоть на ассемблере
>>3653318 Например ты пишешь набор мелкосервисов на языке X, а интеграционные тесты на Y, и тогда - ты понимаешь что это не юнит-тесты - интеракта между тестами и приложением нет никакого потому что интеракт между Y и X затруднён - тебе проще писать features потому что язык Y этому способствует. Впоследствии ты можешь переписать часть мелкосервисов с X на Z, а тесты не трогать, как Фаулер завещал.
Технологически, принципиальные плюсы питона относительно большинства других языков: 1. очень гибкие механизмы передачи параметров в функции, параметры передаваемые по имени, разыменование списков-словарей и т.п. Это редкая фича и крайне полезная 2. генераторы списков и словарей в виде выражений, что позволяют реализовывать многие вещи очень красиво и лаконично 3. контекстные менеджеры with
Есть масса других фишек, но они в целом проникли в другие языки тоже
Условные плюсы, что-то есть на других платформах: 1. очень хорошая стандартная библиотека, в которой есть всё для базовых задач, не нужно зоопарка, не нужно подключать модули сторонних источников. Хорошая базовая система типов, развитые словари, множества. 2. удобная работа со строками и файлами 3. удобная система работы с исключениями 4. хорошая поддержка async/await в плане логики, правда не очень быстрая 5. хорошая документация
Принципиальные минусы: 1. Видимость переменных вся функция, нет переменных уровня блока, тела цикла и т.п., что стандарт для большинства современных языков. В питоне это не решаемо, вшито в основание можно сказать. 2. Безопасность: из любого участка кода можно получить доступ к любому другому участку, переназдачить методы любых библиотек, получить доступ к любым внутренним данным любых классов и т.п., что ограничивает применение 3. Производительность, базовые типы это тоже тяжёлые объекты, простейшие циклы и простейшие операции работают долго из-за этого, просадка может в десятки-сотри раз быть
>>3653330 >В иде ты можешь переименовать метод и все будет работать. Как оно будет в твоем случае
У тебя есть микросервисы А и Б и тесты Т. Микросервисы написаны на разных языках и общаются через допустим очередь. Ты открываешь их вообще в разных IDE. Что ты там собрался переименовывать? Внутри проекта рефакторинг работает как обычно. Тесты - это просто третий, оркестрирующий проект, и он внутрь других двух не лезет. Интеграционные тесты - это про запуск, остановку, REST, хуест, очереди, хуёчереди, как это вся плеяда работает вкупе в соответствии с пользовательскими сценариями.
>>3653335 >>3653336 До упорядочивания словаря порядок был разный при каждом запуске. Из-за этого жсоны сравнивать было гиморно. Для сета мне тоже захотелось порядок, не помню уже почему. Хуле туда его не завезли, если сет основан на словаре?
>>3653355 Сеты не стали делать упорядоченными для сохранения быстрого доступа за O(1) олерации a in b dict пропатчили в угоду LRU кэшу, который на них делают
>>3653392 Нет, мань, не щёлкает. О(1) - это бест аппроач. Во-первых, бест. Во-вторых, аппроач. Как вообще понимать это "о большое"? "Допустим у нас сет из 1000 элементов и лучшее время доступа к элементам t(1000). Если мы будем увеличивать размер сета (в 10, 100, 1000) раз - какова будет прогрессия по времени?" И оказывается что прогрессия линейная. То есть, если t(1000) = 1нс t(10000) = 10нс t(100000) = 100 нс ит.д. В реальности же у тебя может быть у одной структуры t(1000) = 1нс, а у другой t(1000) = 55нс, хотя обе О(1)
>>3653400 Ворст аппроач с учётом коллизий для сетов и хэшмап - O(n) Реальность где-то посередине. Но нужно понимать внутреннее устройство хранения данных. Дьявол в деталях.
>>3653400 И тут ты с пруфами что в сете производительность важнее чем в диктах (на которых работает весь питон, кстати). Я рад что ты открыл для себя множитель.
>>3653494 Я уже писал в начале треда, что на нём вертеть данными гораздо лучше петухона с его ебанутым пандасом, который до сих пор выкинуть не могут. Так что он не только ради дёрганья апи изучается, это просто приятный бонус.
>>3653506 Основы - может и нет. А я вот с помощью чата гпт написал шкрипт переименования файлов, которых мне не убил файлы которые было неоткуда перекачать только потому что я его постестировал на копиях.
сап аноны, насколько нынче реально найти ворк питон бэкэнд джуном ну и скок времени потребуется для освоения? бросил уник, работал эникейщиком, в линуксе подшарен, простые-средние скрипты на баше и питоне пишу для себя, в девопс и сисадминство понял что не хочу, pure programming по душе. насколько сильно ебут при отборе? если я приду на онлайн собес в солнечных очках и медицинской маске меня нахуй пошлют?
>простые-средние скрипты на баше и питоне пишу для себя За это не платят. Ну максимум 300 рублей на фрилансе заработаешь, конкурируя с тысячей школьников. Только если админом каким-то работать.
Есть тут кто вкатывался в дата аналитики и в частности прорешивал 30 days of pandas? Расскажите ваш экспириенс по подготовке и прохождению собесов.
Я нихуя этот пандас не могу сам решить. Просто гуглю и спрашиваю нейросети. В каждом задании какой-то новый метод или новая синтаксическая залупа. Я что всю эту информацию должен каким-то предзагрузить себе в мозг перед решением?
Перед собесом похоже надо будет тупа выучить наизусть решение каждой задачи. Ибо на собесе я не вспомню и не воспроизведу без гугла всё это говно.
>>3655409 Прочитай 5 книг по Pandas, например, эти:
Wes McKinney - Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter Daniel Y. Chen - Pandas for Everyone: Python Data Analysis Boris Paskhaver - Pandas in Action Reuven Lerner - Pandas Workout: 200 exercises to make you a stronger data analyst William Ayd, Matthew Harrison - Pandas Cookbook
>>3655409 >30 days of pandas Дай нейросети список задач и попроси составить к каждой задачи небольшой план изучения сабжей, требуемых для решегния задачи. Изучаешь перед каждой задачей сабжи и решаешь задачи.
>>3655442 Полагаю, читать с нуля по учебники это дочтаточно хуёвая идея. Информации много, как применять на практике не понимаешь, начинается мешанина в голове, от которой практическая польза околонулевая. Учебники лучше читать когда ты уже попрактиковался, побился над заданиями, позагуглил инфу. Тогда в голове появляются кое-какие паттерны решений. И в этот момент ты читаешь учебник и видишь знакомые фишки и лучше понимаешь как лни работают, ловишь инсайты, так чказать.