Сохранен 604
https://2ch.hk/pr/res/2568047.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Питонотред № 153 /python/

 Гвидо 09/01/23 Пнд 18:41:10 #1 №2568047 
image.png
Предыдущий: >>2546424 (OP)

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 09/01/23 Пнд 19:01:33 #2 №2568059 
16626519276020.png
Браузерки на Питоне! Видали?
https://pygame-web.github.io

Страницу проекта не читаем, дурак писал, смотрим сразу Игры:

Великолепный сай-фай шутер: https://tank-king.itch.io/bug-invaders
Вампайр сувайворс с собакой: https://legentil42.itch.io/doggo-ascent
Космический сурвайвол хоррор: https://tonikgames.itch.io/necrostation

Прочие шедевры:
https://itch.io/c/2563651/pygame-wasm
https://itch.io/games/tag-pygbag

Выкатывайтесь из Джанги своей, вкатывайтесь в браузерный геймдев на Питоне!
Аноним 09/01/23 Пнд 21:41:39 #3 №2568274 
Здравствуйте, может кто-то с этим помочь? Дана последовательность символов латинского алфавита и пробелов. Группу символов, разделенную с одной или обеих сторон пробелами и не содержащую внутри себя пробелов, назовем словом. Поменять порядокследования букв на обратный в тех словах, которые начинаются с заданного символа. Подсчитать количество таких слов
import string
stroka = input('Введите строку: ')
count = 0
symbol = input('Введите символ: ')
razdel = stroka.split()
mytable = string
for i in range(len(razdel)):
for s in range(len(razdel)):
if(stroka==symbol):
count+=1
mytable="".join(razdel)
break
else:
mytable = "".join(razdel)
print(mytable, count)
Аноним 09/01/23 Пнд 21:42:55 #4 №2568276 
image.png
image.png
Я придумал самую лучшую либу для локализации.
Аноним 09/01/23 Пнд 22:04:48 #5 №2568298 
>>2568274
https://ideone.com/NHt5bu
Задачка простейшая же, чо там помогать? Давай сам думай.
Аноним 09/01/23 Пнд 22:05:25 #6 №2568300 
>>2568276

а зачем ты таблицу стрингов подчеркиванием назвал?
обычно этим геттер стрингов из этой таблицы называют: _("я люблю облизывать яйца")
Аноним 09/01/23 Пнд 22:07:49 #7 №2568302 
>>2568276
На каждый пук всё это дёргается? Инициализируй тогда уже объект один раз, ну и можно все эти локализации отдельными классами.
Алсо, зачем _? Его в любой момент можно похерить, это для нинужных переменных.
Аноним 09/01/23 Пнд 22:28:45 #8 №2568337 
>>2568298
правда не понимаю в чем проблема, счетчик выдает правильно 2 для "мама мыла раму"
ответ "раму 2"
import string
stroka = input('Введите строку: ')
count = 0
symbol = input('Введите символ: ')
razdel = stroka.split()
mytable = string
for i in range(len(razdel)):
for s in range(len(razdel)):
if(razdel==symbol):
mytable = " ".join(razdel[::-1])
count+=1
break
else:
mytable = " ".join(razdel)
break
print(mytable, count)
Аноним 09/01/23 Пнд 22:35:56 #9 №2568350 
>>2568337
Задача подразумевает списки, подразумевает знание, что есть индексакция строк, ты же занимаешься какой-то хуитой. Думой.
Аноним 09/01/23 Пнд 22:37:07 #10 №2568355 
>>2568300
>>2568302
Либа на первом скрине, пример использования на втором.
Аноним 09/01/23 Пнд 22:37:10 #11 №2568357 
Screenshot64.jpg
Вот интересное задание, но я уже её решил, хотя тут возвращать лямбда функцию нужно, что бы кратко было
Аноним 09/01/23 Пнд 22:38:50 #12 №2568365 
>>2568350
так сплитом создал массив razdel
Аноним 09/01/23 Пнд 22:40:31 #13 №2568369 
>>2568357
>я уже её решил

re.sub-ом, как бог языков программирования?
Аноним 09/01/23 Пнд 22:42:54 #14 №2568373 
>>2568369
А зачем он тут и как его применять то.
Аноним 09/01/23 Пнд 23:02:25 #15 №2568405 
>>2568355
заебись либа, в 100 раз лучше геттекста
Аноним 09/01/23 Пнд 23:16:23 #16 №2568426 
>>2568369
Хотел четенько решить ресубом, но чет нет подходящих хуков для разрешения имен или фатальных эксепшенов, хмм. Разве что в байткод лезть.
Аноним 09/01/23 Пнд 23:39:05 #17 №2568460 
>>2568405
Я охуел с того, какое это говно, и даже альтернатив не нашел.
Аноним 09/01/23 Пнд 23:39:12 #18 №2568461 
>>2568405
Я охуел с того, какое это говно, и даже альтернатив не нашел.
Аноним 10/01/23 Втр 01:23:42 #19 №2568519 
Короче нубский вопрос по автодокуметации.
Как работают три кавычки?
Где и когда их ставить?
Пишу на пичарме но не понять ничего.
Есть какая-то комбинация клавиш для вставки шаблона автодока?
Аноним 10/01/23 Втр 01:37:28 #20 №2568525 
>>2568519
Три даблквоты, ентер и будет автофиниш докстринга по пеп. Если нет, то ctrl alt s и ищи docstring.
Аноним 10/01/23 Втр 01:44:47 #21 №2568528 
>>2568276
return _[lang][text] if (lang in _ and text in [lang]) else text
Аноним 10/01/23 Втр 03:16:53 #22 №2568558 
>>2568525
У меня по Ctrl alt S вылазит окно настроек.
Аноним 10/01/23 Втр 04:15:24 #23 №2568566 
>>2568558
Поиск в меню настроек для хоткей.
Аноним 10/01/23 Втр 10:56:04 #24 №2568675 
>>2568528
Так только пидоры пишут.
Аноним 10/01/23 Втр 11:47:31 #25 №2568725 
>>2568675
не любишь тернарники?
Аноним 10/01/23 Втр 11:55:05 #26 №2568731 
>>2568276
Оно должно быть чувствительно к регистру или нет?
Локализация наоборот (из руснявого в инглиш) предусмотрена?
Если я пропустил дефис например то все - не прокатит?
Почему нет поддержки регулярок?
Аноним 10/01/23 Втр 11:55:47 #27 №2568733 
>>2568725
Эту хуйню хер поймешь с ходу
мимо
Аноним 10/01/23 Втр 11:58:21 #28 №2568735 
>>2568059
>Великолепный сай-фай шутер: https://tank-king.itch.io/bug-invaders
>управление стрелками
>стрелка вниз скроллит страницу вниз
Охуенно, братан, контент в кайф.
Аноним 10/01/23 Втр 12:20:40 #29 №2568762 
image.png
image.png
image.png
>>2568274
The end is nigh
Аноним 10/01/23 Втр 12:26:41 #30 №2568776 
>>2568762
Эта штука имеет все шансы убит гугл по мере развития, а на кодерство похуй, это всё равно 95% времени хуйня а не профессия.
Аноним 10/01/23 Втр 13:23:11 #31 №2568877 
image.png
image.png
>>2568047 (OP)
Братцы, помогите настроить vscode, я заебался.
Как убрать лишний мусор из подсказок ctrl+space (IntelliSense) в VsCode?
Пик 1 - vscode
Пик 2 - pycharm
Аноним 10/01/23 Втр 13:41:25 #32 №2568919 
16669630725140.jpg
>>2568735
Хз, в лисе всё пашет. Там фулскрин есть для хромогеев.
Аноним 10/01/23 Втр 13:46:14 #33 №2568932 
>>2568731

ты не совсем понимаешь, как работает локализация. это не переводчик тудема-сюдема, у тебя всегда есть фраза на нативном языке (в случае анона это русский), для которой ты ищешь перевод в таблице

любые регистры, дефисы и прочее приведут к ошибке, и это правильно

куда регулярки пихнуть собрался? некуда
Аноним 10/01/23 Втр 15:04:27 #34 №2569025 
IMG20230110145749041.png
IMG20230110145749130.png
Народ, всем привет, ай нид хелп.
Нужно заполнить данными(отсутствующие значения) таблицу, как во второй, пробег и пробел остаточный. Python pandas
Пробег должен == 0, Пробег остаточный == 160000
Как это сделать, идей вообще нет
Аноним 10/01/23 Втр 16:31:46 #35 №2569173 
>>2568047 (OP)
ну ахуеть , почитал книжку , выучил библиотеку с PEP 8 и иди пиши имиджборду , ты раз взялся анонов учить успешному программированию , то распиши нормально , что как и после чего учить
Аноним 10/01/23 Втр 16:40:41 #36 №2569179 
>>2569025
>akhmetova.n

пошла нахуй из нашего айти
Аноним 10/01/23 Втр 17:02:49 #37 №2569205 
Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая, да ещё на не русском языке. Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял. Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку, старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру, где было написано про PEP8. То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке безумия бросился зубрить эту конвенцию по написанию питоньего кода. У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди глубокой ночи.

Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду. Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css, но там всё оказалось совсем не сложно.

Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом. Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду. Я как-то ожидал большего и был немного разочарован.

Гугл, снова гугл. Десятки статей и тем на форуме... Довольно быстро я заметил, что люди часто пишут про какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?! Это же, это просто гениально, чёрт меня побери!

Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в строчки кода. Я просто не мог остановиться. Чашка кофе... Ещё чашка... Мой небольшой кусочек софта приобретал кристалльную чистоту, я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи.

Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.

Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к обработке данных, как map-reduce.

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

За пол-года я сменил несколько мест работы, и моя зарплата взлетела до умопомрачительных сумм. Сотни замечательных мест открыли передо мной свои двери. Любые, самые изысканные девушки проявляли просто чудеса изобретательности, чтобы находиться рядом со мной.

А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на себе завистливый взгляд. Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти, презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве. И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался построить замок из навоза.
Аноним 10/01/23 Втр 17:17:28 #38 №2569232 
>>2568274
Помнится, один чувак рассказывал про тестовое задание на собесе, которое должно было развернуть юникодный текст задом наперёд. И в его случае мало кто справлялся потому, что он использовал всяческие фишки юникода, как то: модификаторы символов (например, символ ударения https://ru.wikipedia.org/wiki/Знак_ударения ), эмодзи (а они теперь часть юникода на секундочку), при чём эмодзи тоже имеют модификаторы цвета и бывают составными (тут много текста с примерами: https://habr.com/ru/company/itelma/blog/549366/ , рекомендую заглянуть и в каменты, там есть интересное).

В общем, на первый взгляд банальное задание разлилось у него в такое море кода... Ух, просто!
Аноним 10/01/23 Втр 17:18:50 #39 №2569235 
>>2569232
>В общем, на первый взгляд банальное задание разлилось у него в такое море кода... Ух, просто!
И все впустую.
Аноним 10/01/23 Втр 17:20:03 #40 №2569237 
PavelSvedomskiy011.jpg
>>2569232
>тестовое задание
Аноним 10/01/23 Втр 17:23:21 #41 №2569244 
Хочу портировать Python на TempleOS, какие подводные?
ну кроме того что вместе с ним придётся портировать openssl и хуй знает что ещё...
Аноним 10/01/23 Втр 18:35:09 #42 №2569357 
>>2569232
Ну всякие нормализации-денормализации это известная тема.
А эмодзи сразу нахуй идут. Я всё жду, когда уже появятся анимированные и со звуком.
Аноним 10/01/23 Втр 19:02:59 #43 №2569400 
Возникла такая идея - хочу сделать мультиплеерный 2д платформер для 4-8 игроков. Насколько сложно это будет сделать на питоне и что для этого лучше всего на питоне подходит? Pygame это может?
Аноним 10/01/23 Втр 19:36:01 #44 №2569445 
>>2569400
С учётом того, что ты по всей видимости совсем без опыта программирования - сделать будет сложно, неподъёмно сложно. Впрочем это не только про питон.
Аноним 10/01/23 Втр 19:58:43 #45 №2569472 
>>2569445
Вопрос в том куда копать, а дальше разберусь по ходу.
Аноним 10/01/23 Втр 21:24:01 #46 №2569553 
>>2569400
пайгейм это обработка устройств ввода, рендеринг спрайтов и звука. нетворкинг придется делать с нуля

> Насколько сложно это будет сделать на питоне
на порядок сложнее чем на движке, т.к. всё придется написать и отладить самому с нуля. с другой стороны, если это самоцель и делается для саморазвития - почему нет?
Аноним 10/01/23 Втр 21:39:21 #47 №2569566 
hue.webm
>>2569400
вот тебе для вдохновения пример игры на чистом питоне на 2к строк. в зависимостях только пайгейм и модернгл

https://dafluffypotato.itch.io/hue-flowing
Аноним 10/01/23 Втр 23:28:58 #48 №2569647 
Помогите нубасу.
Можно ли как-то отсортировать файлы которые пронумерованы иероглифами (一、二、……、 十四、……)? В юникоде они идут не в правильном порядке (1, 7, 3, 9 и т.д.), в ручную переименовывать на арабские цифры не вариант тоже.
Аноним 10/01/23 Втр 23:34:12 #49 №2569652 
>>2568762
а что это за сайт?
Аноним 10/01/23 Втр 23:36:50 #50 №2569659 
>>2569647
https://stackoverflow.com/questions/32094525/morse-code-to-english-python3
попробуй переделать это под свои задачи
Аноним 10/01/23 Втр 23:37:12 #51 №2569660 
>>2569647
А почему должен быть порядок не по юникоду?
А если нужна какая то своя сортировка, то тут надо создавать свой словарь скорее всего.
Аноним 10/01/23 Втр 23:40:32 #52 №2569663 
>>2569660
В целом это даже не сложно сделать.
Просто создаёшь одну строку со всеми иероглифами в нужном тебе порядке и через цикл проходишь, добавляя их все в словарь в нужном порядке.
Аноним 10/01/23 Втр 23:50:50 #53 №2569678 
image
>>2569647
можешь ещё это попробовать
Аноним 10/01/23 Втр 23:52:56 #54 №2569682 
>>2569659
>>2569660
>>2569663
>>2569678
Спасибо!
Аноним 11/01/23 Срд 00:34:56 #55 №2569728 
Screenshot66.jpg
Screenshot67.jpg
Смешно даже.
Попытался загрузить модуль word2number
Нету на сайте. Ок, просто скопировал весь модуль перед функцией и решил. Это не самое сложное задание, но писанины просто много
Аноним 11/01/23 Срд 00:43:36 #56 №2569731 
Screenshot68.jpg
>>2569728
Но вот это решение мне нравится больше всего. Через словари и думал решать сначала, пока просто по приколу не решил весь модуль скопировать
Аноним 11/01/23 Срд 00:53:17 #57 №2569736 
>>2569652
Ты где последний месяц был?
https://chat.openai.com/
Аноним 11/01/23 Срд 01:02:03 #58 №2569742 
>>2569736
та я ваще в танке, я не кодер просто:/
Аноним 11/01/23 Срд 01:05:13 #59 №2569744 
>>2569736
а как открыть эту хуйню, через випиэн?
Аноним 11/01/23 Срд 01:07:45 #60 №2569746 
image
>>2568762
Но сейчас ии только даёт возможность хикканам спиздить работу у синьоров.
Аноним 11/01/23 Срд 01:08:03 #61 №2569747 
>>2569744
Бля, ты же программист
Аноним 11/01/23 Срд 01:11:49 #62 №2569750 
>>2569747
так нет же, я в треде по нужде, а не по желанию
Аноним 11/01/23 Срд 01:14:50 #63 №2569752 
>>2569744
впн и левая симка на которую код придет (покупается за 20р)
Аноним 11/01/23 Срд 01:16:18 #64 №2569754 
>>2569752
там через почту у меня даже на почту ммска пришла, зарегался, но эксес денайд, скачиваю тор
Аноним 11/01/23 Срд 01:23:31 #65 №2569758 
>>2569744
это штука чисто поиграться. слегка получше гугла местами лишь
Аноним 11/01/23 Срд 01:27:24 #66 №2569763 
>>2569758
> слегка получше гугла местами лишь
meatbag cope
Аноним 11/01/23 Срд 02:34:42 #67 №2569778 
>>2569763
ты носишься с ней как дурак и выдаёшь решения простых задачек и при этом вряд ли сможешь понять,если решение выдали кривое, неработающие и неоптимальное
Аноним 11/01/23 Срд 03:26:25 #68 №2569790 
>>2569763
Скрин с китайскими иероглифами полностью хуйня, если что. Он не просто выдал код, который ничего толком не делает, но даже дал неправильное описание как питон работает.
Аноним 11/01/23 Срд 05:12:07 #69 №2569803 
image.png
>>2569025
лол, делается за 5 минут, Ахметова
Аноним 11/01/23 Срд 07:14:24 #70 №2569812 
faa9174ecb2cad5bd30e067a8703640e.jpg
>>2569025
>mutation
>pd.Series превращается pd.Series
>квадратные скобки в след квадратных скобок, вместо loc
>коментарии в каждой строчке
ебать код у тебя, где так учат паграмировать?
>Как это сделать, идей вообще нет
fillna(0) в "пробеге", fillna(160000) в "Пробег остаточный"
Аноним 11/01/23 Срд 11:42:22 #71 №2569943 
>>2568047 (OP)
Коданы, что у меня сломалось? При попытке установить интерпритаторы через pyenv выдаёт:
> /home/username/.pyenv/plugins/python-build/bin/python-build: line 819: make: command not found

Последние строчи лога выглядят так:
Last 10 log lines:
config.status: creating pyconfig.h
creating Modules/Setup.local
creating Makefile


If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations


819-820 строчки python build:
> { "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}" } >&4 2>&1
Аноним 11/01/23 Срд 11:53:42 #72 №2569953 
>>2569943
>make: command not found
ну так ты поставил make?
Аноним 11/01/23 Срд 11:58:12 #73 №2569957 
KU0gRZ-fJ3HX7KsNeWbs1-hj8RYET7i5ieDUeh7Ijsn-nEmSYndLNESQ1E7VHa28pPxpXiWFaeZDndrsuqOi4Q.jpg
Питоны, есть куча директорий и каждую нужно заархивировать (в отдельные архивы, а не в единый архив) и сложить в папку. Вроде задача простая, но я хуй его как на Питоне такое адекватно реализовать (притом что на Баше делается в пару строк). С тем же os.make_archive и простым циклом for не получается.

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

пик-рандом
Аноним 11/01/23 Срд 12:16:46 #74 №2569968 
>>2569957
>притом что на Баше делается в пару строк
Вызывай баш из питона.
Аноним 11/01/23 Срд 12:17:08 #75 №2569969 
>>2569953
Внезапно его переустановка помогла
Аноним 11/01/23 Срд 12:29:35 #76 №2569982 
>>2569968
Интересней понять как это из Питона делается)
Аноним 11/01/23 Срд 12:31:30 #77 №2569986 
>>2569957
https://docs.python.org/3/library/zipfile.html
Ну идешь по папкам создаешь для каждой архив пихаешь в него файлы. Расширение ты не указал поэтому считаю что зип.
Аноним 11/01/23 Срд 12:43:06 #78 №2570016 
>>2569982
Точно так же как на баше, только через shutil.
Аноним 11/01/23 Срд 12:47:51 #79 №2570028 
>>2570016
Не получается через shutil. Пытался пройти циклом for по всем директориям вложенным в основную директорию:
for baks in bak_dir:
shutil.make_archive(различные комбинации параметров)

Ничего толкового не выходит
Аноним 11/01/23 Срд 13:14:50 #80 №2570077 
>>2568762
Даунская задачка для даунов. Бот очевидно смог ее решить. И очевидно в очередной раз как бэ намекает всем что алгоритмодроч и литкододроч не являются хот ьсколько-нибудь важными признаками адекватного программиста

Пусть решит вот такие задачки:
Понять почему постгря на проде внезапно жрет минимум 70 гигов памяти из 90 доступных
Прикрутить кейклоак авторизацию к этому проекту 8 летней давности на Торнадо
Перевести поиск в проекте с LIKE на elasticsearch
Понять почему при переходе с celery 4 на 5 таски рандомно начали сдыхать
Аноним 11/01/23 Срд 13:34:42 #81 №2570107 
>>2570077
>алгоритмодроч и литкододроч
В галере есть коллега который без устали дрочит литкод и постоянно меня да окружающих спрашивает, решили ли мы сегодняшний челлендж. Каждый раз как говорю что такой хуйней не занимаюсь, он теряет дар речи будто я какое-то богохульство отпустил
Аноним 11/01/23 Срд 13:36:07 #82 №2570110 
>>2570077
>Прикрутить кейклоак авторизацию к этому проекту 8 летней давности на Торнадо
О, я очень похожее недавно делал не сделал

В целом согласен с тобой, но говна на вентилятор накидывать не прекращу.

>>2570028
bak_dir это что?


from pathlib import Path

p = Path('.')
subdirs = [x for x in p.iterdir() if x.is_dir()]
for subdir in subdirs:
...
Аноним 11/01/23 Срд 14:11:44 #83 №2570158 
Cirno.full.977944.jpg
>>2570110
>bak_dir это что?
baka direction, очевидно же!

