— Какие книги считаются лучшими? На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью 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.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
>>3136709 Двачую. Я раньше на джаве писал бэкэнд. Лет 8 назад перешел на питон. Сейчас параллельно на го немного код поддерживаю. Питон очень приятный язык, особенно с тайп хинтингом и pydantic
>>3136432 (OP) Знатоки Джанго, что это за хуйня? Делаю загрузку файла через django rest. Сваггер автогенерируется через drf-spectacular. Накидал ручку, захожу в сваггер и вижу вот такую вот ебень на 1м пикриле, фастапи мне без заебов генерил форму через которую я мог нажать на кнопочку, выбрать файл с моего компа и загрузить его через multipart-formdata, тут же какая-то ебень - просит мне строку двоичную для файла вставить
Почему так? Не, я пынямаю, что могу ПРОСТО прикрутить настройки дпи или масштабирование на дефолтное поставить, но почему разработчики вообще допускают такое мыло в 2024? Это ж не васянская программа, а оффффициальный установщик
>>3137550 ПОЧЕМУ ТАК? МНЕНИЕ? В ЧЁМ НЕПРАВ? УЗНАЛИ? СОГЛАСНЫ? БАЗА ИЛИ КРИНЖ? ТВОИ ДЕЙСТВИЯ? ОПРАВДАНИЯ? А ЧЕГО ДОБИЛСЯ ТЫ? ЕБАЛО? ОТКУДА ЭТО ПОШЛО? ПРОСТО ХОЧУ РАЗОБРАТЬСЯ А У ВАС КАК ДЕЛА? СЭЙМЫ ЕСТЬ? ПРОСТО НАПОМИНАЮ У МЕНЯ ОДНОГО ТАК? КАК ФИКСИТЬ? ПОДВОДНЫЕ? ЧТО СКАЖЕТЕ? ЧТО ДУМАЕТЕ? ЧТО ДЕЛАЕТЕ? ЧТО ДЕЛАТЬ? КАК ПЕРЕСТАТЬ? ЧТО ТЫ МОЖЕШЬ ЕЙ ДАТЬ?
>>3137597 Блять как я ору когда с фриланс бирж мне приносят код со словами "чото не работает", а там как раз эксепшены с пассами и принты вместо логов, зато за 500 рублей
Аноны я как-то думал что один дома и решил немного попитонировать. Ну открыл пайчарм и начал питонировать а оказывается батя и мамка дома были, они зашли и всё увидели. Теперь из дома выгоняют. Как быть.
>>3141222 Не спеши унывать. Регистрируешься на Instagram и OnlyCode, на первом снимаешь видео и фотки как ты типа питонируешь, но не по настоящему и оставляешь ссылки на свой OnlyCode, а на самом OnlyCode уже по настоящему питонируешь и жёстко, можешь даже с кем нибудь вместе питонировать, и выкладываешь всё это по платной подписке и за разные особые денежные подарки для подписчиков. Всё, мама и папа больше не нужны, можешь уехать в теплые страны и там питонировать сколько угодно, твои донатеры тебя будут содержать
И нет, не надо мне советовать requests, он палится антибот системой. Мне нужно отсылать именно сырой реквест, чтоб иметь полный контроль над тем, что отправляю на сервер.
>>3141222 Да, тебе теперь не сладко из-за змеи паганой. Но, согласись, что сам виноват же. Нельзя пайчарм расчехлять же так просто!! Нужно как-то скрытно быть!
Пытаюсь в какие-то петпроджекты на питоне. Щас вот написал на селениуме штуку, которая заходит на сайт, логиниться, открывает ~50 вкладок и завершается, оставляя хром. Идея в том, чтобы потом уже мануально работать с этими вкладками. Код работает, но спустя какое-то время хром виснит. Причем, я всё ещё могу окно перемещать, всё ещё могу нажать на вкладку, навести на иконку хрома в таскбаре и увидеть там, что переключения сработало, но вот само изображение в окне не поменялось, показывает старую вкладку. Драйвер хрома я явно не указываю, запускаю так
>>3144134 На днях одну хуйню делал с селениумом, и ничего не зависало, можно было работать и после завершения скрипта, правда вкладка была всего одна. Может 50 вкладок слишком много для компьютера. Или где-то надо указать что для работы твоей программы надо снять ограничение на потребление оперативной памяти. В Visual Studio при работе с языком C/C++ вроде можно в свойствах проекта указать объем выделяемой памяти под heap/stack/или как это называется я не помню я не погромист.
>>3144134 Хром почти нереально заставить работать стабильно. Всегда будет какая-то хуйня происходить, то память утекать, то зомби-процессы оставлять, то ещё что-нибудь. Единственный способ с этим бороться - это либо распараллеливать на несколько компьютеров, чтобы 1 хром запускался на одном компьютере и брал из очереди rabbitmq задание. Потом как завершается задание - хром убивать. Либо тебе нужен пиздец какой сервер, гигабайт на 8 оперативки минимум. И после того как ты свои 50 вкладок откроешь, у него память утечёт, ты его убьёшь и снова перезапустишь свои 50 вкладок.
Но у меня вагон сомнений в твоём подходе. Вряд ли хром будет эффективно работать на 50 вкладках в параллели. Ему тупо мощности проца не хватит. Либо это надо арендовать сервер гиг на 32 и въёбывать минимум по 10к рублей в месяц в этот сервер. Проще сделать 10 проходов по 5 вкладок. Сначала 5 вкладок, завершаешь парсинг, потом эти закрываешь, открываешь новые 5 вкладок и так далее.
>>3145216 Я открывал по 50 вкладок вркучную и всё не слишком стабильно работало, но вот прям таких зависаний я не видел. Тут есть какая-то разница в ресурсах при открывании всего мануально и селениумом?
И ещё вопрос - может просто заменить хром на что-то менее прожорливое? Какой-нибудь хромиум-бейсд полуголый браузер без фунционала
>>3145317 >есть какая-то разница в ресурсах при открывании всего мануально и селениумом? Естественно. Ну он же автоматизирован, там будет большая нагрузка на проц. К тому же во вкладках будут одни и те же куки. То есть ты не можешь одновременно на одном и том же сайте быть залогинен под разными именами. А у многих соцсетей ещё и защита стоит, на количество запросов с одного айпи, у того же вконтакте например.
>может просто заменить хром на что-то менее прожорливое? На обычный urllib. Если тебе не джаваскрипт не нужен. Там же просто заголовки скопировать и всё. Либо если у сайта есть api, то и скрапить ничего не придётся. А так ты просто наживаешь себе лишний геморрой на жопу.
>>3145317 Ну очевидно что когда ты запускаешь хром через селениум, там к каждому процессу хрома прикреплен вебдрайвер, который занимает память. Ещё важно что в самих вкладках открывается, всё что там грузится на сайте тоже занимает память через движок хрома и потом ещё в веб драйвере. А в хроме ещё есть свои правила управления памятью. Предположим такая ситуация что памяти не хватает и хром начинает выгружать страницы и это создает какой-то конфликт с вебдрайвером и его содержимым. Но это не точно. В целом ты просто хуйню какую-то творишь с этими 50 страницами. Если нагружаешь некую систему до предела для которого она не предназначалась то надо уже как-то и вместимостью и пропускной способностью ресурсов озаботится, памятью, процессором, сетью, вот этим всем.
Короче говоря забудь про свои 50 ссылок, пересмотри подход к задаче.
Написал скрипт, хочу сделать некое консольное приложение. Нужно какой-то простенький gui или (в идеале) открывалась консоль, чтобы можно было выбирать стрелками на клавиатуре пункт меню и при нажатии enter выполнялось некое действие или выводить другое подменю с пунктами. Куда копать, что прочитать?
>>3146681 О! Я раньше любил делать такие менюшки для своих консольных программок. В простом цикле ставишь слушателя ввода (input() или getch() потому что весь прикол в том чтобы было минимум импорта или вообще только с помощью встроенных функций) и после каждого нажатия кнопки очищаешь консоль и перерисовываешь полностью содержимое. Никаких гайдов нет, просто использую print и пространственное мышление, но конечно это бесполезное и дичайшее васянство и никому такое говно не нужно. Никто так не делает. В питоне есть встроенная библиотека для GUI и ещё десяток мощных сторонних библиотек на любой вкус. Правда, конечно, освоить их сложнее чем просто в цикле через print "рисовать".
Хочу написать простенький скрипт, чтоб выгрузить архивач на хард, с последовательным форматированием данных для датасета. Задача сильно сложная для хеллоуворлдщика?
Как питонить? Как совершить акт питонирования?! Что спитонировать? Поделка под названием десктопный клиент двача в качестве тренировки питонации норм или не?! Банально, конечно, ну и хуй с ним. Мнение? Сеймы?
>>3146897 Хуле вы тут шизите то? Хде интересные пет проекты, алгоритмы на коленке, оптимизации? Нет, будем по сотому кругу шутитьб про дрочку как школота ебанная
>>3146897 >Как питонить? Задать правильный вопрос значит найти половину ответа. Ты тут уже обосрался, потому что правильный вопрос не "как", а "зачем". Зачем ты хочешь питонировать? Чтобы бросить ненавистную работу баристой и зарабатывать 300кк в наносекунду? Если да, то плохие новости, питонирование не для тебя. Чтобы питонировать у тебя должен питон стоять на питонирование, и если у тебя питон стоит, то и вопросов "что делать" не возникает, а возникают противоположные - откуда взять время чтобы все хотелки реализовать.
Двощ, что со мной не так? Значит, дана задача: Напишите программу, которая принимает на вход словарь целых чисел и выводит на экран сумму всех значений в словаре
Что я решил попробовать: пользователь вводит сам столько значений, сколько хочет. Искал в инете, но в итоге самое простое решение нашел в.. ответах маил.ру. Затем, надо всё это дело сложить. Тоже, искал-искал, сам не помню где и как, по итогу сделал это максимально просто, хотя на всех сайтах были и функции, и ретурны, и еще что-то
В итоге, вышло вот так:
my_dict = {} punkty = int(input("Введите количество элементов в словаре: ")) for i in range(punkty): key = input("Введите ключ: ") value = int(input("Введите значение: ")) my_dict[key] = value
print(my_dict)
print (sum(my_dict.values()))
Максимально коротко и просто, так ещё и работает. Собственно, что меня волнует: ну не мог я с нулевым опытом, решая практические для вуза, как-то вот так наебать систему, кучу сайтов, и прочего. Что тут не так?
>>3147687 А ну да, действительно, я и забыл какие дегенераты заплесневелые в универах задачи составляют. Только у тебя тогда ошибка. Ведь твоя программа "принимает на вход" не только целые числа, но и вообще всё что угодно. Нужна проверка что введено целое число. Ну и ключ словаря исходя из задачи не имеет значения, значит его вводит не обязательно.
Что это за пиздец? Почему VS code меня газлайтит? В коде видим: подчеркивания нет под headers. То есть что бы не определяло подсветку, оно все видит. По ctrl+click переходит в нужный файл. При запуске видим пик2. Вот какого хуя?
Анрнчики, какая лучшая библиотека для создания сервера с целью тестирования и изучения входящего и исходящего трафика на всех уровнях от http до TCP/IP?
Раз в год захожу в питонотред, каждый раз поражаюсь тому, какие же дегенераты тут сидят. Все вопросы по языку и фреймворкам игнорируются, зато по кд идет срач о том, что нет работы и питон хуевый язык. Казалось бы, дно достигнуто. Но ботоебы и скриптикиды добрались и до сюда. Пиздец... >>3136638 > Работы в разработке на питоне нет. Вот это правильно, не надо никуда вкатываться, работы нет >>3137280 Зачем ты используешь какое-то левое говно? Вот единственная либа, которую используют в проде адекватные люди. Подключается в две строчки https://drf-yasg.readthedocs.io/en/stable/ >>3144134 Нахуя ты всвякую дрисню на селениуме пишешь? Это установка на нищету?
>>3151799 Назови файл без пробелов и английскими символами. Тут дело не в питоне, а в том, что русский язык и пробелы в файлах сделаны через ебаные костыли. Так что никогда, запомни, никогда не создавай папки с пробелами. Ну и желательно называй латиницей
>>3150769 Проблема решается добавление вот этой строчки в settings.py А вообще, ебал я рот Джанги, если б не начальство, хер бы взял новый проект на ней
Так, следующий вопрос. Решил создать файл и написать в нем несколько строк. Комп уже выключил и лежу в кровати, так что скрин не пришлю. Но было там следующее:
a = "Меня зовут анон" with open ("example1.txt", "w") as file_otkr: print (file_otkr.write (f "Попытка создания файла. {a} и я пробую разные способы работы с файлом. \nА ещё, я знаю, что 24+1= {24+1} \nС виду тут нет ничего необычного, но чтобы это увидеть, надо открыть код")
>>3152488 Если что это массив флоатов. При этом на первой пикче можно видеть что часть чисел он отображает в флоат формате, часть в инте, а часть в этом ебучем научном формате.
Джангобоги, у меня с фронта пришел список айдишников, мне надо вытянуть сущности из таблицы по этим айдишникам НО ели каких-то из сущностей нет то очевидно надо выбросить ошибку. Через что это делать?
Вариант фильтрации через id__in не подходит, т.к. он просто проигнорит несуществующие айдишники
a = "Меня зовут анон" with open ("example1.txt", "w") as file_otkr: file_otkr.write (f "Попытка создания файла. {a} и я пробую разные способы работы с файлом. \nА ещё, я знаю, что 24+1= {24+1} \nС виду тут нет ничего необычного, но чтобы это увидеть, надо открыть код") При работе без f-строк всё происходит нормально. Питон не работает с файлами, если там есть форматирование? Просто.. потому что? Или же ему нужно использовать другие виды форматирования?
>>3152732 Содомит. Пока она ишачит на кухне, я, так уж и быть, могу помочь ей с учебой
>>3152084 Джанго говно, это факт. Но магические строчки в settings.py это почти даже не проблема. Вот ОРМ у штанги это говно ебаного говна >>3152488 А ты уверен, что тебе это надо? Ну выводи с помощью формата '{0:.20f}'.format(number) будет 20 знаков после запятой показывать https://docs.python.org/3/library/string.html#formatstrings >>3152735 Нахуя ты ставишь пробелы перед скобками? Нахуя ты ставишь пробел после f? Ты ебнутый?
>>3152754 И большой текст можно внутри скобок переносить вот так. Это действительно повышает читаемость, в отличии от того, чтобы в рандомных местах ебашить пробелы
Помогите пожалуйста решить три задачки! Я вообще не понимаю, только самую базу научился типо принтов и инпутов. А тут какая-то высшая математика нахуй.
1)Пользователь должен ввести 10 чисел, необходимо собрать эти числа в список, а затем создать новый список, в котором останутся только те числа, которые являются простыми (простые числа делятся только на себя и на 1)
2) Пользователь должен ввести любое количество имён, необходимо собрать их в список, а затем запросить у пользователя букву и вывести только те имена, которы начинаются с этой буквы (для ввода произвольного количества имён можно использовать стоп-слово, по вводу которого ввод прекращается) Учтите, что букву можно ввести в любом регистре.
3) Пользователь должен ввести 20 значений температуры (одно значение - один день), необходимо собрать эти значения в список. Запросить у пользователя ещё одно значение (минимальную температуру) вывести номера тех дней, в которые температура была выше этого значения (учтите, что в списке индексация начинается с 0, а нумерацию принято проводить с 1)
>>3153123 Спасибо анонче! Первое задание правда не работает всё равно. Я начал так, но дальше, чтобы число было простым, хз как вычислить и написать это в список. Можно как-то проще, чем у тебя.
Я не знаю, что гугл сделал со своим поиском, но я не могу нагуглить как создать массив объектов известной длины. Везде используются пустые списки и добавление объектов в конец используя .append, который мне не подходит.
>>3153238 Эмм, просто берешь и пишешь [1, 2, 3, ...] еще можешь через компрехеншены сделать >>3153123 Какое же говно, господи, я не верю, что так хуево можно писать >>3152965 Тут нет высшей математики и ты ничему не научишься, если будешь на каждый пук бегать в тред и просить все сделать за теюя
>>3153187 Алхимии это не помешало на вторую версию с sql-like синтаксисом переехать. А джанга застряла в нулевых вместе с ларой остался с ее охуительными запросами вида $user = User::firstOrCreate(['name' => 'John']);
Я залетный. Начал хуячить скриптец который будет дергать апишки и обрабатывать с них инфу. Вопрос в хранить обработаное на длительное время? В первую очередь это будут датафреймы pandas, тоесть табличная хуйня. Ну и там по мелочи какой-то служебной хуйни будет, типа настроек, какие датапоинты не отвечают чтобы не долбиться туда постоянно и т.п.