>>2570077
>Прикрутить кейклоак авторизацию к этому проекту 8 летней давности на Торнадо
Можно у автора этого проекта спросить: >>2569205
Аноним 11/01/23 Срд 14:17:33 #84 №2570163 
>>2570110
>bak_dir это что?
Директория куда сваливать бэкапы


>from pathlib import Path
>
>p = Path('.')
>subdirs = [x for x in p.iterdir() if x.is_dir()]
>for subdir in subdirs:
>...
Спасибо, попробую использовать
Аноним 11/01/23 Срд 14:52:24 #85 №2570219 
image.png
image.png
>>2569957
>>2570028

там просто кто-то сильно нашутил с синтаксисом, сделал такой мини-пазл-квест с загадками в документации

держи рыбу, нахуй удочки:
https://www.online-python.com/uEsvDMKVzU

в начале задается путь до пакета с пакетами
и путь до папки, куда архивы сваливать. в этом случае это папка 'Archives' рядом с пакетом с пакетами

и да, перед тем, как модифицировать что-то на своём диске, убедись, что всё корректно. через принты, например. и лучше на 1 файле сначала попробовать (добавив break в конец цикла), чтобы случайно не удолить все файлы на своём компуктере
Аноним 11/01/23 Срд 14:58:02 #86 №2570234 
>>2570110
>я очень похожее недавно делал
Игорь, ты? Кирилл мне сказал к тебе обратиться по поводу keycloak, якобы ты "все уже сделал", а ты мне нихрена толком не помог, самому пришлось это говно править
Аноним 11/01/23 Срд 15:09:03 #87 №2570253 
>>2568047 (OP)
Не подскажете, как с помощью numpy считать файл в 3 вектора, с учетом того что данные отформатированы через экспоненту?
Аноним 11/01/23 Срд 15:21:09 #88 №2570262 
image.png
Анончики, есть более лаконичное решение из кортежа строк создать словарь? Глаза болят от ...split(' = ')
Аноним 11/01/23 Срд 15:30:57 #89 №2570280 
>>2570262
совершенно нормальный код. можешь покороче сделать:
> dict_strings = dict(kv.split(' = ') for kv in strings)

лучше б у тебя глаза с названий переменных типа "dict_strings" вытекали
Аноним 11/01/23 Срд 15:34:20 #90 №2570286 
>>2570262
re.sub( и погнал
Аноним 11/01/23 Срд 15:35:13 #91 №2570290 
>>2570286
бля, как элегантно. надо попробовать
Аноним 11/01/23 Срд 15:36:01 #92 №2570292 
Элегантно использовать регулярку вместо сплита, записал
Аноним 11/01/23 Срд 15:41:50 #93 №2570297 
image.png
>>2570286
>>2570292

dickstrings = eval('{' + re.sub(r' = ', "': '", str(strings)[1:-1]) + '}')
Аноним 11/01/23 Срд 15:44:41 #94 №2570303 
NOTED.gif
>>2570297
Аноним 11/01/23 Срд 15:47:33 #95 №2570313 
>>2570297
Как прокачать регулярки? Я всю жизнь их со шпаргалкой пишу
Аноним 11/01/23 Срд 15:49:12 #96 №2570316 
>>2570313
https://regexr.com
Аноним 11/01/23 Срд 15:49:25 #97 №2570317 
>>2570313
Вкатиться в помойную контору занятую парсингом сайтов
Аноним 11/01/23 Срд 15:55:10 #98 №2570328 
>>2570297
Как из этого сделать констрейнт с if ['=' in kv for kv in strings]?
Аноним 11/01/23 Срд 16:02:55 #99 №2570337 
Привет всем! Дурацкий вопрос.

Дано list2 = [(0, 'Боевик'), (1, 'Вестерн'), (2, 'Детектив'), (3, 'Драма'), (4, 'Комедия')]

Вопрос. Есть простой способ разделить без явного прохода цикла сделать:
i = [0,1,2,3, ....] или (), и
s = ['Боевик', ....] или ()

Если просто напечатать, то понятно, что можно типа:
for i, s in list2: print (i, s)
Аноним 11/01/23 Срд 16:07:11 #100 №2570344 
image.png
>>2570337
Аноним 11/01/23 Срд 16:10:42 #101 №2570347 
>>2570313
Не надо. Не используй это говно. Да тебя в норм конторе ещё и принудят не использовать.
Аноним 11/01/23 Срд 16:14:11 #102 №2570348 
>>2570347
могу узнать причину, кхм, бабаха?
Аноним 11/01/23 Срд 16:15:11 #103 №2570350 
>>2570344
Спасибо!!
А то писал только

i = [x[0] for x in b]
s = [x[1] for x in b]
что не очень как-то выглядит )
Аноним 11/01/23 Срд 16:21:52 #104 №2570356 
>>2570348
Зачем, скотам типа тебя не положено.
Аноним 11/01/23 Срд 16:25:02 #105 №2570360 
Отвечает openAI компания chatgpt:

Регулярные выражения могут быть сложными для чтения и отладки, особенно если они длинные или сложные. Они могут быть неэффективны в плане времени исполнения, особенно если используются неоптимально. В некоторых случаях они могут вообще не работать правильно.
Аноним 11/01/23 Срд 16:27:15 #106 №2570363 
image.png
>>2570360
Аноним 11/01/23 Срд 16:30:54 #107 №2570365 
>>2570360
>В некоторых случаях они могут вообще не работать правильно
Если ты, макака, их написал неправильно
Аноним 11/01/23 Срд 16:40:13 #108 №2570372 
image.png
>>2570363
Супер тупой вопрос, но мне важен ответ.
Сижу через впн, а тут.
Аноним 11/01/23 Срд 16:42:40 #109 №2570374 
>>2570372
Не понял, что нужно ответ законченный того что на скрине?
Аноним 11/01/23 Срд 16:43:33 #110 №2570376 
>>2570374
Ну т.е. Нидерланды в бане у OpenAI?
Аноним 11/01/23 Срд 16:45:51 #111 №2570381 
>>2570376
Вряд ли, перепроверь через него ли траффик идет, и да потом еще номер телефона попросит. У меня впн немецкий
Аноним 11/01/23 Срд 16:47:05 #112 №2570385 
> OpenAI
> анально огороженная параша
Аноним 11/01/23 Срд 16:53:13 #113 №2570390 
>>2570379
>>2570379
Дуровский с торгов зайдёт?
Аноним 11/01/23 Срд 16:55:18 #114 №2570392 
>>2570219
Спасибо! Ошибки сыплются, но попробую разобраться что-к-чему
Аноним 11/01/23 Срд 16:57:24 #115 №2570396 
image.png
image.png
>>2570381
У меня сейчас не хочет работать, пишет, что перегружен. Раньше работал.
Аноним 11/01/23 Срд 16:58:03 #116 №2570397 
Стикер
Аноны, вопрос может и не совсем питонический, но итт как известно сидит элита раздела, авангард программирования на острие технологий, так что у кого ещё спрашивать как не у лучших из лучших.

Есть ли у приложений и окон ОС виндоус какое-то такое вот волшебное API, которое позволяло бы другим программам читать его окна.
Вот например открывается окно в нем три радио кнопки, два чекбокса, поле ввода, скрол бар, список файлов. И вот такое апи которое бы передавало эту инфу и например координаты этих элементов или даже возможность давать по ним сигналы, нажатия.

Сравнение конечно дурацкое, но вот веб страница получает разметку с UI и браузер эту размету рендерит, но мы можем взять весь ДОМ страницы и растащить его по элементами и давать потом по кнопкам сигналы с помощю АПИ, например селениума
Аноним 11/01/23 Срд 17:03:39 #117 №2570405 
>>2570397
Тебе к байтоёбам.
Аноним 11/01/23 Срд 17:07:04 #118 №2570410 
Есть эксперты фласка итт? нужна помощь с тестовым, буду благодарен, пишите контакты
Аноним 11/01/23 Срд 17:08:10 #119 №2570412 
>>2570397
на джаве была какая-то прога, которая использует распознавание изображений кнопок. а по-другому-то никак, мало ли кто как ректы кнопочек рендерит и какой фреймворк использует, ДОМу страницы до такого зоопарка фреймворков и велосипедов далеко

тебе к джавистам
Аноним 11/01/23 Срд 17:16:04 #120 №2570421 
Привет, поделитесь, пожалуйста, тг чатами или дсами вкатунов в питон
Аноним 11/01/23 Срд 17:20:17 #121 №2570428 
>>2570419
написать приложение на flask (ориентировочное время выполнения - 24 часа)
Описание приложения: приложение разрабатывается с помощью фреймворка flask, работает с базой данных SQLite, имеет API и веб интерфейсы. Цель приложения: каталогизация и структурирование информации по различным веб-ресурсам.
1. API-интерфейс. Приложение принимает GET и POST запросы:
a. POST запрос №1 должен содержать в теле ссылку на какой-либо веб-ресурс. Приложение должно обработать полученную ссылку, разложить ее на протокол, домен, доменную зону и путь. Если в ссылке присутствуют параметры - преобразовать их в словарь. Полученные данные нужно сохранить в таблице базы данных, присвоив уникальный идентификационный номер (uuid). Возвращать пользователю ответ в формате json с разложенными данными и статусом обработки. Если пользователь прислал не ссылку - сообщать ему об этом в ответе.
b. POST запрос №2 должен содержать в себе csv файл с перечнем ссылок (формат файла - каждая новая строка одна ссылка). Все ссылки нужно обрабатывать по образцу POST запроса №1, а также обработка должна выполняться в фоновом режиме. В ответ добавить общий статус обработки файла (количество обрабатываемых ссылок, количество ошибок, количество ссылок, направленных на сохранение в БД).
c. GET запрос №1 должен выводить все сохраненные ссылки из БД (добавить возможность выборки по доменной зоне, id, uuid).
d. GET запрос №2 возвращает последние 20 строчек лога (см. п.2).
2. Логирование. Приложение должно проводить логирование своей работы с ротацией лог-файлов при достижении определенного размера файла (1 мегабайт). Необходимо логировать все полученные запросы и ответы приложения, а также информацию о добавлении в БД новой записи.
3. Веб-интерфейс. Требуется реализовать 3 веб-страницы для приложения. При вёрстке страниц требуется использовать фреймворк Bootstrap5. Постараться выдержать единый концепт оформления страниц.
a. Страница 1. Реализовать веб-страницу, содержащую формы для добавления в приложение новых веб-ресурсов. Формы должны добавлять веб-ресурсы как поштучно, так и загрузкой CSV файла. Формат CSV файла тот же, что и для API интерфейса.
b. Страница 2. Реализовать веб-страницу с таблицей, отображающую все ссылки из базы данных с разбивкой на страницы (пагинация, по 10 элементов на страницу). Также веб-страница должна содержать элементы управления - поиск по доменному имени, возможность фильтрования по доменной зоне, а также удаление конкретного элемента из таблицы и базы данных соответственно.
c. Страница 3. Реализовать веб-страницу, отображающую строки из лог-файла. Отображение должно быть динамическим (при обновлении файла - обновляется и содержимое веб-страницы).
Если вы владеете знаниями JavaScript - добавьте интерактивные уведомления на веб-страницах по результату выполнения каких-либо действий. Иначе используйте для коротких уведомлений функционал flask flash.
4. Авторизация (Необязательное, бонусное задание). Добавить в приложение авторизацию пользователей по токенам, дописать необходимые эндпойнты и шаблоны для авторизации и завершения сессии, функционал, описанный в пунктах 1-3 сделать доступны только для авторизованных пользователей. Логировать авторизацию, завершение сессии и попытки несанкционированного доступа.
5. Дистрибуция и контейнеризация. Код приложения должен упаковываться в docker-контейнер и автоматически запускаться при старте контейнера. Приложение должно быть залито на github. В проекте должен быть файл README с описанием проекта, эндпойтами и пошаговой инструкцией по разворачиванию и запуску проекта.
Аноним 11/01/23 Срд 17:22:13 #122 №2570431 
windows API это вроде и называется.
Аноним 11/01/23 Срд 17:25:39 #123 №2570437 
>>2570431
Там только размеры окна, координаты на столе и статус (свернут развернут).
Аноним 11/01/23 Срд 17:36:31 #124 №2570453 
image.png
чето лол
Аноним 11/01/23 Срд 17:39:13 #125 №2570460 
>>2570453
RuChatGPT:
> кури мануалы, пидор
Аноним 11/01/23 Срд 17:51:23 #126 №2570481 
>>2570428
Типо рвешь жопу, делаешь за 24 часа в тестовом задании софт который команда разработчиков за месяц делает, его у тебя "принимают", "мы вам перезвоним", твое задание отдают тестируют и заказчику и новых лохов идут искать?
Аноним 11/01/23 Срд 17:52:32 #127 №2570484 
>>2570481
вроде не, час собесили до того)
Аноним 11/01/23 Срд 18:14:36 #128 №2570538 
>>2570464
Согласен, дохуища.
Решаемо, да, но сутки хз. Накосячил легко.
Аноним 11/01/23 Срд 18:15:33 #129 №2570542 
Писать многопоточный и тем более многопроцессорный код на питоне это совсем хуёвая идея? Они там собираются как-то заменять костыли из стандартной библиотеки или пора перекатываться в другой язык?
Аноним 11/01/23 Срд 18:16:00 #130 №2570543 
>>2570481
Приемлемо, но вряд ли. С таким подходом галера недолго живёт.
Аноним 11/01/23 Срд 18:17:54 #131 №2570547 
>>2570542
почему хуевая? Пиши. если у тебя много старой логики и нужно ее взгромоздить на сервер.

Вообще, заебали на Двач сваливать свои проебы. Лишь бы не думать самостоятельно
Аноним 11/01/23 Срд 18:18:03 #132 №2570550 
>>2570542
Elixir, Julia, ...
Аноним 11/01/23 Срд 18:22:20 #133 №2570559 
>>2570547
Ты пользовался threading, multiprocessing? Это же пиздец полный. Жуков потом заебёшься отлавливать.
Аноним 11/01/23 Срд 18:31:06 #134 №2570576 
>>2570559
Я каждый день пользуюсь, а че.
Аноним 11/01/23 Срд 18:32:04 #135 №2570579 
>>2570550
Вообще смотрю на Rust. Единственный популярный язык, где многопоточность из коробки и без лишней ебли.
Аноним 11/01/23 Срд 18:33:34 #136 №2570586 
Я когда искал работу и сложнее писал.
Там еще и на рякте просили фронт.
Пришлось выучить.
А что поделаешь такова жизнь такой вкат в 2023...
Аноним 11/01/23 Срд 18:36:53 #137 №2570590 
>>2570585
Говланг не подходит мне с точки зрения его ограниченных перспектив. Ржавого можно потом использовать в сторонних, низкоуровневых вещах. Есть некоторые задумки.
Аноним 11/01/23 Срд 18:42:13 #138 №2570596 
>>2570587
Пять.

https://soldigital.notion.site/developer-5b79683045a64129a2625a19bfb0c944

во, нашел
Аноним 11/01/23 Срд 18:51:08 #139 №2570613 
>>>round(1.5) == round(2.5)
>>>True
Чому так?
Аноним 11/01/23 Срд 18:59:09 #140 №2570624 
>>2570613
До ближайшего чётного. Там есть какие-то обоснования и плюсы, я не помню уже.
Гугли bankers rounding, кароч.
Аноним 11/01/23 Срд 18:59:20 #141 №2570625 
>>2570613
>round(1.5) == round(2.5)
Аноним 11/01/23 Срд 19:00:51 #142 №2570627 
image.png
>>2570624
>До ближайшего чётного.
Что?
Аноним 11/01/23 Срд 19:02:24 #143 №2570631 
>>2570627
Речь про .5, остальные как привычно.
Аноним 11/01/23 Срд 19:02:57 #144 №2570632 
1565234015253.png
>>2570363
Ебало имаджинировали?
Аноним 11/01/23 Срд 19:03:22 #145 №2570633 
>>2570596
У тебя проще. Плюс половина это "дополнительные баллы", а у анона вон, всё обязательное, кроме АВТОРИЗАЦИИ.
Плюс, у тебя действительно похоже на тест, а у анона столько специфических требований, что кажется как будто на него просто чужой спринт скинули.

И вообще давать сутки на такую хуйню это полное блядство и свинство. Чтобы это за сутки сделать надо нормальный опыт иметь да и то работать не будет всё равно без тестов, а уж если опыта нет, то человек себя прости изведет в попытке высрать этот кирпич. Такие сроки только мразь дать могла соискателю, т.е. человеку который может отчаянно нуждается.
Аноним 11/01/23 Срд 19:11:52 #146 №2570640 
Аноны, пояните за fastAPI. Насколько востребован и для каких проектов чаще всего используют
Аноним 11/01/23 Срд 19:15:08 #147 №2570643 
>>2570624
Не-а. При банковском округлении должно быть минимум два знака после запятой (точки).
Аноним 11/01/23 Срд 19:23:19 #148 №2570646 
>>2570643
Хотя нет, сорян, перепутал с округлением бухгалтерским (там есть разница).
Впрочем, вопрос остается преждним - с какого ляда подобная методика округления именно в питоне по умолчанию? Единственный язык, в котором я это встретил.
Аноним 11/01/23 Срд 19:57:38 #149 №2570688 
image.png
>>2570632
Аноним 11/01/23 Срд 20:09:01 #150 №2570706 
>>2570428
написал что в срок не сделаю, скинул 2 другие части тестового, (это третья, лол, ну первые две тупо задачки) спрашивает а сколько тебе нужно чтобы доделать?
имеет смысл ДОДЕЛЫВАТЬ?
Аноним 11/01/23 Срд 21:15:34 #151 №2570813 
Если есть аналитики в треде, то, пожалуйста, посоветуйте куда смотреть после прохождения начальных курсов по питону. Знакомиться с библиотеками, решать ситуационные задачи?
Аноним 11/01/23 Срд 21:35:57 #152 №2570837 
>>2570428
Тут ебатни на месяц. Им в хуй не посвистеть?
Аноним 11/01/23 Срд 21:40:22 #153 №2570842 
>>2570543
Кому нужны долго живущие галеры? Это же еще зп платить. А так собрал ждунов на месяц, параллельно кандидатов тестируешь. Прошел месяц, ИП+=rand() и по новой.
Аноним 11/01/23 Срд 21:47:09 #154 №2570848 
>>2570837
Грамотный джун должен трезво оценивать свои возможности. Если человек без возражений принимает задание на месяц с временем выполнения в сутки, то он либо совсем ничего не понимает в оценке сложности задачи, либо надеется где-то своровать уже готовый код. И первый, и второй вариант негативно характеризуют собеседуемого.
Аноним 11/01/23 Срд 21:50:13 #155 №2570851 
>>2570842
Двачаю. Когда вкатывался, 2 раза подряд напоролся на такие галеры. Соответственно 2 месяца в трубу, а надзиратели вместе с моей зп пропали в неизвестном направлении. Самый лул, что недавно один из них приглашал на работу в очередную лодку-однодневку с уставным капиталом 10к и временем существования 5 дней.
Аноним 11/01/23 Срд 21:50:23 #156 №2570852 
>>2570848
Невозможно понять сколько времени займет то что раньше никогда не делал. Это просто В ПРИНЦИПЕ НЕ РАЗРЕШИМАЯ задача.
Аноним 11/01/23 Срд 21:54:42 #157 №2570857 
>>2570428
>При вёрстке страниц требуется использовать фреймворк Bootstrap5
Беги оттуда! Уже фласк должен быть наводить на мысли, а если бутстрап, то беги!
Аноним 11/01/23 Срд 21:56:54 #158 №2570860 
>>2570857
Как трайал пойдёт, месяц потупит без оплаты в проде, потом следующим про полгода будет пиздеть.
Аноним 11/01/23 Срд 21:57:47 #159 №2570862 
>>2570851
Так ну и? Ты как ответил?
>спс, не)))
Или как?
Аноним 11/01/23 Срд 21:58:58 #160 №2570864 
>>2570718
>если весь день этим не занимаешься
Так он же безработный, так что резонно запросить пять, а то и неделю на фул-день. Нормальный срок.
Аноним 11/01/23 Срд 22:02:04 #161 №2570866 
>>2570848
Это задание не на месяц, тут по идее стандартные вещи. Но за день это перебор, если заготовки не использовать.

Ну и вообще не адекватно, потому что время нужно, чтобы разобраться с какими-то вещами.

По приколу можно попробовать себе такой челлендж устроить и сделать. Чисто для тренировки, не планируя всерьёз устраиваться. А если вдруг предложат работу, запросить сразу нормальную джун+ зарплату, ну там соточку например для начала.
Аноним 11/01/23 Срд 22:02:41 #162 №2570868 
>>2570862
Никак не ответил. Отправил в трудовую инспекцию актуальные координаты наёбщика Артёма (ныне Владислава). Проблема в том, что они фирмы регают на ноунеймов, т.е. формально он не при делах.
Аноним 11/01/23 Срд 22:11:49 #163 №2570874 
>>2570868
А в чем прикол такой схемы?
Аноним 11/01/23 Срд 22:12:58 #164 №2570877 
>>2570864
Безработному весь день кодить не получится, тоже дела есть - надо поспать до обеда, потом аниме посмотреть, почитать.
Аноним 11/01/23 Срд 22:15:07 #165 №2570879 
>>2570874
Хз. Наверное, что за работу платить не надо, а на репутацию и качество похую. Новая фирма, новая репутация.
Аноним 11/01/23 Срд 22:16:01 #166 №2570880 
>>2570877
Про 10 часов капчевания не забывай.
Аноним 11/01/23 Срд 22:18:33 #167 №2570884 
>>2570877
>надо поспать до обеда, потом аниме посмотреть

бля, я так свой первый собес завалил...
Аноним 11/01/23 Срд 22:19:10 #168 №2570886 
>>2570879
Как-то сомнительно. Много рисков, клиентов искать сложно, качество софта говно, а вертишься как при нормальной работе. Тут что-то другое должно быть или ты пиздишь.
Аноним 11/01/23 Срд 22:20:30 #169 №2570889 
>>2570886
Это двач. Кто здесь не сеньор?
Аноним 11/01/23 Срд 22:28:56 #170 №2570912 
>>2570889
>Это двач. Кто здесь не сеньор?
Я. Мне 18 лет, я ещё юная, хочу на подработку устроиться программисткой, учусь сейчас.
Аноним 11/01/23 Срд 22:29:56 #171 №2570916 
>>2570848
Почитаешь эти истории с собесов когда челам там КАВЕРЗНЫЕ ВОПРОСЫ задают как будто они не на работку пришли проситься, а в передачу Своя Игра попали: протестируйте карандаш, что тяжелее пуд сена или пуд железа, вилкой в глаз или в жопу раз.
Аноним 11/01/23 Срд 22:32:49 #172 №2570922 
>>2570889
Я, мне 32
Аноним 11/01/23 Срд 22:37:03 #173 №2570933 
>>2570912
>>2570922
Это была отсылка к сеньору-пиздаболу. Видимо, слишком тонкая.
Аноним 11/01/23 Срд 22:37:48 #174 №2570934 
>>2570912
Сиськи с супом в тред, шлюха
Аноним 11/01/23 Срд 22:41:46 #175 №2570941 
>>2570428
тащемто ничего сложно то тут нету.
но ебатни конечно дофига.
я бы слал лесом если тестовый больше 2 часов на выполнение
Аноним 11/01/23 Срд 22:43:15 #176 №2570944 
>>2570912
устраивайся. разрешаем
Аноним 11/01/23 Срд 23:40:52 #177 №2571034 
>>2570941
а как послать когда это первый отклик за пол года(
Аноним 11/01/23 Срд 23:50:37 #178 №2571041 
image.png
Как же это охуенно.
Аноним 11/01/23 Срд 23:59:27 #179 №2571045 
image
>>2569647
Сделал вот так
Аноним 12/01/23 Чтв 03:51:06 #180 №2571132 
>>2571041
как это выглядит в виндовой цомиде/поверщели?
Аноним 12/01/23 Чтв 06:12:19 #181 №2571148 
image.png
https://docs.python.org/3.11/library/tomllib.html
Аноним 12/01/23 Чтв 08:18:53 #182 №2571182 
Аноны, имеется книга Марка Лутца по питону 2.6 и 3.0.
Актуальна ли она в наше время, или лучше купить книгу для новых версий питона от других авторов?
Аноним 12/01/23 Чтв 08:48:30 #183 №2571193 
>>2571182
>книгу для новых версий питона от других авторов
да
Аноним 12/01/23 Чтв 08:59:50 #184 №2571197 
>>2571193
например?
Аноним 12/01/23 Чтв 09:05:39 #185 №2571200 
1555940285239.png
>>2571182
Мне вот эта в своё время зашла. Не знаю, есть ли новые издания
Аноним 12/01/23 Чтв 09:43:25 #186 №2571226 
Вы всерьез эти справочники читаете, нахуя?
Аноним 12/01/23 Чтв 10:42:36 #187 №2571253 
>>2571226
для справки
Аноним 12/01/23 Чтв 12:19:58 #188 №2571323 
>>2571132
Так же пиздато, по крайней мере на десятке.
Аноним 12/01/23 Чтв 13:52:27 #189 №2571434 
>>2571226
для серьезности
Аноним 12/01/23 Чтв 14:20:50 #190 №2571486 
изображение.png
изображение.png
изображение.png
>>2571041
извените, а с чего я должен протащиться?
это что, первый консольный фреймворк?
Аноним 12/01/23 Чтв 15:54:34 #191 №2571578 
image.png
Драститя.
Есть маленький сервис на джанге, который даёт определённые права на определённые действия зарегистрированным и запросившим хуям.
Структура: две таблицы
А - данные о хуях
В - данные о жопах (внешний 1кМ ключ к хуям)

Когда хуй регается в системе, в таблицу А заносятся данные о нём и выдаётся жопа, которую он может взять(1) или забить(2) на потом.
Если он взял, то всё в порядке, в таблицу В заносятся данные о жопе, но если он забил (закрыл вкладку, не подтвердил действия и тд), то образуется мусор в таблице А, у которого нет отношения.
Мне хуи без жоп не нужны, я решил замутить мироскрипт на ликвидацию одиноких хуёв, а именно: в url прописал паттерн, который первым запускает скрипт очистки, потом переходит на страницу регистрации.
Вопрос про скрипт - как можно оформить его короче например через exclude? Иными словами, как по-другому (и главное где, кроме костыля с паттерном url) можно его применить? Какой метод можно переопределить в модели или в классах во вьюхах, чтобы в будущем не пердолиться и не изобретать велосипед?
Спасибо.
Аноним 12/01/23 Чтв 16:07:01 #192 №2571591 
Screenshot20230112230228Excel.jpg
Есть xlsx файл с 3к записями.
Файл представляет из себя столбец с: уникальным id, месяцем(январь-декабрь), статус(12 разных).
Нужно взять id и прогнать через rest запрос, получив в ответ true/false. С этим проблем нет.
Проблема в том, что я не могу придумать, как это все адекватно раскатать в табличку вида количество значений в определенный месяц с определенным статусом с ответом true/false.
Как примерно должно выглядеть прикрепил.
Мне в голову приходит только или ручной подсчет через фильтры в экселе и создание кучи переменных, или заделывание словарей с дальнейшим парсингом.
В общем нужна помощь, как это просто сделать без костылей
Аноним 12/01/23 Чтв 16:31:06 #193 №2571608 
>>2571578
>Есть маленький сервис на джанге
У меня сейчас мирок порвался, спасибо. Лид, 32 годика.
Аноним 12/01/23 Чтв 16:34:56 #194 №2571610 
>>2571486
У тебя на пиках дедовская хуйня, а у меня великолепный TUI.
Аноним 12/01/23 Чтв 16:41:39 #195 №2571616 
>>2571608
Спасибо за реакцию.
По сравнению с бигдата, там около 65к записей всего.
Аноним 12/01/23 Чтв 17:21:42 #196 №2571667 
>>2571591
pandas groupby/pivot
Аноним 12/01/23 Чтв 18:23:48 #197 №2571734 
>>2571578
Полная хуйня. Проверил только что.
Если пустых записей > 200, то таймскейл респонза возрастает десятикратно. Это можно будет ронять сайт через скриптик генерации имен, пиздец. Чо делать-то?
Аноним 12/01/23 Чтв 18:41:03 #198 №2571745 
>>2571578
Очевидно не заносить данные о хуях, пока не будут данные о жопах, а временно хранить их в сессии
Аноним 12/01/23 Чтв 18:47:38 #199 №2571749 
>>2571323

покажи
Аноним 12/01/23 Чтв 19:00:53 #200 №2571754 
>>2568047 (OP)
>Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки.
Я надеюсь, не зря читаю про черепашку...
Аноним 12/01/23 Чтв 19:05:24 #201 №2571757 
>>2571754
обучишь нейросеть и будешь туртлем рисовать великолепные картины
Аноним 12/01/23 Чтв 19:21:58 #202 №2571767 
>>2571749
pip install textual
python -m textual
Аноним 12/01/23 Чтв 19:26:13 #203 №2571769 
>>2571767
но мне лень
Аноним 12/01/23 Чтв 19:27:48 #204 №2571771 
>>2570262
>>2570297
Я, конечно, больной ублюдок и вот это вот всё, но вариант со сплитом по-моему лучше соответствет питоновской идеологии. Ведь явное лучше неявного, а регулярки это...

Если смущают пробелы в сплите, то можно что-то типа
> "А = Б".split('=')[0].strip()

>>2570313
Регулярки на самом деле очень легко пишутся. И чем дальше, тем сложнее читаются. Даже не очень скилловый спец может написать что-то такое:
https://emailregex.com/
Но нужно быть профи и/или потратить уйму времени, чтобы правильно понять, что там написано.

Если коротко, то главное понять концепцию: находишь якоря, которые будут характерны для твоей строки, выделяешь закономерности и описываешь, как твоя строка может изменяться.
Уловил? Читай подробнее:
https://habr.com/ru/post/565726/
И ОЧЕНЬ ВНИМАТЕЛЬНО читаешь первый комментарий - о том, почему регулярки это зло.
Например, мне очень долго один сервис отказывался слать письма (при этом пускал в систему по мылу, блджад!) потому, что я использовал плюшки RFC 5233 ( https://www.rfc-editor.org/rfc/rfc5233 ). И это ещё достаточно обычный кейс, а всяких других "ОСОБЫХ" сценариев может быть вообще немеряно, например, с поддержкой пьюникода в URI (а, значит, например, и в e-mail) можно засунуть что угодно, от иероглифов, до сраных ЭМОДЗИ: https://habr.com/ru/company/productivity_inside/blog/547456/ .
Аноним 12/01/23 Чтв 19:29:29 #205 №2571772 
>>2571734
У тебя какая-то хуйня в логике.
Аноним 12/01/23 Чтв 19:29:33 #206 №2571773 
>>2571771
ЗЫ! Насчёт емейла! Я быстро не нашёл, но был регексп для 100% определения корректности адреса, размером с печатную строку. Кажется, это был какой-то RFC, но найти его быстро не получилось.
Аноним 12/01/23 Чтв 19:34:55 #207 №2571776 
>>2570397
Луркай AutoIT, в нём есть и пипетка, определяющая ТТХ элементов и жмакалка автомагическая, админы его используют, чтобы писать автоматизацию всяких установщиков.
Аноним 12/01/23 Чтв 19:36:10 #208 №2571779 
whenexe.png
whenpython.png
Кароче есть такой скрипт https://pastebin.com/ii6FPHV7, типа обертка на venv. В общем я делаю один(-F) exeшник в pyinstaller, и проблема в том, что скрипт не работает если я использую exe файл (не создает venv нормальную просто пустые папки), по если вызвать скрипт по обычному, то все нормально.
пик 1 exe, пик 2 по обычному.
в гугле нихуя...
Аноним 12/01/23 Чтв 19:39:02 #209 №2571780 
>>2571771
Спасибо за развёрнутый ответ. Обязательно прочитаю завтра
Аноним 12/01/23 Чтв 19:47:28 #210 №2571784 
>>2571034
А ты расшарил и ждал откликов, или адаплтировал и резюме под вакансии и рассылал во все места?
Потому что первый вариант прокатит только если ты реально представляешь из себя что-то.
Я, правда, никогда не работал кодером... И работу искал только дважды, в прошлый раз - 10 лет назад, с тех пор новые места (уже трижды) меня сами находили. Но это скилл, помноженный на репутацию со связями.
Аноним 12/01/23 Чтв 19:51:34 #211 №2571787 
>>2570428
>ориентировочное время выполнения - 24 часа
Три рабочих дня, наверное, а не сутки, как почему-то подумали местные Антуаны...
Теоретически, если опыт есть, то реально делается. Но это нужен прям опыт решения такого, без него даже считать бесполезно.
Не очень джуновое задание.
Аноним 12/01/23 Чтв 20:06:07 #212 №2571803 
А нормальная ли практика создавать в проекте условный conf.py и там создавать переменную ROOT_DIR, которая содержит путь до корня проекта Path(__file__).resolve().parent? (не джанга)
Аноним 12/01/23 Чтв 20:19:01 #213 №2571814 
>>2570640
Ну, я прямо сейчас переписываю API, общающееся JSON'ами с клиентом с Flask на FastAPI, получается удобно, особенно благодаря Swagger UI, можно даже без клиента работать.

>>2571182
>Марка Лутца
Его многие не любят. По-моему зря. Сам я вкатывался вообще по https://pythonworld.ru/samouchitel-python , но с оговоркой, что это далеко не первый мой язык и мне нужно было только понимание отличий от других языков, чтобы начать. А Лутца читал для большего понимания.
> по питону 2.6 и 3.0.
Найди свежее. Там в 3.6+ были приятные фишки. Подробнее не вспомню и без них жить можно, но с ними - приятнее. Одна аннотация типов ( https://docs.python.org/3/library/typing.html New in version 3.5) чего стоит!
> или лучше купить книгу для новых версий питона от других авторов?
Я бы сейчас попробовал это:
https://goalkicker.com/PythonBook/
по крайней мере другие книги с этого сайта, которыми пользовался, были просто агонь.
Аноним 12/01/23 Чтв 20:52:12 #214 №2571834 
image.png
Почему ООП является де-факто стандартом коммерческой разработки? Почему нельзя писать проекты тупо на функциях? Любая программа выполняет бизнес-процесс, почему его нельзя реализовать в виде процедурно-функционального кода?
Аноним 12/01/23 Чтв 20:56:15 #215 №2571835 
>>2571834
В предпредыдущем треде уже это обсуждали.
Аноним 12/01/23 Чтв 21:02:52 #216 №2571841 
>>2571814
С 3.7.0 надо вкатываться! С этой версии если не ошибаюсь асинхронщину ввели
Аноним 12/01/23 Чтв 21:50:54 #217 №2571868 
>>2571841
Ошибаешься, в современном виде её ввели в 3.5
Аноним 12/01/23 Чтв 21:54:44 #218 №2571869 
>>2571834
>Почему нельзя писать проекты тупо на функциях?
Можно, в дата-сатанизме. Там ты исходные данные преобразуешь рядом функций и получаешь результат.

Но не везде надо проделывать манипуляции с набором исходных данных. Где-то надо тупо обрабатывать состояния, например.
Аноним 12/01/23 Чтв 22:35:06 #219 №2571886 
>>2571869
Ну не знаю. Я вот по работе написал аппу-шаблонизатор для жс-кода. Там и коннекты к мускулю, и кеш в редис, и фастапи, и все на свете. Все на функциях.
Аноним 12/01/23 Чтв 22:44:49 #220 №2571889 
>>2571886
А надо было на методах писать, пидр.
Аноним 12/01/23 Чтв 22:49:15 #221 №2571890 
>>2571889
Извинись, дурень .
Аноним 12/01/23 Чтв 22:59:16 #222 №2571897 
>>2571889
Почему? Мне удобнее и понятнее было эту хуйню написать на функциях.
Аноним 12/01/23 Чтв 23:09:42 #223 №2571907 
>>2571834
Если ты работаешь на галере, по гайдлайнам, то спроси у своих авторов гайдлайнов, зачем.

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

Если у тебя такого нет и ты ни с кем не связан, делай, как хочешь.

Для внешних связей (например, если у тебя продукт выступает как модуль, доступный публично) ещё иногда пригодится инкапсуляция, чтобы некоторые из твоих методов отрабатывали только внутри класса и не были доступны снаружи (в Питоне она, правда, не абсолютная). Хотя на мой вкус это сомнительный плюс, ведь созданный по твоему импортированному классу объект будет в чужом коде и это уже не твоя головная боль.

Ну и полиморфизм... У меня однажды был кейс для него, но поскольку задача была довольно искусственной я не уверен, что это полезная штука.
Аноним 12/01/23 Чтв 23:16:20 #224 №2571911 
>>2571907
Впрочем, есть подозрение, что тут: https://pythonworld.ru/osnovy/inkapsulyaciya-nasledovanie-polimorfizm.html
неправильно определили инкапсуляцию. А я именно сюда залез за определениями. Так-то я просто помню, что три святых коровы ООП это наследование, инкапсуляция и полиморфизм.
И хорошо помню только про первую и последнюю.
Аноним 12/01/23 Чтв 23:23:13 #225 №2571915 
>>2571779
bump.....
Аноним 12/01/23 Чтв 23:42:27 #226 №2571928 
Хули у вас так сложно в питоне пакеты делать? Сделай __main__ функцию, сделай __main__ модуль, сделай entry_points и только после этого можно запускать из консоли.
Аноним 13/01/23 Птн 00:17:57 #227 №2571947 
>>2571928
ппц как сложно
Аноним 13/01/23 Птн 00:52:57 #228 №2571968 
>>2571834
смотря какой контекст.
я пишу 50 на 50 ооп и процедурка.
просто потому что в моих случаях так удобнее.
можешь про DDD загуглить
Аноним 13/01/23 Птн 01:42:29 #229 №2571981 
>>2571928

в пакете карп в пакете
Аноним 13/01/23 Птн 01:42:51 #230 №2571982 
>>2571834
Потому что в тырпрайзе ты оперируешь сложными структурами, которые имеют свойство гулять по коду и при этом иметь состояние, а такое поведение проще описать через объекты классов, а не плодить замыкания.
Аноним 13/01/23 Птн 01:53:58 #231 №2571985 
https://youtu.be/uqeQmkGULnY?t=2627

держите домашнее задание вкатунье
Аноним 13/01/23 Птн 01:56:58 #232 №2571987 
>>2571610
Да я понял. Джангодебилы мечтают использовать css в консольке.

Но, вообще-то, это бесполезная хуйня .
Аноним 13/01/23 Птн 02:03:05 #233 №2571990 
>>2571897
А это и не для тебя.
Просто пойми, все ООП не для тебя, а для коллективного результата
Аноним 13/01/23 Птн 02:04:34 #234 №2571992 
изображение.png
>>2571985
Sochno.
Аноним 13/01/23 Птн 02:06:39 #235 №2571993 
>>2571992
А ты не смотри другие видео, задание лучше сделай.
Аноним 13/01/23 Птн 03:39:36 #236 №2572059 
Screenshot70.jpg
Ну полезный сайт. Даёт задания на темы, которые мелком знаю, но никак не доходили руки углубиться. Теперь хоть понимаю, что в этих каракулях написано.
Из всех на которых пробывал делать задания этот больше всего понравился
Аноним 13/01/23 Птн 09:37:14 #237 №2572102 
>>2571886
Выёбываться можно, никто не запрещает. Как поддерживать?

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

А теперь подумой, такое уж у тебя ФП или просто неподдерживаемые извращения от неумения применить ООП, когда оно нужно.
Аноним 13/01/23 Птн 10:12:10 #238 №2572132 
>>2570585
Двачую адеквата
Аноним 13/01/23 Птн 10:34:16 #239 №2572144 
когда просто функции вместо классов лепишь это вроде бы называется процедурное программирование, функицональное это что-то про стейты или типа того извините я крудошлеп
Аноним 13/01/23 Птн 12:19:42 #240 №2572244 
изображение2023-01-13171141311.png
Помогите пж, в гугле искал, и если правильно понял, в первом вопросе он так отправляет файлы для того, чтобы балансировать нагрузку и блокировать ненужные запросы. Для второго вообще ничего не нашел внятного
Аноним 13/01/23 Птн 12:50:07 #241 №2572277 
>>2572244
что за безграмотное говно это писало? ты устраиваешься к киберкриминалу?
не устраивайся к ним.
Аноним 13/01/23 Птн 12:57:01 #242 №2572282 
>>2572277
Не, это вопросы к экзамену в вузе, это препод просто на отъебись накидал, что он спросит может
Аноним 13/01/23 Птн 13:29:10 #243 №2572309 
image.png
image.png
>>2572244
Аноним 13/01/23 Птн 13:49:00 #244 №2572340 
>>2571982
> в тырпрайзе ты оперируешь сложными структурами, которые имеют свойство гулять по коду
Кстати, в 2к23 это уже не совсем так. Сейчас тыр-тыры стремятся делать маленькие оконченные кусочки и выставлять наружу не код, а REST, потом запихнуть это в контейнеры и запускать их оркестратором (K8s или вообще Serverless).
И вот тут с одной стороны появляются накладные расходы (потому что HTTP это оверхед для простого общения, а там ещё в коде нужно реализовать сериализациею-десериализацию хотя бы в JSON и ладно бы на пистоне это делается парой строк, но на крестах каких-нибудь...), с другой стороны стандартизация, удобство MQ, балансировки и т.п.
И вот тут главное реализуй хорошее API, а использовал ли ты для этого классы -- проблема только твоего подразделения.
Аноним 13/01/23 Птн 13:58:37 #245 №2572364 
>>2572340
Ну вот у тя джва реста между собой общаются, причем первый является продолжительным клиентом второго, т.е. дёргает один эндпоинт, получает данные, че-то с ними делает, дёргает второй эндпоинт, получает данные, че-то с ними делает, всё мёржит и хранит где-то или отдаёт в третий рест. Ты на каждое такое дёрганье будешь вызывать функцию с requests.get, создавая свою сессию с своим пулом?
Аноним 13/01/23 Птн 14:00:21 #246 №2572365 
>>2572309
Ооо, спасибо огромное! Что за сайт/приложение такое?
Аноним 13/01/23 Птн 14:12:13 #247 №2572384 
image.png
>>2571985
Забавное. А на остальные ролики будет ссылка?
>>2571992
Ага, а это видел?
>>2572340
>запихнуть это в контейнеры
В образы, пофиксил тебя, не благодари.
>>2572364
Именно так! Такова философия API: запрос-ответ это конечное действие, API не сохраняет внутри себя результаты запросов. Код же вообще отделён от данных, пока в контейнерах крутятся аппликухи на самых разных языках сами данные лежат отдельно - в Постгресе, ЕТЦД, Монго, Редисе или ещё где.
Аноним 13/01/23 Птн 14:17:07 #248 №2572390 
>>2572384
>сами данные лежат отдельно - в Постгресе, ЕТЦД, Монго, Редисе или ещё где
Промежуточное их состояние незачем хранить где-то, кроме как в памяти. Но хуй с ним. Опять же на каждую запись/чтение данных в/из бд/редиса/етц ты будешь вызывать функцию, внутри которой будешь инициализировать новое соединение с новым курсором и т.п.?
Аноним 13/01/23 Птн 14:37:49 #249 №2572414 
>>2572390
> Промежуточное их состояние незачем хранить где-то, кроме как в памяти.
Что тебе непонятно в этой фразе:
> запрос-ответ это конечное действие
Там нет и не может быть никаких промежуточных состояний, или ты делаешь что-то не так.
> Опять же на каждую запись/чтение данных в/из бд/редиса/етц ты будешь вызывать функцию, внутри которой будешь инициализировать новое соединение с новым курсором и т.п.?
Да. Архитектор уже подберёт более подходящее в конкретном месте. Где-то это будут сверхбыстрые Ин-мемори ДБ, где-то что-то ещё, вплоть до КликХауса, ГринПлама и других ОЛАП.
Работа с in-memory очень быстрая, подключиться к ней и прочитать/записать быстрее, чем прочитать/записать что-то с диска при установленном заранее соединении.

Кстати, про серверлесс слышал? Там всё вообще круто: когда к ресурсу обращаются после паузы он СОЗДАЁТСЯ из ниоткуда (запускается из образа, лежащего поблизости, но самого процесса в момент обращения при этом нет), а когда отработает -- контейнер выключается и не существует до следующего обращения.

Какие там могут быть промежуточные состояния?
Да, промежуточные вещи и сохранения чего-то между сессиями это вопрос к клиенту, такое может возникнуть у него. Например, азы: гет-запрос авторизации, передал логин-пароль, получил сессионный ключ, потом передаёшь гетом для получения данных определение нужного тебе объекта, приложив к нему сессионный ключ. Вот тут есть промежуточное хранение, но оно не происходит на сервере.
Аноним 13/01/23 Птн 14:49:17 #250 №2572431 
image.png
>>2571985
о да ебать. 3 года поработал и уже решил начать выебываться лол.
по сабжу задание не сложное.
Аноним 13/01/23 Птн 14:50:08 #251 №2572433 
Скажите плиз, почему так работает а так - нет:

Работает
b = list(a)
i,s = zip(b)

а если i,s = zip(
list(a)) - хуй показывает, говорит

ValueError: not enough values to unpack (expected 2, got 0)

Там же однохуйственно тип "list" ...
Аноним 13/01/23 Птн 14:53:17 #252 №2572440 
>>2572433
перед "list" есть звёздочка, конечно.
Аноним 13/01/23 Птн 14:57:42 #253 №2572450 
изображение2023-01-13145731811.png
>>2572433
>>2572440
Аноним 13/01/23 Птн 14:58:26 #254 №2572452 
>>2572414
>Там нет и не может быть никаких промежуточных состояний, или ты делаешь что-то не так.
На валидацию данных/жвт-токена/хэдеров ты хуй положил? Ок, храни их в бд/редисе, и прикрути ещё сторонний под этой сервис.
И также похуй на бизнес-логику, когда в зависимости от конфига обрабатываемого тобой флоу тебе надо в одном случае следовать одной ветке с своими методоами, а в другом другой, тут конечно же тоже нет состояния и на бэке это не делается. Ок.

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

>Да. Архитектор уже подберёт более подходящее в конкретном месте.
Скажет что память на нодах забилась от ваших ебаных подключений и всё по пизде пошло, а новый сервер/новую планку поставить нет возможности, т.к. бюджет уже свёрстан, уже проходили.

>Кстати, про серверлесс слышал? Там всё вообще круто: когда к ресурсу обращаются после паузы он СОЗДАЁТСЯ из ниоткуда
Ну да, и создаётся нигде и никакие мощности и время не тратятся на это, у нас же всё бесконечно масштабируется! И сеть у нас везде гигабитная и сервера не ломаются.

>Например, азы: гет-запрос авторизации, передал логин-пароль, получил сессионный ключ, потом передаёшь гетом для получения данных определение нужного тебе объекта, приложив к нему сессионный ключ. Вот тут есть промежуточное хранение, но оно не происходит на сервере.
Обычно это какой-то оаутх2.0 с внешним кейклоаком, а не твоя локальная штрибанина. И ключ ты получаешь через редиректы и тебе его надо хранить на клиенте, но срок его действия тебе надо чекать уже на бэке, или для тебя это происходит атомарно и без промежуточного состояния? Ок.
Аноним 13/01/23 Птн 15:02:52 #255 №2572462 
Чето дебилом себя чувствую от вашего обсуждения.
Аноним 13/01/23 Птн 15:04:54 #256 №2572466 
>>2572433

в "a" что у тебя?
Аноним 13/01/23 Птн 15:06:36 #257 №2572469 
>>2572450
Зависит от данных, которые у тебя в переменной a.
Аноним 13/01/23 Птн 15:40:47 #258 №2572499 
>>2572462
На самом деле, дебилы они. Не владеют терминологией и используют жаргон второго сорта.
Аноним 13/01/23 Птн 15:51:59 #259 №2572502 
>>2572499
Внезапно соглашусь, тут идёт борьба знаний терминологии, но не логики и уж тем более не работы.
Аноним 13/01/23 Птн 15:54:29 #260 №2572505 
>>2572499
>>2572502
Простите, илита питухон-треда, расскажите за правильную терминологию, логику и уж тем более работу, а то во всё это только вы можете, а остальные дебилы и второй сорт.
Аноним 13/01/23 Птн 16:07:21 #261 №2572522 
>>2572505
Чел, мутный язык означает мутное мышление и несистемное образование. Это классика.
Аноним 13/01/23 Птн 16:13:20 #262 №2572535 
>>2572522
Пока я только вижу сноба, который использует разные терминологии для описания своего непонимания. Ты в одну гребёнку сливаешь "мутное мышление" и "не владение терминологией", это вообще разные вещи, которые не обязательно вытекают друг из друга. Это классика. Учить других как надо понимать, ведь как они понимают, это непонимание, а вот как я понимаю, то это понимание.
Аноним 13/01/23 Птн 16:43:19 #263 №2572586 
>>2572535
Один скажет "передвинь этот стол под окно", у тебя же похоже на "заебент эту хуйню под ту пизду". Явно, что тебе это понятнее, но это не говорит о том, что это правило для всех распространяемое.
Аноним 13/01/23 Птн 16:46:35 #264 №2572593 
>>2572535
>Ты в одну гребёнку сливаешь "мутное мышление" и "не владение терминологией", это вообще разные вещи, которые не обязательно вытекают друг из друга.

Ого, чувак, а ты умеешь мыслить образами или мыслишь-таки словами? Только не говори, что мыслишь какими-то другими радужными словами из мира фей, а не вот этим вот «ебать флоу азы-газ стейты хуйнём».
Аноним 13/01/23 Птн 17:01:20 #265 №2572622 
>>2572452
Болезный, тебя заносит.
Кончено, на бэке есть логика и многое другое. У тебя есть условная функция, скажем,
@app.post('/api/v.0.1./register', status_code=status.HTTP_201_CREATED)
async def register(request: dict = Body()):
# some code
returtn {"result": "OK"}

Она принимает JSON, возвращает в случае успеха заголовок с кодом 201 и тело с ЖСОНом '{"result": "OK"}'
Внутри неё может быть овер-дохуя всего. что угодно: зайти в БД, обратиться по API к отдельному сервису, и так далее, в ней может быть ветвление и проверка нескольких разных сервисов и ещё чёрт-знает-что. Но это функция. Данные о новом юзере - передала в какую-то базу, данные о неудачном логоне - в систему логирования/безопасности и т.п. Но когда отработал райз/ретурн - она забыла все состояния. Всё, этим история кончилась и никакого объекта на сервере не хранится. Объекты тут вообще не нужны.

> Так а че сразу блобы не гоняются по сети, зачем все эти сериализации/десериализации, жсоны/хмлы/протобафы.
Странный вопрос в эпоху победившего потреблядства.
Потому что "а зачем?", ведь стандартное решение просто балансировать, тестировать, проще строить очереди и т.п. Через тот же свагер можно тестить АПИ вообще через браузер, без клиента. Вот раньше, да, когда считали каждый такт процессора никому не приходило в голову оборачивать всё в текст, а потом ещё и оборачивать в хтмл.
Аноним 13/01/23 Птн 17:03:55 #266 №2572624 
>>2572502
Если тебе есть, как меня поправить, ю а велком, я всегда открыт для критики.
>>2572384>>2572414>>2572622-кун.
Аноним 13/01/23 Птн 17:23:21 #267 №2572639 
>>2572622
Долбоёб, я тебе говорю про промежуточное состояние данных, с которыми ты работаешь внутри своей функции. Ты эти данные можешь обрабатывать как хочешь, агрегации считать, передавать в другой слой, в другого клиента или другой апи, и будешь ждать от него ответа. И передавать ты можешь хоть строкой, хоть списком, хоть словарём, хоть кастомным объектом или моделью пайдантика - мне похуй, ты везде (в концепции питона) передаёшь объект.
>когда отработал райз/ретурн - она забыла все состояния
Но пока у тебя до этого момента не дошло, то данные у тебя висят в памяти, которые по итогу могут не попасть ни в бд, ни в кэш, ни в лог.

Что тут непонятного? Никакого хранения промежуточного стейта нет, но промежуточные данные ты держишь в памяти во время отработки функции.

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

>>2572586
>>2572593
Я всё ещё не понял, в чём ваще непонимание, поэтому дальше просто скипну, читать все эти доёбы про какой-то не такой язык и не такую терминологию лень.
Аноним 13/01/23 Птн 17:44:24 #268 №2572679 
>>2572639
Ты с какими-то претензиями пидор, вообще... Не нравится — просто не читаешь, хули лезешь-то?
Аноним 13/01/23 Птн 17:47:26 #269 №2572683 
>>2572679
Пошёл в пизду, хуесос, ты сам влез в разговор с претензиями ко мне за мои терминологии и мутное мышление, при этом так и не написал, что конкретно непонятного я написал, а только своё ебло раскрыл, хранитель сакральных знаний хуев.
Аноним 13/01/23 Птн 17:58:53 #270 №2572698 
>>2572683
Вообще-то это я влез, пидорас ты тупой, зелёный кусок говна с надменностью как у золотого слитка, пишешь хуйню налево и направо, но как только тебе показали, что ты пишешь хуйню - обидка и игнор. Я хуею с этих девочек.
Аноним 13/01/23 Птн 18:01:55 #271 №2572704 
>>2572683
Никто тебе никуда не влезал, анально контуженный. Брезгую.

Писал я не тебе вообще. Ступай к хуям на помойку, козёл.
Аноним 13/01/23 Птн 18:04:42 #272 №2572708 
>>2572698
Да мне похуй, кто из вас двоих/троих влез, ебанат. Тебя/вас спокойно попросили написать, что не так, но вы до сих пор ничего не разъяснили, кроме пустой демагогии, ещё и в надменные меня записали, охуеть конченные.
Аноним 13/01/23 Птн 18:06:52 #273 №2572711 
>>2572704
Скройся, ослина спидозная.
Аноним 13/01/23 Птн 18:19:49 #274 №2572727 
девочки, не ссорьтесь
Аноним 13/01/23 Птн 18:27:25 #275 №2572740 
>>2572708
>ещё и в надменные меня записали
Не только. Ещё обоссали.
Аноним 13/01/23 Птн 18:29:32 #276 №2572743 
>>2572740
Пока ты только себе в рот нассал.
Аноним 13/01/23 Птн 18:32:15 #277 №2572749 
image
>>2572743
Да не гори ты так, мань.
Аноним 13/01/23 Птн 18:34:17 #278 №2572752 
изображение.png
>>2572749
Аноним 13/01/23 Птн 18:52:16 #279 №2572764 
>>2572469
a = [(0, 'Боевик'), (1, 'Вестерн'), (2, 'Детектив'), (3, 'Драма')]
Аноним 13/01/23 Птн 18:54:49 #280 №2572768 
изображение.png
>>2572764
Аноним 13/01/23 Птн 18:56:49 #281 №2572769 
>>2572433
Покажи скриншот того, что тебе выдало ошибку
Аноним 13/01/23 Птн 18:58:52 #282 №2572772 
>>2572764
>a = [(0, 'Боевик'), (1, 'Вестерн'), (2, 'Детектив'), (3, 'Драма')]

но ведь всё работает
Аноним 13/01/23 Птн 20:20:08 #283 №2572863 
Screenshot71.jpg
Screenshot72.jpg
Нужно сложить друг с другом две строки с числами.
Инт использовать нельзя. Потому что цифры в примерах такие длинные, что инт просто не будет с ними работать.

По коду проверяем сначала не пустые ли строки получили
потом делаем строки равными, заполняя нулями.
Дальше смотрим наиболее длинный отрезок строки, который мы можем взять для превращения в инт, что бы они были равными. Притом с числом выше 10000 код начинает работает ещё медленее,

Ну а дальше складываем строки и проверяем не появилось ли лишней единицы в конце, если допусти 99+1 складываем
Если да, единицу запоминаем. Если цикл закончился, а единица осталась, её нужно добавить в начала цикла.

Возможно, тут есть какие-нить серьёзные утечки производительности, которые легко отпмизировать.

Может надо лучше разрезать строку на список и уже по нему проходить, а то явно он много времени тратит на прохождение по индексу каждой строки.
Аноним 13/01/23 Птн 20:25:24 #284 №2572873 
>>2572863
всё проходит, только по времнени нет
Аноним 13/01/23 Птн 20:29:19 #285 №2572882 
>>2572874
sys я импортировал, но данной функции в нём нет
Аноним 13/01/23 Птн 20:55:46 #286 №2572942 
Screenshot74.jpg
Ладно, решил
Аноним 13/01/23 Птн 20:58:36 #287 №2572947 
Screenshot75.jpg
>>2572942
А вот оптимальное моё решение, но оно работает куда медленее, хоть и тест проходит, чем mpz, ну для такой фигни явно и нужно модули использовать для большей скорости, что на C написаны
Аноним 13/01/23 Птн 20:59:21 #288 №2572948 
>>2572947
В смысле не моё, а оптимальное решение того, что я пытался сделать
Аноним 13/01/23 Птн 22:27:33 #289 №2573031 
Аноны вот создает вложенный словарь словарей, значение - список:
nested_dict = dict((k,[]) for k in ('key1', 'key2'))
Потом добавляем в список что-нибудь.
nested_dict['key2'].append('bar')

Чому в списке 'key1' тоже не появился 'bar', он появился только в списке куда я его аппендил. Я же помню что тут была такая ебатнина что каждый список использованный в генераторе указывал на один обьект. Ну вы поняли? на самом деле это должен быть один список. Я вот отчетилво помню что так и было и я долго баттхертин из за токой логики. Прошел месяц я опять юзаю этот генератор и всё работает нормально. Как так.
Аноним 13/01/23 Птн 22:50:50 #290 №2573074 
>>2570297
>[1:-1]
Всё понятно, но почему слайс такой? Объясни, пожалуйста.
Аноним 13/01/23 Птн 22:55:32 #291 №2573080 
>>2573074
> >>> 'Всё понятно, но почему слайс такой? Объясни, пожалуйста'[1:-1]
> 'сё понятно, но почему слайс такой? Объясни, пожалуйст'
Аноним 13/01/23 Птн 23:01:32 #292 №2573087 
>>2573080
Да не гори ты. Я понимаю, что без этого слайся получится дикт из одного элемента, а именно - ключ в виде тапла, но как это решает данный слайс [1:-1] - не понимаю.
Аноним 13/01/23 Птн 23:07:09 #293 №2573089 
1625741303954.jpg
>>2573087
> >>> t = (1, 2, 3)
> >>> str(t)
> '(1, 2, 3)'
> >>> str(t)[1:-1]
> '1, 2, 3'
Аноним 13/01/23 Птн 23:22:01 #294 №2573105 
>>2573089
Спасибо, так понятнее. Никогда не сталкивался со слайсами строки в рамках работы с eval. Всегда думал, что -1 - это априори последний элемент итератора.
Т.е. [0] - это скобка (, соответственно [:-1] тоже должна была бы быть скобкой ).
Аноним 13/01/23 Птн 23:28:06 #295 №2573114 
>>2573105
[:-1] это весь сиквенс без последнего элемента. [:-2] это весь сиквенс без двух последних элементов. и так далее
Аноним 13/01/23 Птн 23:29:12 #296 №2573115 
>>2573031
>Я же помню что тут была такая ебатнина что каждый список использованный в генераторе указывал на один обьект.
Это не в генераторе, это если бы ты делал
l = [[] * 8]
тогда бы появлялось во всех
Аноним 13/01/23 Птн 23:31:26 #297 №2573118 
image.png
>>2573114
Блядь, я такой тупой, спасибо тебе большое.
Аноним 13/01/23 Птн 23:33:14 #298 №2573120 
16537660128440.mp4
>>2573118
Аноним 14/01/23 Суб 00:28:35 #299 №2573171 
Аноны, вот я делаю ярлык для файла скрипта питона .ink , как мне сделать, чтобы при запуске этого ярлыка скрипт получал путь расположения именно этого ярлыка.
__file__ , sys.argv[0], os.getcwd()
Это всё возвращает путь до самого файла программы, а не до ярлыка.
Аноним 14/01/23 Суб 01:02:05 #300 №2573201 
>>2573031
Че несёшь охуеть, какой словарь словарей, ты создаешь один словарь с 2 ключами, значения которых пустые списки, т.е. каждому ключу соответствует свой список в памяти. И ты по индексу обращаешься к отдельному списку и в него аппендишь. Схуяли у тебя список, доступный по key1, должен ссылаться на список, доступный по key2? Это джва разных объекта в памяти, айдишники хотя бы сравни.
Аноним 14/01/23 Суб 01:20:00 #301 №2573215 
>>2573201
Если ни хуя не понимаешь о чем речь, не лезь.
Аноним 14/01/23 Суб 01:51:45 #302 №2573229 
>>2573215
Так разъясни, гений, о чём речь.
Он создаёт 2 разных списка, когда делает (k, []), а не создаёт сначала список через условный a = [], а потом использует ссылку на него в (k, a).
И генераторное выражение типа nested_dict = {k: [] for k in ('key1', 'key2')} тоже самое вернёт.
Аноним 14/01/23 Суб 02:10:59 #303 №2573235 
>>2573171
в свойствах ярлыка
Аноним 14/01/23 Суб 05:10:33 #304 №2573282 
>>2573235
Как получить путь до ярлыка средствами питона?
Аноним 14/01/23 Суб 05:14:44 #305 №2573283 
>>2573229
Блядь какой ты душный, ещё и визжишь непонятно с какого хуя, будто тебе лично хуйню сделали. Что у тебя блядь случилось. на собесе хуем по лбу настучали, что ты на двач прибежал на анонов срываться.

output = dict.fromkeys(('a', 'b', 'c'), [])
output['b'].append('foo')
Аноним 14/01/23 Суб 06:06:11 #306 №2573291 
>>2570542
Норм если тебя не заботит что загружаться будет 1 ядро максимум.

>>2570559
> threading, multiprocessing
Есть же богоугодные futures, зачем это зашкварное говно.
Аноним 14/01/23 Суб 07:22:35 #307 №2573306 
>>2571834
Ну мы пишем на функциях, потому что лид угорает по хаскеллю и фп. Я сначала нос кривил а потом втянулся
>>2571787
Согл
Аноним 14/01/23 Суб 08:31:39 #308 №2573341 
Untitled.png
>>2573171
>>2573282
Мусіш зрабіць дзве рэчы. Змяніць каталёг запуску ў якасцях ярлыка, выклікаць os.getcwd().

https://www.online-python.com/f3BM1E0WoV
Аноним 14/01/23 Суб 08:40:11 #309 №2573344 
Untitled2.png
>>2573341
>>2573171
і яшчэ, у якасцях ярылка замест каталёгу, пішы
%CD%, то бок current directory.
Аноним 14/01/23 Суб 08:48:03 #310 №2573345 
>>2573341
>>2573344
Красивый у вас в Японии язык, всё-таки. Но ты предлагаешь прописывать воркинг дир руками. Это не решение. Может мне ещё внутри скрипта прописать путь до него.
Ладно я уже понял что средствами одного питона это не сделать.
Аноним 14/01/23 Суб 09:43:45 #311 №2573374 
image.png
>>2573341
>>2573344

Тут ручаі як рушнікі
І танчаць дзеўкі ў карагодзе.
З-пад мазалістае рукі
Ячмень расце і жыта родзіць.
Аноним 14/01/23 Суб 11:12:23 #312 №2573405 
>>2573283
То что ты написал это вообще другой способ создания словаря через классметод, где второй необязательный параметр по-умолчанию ссылается на один и тот же объект, если он изменяемый, это и в доке написано:
https://docs.python.org/3/library/stdtypes.html?highlight=fromkeys#dict.fromkeys
Свои хуиные мечты себе в очко засунь, маня, я так и не увидел пример создания того, что он хотел через конструктор словаря.
Аноним 14/01/23 Суб 14:11:58 #313 №2573570 
>>2573345
>Но ты предлагаешь прописывать воркинг дир руками. Это не решение.

прекрасно решает поставленную тобой ИТТ задачу. не нравится - научись формулировать, что тебе нужно
Аноним 14/01/23 Суб 14:59:23 #314 №2573615 
image.png
>>2568047 (OP)
Пытаюсь решить трансцендентное уравнение для векторной функции размерностью 875 на 1. При вызове root пишет, что
ValueError: The array returned by a function changed size between calls
Что я делаю не так? За питон шарю исключительно в контексте того что прочитал в документации.
Аноним 14/01/23 Суб 15:19:16 #315 №2573637 
>>2573615
У функции почему-то меняется размер выхода. Почему - непонятно. Попробуй добавить в функцию печать размера, может, поможет понять, при каких параметрах такое происходит.
Аноним 14/01/23 Суб 15:23:57 #316 №2573642 
>>2573615
Только я не понимаю чего-то. У тебя значение функции - вектор, а аргумент - одно число? Как ты ноль собрался искать?
Аноним 14/01/23 Суб 15:42:37 #317 №2573652 
>>2573642
Спасибо, я чет тоже задумался и понял, что ему надо было на вход давать x0 в виде вектора той же размерности что и функция
Аноним 14/01/23 Суб 16:15:14 #318 №2573695 
image.png
>>2573615
>Пытаюсь решить трансцендентное уравнение для векторной функции размерностью 875 на 1.
Аноним 14/01/23 Суб 17:19:28 #319 №2573831 
Реквестирую книги по разработке ПО на Python. Типа, если я знаю язык, но интересует то как в масштабе это делать. Что-то типа "Чистый код", но только на питоне. Сейчас читаю "Clean Code in Python" Mariano Anaya - пока вроде норм. Еще из такого читал "Design Patterns in Python - Common GOF (Gang of Four) Design Patterns implemented in Python" - тоже неплохая, чисто по паттернам.
Аноним 14/01/23 Суб 19:00:10 #320 №2573931 
>>2568047 (OP)
здрасьте, я тут новенький, ткните носом где ваще нормально понять как работает asyncio? Есть ли что-то кроме официальной документации, что позволит не ломая голову проследить как она работает? позязя
Аноним 14/01/23 Суб 19:11:38 #321 №2573937 
>>2573931
Мэттью Фаулер: Asyncio и конкурентное программирование на Python
Аноним 14/01/23 Суб 19:16:49 #322 №2573945 
>>2573570
>Как получить путь до ярлыка средствами питона?
Научись читать задачу не жопой.
Аноним 14/01/23 Суб 19:22:20 #323 №2573947 
>>2573945
тебе объяснили
Аноним 14/01/23 Суб 19:23:28 #324 №2573949 
>>2573947
>запиши сначала путь руками в ярлык, тогда питон его сможет оттуда брать
Да я понял что у тебя с логикой проблемы.
Аноним 14/01/23 Суб 19:27:00 #325 №2573952 
>>2573949
всё как ты просил. соответствует ТЗ. не нравится - сам виноват, что не можешь донести свою задачу
Аноним 14/01/23 Суб 19:32:25 #326 №2573956 
>>2573937
выглядит секасно. Читать подряд от начала до конца как "Войну и мир"?
Аноним 14/01/23 Суб 19:38:41 #327 №2573960 
Стикер
>>2573952
>сам виноват
Нет, это ты идешь на хуй, клоун. Если тебе мозгов не хватает понять что требует заказчик (я), то будешь переделывать или уволен. Твоё нытье что ты так задачу понял ни кого не волнует.

Аналогия. Задача: как человеку в пустыне получить координаты своего местоположения средствами компаса.
Ответ от клоуна: ЫЫЫ да проста развирнуть компас там ссади написаны кардинаты ыыы мы их туда раньши записали.
Аноним 14/01/23 Суб 19:46:21 #328 №2573967 
>>2573960
> пук
Первая программа на питоне Аноним 14/01/23 Суб 19:46:25 #329 №2573968 
Написал стековый калькулятор на питоне, оцените
https://github.com/vertically-challenged/python-calc
Аноним 14/01/23 Суб 19:47:44 #330 №2573970 
>>2573968
На изучение питона потратил не больше часа
Аноним 14/01/23 Суб 19:49:36 #331 №2573972 
>>2573970
теперь напиши LL1 парсер сишки
Аноним 14/01/23 Суб 20:00:28 #332 №2573979 
>>2573956
Не знаю, я не читал, мне хватило этого:
https://www.youtube.com/playlist?list=PLlWXhlUMyooawilqK4lPXRvxtbYiw34S8
Аноним 14/01/23 Суб 20:02:21 #333 №2573982 
>>2573972
Но я до сих пор не понял, зачем мне нужен питон, если я знаю JS. Решил его выучить, только чтобы помочь с курсовой подруге
Аноним 14/01/23 Суб 20:15:27 #334 №2573989 
>>2573968
Ты по какому-то уроку делал? Чому именно такая структура файлов?
Аноним 14/01/23 Суб 20:27:53 #335 №2574003 
>>2573982
1 Есть миллиард модулей и библиотек на все случаи жизни.
2 Проще синтаксис - можно кататься ебалом по клаве и всё равно получится софт.

Таким образом питон это воплощение мечты анона выраженной в максиме: "Ничего не делаешь - а всё есть".
Аноним 14/01/23 Суб 20:32:34 #336 №2574008 
>>2573982
игры разрабатывать
Аноним 14/01/23 Суб 20:35:54 #337 №2574011 
>>2574003
Кататься ебалом по клаве и всё равно получится софт - это про перл, а не про питон. Питом - все можно написать только единственным способом.
Аноним 14/01/23 Суб 20:40:32 #338 №2574014 
>>2573989
Нет, просто переписал свою же программу, когда-то написанную на JS: https://www.youtube.com/watch?v=eTXrGfVAydA&t=52s

А что особенного в структуре?
Аноним 14/01/23 Суб 20:49:27 #339 №2574027 
image.png
Думаю все мы хоть на одну минутку бывали как Герасимов Андрей
Аноним 14/01/23 Суб 20:58:44 #340 №2574034 
>>2573637
всегда делаю принты подобной хуйни когда че-то не получается, и помогает
мимо
Аноним 14/01/23 Суб 21:08:56 #341 №2574054 
>>2574037
Чем уебищная?
Аноним 14/01/23 Суб 21:11:01 #342 №2574059 
>>2573968
>Artic Code Vault contributor
>Нуль полезных программ.

Паша, зачем тебе Гитхаб? Ты понимаешь что ты навечно унижен будущими поколениями историков, которые будут ухахатываться с wannabe-программистишки?
Аноним 14/01/23 Суб 21:39:21 #343 №2574075 
>>2574014
Просто я сам "ищу себя" так сказать. Хочу понять как ПРАВИЛЬНО писать чтобы быть как все, чтобы не засмеяли. И когда я вижу программу, которую можно в одном файле на 10 строках уместить, в таком как у тебя виде - в виде 20 файлов и 10 модулей, то у меня возникает легкое недопонимание. Я думаю что это я чего-то не знаю и не понимаю, может ты по умным книгам всё делал и там Жак Фреско поведал, что таков стандарт индустрии, надо вот так вот писать.
Аноним 14/01/23 Суб 22:48:47 #344 №2574139 
image.png
image.png
Я улучшил свою либу для локализации (а вернее интернационализации)
Аноним 14/01/23 Суб 22:52:12 #345 №2574142 
>>2574141
Название функции - стандарт, так геттекст имортируют. Название аргумента можно и поменять, но строка и так длинная, так что я не стал этого делать.
Аноним 14/01/23 Суб 23:20:59 #346 №2574161 
>>2574139
что улучшилось?
Аноним 14/01/23 Суб 23:23:18 #347 №2574164 
>>2574059
гитхаб без спросу это сделал. историки будут жалеть жертв слива из прошлого
Аноним 14/01/23 Суб 23:24:51 #348 №2574169 
>>2574161
хз
Аноним 14/01/23 Суб 23:26:07 #349 №2574173 
>>2574142
сделай уж T('Покакала'), в пизду этот "стандарт"
Аноним 14/01/23 Суб 23:31:27 #350 №2574181 
>>2574072
Это борьба с неточными вычислениями, что не так?
Аноним 14/01/23 Суб 23:33:16 #351 №2574185 
>>2574173
У меня сейчас другое на уме. Как сделать чтобы либа, которую я собираю через setuptools, включала файл i18n.json (с этим вроде разобрался, через data_files) и как его потом загрузить в коде? У меня один модуль, а не пакет, и подозреваю, что из-за этого все проблемы.
Аноним 14/01/23 Суб 23:35:50 #352 №2574188 
>>2574181
Поясни, с чем конкретно ты тут борешься.

другой анон
Аноним 14/01/23 Суб 23:39:29 #353 №2574192 
>>2574188
https://learn.javascript.ru/number#netochnye-vychisleniya
Аноним 14/01/23 Суб 23:44:43 #354 №2574201 
>>2574192
https://docs.python.org/3/library/decimal.html
Аноним 14/01/23 Суб 23:45:44 #355 №2574202 
image.png
>>2574185
Должен же быть способ не писать такой вот пиздец?
Аноним 14/01/23 Суб 23:47:08 #356 №2574204 
>>2574202
а в чем причина так писать-то?
Аноним 14/01/23 Суб 23:47:42 #357 №2574206 
>>2574201
Теперь я понял, зачем нужен питон
Аноним 14/01/23 Суб 23:48:13 #358 №2574207 
>>2574204
Как бы ты написал?
Аноним 14/01/23 Суб 23:50:29 #359 №2574209 
>>2574207
ну блядь. по стандарту. в переменную прочитал на уровне модуля
Аноним 14/01/23 Суб 23:55:31 #360 №2574218 
image.png
>>2574209
Блядь. Дело в том, что путь надо абсолютный.
Аноним 14/01/23 Суб 23:56:35 #361 №2574220 
>>2574192
Ты ведь здесь >>2574072 всё равно косвенно устанавливаешь ограничение на точность вычисления, значит вместо этого можно просто использовать round, для этой же цели только быстрее и проще.
Аноним 14/01/23 Суб 23:56:52 #362 №2574221 
>>2574218
объясни зачем ты упаковал 1000 строк кода в дефолт аргумента функции
Аноним 14/01/23 Суб 23:59:21 #363 №2574225 
>>2574221
Иди нахуй, дуралей. Вопрос вообще не об этом.
Аноним 15/01/23 Вск 00:04:39 #364 №2574229 
>>2574225
неадекват, я тебя в отдельном порядке это спросил. сука, закомплексованные долбоёбы неврастеники набежали
Аноним 15/01/23 Вск 00:43:09 #365 №2574268 
>>2574054
Может, насчёт уёбищной чувак и перегнул... Но отдельный файл под каждый метод... По 2 строки в половине файлов. Ты мог бы свести всё в один файл, получил бы там лучшую читаемость.
Вот я не склонировал твой прожект и мне пришлось очень-очень-очень дохуя кликать.

Дальше можно пройтись по деталям, например,
> from . import tokenCreator
эквивалентно более простой и явной записи
> import tokenCreator
from тут имел бы смысл, если бы ты сделал
> from tokenCreator import create as create_token
Тогда везде, где по коду встречается "tokenCreator.create" можно просто писать "create_token".

Кстати, PEP8 говорит, что "Модули должны иметь короткие имена, состоящие из маленьких букв. Можно использовать символы подчеркивания, если это улучшает читабельность", ну то есть используемый тобой mixedCase противопоказан.
Ну, то, что ты его даже не открывал видно уже по отступам. Собственно, это первая строка в документе: "Используйте 4 пробела на каждый уровень отступа".

> print('To quit, enter \'quit\' or \'q!\' \n')
100% эквивалентно
> print("To quit, enter 'quit' or 'q!' \n")
но опять же читается лучше. Если что \n в конце строки он поставит и сам (это поведение по-умолчанию и оно настраивается). Добавлять свой \n нужно, если хочешь пустую строку отступить.

> if expression == 'q!' or expression == 'quit': break
эквивалентно могут быть микросекундные расхождения в скорости, не ХЗ, в чью пользу более лёгкой записи
> if expression in ('q!', 'quit'): break

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

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

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

>>2573982
> Но я до сих пор не понял, зачем мне нужен питон, если я знаю JS. Решил его выучить, только чтобы помочь с курсовой подруге
Ну, мне, например, Пайтон нравится тем, что это один из очень немногих по-настоящему универсальных языков, на которых можно написать вообще что угодно (наверное, второй такой это шарп, но у ж очень он вендовый). Тот же JS этим может похвастаться довольно условно. Ну и тут столько синтаксического сахара по сравнению с тем, что я учил раньше, что у меня того и гляди начнётся синтаксический диабет. Всё остальное - про идею языка, удобство как языка прототипирования и тому подобное, это как спор кита и слона.
Аноним 15/01/23 Вск 00:52:39 #366 №2574278 
>>2574268
этот пепает
Аноним 15/01/23 Вск 00:58:34 #367 №2574286 
>>2574192
Это штатное поведение для чисел с плавающей точкой, повторяемое абсолютно везде, где float/real это float (был даже сайт, где приведены выхлопы на нескольких десятках языков и почти везде это поведение идентично, но я его давно потерял). В питоне, кстати, тоже:
> ~ $ py 127
> Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> 0.1+0.2
> 0.30000000000000004
> >>> 0.3+0.3+0.3+.1
> 0.9999999999999999
Кто придумал их называть "неточными"?

Искаропки дробные числа это int с выделенной дробной частью разве что в 1С (по понятным причинам: в 99,9% случаев в 1С дробное число это некая сумма денег). Ну и, вроде, в Паскалях была фишка, позволявшая так определить тип, но я её быстро не вспомню.
Аноним 15/01/23 Вск 07:17:31 #368 №2574375 
1673756230181.jpg
>>2574286
> в Паскалях была фишка
Ты бы еще КОБОЛ вспомнил.
Аноним 15/01/23 Вск 11:22:18 #369 №2574445 
>>2574286
В фортране ещё такое есть.
Аноним 15/01/23 Вск 12:36:54 #370 №2574480 
image.png
Уже несколько раз читаю: https://docs.djangoproject.com/en/4.1/topics/db/queries/#spanning-multi-valued-relationships и не могу понять, почему на пикриле запросы one, three, four работают адекватно, а two выдаёт дубликаты? Почему в two второй фильтр по году не работает?
Аноним 15/01/23 Вск 15:32:05 #371 №2574665 
>>2573979
о, а подскажи, пожалуйста, нужно ли использовать asyncio:
5+ аккаунтов отправляют запросы пачками по 5 штук, при этом между пачками рандомные искусственные задержки, чтобы не триггерить флуд детектор сервера.

Я сначала юзал обычный цикл с таймерами, а сейчас хочу расшириться и заюзать asyncio. Но чет читаю книгу и начинаю думать что это "из танка по воробьям"
Аноним 15/01/23 Вск 17:14:07 #372 №2574775 
1.jpg
2.jpg
3.jpg
Отака хуйня, малята. Учитесь!
Аноним 15/01/23 Вск 17:22:10 #373 №2574790 
>>2572768
>>2572769
>>2572772
Душил я ентого вашего пистона....
Странно, сейчас всё заработало. Как так???
Может с кэшированием интерпретатора было что-то.. Только пробел поставил между i и s - заработало..
Аноним 15/01/23 Вск 17:40:29 #374 №2574818 
>>2574775
Заебись. Писатели pep8 будут вертеться в гробах. Есть расширение, которое знаменяет операторы питона на русские альтернативы. Будет: из sys доставить argv, класс, функ, для, в, и, вернуть и т.п.
Аноним 15/01/23 Вск 17:41:46 #375 №2574821 
>>2574818
import sys as система
>>2574775
открыть = open

Без этого нещитово.
Аноним 15/01/23 Вск 17:43:38 #376 №2574827 
>>2574821
Либ там не было, но может уже добавили.
Аноним 15/01/23 Вск 18:09:11 #377 №2574868 
>>2574775

раскладку заебешься менять
Аноним 15/01/23 Вск 18:33:08 #378 №2574906 
>>2574775
чё это за хрень?? Очередная 1С-ная хуета?
Аноним 15/01/23 Вск 18:44:20 #379 №2574919 
Есть книги по питону, может кто возьмёт за 3к?
Аноним 15/01/23 Вск 18:44:20 #380 №2574920 
>>2574775
Ну, в целом норм, глаз не рвёт. Немного непривычно только, да раскладку, поди, заёбывает переключать.
Аноним 15/01/23 Вск 18:44:49 #381 №2574921 
>>2574906
Питухон жы
Аноним 15/01/23 Вск 19:13:18 #382 №2574951 
>>2574921
Разве какой-нить C++ нельзя полностью на русский переписать?
Аноним 15/01/23 Вск 19:22:40 #383 №2574975 
16445208124-abrakadabra-fun-p-aska-yevangelion-na-avu-10.jpg
>>2574951
Вангую гигапроблемы с аской.
Аноним 15/01/23 Вск 20:46:17 #384 №2575059 
>>2574920
>>2574868

Зато читаемость выше и не заёбывает на английский переводить и придумывать английские имена.
Аноним 15/01/23 Вск 21:16:39 #385 №2575115 
>>2574951
Можно, из исходников. Переделывать дохрена текста (лексичекие анализаторы) +учесть оптимизации логики (а она вся заточена под ASCII скорее всего) + переделать колпилятор + линкер )))

мимо писал когда-то компиляторы + интерпретаторы
Аноним 15/01/23 Вск 21:22:48 #386 №2575129 
Аноны, хочу на питоне ворваться в геймдев. Я знаю что он медленный и будет мало фпс, но я задумал нетребовательный проект - смесь rpg как to the moon и визуальной новеллы, надеюсь тут проблем с фпс не возникнет. Возможно ли реализовать такое на pygame, renpy?
Или лучше сразу делать в юнити? Я в юнити не шарю
Аноним 15/01/23 Вск 21:47:47 #387 №2575164 
>>2575129
возможно. На любом языке программирования.
Аноним 15/01/23 Вск 21:54:32 #388 №2575172 
>>2574919
Нахуй? 3к дохуя так-то, я и в интернетах поищу за бесплатно
Аноним 15/01/23 Вск 21:54:35 #389 №2575173 
>>2575129
вкатывайся сразу в юнити. велосипедить игры с нуля - это не для вкатывающихся, а для скучающих миддлов-сеньоров. на порядок сложнее, чем на движке
Аноним 15/01/23 Вск 21:58:19 #390 №2575181 
>>2575129
Логику можешь описывать на любом языке. Проблема фпсов исключительно в 3д графонии, который насаживают на эту логику.
Аноним 15/01/23 Вск 22:16:29 #391 №2575204 
>>2575172
Так я для начинающих рекомендую, к тому же не одна книга за 3к,а все
Аноним 15/01/23 Вск 22:26:45 #392 №2575219 
>>2575129
Если хочешь игры делать не требовательные, то лучше наверное в С# вкатываться.
Аноним 15/01/23 Вск 22:31:34 #393 №2575227 
>>2575219
на питоне то тоже можно писать и даже не хиленькие игры, хоть и не графонистые, но C# позволит всё то же самое и даже больше. И ипаться как в С++ так же не надо.
Аноним 15/01/23 Вск 22:37:49 #394 №2575234 
>>2575219
>>2575227
Шарп/кресты для прикручивания 3д нужны. У анона там текстовая аниме хуета и 2д модельки. Питона хватит.
Аноним 16/01/23 Пнд 02:30:36 #395 №2575385 
>>2575129
Выбирая язык для игр стоит ориентироваться в первую очередь на движки, которые наиболее тебе подойдут.

На питоне в первую очередь с движками проблема. Поэтому возможно придётся очень много своих велосипедов изобретать и это настолько напряжно может быть, что проще было бы реально в С++ вкатиться.

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

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

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

Геймдев в принципе те ещё говнокодеры и ничего, с++ используют
Аноним 16/01/23 Пнд 04:57:59 #396 №2575406 
>>2575129
> to the moon
Посмотрел. Если игра будет вся такая из квадратных анимированных спрайтов то думаю на pygame потянет.
Аноним 16/01/23 Пнд 07:03:44 #397 №2575439 
Аноны благодарю вас за советы, я все учту
Аноним 16/01/23 Пнд 10:39:30 #398 №2575606 
Как в питоне сделать массив двумерных массивов?
Аноним 16/01/23 Пнд 11:04:40 #399 №2575644 
>>2575606
numpy библиотека
Аноним 16/01/23 Пнд 13:28:50 #400 №2575911 
>>2568047 (OP)
чому шапка в треде проебалась?
Аноним 16/01/23 Пнд 13:40:06 #401 №2575932 
image.png
>>2570632
Аноним 16/01/23 Пнд 13:43:12 #402 №2575944 
>>2574775
Я видел такой код и он даже в целом бывает ничего... Но как-то...
Имена примитивов по-прежнему английские.
Некоторые переменные ("файлы_docx") даже внутри себя на разных языках... Вряд ли это упрощает работу.

> for строка in строки:
М-м... Вот тут возникает проблема, о которой я уже упоминал в отношении 1С, даже изначально на русском языке конструкция "новый строка" коробит.
Если на английском
> strings = f.readlines()
> for string in strings:
это почти нативный текст, но на русском это выглядит так:
> строки = ф.прочитатьстроки()
> для строка в строки:
Хотя нативно должно быть что-то типа:
> для строки в строках:
Что нереализуемо. Я вообще рад бил бы писать и читать всё на русском, очень рад. Но это будет коробить всегда.
>>2575059
В принципе согласен, но только отчасти.
Читаемость всё-равно ограничена тем, что я упомянул выше, а переводить отдельные слова на английский и назад всё-равно приходится. Пусть даже ограничиваясь for, print и т.п.
Аноним 16/01/23 Пнд 13:49:11 #403 №2575958 
>>2575204
Тогда список. И город хотя бы (можно предположить, что Мск, конечно).
Но вообще учиться кодить по книгам в 2023 противопоказано. Есть неминуемый лаг: книга написана, отредактирована, получены лицензии и согласия, книга переведена, отредактирована на русском, передана в печать, отпечатана, развезена по магазинам, попала на полки.
Так вот, между "книга написана" и "книга на полке" уже вышла 1-2 новые версии языка. А тут ещё и полежала у анона.
Единственное, что, наверное, актуально это официальная документация, которую авторы писали плюс-минус одновременно с интерпретатором.
Аноним 16/01/23 Пнд 14:00:27 #404 №2575974 
>>2575129
>Я знаю что он медленный и будет мало фпс
Мдя.
Сразу: "медленнный" не означает именно "медленный", в 95% случаев это значит, что другая реализация будет быстрее, но это совершенно не связано с FPS. Потому что графикой будет заниматься Vulkan/Metal, а они рисуют быстро.
>смесь rpg как to the moon и визуальной новеллы
RPG-Maker тебе в помощь на самом деле. Хотя можешь и Ren'Py попробовать. Тут даже Unity2D это перебор.
>>2575227
>на питоне то тоже можно писать и даже не хиленькие игры, хоть и не графонистые
Насколько я знаю, основной код нынешних Sims написан на Python. Ясен орган, что это про логику в core-части, а графон сделан отдельно и ничего. Сейчас не времена Кармака, никто не пишет графику сам.
>>2575234
>Шарп/кресты для прикручивания 3д нужны.
Не нужны. Ты подключаешь либу и просишь её отрисовать графику, вызовы будут одни и те же для всех языков.
Аноним 16/01/23 Пнд 14:06:15 #405 №2575977 
>>2575606
> >>> x=2
> >>> y=2
> >>> z=2
> >>> arr = [[['0' for i in range(x)] for j in range(y)] for k in range(z)]
> >>> arr
> [[['0', '0'], ['0', '0']], [['0', '0'], ['0', '0']]]

Или тебе надо что-=то ещё?
Аноним 16/01/23 Пнд 14:18:23 #406 №2575989 
>>2574139
Можно пример приложения с кодом? Хотелось бы понять, как оно в жизни и где работает.
Например, можно ли написать мультиязычный Qt-гуй?
Аноним 16/01/23 Пнд 14:20:34 #407 №2575992 
>>2575974
>Насколько я знаю, основной код нынешних Sims написан на Python.
ну это многое объясняет.
Аноним 16/01/23 Пнд 14:42:50 #408 №2576026 
>>2575977
Есть несколько двумерных массивов разных размеров. Вот это нужно обьеденить в один большой трехмерный массив.
Аноним 16/01/23 Пнд 14:45:05 #409 №2576030 
>>2576026
для работы с массивами нужно осваивать nunpy.

это во первых многое упрощает, во вторых гораздно быстрее, ибо nunpy на С работает
Аноним 16/01/23 Пнд 14:50:19 #410 №2576036 
>>2576026
>>> x=2
>>> y=2
>>> arr1 = [['0' for i in range(x)] for j in range(y)]
>>> x=3
>>> y=4
>>> arr2 = [['0' for i in range(x)] for j in range(y)]
>>> arr=[]
>>> arr.append(arr1)
>>> arr.append(arr2)
>>> arr
[[['0', '0'], ['0', '0']], [['0', '0', '0'], ['0', '0', '0'], ['0', '0', '0'], ['0', '0', '0']]]

Такое? Возможно, можно написать лаконичнее.
Аноним 16/01/23 Пнд 14:55:01 #411 №2576046 
>>2576036
Это изврат, не стоит таким заниматься. Курите nunpy.

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

Лучше потратить пол денька на чтение документации nunpy и просмотра видео и лишить себя этой головной боли раз и навсегда, не считая того, что её осваивать всё равно обязательно
Аноним 16/01/23 Пнд 14:57:10 #412 №2576050 
>>2576046
Блядь, заебал.
Язык умеет дохуя всего искаропки и умеет удобно и безо всякого "курения". Если есть аргументы и код, давай их сюда, тогда будет, что обсуждать. А вот это вот "нитак делавете" безпруфное -- засунь себе в жопу.
Аноним 16/01/23 Пнд 14:57:55 #413 №2576054 
>>2576046
>>2576030
Ну у меня двумерные массивы и так нумпаевские. Я прост не знаю, как всё это в один большой объеденить
Аноним 16/01/23 Пнд 15:01:49 #414 №2576063 
>>2576054
https://proproprogs.ru/modules/numpy-obedinenie-i-razdelenie-massivov
>>2576050
На питоне из под "коробки" массивов тупо нет. Списки эммулируют их работу, и эммулирают крайне неэффективно. nunpy это всё тот же питон из под коробки, которые добавляет в него именно, что массивы. Есть ещё модуль array.
Аноним 16/01/23 Пнд 15:03:40 #415 №2576070 
>>2576054
https://numpy.org/doc/stable/reference/generated/numpy.ndarray.flatten.html
Аноним 16/01/23 Пнд 15:05:04 #416 №2576076 
>>2576050
И если кодить из под коробки на питоне, то он будет раз в 50-100 медленнее, чем С++
Если использовать модули типа нанпая и прочие, написанные на С,
то можно сократить оставание аж до в 5-10 раз медленнее
Аноним 16/01/23 Пнд 15:55:09 #417 №2576142 
>>2575989
На втором скрине пример. Просто локализуемые строки оборачиваешь в _() и все.
Аноним 16/01/23 Пнд 15:58:01 #418 №2576146 
>>2576063
>На питоне из под "коробки" массивов тупо нет. Списки эммулируют их работу, и эммулирают крайне неэффективно
Хоть понял шо сказал?
Аноним 16/01/23 Пнд 16:17:33 #419 №2576171 
>>2576076
>И если кодить из под коробки на питоне, то он будет раз в 50-100 медленнее, чем С++
Это не совсем правда, только численных операций. Чем выше уровень того, с чем ты работаешь, тем меньше разница. А ещё есть numba и pypy, с pypy иногда питон-код может быстрее C/C++ в режиме -O3 стать. Реально. Но обычно чуть слабее.
Аноним 16/01/23 Пнд 17:14:26 #420 №2576252 
>>2576076
Замерил, как быстро питон искаробочными решениями решает судоку 30×30.
> py sudoku.py 0,27s user 0,00s system 99% cpu 0,274 total
Четверть секунды. (12×12 за 0,040с) За это время происходит уйма всего, в числе прочего - неизбежный охуялиард проходов по всей таблице в разных направлениях. Визуально же это выглядит как почти мгновенно появившиеся после нажатия Enter две таблицы.

На самом деле я уверен, что переписывание на numpy в принципе ничего кроме геморроя не даст.

А, если, например, речь о бэкэнде, то вообще любые вычисления вообще -- спрячутся за сетевыми задержками.

Я за оптимизацию, но категорически против оптимизации и горожения огородов только ради оптимизации.
Аноним 16/01/23 Пнд 17:21:29 #421 №2576258 
>>2576252
>судоку
Где решается этот судоку? В десктопном приложении на компе клиента или на сервере?
Если на сервере то какая там нагрузка (rps)?

все познается в сравнении
Аноним 16/01/23 Пнд 18:02:34 #422 №2576308 
>>2576252
С нампаям намного проще работать на самом деле.
Переписать можно просто ради практики, что бы отработать nunpy.
Но там такие вещи как переворот массива, его разделение, нахождение данных допустим по диаганали решается намного проще и в плане кода, ну и влане скоростей на порядки выше
Аноним 16/01/23 Пнд 18:07:12 #423 №2576312 
>>2576308
если в питоновском массиве пытаться найти чисто числа по координатам [2] условно, то это будет работать просто через жуткие костыли.
в numpay это [:,2]
И он из массива
0 1 2 3
4 5 6 7
8 9 0 1
быстро выпишет 260
Аноним 16/01/23 Пнд 18:11:28 #424 №2576316 
>>2576146
Да, на питоне без импортов нет массива.
Создание матрицы через list хоть и можно использовать как массив, но это именно, что его эмуляция.
list в питоне это упорядоченная коллекция.
Они хороши, когда тебе что то туда нужно положить и после сверху же взять, тогда будут работать быстро. Но использовать их как массив это как крайне плохой эмулятор, когда у тебя игры на денди будут лагать на 4090
Аноним 16/01/23 Пнд 18:18:56 #425 №2576322 
>>2576054
np.stack()
Аноним 16/01/23 Пнд 18:31:32 #426 №2576332 
Вопрос такой, собираюсь сделать проект для себя, фронт выбрал vue, а вот с беком думаю между джангой и fastapi, опыт с питоном есть, а фреймворков нет, проект по сути блог, там будет сайт с игрульками, то есть пост про игрульку, ее описание, ссылка на скачивание и тд, что лучше использовать?
Аноним 16/01/23 Пнд 18:46:05 #427 №2576347 
2023-01-16214441.jpg
почему в множестве получается 4 элемента, ведь там range от 1 до 6 вроде в итоге должен быть?
Аноним 16/01/23 Пнд 18:52:14 #428 №2576359 
>>2576347
на пейчаре 5 элементов.
Аноним 16/01/23 Пнд 18:55:04 #429 №2576368 
>>2576347
До пяти. У тебя инт отбрасывает всю хуйню после точки.
Отсюда и четыре элемента.
Аноним 16/01/23 Пнд 18:56:01 #430 №2576371 
>>2576332
Имхо джангу ковыряй.
Аноним 16/01/23 Пнд 18:59:41 #431 №2576377 
>>2576368
так там нету нихуя после точки, 125 в степени 1/3 это ровно 5.0, и еще плюс единица
Аноним 16/01/23 Пнд 19:05:11 #432 №2576384 
image.png
>>2576377
Так поэтому блядь и ровно 5, потому что у тебя int, балбес.
Прибавь к полученному единицу и заверни в int.
Если после этого не поймёшь, то мы вам перезвоним.
Аноним 16/01/23 Пнд 19:06:22 #433 №2576387 
image.png
>>2576377
> >>> 5 * 0.3333333333333333333333333333333
> целое число
Аноним 16/01/23 Пнд 19:13:12 #434 №2576397 
2023-01-16220759.jpg
>>2576384
>>2576387
конечно целое, ведь это же просто корень кубический из 125
Аноним 16/01/23 Пнд 19:15:30 #435 №2576401 
>>2576377
float не является точным способом вычесления и у него всегда могут быть погрешности в 0.00000000000001
мало, могут оказывать сильное влияние на подобные коды.
У меня на пейчаре работает нормально и ровно 5.0, но у меня 3.10, а на сайте 3.6. С разными версиями могли внести правки.

Но с флоат всегда такие ошибки могут встречаться, это связанно с самим float при этом, а не языками
Аноним 16/01/23 Пнд 19:17:51 #436 №2576407 
Стикер
>>2576406
Мне
- >>2576401
Аноним 16/01/23 Пнд 19:17:58 #437 №2576408 
>>2576397
python -V напиши и сюда закинь.
Аноним 16/01/23 Пнд 19:17:59 #438 №2576409 
>>2576406
Никому, в сложное время живем.
Аноним 16/01/23 Пнд 19:22:20 #439 №2576419 
2023-01-16222205.jpg
>>2576408
>python -V
Аноним 16/01/23 Пнд 19:25:03 #440 №2576423 
>>2576419
С 3.9 вроде бы это исправили
Аноним 16/01/23 Пнд 19:28:21 #441 №2576426 
>>2576419
Тебе надо алгоритм переписать полностью или закостыль раунд или сейл после инта int(round(expression))
Аноним 16/01/23 Пнд 19:34:06 #442 №2576434 
>>2576332
> с беком думаю между джангой и fastapi
> по сути блог, там будет сайт с игрульками, то есть пост про игрульку, ее описание, ссылка на скачивание и тд
При таком выборе - Джанга. Полюбому. Можно ещё Фласк посмотреть в принципе, но для сайта-блога он плюшек не даст считай.
FastAPI даст выхлоп, если ты решишь добавить промежуточное звено и бэк отделить от клиента (в этом случае ты смог бы написать общий бэк и разных клиентов к нему, например, сайт и отдельно мобильное приложение). Но это усложнение на ровном месте.
Аноним 16/01/23 Пнд 19:35:24 #443 №2576437 
>>2576434
Какой инструмент прикрутить к джанге для лендинга?
Аноним 16/01/23 Пнд 19:46:41 #444 №2576447 
>>2576406
https://0.30000000000000004.com/
>>2576401
Он прав.
Аноним 16/01/23 Пнд 19:57:17 #445 №2576461 
>>2576437
В смысле чем её раннить?

Если так, то я в своё время сделал по манам из интернетов связку из supervisor и gunicorn и поместил их за nginx (nginx взял на себя SSL и статику), тогда это считалось эталоном. Но времени прошло немало, я тот проект уже давно не поддерживаю (хотя конфиги и связка сохранились, если надо).

Сейчас я пишу на FastAPI, запускаю его через uvicorn, который запихиваю в Docker, когда продукт будет готов к проду -- размещу его в serverless-облаке, пусть об остальном у облака голова болит.
Аноним 16/01/23 Пнд 21:02:14 #446 №2576531 
>>2576461
Спасибо за инфу.
Было бы любопытно и полезно посмотреть, закинь, плиз, на почту creepy_[email protected] либо гит либо ту дату, которую сочтешь приемлемой.
Аноним 16/01/23 Пнд 21:04:06 #447 №2576532 
изображение2023-01-17010353249.png
Гайс, вкатываюсь в программирование, просто учить - скучно. Хочется сделать что-то интересное для себя.
У меня есть идея для пет-проджекта - сделать прогу, сохраняющую сообщения с чата твича, после чего можно будет анализировать их.

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

Пока набросал для себя такой план (см. пикчу)

Будет ли норм, если что-то я буду подворовывать/подсматривать в других проектах, или лучше самому пытаться долбиться до конца?
Аноним 16/01/23 Пнд 21:13:53 #448 №2576540 
>>2576532
toohadrd2you

Сначала наработай базу: dto, работа со списками (найти, скипнуть, сгруппировать, преобразовать), лямбды, исключения, форматы даты и времени (соберешь граблей), потоки, а потом уже лезь наверх (сеть, сериализация и тэпэ)
Аноним 16/01/23 Пнд 21:14:55 #449 №2576542 
Screenshot80.jpg
Screenshot81.jpg
Сколько я пытался пройти и всегда попадались какие то страные пару неправильных ответов на 200 рандомных тестов и я хз в чём могла быть ошибка. Ну почитал комменты и многие на это жаловались, надо было тыкать, пока не сработает проверка рандома. Надо в таких случаях почаще в комменты лезть
Аноним 16/01/23 Пнд 21:15:33 #450 №2576543 
Аноны как использовать лямбду в генераторе списков?
list1 = [1,2]
list2 = [lambda x: x+1 for x in list1]

Эта хуйня возвращает список функций лямбды. Как сделоть?
Аноним 16/01/23 Пнд 21:18:51 #451 №2576545 
>>2576543
Разве x+1 без лямбды это не есть та самая лямбда, которая просто писать не надо? Так-то выходит, что ты вызываешь лямбду от лямбды
Аноним 16/01/23 Пнд 21:22:32 #452 №2576548 
>>2576544
>>2576545
Напрягая булки и пытаюсь ПОНЯТЬ лямбду, пока, как видите, не особо получается.
В данном случае я пихаю лямбду во все дырки какие могу вспомнить в целях обучения боем, так сказать, в данном случае я хотел чтобы лямбда мне прибавляла единичку к каждому значению из list1
Аноним 16/01/23 Пнд 21:25:01 #453 №2576553 
Screenshot82.jpg
>>2576548
для прохода списка через лямбду нужно использовать map
Аноним 16/01/23 Пнд 21:26:25 #454 №2576555 
>>2576553
Да это я уже делал, я думал в генераторе [] можно.

>>2576552
Ну ясно. Всё равно как вижу лямбду в чужом коде ловлю бсод ирл.
Аноним 16/01/23 Пнд 21:26:46 #455 №2576556 
>>2576531
Ахуеть, оно живое.

По крайней мере на локалхосте, где всё тестировалось до деплоя.
https://goonlinetools.com/snapshot/code/#yrhp5stg5ujvnbitu41jom

С FastAPI всё куда проще и лаконичнее, даже возиться в пастами лень:
> $ cat Dockerfile
> FROM python:3
> COPY . /pr/
> WORKDIR /pr/
> RUN pip3 install --requirement requirments.txt
> EXPOSE 8000
> CMD uvicorn main:app --host 0.0.0.0
> $ cat requirments.txt
> fastapi
> uvicorn

Вынужден предупредить, что это всё прям ни разу не было обязано держать хайлоад, так что настройки уровня "норм работает". Потом его могли ещё тюнить админы.
Аноним 16/01/23 Пнд 21:27:01 #456 №2576557 
>>2576543
list2 = [(lambda x: x+1)(x) for x in list1]
Аноним 16/01/23 Пнд 21:27:42 #457 №2576558 
>>2574480
Рискну предположить что второй .filter делает отдельный join и соответственно перемножает декартово результаты первого фильтра второй раз.
А вообще можешь сам посмотреть SQL и не ебать жсоноукладчикам мозг.
Аноним 16/01/23 Пнд 21:32:38 #458 №2576563 
>>2576555
>Ну ясно. Всё равно как вижу лямбду в чужом коде ловлю бсод ирл.

любая лямбда может быть выражена как def пук(аргументы_лямбды): return тело лямбды строчкой выше и использованием функции пук как переменной, где ожидается функция
Аноним 16/01/23 Пнд 21:33:44 #459 №2576565 
>>2576556
Спасибо, няша. Как дома буду - обязательно посмотрю.
Аноним 16/01/23 Пнд 21:35:20 #460 №2576570 
>>2576556
Да, добавлю. Команд для управления Jango, увы, не сохранилось, так что я не помню, как оно там что собирает.

Уехало это когда-то поднятое в таком виде, с тех пор я проекта в глаза не видел. Ни до, ни после Джангу не трогал, не пришлось.
Аноним 16/01/23 Пнд 21:50:26 #461 №2576580 
>>2576548
В данном случае тебе нужно понять разницу между функцией и выражением. И что из них ожидает увидеть синтаксис в конкретном месте.
Аноним 16/01/23 Пнд 21:52:29 #462 №2576583 
>>2576580
Даже ещё, разницу между определением функции и её вызовом.
Аноним 16/01/23 Пнд 21:59:11 #463 №2576588 
image.png
IMG20230116215623.jpg
IMG20230116215702.jpg
>>2576543
Аноним 16/01/23 Пнд 23:30:27 #464 №2576626 
>>2576548
Кстати, присоединюсь!

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

>>2576588
Например, тут вместо лямбды ровно с тем же успехом можно было бы объявить обычную функцию. Да и понять бы, что оно делает было бы проще, я пока несколько раз не прогнал не понял, как это работает, что всегда недостаток, но для питона ещё и умножение на ноль его естественных преимуществ.
Аноним 16/01/23 Пнд 23:42:48 #465 №2576633 
>>2576626
Они не нужны, но иногда удобно если функция короткая и ей нет смысла придумывать отдельное название. Типичный пример
sorted(dict.items(), key=lambda kv: -kv[1])
Аноним 16/01/23 Пнд 23:43:12 #466 №2576634 
>>2576626
>накой они нужны
map reduce filter
В пистоне с 3.2(?) уже не особо нужны, когда компрехеншены добавили и самые популярные юзкейсы для редьюс, типа sum(). Редьюс после этого вообще в функтулс сослали.
Аноним 17/01/23 Втр 00:01:02 #467 №2576639 
>>2576626
Что бы не писать функции однострочные, захламляя им код.
Аноним 17/01/23 Втр 00:16:18 #468 №2576650 
>>2576552
> Лямбда это просто однострочная функция, ... , просто инструмент, который иногда может быть удобен.
>>2576639
> Что бы не писать функции однострочные, захламляя им код.

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

>>2576634
>map reduce filter
Генераторы и итераторы понял давно, а вот с map и filter не всё так легко. Сделаю ещё один наскок... завтра же.
Аноним 17/01/23 Втр 00:34:46 #469 №2576653 
Screenshot85.jpg
>>2576650
Работа с некоторыми фишками просто начинается с "Озарения".
Если не знаешь где их использовать и не чувствуешь, что они тебе необходимы, ну оставь пока-что. Если сейчас активно учишься, то всё равно есть лимит знаний который можешь переварить за определённое время.
Потом разок увидишь, что тут лучше лямбду использовать, потом у кого-то подсмотришь и увидешь, что он через лямбды реализовал твой алгоритм просто намного красивее и тут же придёт в голову где в своём коду их прописать. А так пока можешь запомнить как их использовать в map-freduce-filter и не париться дальше.
Аноним 17/01/23 Втр 00:36:37 #470 №2576655 
>>2576653
ну и в ключах ещё
Аноним 17/01/23 Втр 02:15:46 #471 №2576677 
>>2576626
>Меня давно и очень сильно интересует, накой они нужны.

в 97,5% случаев использую в качестве аргумента key для функции сортировки

> sorted(student_objects, key=lambda student: student.age) # sort by age
Аноним 17/01/23 Втр 02:17:07 #472 №2576679 
>>2576639
>Что бы не писать функции однострочные, захламляя им код.

проблема лямбд в том, что их очень любит кушоть сборщик мусора, и передавая куда-то лямбду часто вместо лямбды передаётся хуй за щеку
Аноним 17/01/23 Втр 02:35:29 #473 №2576681 
1673912187170.jpg
>>2576650
Просто бывают функции в стандартной библиотеке и в других местах, где одним из аргументов передается функция. Иногда эта функция очень простая и ее удобнее записать лямбдой. Можно не писать лямбдой, а придумать имя и написать def строкой выше. Это тупо вопрос форматирования кода.
Аноним 17/01/23 Втр 03:59:00 #474 №2576696 
>>2576679
Чё несёшь, лол
Приводи пример давай
Аноним 17/01/23 Втр 05:11:36 #475 №2576706 
>>2576696

эвент менеджер, регистрирующий коллбэки через weak references
events.subscribe('back', lambda: print('pook'))
лямбда удалится после выхода из events.subscribe
Аноним 17/01/23 Втр 09:12:42 #476 №2576763 
>>2576706
Так лямбда отработает в твоём примере, а анон просит пример в соответствии с твоим утверждением, что лямбда передаст хуй вместо отработки.
Аноним 17/01/23 Втр 12:19:10 #477 №2576917 
image.png
>>2576316
Хочешь в задротские игры поиграть?
Что значит "когда тебе что то туда нужно положить и после сверху же взять"? Если возьму "не сверху" будет плохо браться?
Аноним 17/01/23 Втр 12:46:21 #478 №2576953 
>>2576763
https://pastebin.com/3qz0p7Ge
Вот накидал хуйню с коллбеками, у меня при вызове показало все 4, включая ту которую я добавлял через отдельную функцию (TWO). Что сделать чтоб сборщик мусора ебнул лямбду?
Аноним 17/01/23 Втр 13:36:50 #479 №2577000 
>>2576953
> вызове показало в
Лямбда освобождает память после вызова. Ты в своём коде посмотри ID лямбд и покрути их в своём окружении, каждый раз новая ячейка памяти.
Аноним 17/01/23 Втр 19:37:41 #480 №2577522 
>>2576763
> Что сделать чтоб сборщик мусора ебнул лямбду?

например вот это:
https://www.online-python.com/hySUJr4PQI
Аноним 17/01/23 Втр 19:55:27 #481 №2577552 
1673974527429.png
>>2568047 (OP)
Посоветуйте какой-нибудь интерпретатор адекватный под винду, чтобы в консольке к примеру автокомплишн работал. Я знаю что есть у красноглазиков много такого есть, но я то спермохлёб.
Суть в том что я очень часто пользуюсь консолькой чтобы проверить как что-то работает в питоне. Просто потому что мне лень пользоваться идешкой для такого и через консольку кажется что будет быстрее. Просто жму win+r -> cmd -> py -> в бой.

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

Vim'ом не хочу пользоваться, он какой то ебанутый абсолютно. Я не знаю какой больной мудак придумывал ему хоткеи.
Аноним 17/01/23 Втр 19:55:27 #482 №2577553 
>>2576706
>weak references
А теперь попробуй без weak
Потому что в питоне всё построено на счётчиках ссылок. Если ты куда-то передаёшь лямбду, пока ты на неё можешь сослаться, то она существует в виде ссылки, соответствующий счётчик ненулевой, объект не может быть удалён.

Эта логика работает со всеми объектами вообще.

Если ты их хранишь в WeakSet разных, ты злой буратино. Weak объекты как раз для того, чтобы можно было удалить то, что в них хранится. Их специально так делали, чтобы память не текла.
Аноним 17/01/23 Втр 19:58:02 #483 №2577559 
>>2577553
> попробуй без weak
а мне нужно с weak
Аноним 17/01/23 Втр 19:59:25 #484 №2577564 
>>2577552
вскод + джупайтер ноутбук самый топ для такого ковыряния
Аноним 17/01/23 Втр 20:01:35 #485 №2577567 
>>2577564
Вкурсе про них, но вскод еще и запустить надо. Мне просто доставляет легковесную консольку открыть просто потому что моча в голову ударила, а не сидеть с вскодом открытым всегда даже когда я ничего не пишу. А если еще и какой-то проект у вскода был открыт до этого, то придется каждый раз ждать пока он прогрузится, venv, git, вся хуйня, в общем время займет.
Аноним 17/01/23 Втр 20:06:56 #486 №2577576 
>>2577552
И ещё вопрос: можно ли "одноразовый" venv использовать в питоне? К примеру я хочу затестить библиотеку, но не хочу создавать отдельную папку, накатывать venv туда, устанавливать внутрь эту библу. Но и глобально не хочу устанавливать. Есть ли инструмент для одноразовой установки и теста библиотек? К примеру чтобы с перезапуском консоли/компа все что ты накачал удалилось?
Аноним 17/01/23 Втр 20:55:20 #487 №2577621 
>>2577576
Создай папку в /tmp/
На самом деле вопрос секунд, так что не вижу смысла экономить.
Аноним 17/01/23 Втр 21:29:13 #488 №2577652 
15876796790982.jpg
>>2577576
всё равно вскод

открываешь в чистой папке через контекстное меню проводника → креэйт энвайронмент (venv/conda) → терминал → pip install pooksrenk → new (python/notebook) file → играешься

это секунды делается
Аноним 17/01/23 Втр 23:59:30 #489 №2577803 
>>2577567
Тогда просто jupyter и запускай через локалхост и пусть висит, понадобится - поработаешь, не понадобится - выключится с комплуктером.
Аноним 18/01/23 Срд 00:03:52 #490 №2577807 
>>2577576
Я бы сделал мусорный тестовый venv через poetry. Активировал окружение, протестил либу, удалил либу и иди дрочи налево и направо. Очень странные вопросы.
Олсо погугли disposable venv, там ссылка на гит есть.
Аноним 18/01/23 Срд 00:26:24 #491 №2577825 
>>2577576
>Есть ли инструмент для одноразовой установки и теста библиотек?
nix
Аноним 18/01/23 Срд 10:35:40 #492 №2578053 
>>2577559
Перевожу:
я удаляю объект, а потом сру на питон за то, что он объект удалил
Аноним 18/01/23 Срд 10:58:15 #493 №2578084 
>>2578053
но я не сру на питон. но спасибо за ценный совет не использовать то, что мне нужно использовать
Аноним 18/01/23 Срд 11:40:26 #494 №2578123 
Сап двач , аноны подскажите:

Я написал парсер на пайчарме , предварительно создав проект в Virtuallenv. Теперь мне необходимо запустить его вне пайчарма.

Сначала пробовал просто через установленный интерпретатор.

Потом попробовав запустить через консоль и увидел пикрил.

Почесав жёпу , я вспомнил что модули проектов Virtuallenv устанавливаются "локально" , для каждого проекта своя оболочка.

Пробовал ради интереса, закинуть в переменную PATH путь к библиотекам - ожидаемо соснул

Пробовал создать из файла екзешник - ожидаемо соснул x2
Так вот вопрос :
Неужели все Virtuallenv проекты можно запустить только через IDE? Или есть другой вариант?

P.S. Если только через IDE , то нахуй virtuallenv вообще нужен?
Аноним 18/01/23 Срд 11:41:16 #495 №2578125 
Снимок экрана 2023-01-18 112829.png
Быстро фикс
Аноним 18/01/23 Срд 11:50:17 #496 №2578144 
>>2578132
а если необходимо запустить через рабочий стол? Ну или через любое другое место на диске , не юзая консоль?
Аноним 18/01/23 Срд 11:56:47 #497 №2578149 
>>2578123
Ну так сделай ярлык или бат-файл, в нём пропиши базовый путь, активируй венв и запускай скрипт.
Аноним 18/01/23 Срд 12:21:52 #498 №2578181 
>>2578144
Типа экзешник ты хочешь сделать или что?
Аноним 18/01/23 Срд 12:38:57 #499 №2578200 
>>2577522
Но ведь ты сам слабые ссылки на них понавесил...
Аноним 18/01/23 Срд 12:44:27 #500 №2578206 
Пацаны, есть таблица в БД где указано имя файла (путь где его найти на диске) и время его создания, все пути по идее валидны. Крон раз в день ходит по этой таблице и удаляет из нее все записи которые старше 1 недели. Естественно помимо записей он должен и удалить сами файлы, чтоб не лежали мертвым грузом на диске, но как это правильно сделать?

Вот допустим я сначала почистил записи в БД и пошел удалять файлы, но тут хуякс - и какая-то ошибка, очевидно я сделаю rollback на транзакцию и выйду. Либо можно сначала удалить файлы а потом идти удалять записи, но тогда как сделать rollback? Хер там. Как в принципе подобные задачи решать?
Аноним 18/01/23 Срд 13:00:27 #501 №2578233 
>>2578181
Ну да , разве что хотелось бы решить проблему с путями , типо когда скрипт через ярлык запускаешь , в командах надо указывать абсолютный путь ,а он на разных пк различается
Аноним 18/01/23 Срд 13:04:01 #502 №2578241 
>>2578233
Напиши скрипт, который будет искать твой путь.
Аноним 18/01/23 Срд 13:04:24 #503 №2578243 
Подскажите , есть способ получить значения из переменных внутри скрипта в консоли?
Аноним 18/01/23 Срд 13:17:03 #504 №2578267 
>>2578123
>вне пайчарма

>venv\Scripts\activate
>python main.py
>deactivate
Аноним 18/01/23 Срд 14:27:35 #505 №2578329 
>>2578206
У тебя первый вариант самый правильный, если атомарная транзакция по чистке записей отношения завершилась успешно, то тогда запускается скрипт по удалению файлов. Можешь временно перед удалением удаляемые пути заносить куда-нибудь в лист или дикт, чтобы по нему потом пройтись.
Аноним 18/01/23 Срд 17:41:25 #506 №2578658 
Подкиньте идею, плиз.
Есть таблица. Через микксин ListViewгенерируется станичка со списком данных записей, одно из значений поля я обрабатываю респонзами (поле ip) и накидываю в jinja через context.
Поймал себя на мысли, что я долбоеб, т.к. каждый заход на страницу со списком у меня response пробегает по всему полю ip и страница грузится от 10секунд. Что можно сделать, кроме очевидного расширения количества полей, анонсы?
Аноним 18/01/23 Срд 18:58:04 #507 №2578825 
>>2578084
О. Чувак освоил лямбды, но всё ещё не словил второго озарения программиста...
Первое, эйфорическое и весьма интимное, ловишь, когда "ух ты, компьютер исполняет мои приказы! Я написал и он сделал, что я прошу!!!"
А второе -- куда более печальное, когда понимаешь "Компьютер делает не то, что я хочу, а то, что я прошу... Оказывается, просить нужно правильно, а это сложно".
Аноним 18/01/23 Срд 20:25:53 #508 №2578910 
>>2578243
Есть print() и есть отладчик IPDB.
Отладчиком пользоваться так:
import ipdb; ipdb.set_trace()
Вставляешь эту строку в нужном месте в скрипт. Скрипт остановится в этом месте и выпадет в отладчик. Дальше можно смотреть локальные переменные и много чего еще.
Аноним 18/01/23 Срд 21:32:53 #509 №2578994 
Сап двач , нужен совет


Есть проект с виртуальной оболочкой и установленной в неё библиотеками. Заказчик не хочет устанавливать библиотеки через pip install -r requirements.txt , хочет чтобы все открывалось двумя щелчками. Так вот вопрос:

Как создать екзешник который сразу же запустит venv и скрипт?
Аноним 18/01/23 Срд 21:57:52 #510 №2579019 
Image 345.png
Поясните вот за какую хуйню. Удаляю EXIF информацию с помощью подушки, копируя только данные самого изображения, но на выходе изображения сильно теряют в размере - с 5 Мб до 600 Кб.

Какого хуя? Я же просто беру данные из одного файла и помещаю их в другой. На каком этапе у меня потеря качества идет?
Аноним 18/01/23 Срд 22:10:02 #511 №2579029 
>>2579019
По идее метод save перекодирует. Ты же можешь вообще в любой формат сохранить.

С метаданными иначе работают, сейчас не скажу как.
Аноним 18/01/23 Срд 22:24:30 #512 №2579043 
>>2579029
>С метаданными иначе работают, сейчас не скажу как.
Как? Даже есть какие-то другие способы удалить метаданные, то тебе по итогу все равно надо будет сохранять изображение, которое пожмется.
Аноним 18/01/23 Срд 22:24:47 #513 №2579044 
Поясните, нахуй нужно использовать pathlib, если я могу указать путь просто от корня приложения? Хоть оно у меня на локалке крутится, хоть в кубере - абсолютные пути от корня аппа не меняются же.
Аноним 18/01/23 Срд 22:40:44 #514 №2579053 
>>2578200
ну да. и?
Аноним 19/01/23 Чтв 05:50:45 #515 №2579210 
Screenshot20230119074834.png
Screenshot20230119074945.png
Как перестать писать непонятный костыльный код? Понимаю назначение переменных и смысл циклов только пока программирую, стоит проверить задание/отойти на минуту - хуй пойму, что я накодил. Вот задачка и моё решение, нормально, или полное говно?
https://www.codewars.com/kata/54e6533c92449cc251001667/train/python
Аноним 19/01/23 Чтв 05:56:46 #516 №2579211 
>>2579210
Полное говно, даже если это работает.
Аноним 19/01/23 Чтв 07:25:07 #517 №2579230 
>>2579210

я по названию функции и аргумента понимаю, что она делает. для меня это хороший код

абстрактный код часто нечитаем. а матан всякий еще нечитаемей

куда проще, когда код делает что-то конкретное. просто адекватно именуешь переменные, и сразу понятно, что делает код
Аноним 19/01/23 Чтв 07:32:15 #518 №2579233 
>>2579210

так, падажжи! дерьмо код!

я думал, что он возвращает сиквенс уникальных значений в сиквенсе, сохраняя порядок (т.е. не тупо делает set(sequence))

тогда я бы назвал функцию как-то типа remove_repeating_items
Аноним 19/01/23 Чтв 07:40:55 #519 №2579234 
>>2579230
Программирование это логика. Если у тебя логика кода говно, значит и код говно.
Аноним 19/01/23 Чтв 07:54:07 #520 №2579239 
image.png
>>2579234
>>2579210
https://ideone.com/ukFiLa
Аноним 19/01/23 Чтв 08:48:52 #521 №2579257 
>>2579239
годно кроме нейминга
Аноним 19/01/23 Чтв 09:40:30 #522 №2579284 
salesreport.png
blob.png
py.png
Как скачать файл с помощью requests? Я не программист, поэтому плохо представляю, как все это работает. Отследил запросы и понял, что в итоге мне надо получить clientIp и sessionId. Дошел до этого момента, все отлично. Логинюсь и тд. Потом в браузере я жму на кнопку для скачки файла и происходят post запросы. Как я понимаю, клиент запрашивает отчет за указанный в полях период. Сервер генерирует файлик excel и путем циклического запроса о состоянии его готовности. Здесь тоже все нормально. В итоге я получаю "1" в response, что говорит о том, что файл готов к скачиванию. После этого происходит get запрос (пик1). В теле появляется ссылка вот такого вида (пик2). Потом появляется окно выбора пути для сохранения файла. Больше ничего не происходит на вкладке network, сайт просто пингуется, т.к. время сессии ограничено. Если повторить этот последний запрос на python, то выдает ошибку 500. Здесь мне уже ничего непонятно. Нет никакой привычной урл вида /download/file.xlsx, чтобы можно было получить ее. Я погуглил и понял, что это динамический blob ссылка, но не понял, как мне получить ее в python теперь. Возможно ли это в принципе? С Selenium все работало через эмуляцию нажатия на кнопку загрузки, но я хочу использовать только requests. Плиз, помогите
Аноним 19/01/23 Чтв 10:05:22 #523 №2579299 
>>2579284
замазывать полупрозрачной кистью всё же не лучшая идея
Аноним 19/01/23 Чтв 11:18:36 #524 №2579340 
>>2579299
Так эт специально, чтобы не бросалось в глаза. Я настолько параноик, что переживаю, что здесь могут сидеть разработчики которые еще больше окуклятся потом. Они недавно убрали апи.
Аноним 19/01/23 Чтв 11:31:32 #525 №2579348 
>>2578994
Дам три варианта. Все три будут работать, даются в порядке увеличения всратости.
1. Современно, модно, православно: упакуйся в Docker. Конечно, на том конце запускать тоже надо будет через какой-нибудь Docker, но это уже мелочи.
2. Хороший рабочий вариант. Сделай скрипт с таким содержанием:
> #!/usr/bin/env bash
> mkdir env
> python3 -m venv env
> source env/bin/activate
> pip3 install -r requirements.txt
> python main.py && deactivate

3. Пиздец страшный, я его тестировал, когда на той стороне предполагались клинические идиоты без доступа к интернетам. В CI сделал так:
> mkdir env
> python3 -m venv env
> source env/bin/activate
> pip3 install -r requirements.txt
> deactivate
> sed -i "s|$(pwd)/ansible_env|blahblah/ansible_env|" ansible_env/bin/

А в скрипте-запускаторе - так:
> #!/usr/bin/env bash
> sed -i "s|blahblah/ansible_env|$(pwd)/ansible_env|" ansible_env/bin/

> . ansible_env/bin/activate
> python main.py
> deactivate

Оно сработало, но в прод, слава ЛММ, не пошло. Там ПМы допизделись до поднятия зеркала в каком-то DMZ или что-то типа и прошёл второй способ (первый не подходил по арзитектуре: докер хуёво умеет в ).
Аноним 19/01/23 Чтв 11:38:21 #526 №2579354 
изображение.png
изображение.png
изображение.png
>>2579284
Кажется, до меня дошло, что в ответе на последний get запрос приходит закодированный в base64 zip файл (пик1), который надо раскодировать. Я так понял, что это несложно. Вот только я не могу получить этот ответ таким же запросом в python. Ошибка 505. Пик2 - повторяю запрос в браузере, получаю файл в ответе. Пик3 - повторяю запрос в python - ошибка. Что я делаю не так?
Аноним 19/01/23 Чтв 11:39:11 #527 №2579355 
>>2579354
500* фикс
Аноним 19/01/23 Чтв 11:44:07 #528 №2579358 
>>2578997
Они почкованием размножаются.
Аноним 19/01/23 Чтв 12:07:27 #529 №2579364 
image.png
>>2579210
Как-то так это делается...
Аноним 19/01/23 Чтв 14:13:01 #530 №2579491 
>>2579210
В первую очередь не старайся решить как можно больше задач за одно и то же время. Лучше решить одну за несколько дней, попутно изучив поглубже смежный материал или даже различные библиотеки, которые подходят к тебе задания, чем попытаться как можно быстрее что то написать и отправить ответ.
Аноним 19/01/23 Чтв 15:04:53 #531 №2579562 
Screenshot86.jpg
Что-то я копался, копался и код никак не работал, решил проверить сам граф и проблема оказалась в нём. И всё вроде верно идёт, но под самый конец он ломается и там где должно быть 0, 2 появляется 0, 0 и я хз как он может появиться.

Хотя, не, отбой. Как начал писать сразу же заметил в чём облажался. 0 вместо Y был
Аноним 19/01/23 Чтв 15:46:38 #532 №2579634 
А какой бамплимит на доске?
Аноним 19/01/23 Чтв 17:26:23 #533 №2579760 
Screenshot87.jpg
Всё же на третий день домучил.
Алгоритм я понял на первый же. Два дня считай, исправлял "баги". Буквально там ноль вместо игрик, тут игрик с иксом надо переставить местами. Такие мелочи, а искать их офигеть как долго. Хотя за эти пару дней я в голове и лучше уложил алгоритм поиска проблемы в коде. Не стоит только ориентироваться на строку, которую выдаёт пайчарм
>>2579634
Пора бы уже перекатывать
Аноним 19/01/23 Чтв 20:43:22 #534 №2580032 
Сап двач на связи вкатывальщик

В недавнем времени освоил парсинг и написание ботов , думал немного поднять лаве на фрилансе. ХУЙ ТАМ ПЛАВАЛ СУКА.

ПОЧЕМУ БЛЯТЬ ТАК ТРУДНО ВЗЯТЬ ЗАКАЗ СУКА. И ДАЖЕ ПРОБЛЕМА НЕ В ТОМ ЧТО - БЫ ВЫПОЛНИТЬ.НИХУЯ.ЕГО ПРОСТО ТРУДНОНЕРЕАЛЬНО ВЗЯТЬ.Я БЛЯТЬ ОТКЛИКОВ 12 ОТПРАВИЛ.ЗАРЕГАЛСЯ НА 4 БИРЖАХ.ЗАПОЛНИЛ СУКА ПРОФИЛТ , ВСЕ ПО ГАЙДАМ , ОТКЛИК ТОЖЕ НОРМ ОСТАВЛЯЛ , ЦЕНУ ЗАКАЗАМ ДО 500 Р ВЫКРУЧИВАЛ И ВСЕ В ПУСТУЮ.ПИЗДЕЦ.

сори что не в тот тред ибо фриланс тред мертв
Аноним 19/01/23 Чтв 21:23:56 #535 №2580079 
>>2580032
Дорогу осилит идущий.
Аноним 19/01/23 Чтв 21:34:08 #536 №2580092 
Решилп попробовать применить chatgpt в работе в качестве альтернативы гуглу. Спросил вроде довольно простой вопрос - вот у меня датакласс в питоне, хочу валидацию типов полей делать. Высрал сказки про магический агрумент validate у dataclass.field(), тип можно лямбду передать в которой можно проверить тип поля например isinstance()-ом. В реальности нихуя такого агрумента не существует, придется видимо аки холопу вручную бойлерплейтом в __post_init__ проверку делать.
Суть в чем, до замены людей этой хуйне еще далеко
Аноним 19/01/23 Чтв 21:44:30 #537 №2580110 
>>2580092
chatGTP это именно, что замена гуглу. И пока что не очень даже.

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

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

Вполне вероятно, что подобные ИИ-помощники будут примерно там же где и летающие машины. В теории сделать можно, на практике это тупо из-за огромной растраты ресурсов, которая не оправдывает результат
Аноним 19/01/23 Чтв 22:04:15 #538 №2580126 
image.png
>>2580110
Я не очень много вопросов практичных задавал. Очень хорошо и точно отвечает на часть вопросов, которые хрен нагуглишь. Но через раз несёт адский бред.

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

Это в принципе непригодно для реальной разработки. Как только тебе надо делать что-то новое, а не гуглить сто раз написанное решение.
Аноним 19/01/23 Чтв 22:11:59 #539 №2580136 
>>2580126
Некоторые ответы даже при кривом коде могут быть годными и лучше чем гугл. Потому что могут тебе быстро подсказать куда двигаться дальше и что лучше использовать. А там уже и загуглить можешь даже подробнее. Особенно, если сталкиваешься с задачей к которой не знаешь как подойти и даже как загуглить
Аноним 19/01/23 Чтв 22:17:32 #540 №2580144 
>>2580136
Но это именно, когда учишься. При работе то такого быть уже не должно, ибо даже если джуну дадут работать над тем, что он не трогал ещё ему всё равно укажут где документацию и прочее курить
Аноним 19/01/23 Чтв 22:56:49 #541 №2580180 
>>2579044
Бэмп.
Аноним 20/01/23 Птн 04:40:57 #542 №2580306 
>>2580126
Я правильно понимаю, что без иностранной симки там никак не зарегаться?
Аноним 20/01/23 Птн 06:37:54 #543 №2580314 
>>2580306
Видимо правильно, уже не помню, но у меня есть симка иностранная. А почта gmail-российская
Аноним 20/01/23 Птн 07:06:07 #544 №2580316 
>>2580144
>При работе то такого быть уже не должно
Как раз постоянно при работе возникает что-нибудь.

Правда чат не может анализировать код, только мелкие примеры. А при работе, если тебе код надо анализировать, это здоровенные проекты. Тебе надо понять, почему какая-то херня в коде, зачем что-то делается, но это огромный объём, а ещё ИИ вообще не умеет понимать смысл. Ты никогда не получишь ответ "зачем что-то делается". В принципе текущая архитектура ИИ на это не способна.

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

В реальной работе тебе надо разобраться с тем, что надо сделать, зачем сделано так, как сделано, как можно реализовать, как состыковать с тем, что есть, какие проблемы будут из-за этого. Вот тут уровень, а не чтобы накодить какую-нибудь функцию. А это как раз то, к чему ИИ даже не прикасались ещё.
Аноним 20/01/23 Птн 07:09:42 #545 №2580319 
>>2579354
Боже, я наконец-то разобрался! Тупо моя невнимательность. Забыл добавить к имени файла его расширение в параметрах. Я в ахуе, у меня получилось
Аноним 20/01/23 Птн 08:12:41 #546 №2580340 
>>2580032
Рейтинг какой у аккаунтов? На биржах дроч на рейтинг. Ищи путь повысить рейтинг. Можно купить готовый акк с накрученным рейтингом. Предлагай работу за отзыв и рейтинг. Договаривайся со знакомыми, чтобы они размещали простые заказы, а ты их выполнял за символическую цену или бесплатно, а они тебе рейтинг за это.>>2580032
Аноним 20/01/23 Птн 08:14:29 #547 №2580342 
Покидайте плиз статьи, видео, книги, други ресурсы о том, как проектировать бд на примерах разных несложных проектов (для немного туповатых).
Аноним 20/01/23 Птн 09:09:01 #548 №2580370 
image.png
Пожалуйста, хостите треды с этой картинкой в шапке
без ссылки на рисовач в углу
Аноним 20/01/23 Птн 09:14:27 #549 №2580375 
>>2580032
>ЦЕНУ ЗАКАЗАМ ДО 500 Р ВЫКРУЧИВАЛ И ВСЕ В ПУСТУЮ
Вот здесь, думаю ошибка. Слишком низкая цена не привлекает, а отпугивает. Максимум ты абсолютно неадекватного заказчика найдёшь, который тебе ещё в минус рейтинг уведёт.

Если оптимизацией заниматься серьёзно, то наверное надо сделать ещё аккаунт заказчика, разместить заказ и самому его исполнить. Через друзей организовать, например. Потеряешь комиссию, но приобретёшь заказ, а ещё что-то про конкурентов узнаешь.

И не пытайся по 500 рублей исполнять заказы. Поставь цену, которая смотрится реальной, ну типа 5тр. Это тоже демпинг, но хотя бы для заказчика уже смотрится реальной суммой.

Просто человек смотрит так. У этого
Аноним 20/01/23 Птн 10:14:53 #550 №2580403 
сука, как же 10 гигов видеопамяти не хватает, пиздец
Аноним 20/01/23 Птн 11:14:23 #551 №2580469 
>>2580375
А на каких сайтах можно посмотреть это?
Не хочется бросать основную работу, но как тренировку скилла\интересные задачки было бы круто посмотреть что требуется
Аноним 20/01/23 Птн 11:23:48 #552 №2580480 
Братцы, есть скрипты, которые надо выполнять круглосуточно, ПК включённым держать не хочу. Куда можно залить их, чтобы они сами выполнялись, делали дела, сохраняли данные?

Желательно без затрат)
Аноним 20/01/23 Птн 11:56:35 #553 №2580523 
>>2580480
В роутер залей.
Аноним 20/01/23 Птн 11:58:15 #554 №2580525 
>>2580480
>Желательно без затрат)
>ПК включённым держать не хочу
Не хоти.
Аноним 20/01/23 Птн 12:42:33 #555 №2580591 
>>2580480
на сервак залей , в инете полно бесплатных
Аноним 20/01/23 Птн 12:57:30 #556 №2580602 
Аноны помогите советом

Хочу по совету ОПа написать имиджборду (ну или другой сайт) , какой стек технологий для этого нужен. Прочитал что знания верстки и Django необходимы , но по мимо этого что то еще нужно?
Аноним 20/01/23 Птн 13:13:49 #557 №2580619 
>>2580525
ПК шумит слишком сильно. Меня устроит просто самый оптимальный вариант по соотношению цена/функционал. Просто не знаю какие оптимальные.
Аноним 20/01/23 Птн 13:21:31 #558 №2580633 
>>2580619
Ну так ты вводные дал такие, будто тебе надо крутить скрипты на своём ПК и данные сохранять на свой ПК. Нам за тебя архитектуру продумывать?
Скрипты могут крутиться удалённо, на своём серваке/на выделенном серваке/хероку/авс/я.клауд/етц, данные могут сохраняться на диск/в бд/в гуглшитс/в облако.
Реши, что тебе из этого надо и подумай, что надо сделать с твоими скриптами для реализации твоей задачи.
Аноним 20/01/23 Птн 13:22:26 #559 №2580636 
>>2580375
есть такое. есть колбаса за 250 рублей, но такую даже своей собаке стрёмно покупать
Аноним 20/01/23 Птн 13:24:30 #560 №2580639 
>>2580619
VPS купи. цена вопроса 3-4к в год
Аноним 20/01/23 Птн 13:37:50 #561 №2580660 
>>2580619
кулеры нормальные купи и скорость их работы настрой, если шумит
Аноним 20/01/23 Птн 13:40:32 #562 №2580666 
>>2580469
>но как тренировку скилла\интересные задачки
Будешь кодить незаконные или тупейшие вещи, от которых отказались или которые никому из контор не нужны.
1. Парсинг (незаконен)
2. Боты финпирамид
3. Боты продажи порнухи
4. Ебейшие идеи восьмиклассников с оплатой «ну когда твоя прога заработает мне миллион, я отстегну»
5. Боты продажи всякого говна, включая наркоту
Аноним 20/01/23 Птн 14:22:45 #563 №2580720 
Здравсвутйе, я рмтшник-доширачник очень хочу написать бота для игры. изучение питона мне с этим поможет? можно начинать с книжек в оп посте или лучше начать с учебников информатики с 5 по 11класс?
Аноним 20/01/23 Птн 14:57:37 #564 №2580766 
>>2580666
Есть такое представление интуитивное, что на ФЛ есть рынок ботов для телеграма. Вполне легальных. Очень многие хотят себе сделать, бизнесу нужны, альтернатив нет. Как раз работа для фриланса.

Остальное всё либо сложно, либо не нужно.
Аноним 20/01/23 Птн 15:15:56 #565 №2580786 
>>2580720
Питон в любом случае хороший язык для обучения с нуля особенно. Потому что он с одной стороны очень простой, как раз для школьного уровня, но и достаточно глубоко с ним можно зайти при этом, не меняя язык.

В теории то написать можно что угодно, вопрос в производительности. Ну и нужно тебе будет это рмт, если нормально язык освоишь, что сможешь написать бота за которого тебя не забанят быстро
Аноним 20/01/23 Птн 15:21:48 #566 №2580796 
>>2579053
Пидорас? Педофил?
Аноним 20/01/23 Птн 15:54:33 #567 №2580832 
>>2580720
>рмтшник-доширачник
Это кто?
Аноним 20/01/23 Птн 16:31:16 #568 №2580922 
>>2580832
торговля в играх за реальные деньги
Аноним 20/01/23 Птн 16:35:56 #569 №2580927 
>>2580922
есть дебилы которые на это ведутся?
Аноним 20/01/23 Птн 16:37:11 #570 №2580929 
>>2580927
В смысле ведутся?
Аноним 20/01/23 Птн 16:37:28 #571 №2580931 
>>2580796
питонист всё сразу
Аноним 20/01/23 Птн 16:39:58 #572 №2580934 
>>2580929
ну типа платят бабки
Аноним 20/01/23 Птн 18:43:46 #573 №2581112 
>>2580934
платят за указанную услугу . наеба нет. наебщиков быстро банят на рмт площадке.
Аноним 20/01/23 Птн 18:48:50 #574 №2581122 
>>2580934
Очень старый бизнес, но в последнее время туда набежало куча народа. Да и некоторые трудности ввиду ограничения платёжек для РФ. Ну и сезонное занятие побольше. В среднем лучше в пятёрочку идти и меньше заморочек, но под выход некоторых игр в начале можно было по 2-4 штуки баксов в месяц делать. Но сейчас и народа стало больше рмтшить, да и санкции. Так что оно того особо и не стоит уже в принципе.
Аноним 20/01/23 Птн 19:11:33 #575 №2581155 
Стикер
Аноны, есть ли какое-то место, где код написанный на питоне 3.7.9 обосрется и сделает что-то не так, если его запустить на питоне 3.8.х ?
Аноним 20/01/23 Птн 19:17:08 #576 №2581161 
>>2580666
С 1 по 3 пункты очень интересно!
Так где это найти? И кстати, а почему парсинг незаконен, че за бред. Я понимаю продажу говна с 5го пункта - это реально конч, а парсинг-то чем не угодил.
Аноним 20/01/23 Птн 19:21:20 #577 №2581166 
>>2581161
Анон хуйню просто написал, забей.
Аноним 20/01/23 Птн 19:30:52 #578 №2581185 
>>2581161
>а почему парсинг незаконен, че за бред.
С 1 марта 2021 года всё стало просто: чтобы законно собирать персональные данные из интернета, нужно получить согласие каждого человека, чьи данные собираются. То, что человек сам разместил свои данные в открытом доступе, больше не имеет значения.

https://habr.com/ru/post/544788/
https://xmldatafeed.com/zakon/
Аноним 20/01/23 Птн 19:32:51 #579 №2581188 
>>2581185
Т.е. поисковики гугл яндекс и прочие теперь вне закона. Ясно.
Аноним 20/01/23 Птн 19:35:10 #580 №2581191 
>>2581188
Кукарекать на швабре будешь. А тут внимательно читай законы.
Аноним 20/01/23 Птн 19:38:26 #581 №2581194 
>>2581191
Таблетки прими шизофреник, а потом посмотри в словарике значение слова парсинг.
Аноним 20/01/23 Птн 19:41:56 #582 №2581202 
>>2581194
чепушила не в силах три строки прочесть
всё как обычно
Аноним 20/01/23 Птн 19:43:29 #583 №2581205 
>>2581202
Ничего страшного, примешь таблетки и прочтешь.
Аноним 20/01/23 Птн 19:49:54 #584 №2581213 
>>2581205
ты промазал коментом, чепушила
Аноним 20/01/23 Птн 19:53:35 #585 №2581217 
>>2581213
Уймись, шизик.
Аноним 20/01/23 Птн 20:00:24 #586 №2581219 
>>2581217
Ты чё полыхаешь-то, придурок? Пролапс в трусы выпал?
Аноним 21/01/23 Суб 01:58:50 #587 №2581530 
>>2581155
Вроде не должно
Аноним 21/01/23 Суб 02:58:02 #588 №2581544 
Хауди-хо друзья, вкатун свитчер на связи!
Поясните как правильно развиваться для поиска работы, ситуация такая что вкатываться надо куда получится, вот я заполняю резюме ссылками на свой репозиторий с разными проектиками, получается солянка, типо
-вот тырнет-магазин на джанге;
-вот бложик на фласке;
-вот телеграмм бот на фаст-апи;
и чувствую себя дурачком который никому не нужные проекты в стол дрочит, думаю лучше бы это время на дрочку алгоритмов потратил, подскажите как правильно поступить?
может написать туду лист который нахуй никому не нужен и на собесе пиздеть как ими пользуются все мои друзья?
Аноним 21/01/23 Суб 03:20:52 #589 №2581549 
>>2581155
нет, только наоборот.
Аноним 21/01/23 Суб 03:30:41 #590 №2581552 
>>2581549
вот если питон 4.0 выйдет, то тогда да
Аноним 21/01/23 Суб 04:11:57 #591 №2581560 
Аноны поясните нубу за синтаксис

def func(arg:"foo"):
pass

Что вот это такое "arg:foo" ? Что оно делает?
Пробовал словарь передавать с ключом "foo", но это не оно.
Аноним 21/01/23 Суб 04:36:13 #592 №2581564 
>>2581560

это type annotation. подсказывает твоей IDE, что функция func ожидает arg с классом foo

> class Pook: ...
> def srenk(arg: Pook): ...

наличие кавычек означает type annotation forward reference. нужно для таких случаев:

тут тайп чекер ругается, потому что Pook еще не существует:
> def srenk(arg: Pook): ...
> class Pook: ...

forward reference это специальный костыль для этих случаев:
> def srenk(arg: "Pook"): ...
> class Pook: ...
Аноним 21/01/23 Суб 05:43:53 #593 №2581582 
Аноны, вот у меня есть ООООЧЕНЬ большой и грузный словарь (парсинг трехмерной сцены которая передается в json, там всё включая координаты вершин) весом мегабайт 100 например, там буквально сотни тысяч ключей с массивом в значении {'key':[]}.

Я делаю некие калькуляции и добавляю в эти ключи некие данные. Много много раз, тысчи раз в тысячах циклов.
НО редко случается такое, что ключа нет в словаре, примерно в 1-5% случаев.

И вот я думаю, каждый раз проверять в этом ООООГРОМНОМ словаре наличие ключа
1) if 'key' in "big_dic"
получится миллионы проверок в пустую т.к. ключ обычно есть
или
2) использовать try except.

Какой путь более питонический? Как правильно сделать по всем стандартам? Может быть есть ещё варианты? Вообще размер словаря влияет на скорость поиска ключа в нем или может в питоне работает какая-то бинарная магия которая делает этот процесс пренебрежительным для любого обьема ?
Аноним 21/01/23 Суб 05:52:48 #594 №2581583 
>>2581564
Отаночо, спасибо.
Аноним 21/01/23 Суб 06:42:57 #595 №2581588 
>>2581582

да всё используется, всё питонично. есть еще:

метод some_dict.get('pook', None), чтобы вместо ошибки вернулся второй аргумент (None)

defaultdict. вместо кей еррора сделает новую запись с чистым объектом указанного тобой типа
Аноним 21/01/23 Суб 08:05:51 #596 №2581601 
>>2581155
Имеет, случается, даже довольно часто. Из-за выпиливания depricated штук всяких в основном.
Аноним 21/01/23 Суб 09:39:16 #597 №2581636 
>>2581544
Да.
Аноним 21/01/23 Суб 15:46:44 #598 №2581911 
>>2580720
Во что играешь?
Аноним 21/01/23 Суб 21:14:23 #599 №2582248 
ПЕРЕКАТ
>>2582246 (OP)
>>2582246 (OP)
>>2582246 (OP)
>>2582246 (OP)
Аноним 23/01/23 Пнд 08:57:52 #600 №2583966 
>>2581911
Плюс к этому господину - тоже хочется рмтшить, но как вкатиться в эту тему вообще непонятно
Аноним 28/01/23 Суб 14:57:58 #601 №2590713 
161761991643-p-katya-elise-henry-model-44.jpg
Привет ребятки, вопрос следующего характера:
Хочу написать прогрумму, чтобы она определяла кругляшки, квадратики, треугольники и ещё несколько значков на экране, и тыкала по ним мышкой.

При запросе в гугле "питон распознавание обьектов" - он выдает однотипные ролики про распознавание лиц и номеров машин, с какими то заранее оттеринированными весами, или типа того.

Посоветуйте гайд или стотью в интернете или книгу, которая мне поможет в данном вопросе.

Заранее спасибо и с новым годом!
Аноним 28/01/23 Суб 16:09:15 #602 №2590838 
197a2a.jpg
>>2590713
короче мне надо вот такие значки различать, как на пике.
Мне для этого надо YOLOv4 обучать собственным моделям или есть более простые варианты?
Аноним 29/01/23 Вск 13:47:38 #603 №2591929 
>>2568047 (OP)
прив ребятки и девчатки.

Вопрос такой - как быть если удобно иметь в словаре какой-то not serializable объект, если периодически нужно дампать весь словарь в json?

Пока что приходится временно вынимать объект из словаря, дампать а потом вставлять обратно, но это пиздец костыли, хотелось бы чтобы json сам понимал что это не текст и что его можно просто пропустить.
Аноним 03/02/23 Птн 21:28:07 #604 №2598375 
image.png
>>2590838
>ева
comments powered by Disqus

Отзывы и предложения