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

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

 Аноним 09/11/22 Срд 06:56:21 #1 №2509442 
0009.jpg
311logo.png
World-map.png
Тред, посвящённый языку программирования Питон, #150

Предыдущий: >>2487129 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9
Аноним 09/11/22 Срд 07:07:37 #2 №2509444 
сахарный.jpg
господа, хочу замутить декоратор методов типа такого:

class Pook:
____@input_event('quit')
____def quit(self):
________self.save()
________sys.exit()

но это исполнится во время импорта и зарегистрирует классовую функцию Pook.quit и будет пытаться вызвать Pook.quit(self) вместо some_object.quit(). мне же нужно, чтобы это работало с bound method-ами на инстансах. чтоб self работал

как это сделать?
Аноним 09/11/22 Срд 08:05:53 #3 №2509456 
>>2509445
Если мне за питон платят, то зачем учить твою тухлую жабу? Чтобы лазить по корпоративных канализациях в резиновом костюме?
Уж если куда катиться, то в жс - порриджевать, нихуя не делая.
Аноним 09/11/22 Срд 08:22:01 #4 №2509461 
>>2509456
Ну тебе самому не стыдно? Если тебе будут платить за то что ты сосешь, это значит что ты не гей?
Аноним 09/11/22 Срд 08:27:38 #5 №2509463 
>>2509461
Почему мне должно быть стыдно за питон? Потому что ты дурачок с детскими комплексами?
Аноним 09/11/22 Срд 08:56:42 #6 №2509467 
>>2509445
> Почему вы не пересядете на корпоративный кукан Оракла или Майкрософта
Фиг знает, очком не вышел.
Anaconda PyCharm + Qt Designer: моментально закрывается окно в Windows 10 Аноним 09/11/22 Срд 10:47:54 #7 №2509515 
1.png
Bash.png
Последовательный ввод команд.jpg
Результат запуска .bat файла.jpg
В общем проблема в том, что я использую Anaconda и в отличии от IDLE там нельзя просто так поставить ассоциацию .py файлов с интерпретатором PYthon, так как там используется множество окружений и необходимая среда должна быть активирована перед запуском файла .py. Без написания .bat файла не обойтись. Я никогда этого не делал и не знаю синтаксиса cmd. Я нашел, как активировать нужную мне среду с помощью .bat файла, но я не могу открыть в нем нужный мне файл. Я уже согласен, чтобы задавать его статически через текстовый редактор, но в идеале, конечно, путь к нему должен передаваться в качестве аргумента. Далее нужно как-то зайти в нужную мне папку и запустить нужный мне .py файл в уже активированной среде. Должно получиться что-то вроде прикрепленного кода. Но это не работает, в нужную мне папку оно не переходит, но если ввести эти команды последовательно вручную через консоль, то программа запускается и отрабатывает нормально.
Аноним 09/11/22 Срд 11:21:22 #8 №2509528 
>>2509515
нормально всё работает в анаконде. у тебя прога просто с ошибкой валится, запусти через консоль
Аноним 09/11/22 Срд 11:23:46 #9 №2509532 
>>2509444
Прямым способом наверное никак

Класс это объект, у которого есть элементы, методы. Когда ты делаешь декоратор у метода, при создании класса его элементы заменяются на другие, но остаётся всё равно один объект-класс с элементами-методами.

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

Ты ведь после этого не можешь использовать конструкцию вида
obj = Pook()
Pook.quit(obj)
а это подразумевается
Аноним 09/11/22 Срд 11:57:01 #10 №2509556 
изображение.png
https://t.me/it_books_tg_archive/1046

Новiй хit !

Читать всем!
Аноним 09/11/22 Срд 13:57:28 #11 №2509646 
>>2509463
>>2509467
Ну типа могли бы нормальные деньги зарабатывать, а не на яп школьников сидеть и ждать пока какой-то девятиклассник фрилансер вас заменит
Аноним 09/11/22 Срд 14:24:09 #12 №2509669 
>>2509646
А что, мем из нулевых про таксистов учащих жабу уже не актуален?
Аноним 09/11/22 Срд 14:43:13 #13 №2509706 
изображение.png
изображение.png
>>2509646
Как тебе такое положение дел?
Аноним 09/11/22 Срд 15:02:32 #14 №2509723 
На связи парень 29 лет из Сочи, надо как-то поднимать норм бабки, решил для вката взять язык peton, подскажете, сколько времени примерно займет обучение? На курсах слыхал просто бабки вытягивают и учебный процесс больно растянут, реально же самому выучиться? За месяц-полтора возможно? И сколько платить будут? Поначалу согласен на невысокие ставки, но совсем за еду тоже пахать не собираюсь. 60-80к будет?
Аноним 09/11/22 Срд 15:06:45 #15 №2509728 
>>2509723
>просто бабки
Сказки. Пердиксы боятся конкуренции и распускают слухи.
>реально же самому выучиться
Да, но это на год и более, если есть способности
>За месяц-полтора возможно
Читай выше. За месяц ты даже метаклассы и асинхронное программирование не выучишь
>60-80к
Без опыта надо готовиться за 20-40к работать с полгода хотя бы.
Аноним 09/11/22 Срд 16:10:43 #16 №2509798 
>>2509706
Надо подрисовать ещё с крестами. Там ты тоже один, но без ноги.
Аноним 09/11/22 Срд 16:16:10 #17 №2509806 
>>2509728
>метаклассы
Это и есть ООП? Т.е. ты, обращаясь к классу, создаёшь объект, который отрабатывает методы, а потом схлопывается, будто его и не было, но оставляет за собой информацию, которая была прописана в методах (либо ничего не оставляет)?
>асинхронное программирование
Это что за йоба? Это что-то из дата-сайенс? Пример приведи самый простой.
Аноним 09/11/22 Срд 16:34:55 #18 №2509829 
>>2509706
Нибамбит-эдишен?
Аноним 09/11/22 Срд 16:36:25 #19 №2509833 
>>2509706
По такой логике человечек + 1с должно быть непомещающееся на экран количество тянок
чем хуже - тем лучше ведь?
Аноним 09/11/22 Срд 18:17:55 #20 №2509941 
>>2509806
>Это и есть ООП
Нет
>Пример приведи самый простой
Веб сервер
Аноним 09/11/22 Срд 18:19:01 #21 №2509942 
>>2509806
>Это что за йоба?
Узнаешь в процессе.
Аноним 09/11/22 Срд 18:30:34 #22 №2509950 
image.png
В Админке модели разделены по app, в которых они определены. Можно как-то по-своему из раздербанить? В Main у меня слишком много моделей, хотелось бы разделить их еще
Аноним 09/11/22 Срд 19:43:26 #23 №2510009 
Пытаюсь учить, но очень быстро забываю всё, что-то выучил, вроде понятно, перешел дальше, через 2 дня уже забыл то, что было понятно. Я дурак или что-то делаю не так?
Аноним 09/11/22 Срд 20:03:39 #24 №2510028 
>>2510009
учишься неправильно
learning how to learn пройди на курсере
Аноним 09/11/22 Срд 20:13:29 #25 №2510032 
>>2510009
Практику делай с каждым примером. Желательно несколько и разное
Аноним 09/11/22 Срд 20:34:03 #26 №2510059 
Вот бы был thread для обсуждения того как челикам из Сочи в 29 лет обустроить свою жизнь и отдельный thread где мы обсуждаем язык программирования Python.
Аноним 09/11/22 Срд 20:54:25 #27 №2510088 
>>2510059
Так создавай.
Аноним 09/11/22 Срд 21:45:58 #28 №2510145 
>>2509942
>>2509941
Ну что вы за люди-то, а?
Какой блджад вебсервер? При чём тут асинхронное программирование? Мы тут серверы пишем и изобретаем велосидпеды или простыми словами пытаемся разобраться в сути?
Ссать и срать одновременно - это ассинхронное программирование или ссать, а потом срать (или срать, а потом ссать) - это ассинхронное программирование?
Аноним 09/11/22 Срд 22:46:45 #29 №2510210 
Мне понадобилось полтора года чтобы устроится джуном в ДС, летом дело было.
Минимум с текущими требованиями, если не проебываться (как я) и повезет думаю полгода, если не повезет - год.
За полтора месяца выучишь ты в лучшем случае разберешься с самим языком более менее (этого абсолютно недостаточно)
Аноним 09/11/22 Срд 22:51:33 #30 №2510213 
qualitypost.png
Асинхронное программирование это поссать между двумя какахами, синхронное не можешь ссать пока не просрался полностью.
Аноним 09/11/22 Срд 23:14:43 #31 №2510231 
1.png
Код конвертируемого .bat файла.png
>>2509528
Нашел программу Bat_To_Exe_Converter https://bat-to-exe-converter-x64.en.softonic.com/download, которая конвертирует .bat файлы в .exe. Так же она позволяет скрывать командную строку при запуске .py файла, установить иконку полученному .exe файлу. Программа даёт возможность установить ассоциацию .py файлов с полученным .exe файлом, позволяя тем самым запускать .py файлы в нужном окружении Anacond'ы двойным щелчком мыши. После конвертирования .bat файл можно удалять.
Аноним 10/11/22 Чтв 01:03:09 #32 №2510307 
>>2510145
Иди лучше в пятерочку работать, программирование не твоё
Аноним 10/11/22 Чтв 03:20:05 #33 №2510352 
>>2510145
Ладно, если так сильно хочешь, то держи в двух словах: https://bbc.github.io/cloudfit-public-docs/
Аноним 10/11/22 Чтв 04:07:05 #34 №2510359 
>>2509532
хреново, блин. такой сахарок приятный. придется в ините регистрироваться
Аноним 10/11/22 Чтв 04:27:56 #35 №2510362 
>>2509444
В ините писать self.quit = input_event('quit')(self.quit)
Аноним 10/11/22 Чтв 04:55:19 #36 №2510374 
>>2510362
да, у меня так сейчас (без враппера есессн)
Аноним 10/11/22 Чтв 05:15:36 #37 №2510376 
Как можно писать на языке, у которого логотип - украинский флаг? Вы вообще нормальные?
Аноним 10/11/22 Чтв 05:56:29 #38 №2510387 
>>2510376
python старше, чем Украина
Аноним 10/11/22 Чтв 09:12:31 #39 №2510417 
>>2509556
Какое-то хуйло скопипастило доку из стандартной биллиотеки и пары сторонних библиотек и назвал это книгой
Аноним 10/11/22 Чтв 10:26:31 #40 №2510457 
>>2510417
Я когда в универе учился и писал курсач кучу книг перерыл и обнаружил, что всякие ученые и преподы которые пишут новые книги тупо копипастят куски из разных книг 60-70-х годов и выпускают это как свою книгу. Причем зачастую копипастят с ошибками. Мне больше всего понравилось как я смотрел книгу, а там аннотация была что этот учёный посвещяет её какому то своему учителю. Я чуть не расплакался, а при беглом осмотре обнаружилось, что произведение состоит из выдранных кусков трёх старых совковых книг, спизженно было всё вплоть до названия разделов и самого текста.
Аноним 10/11/22 Чтв 10:32:03 #41 №2510459 
>>2510457
Пиздец, меня бесят такие ублюдки! А тебя?
Аноним 10/11/22 Чтв 10:35:14 #42 №2510461 
>>2510459
Та я просто проорал, но это печально на постсовковом пространстве во многих областях в той же медицине, протоколы лечения например, наука находится на уровне 60-70 годов прошлого века.
Аноним 10/11/22 Чтв 11:08:39 #43 №2510488 
>>2510417
давай-ка, переведи на русский ВСЮ документацию asyncio, а мы посмотрим
Аноним 10/11/22 Чтв 11:54:08 #44 №2510504 
>>2509442 (OP)
Товарищи питонисты, как мне заставить две хуеты обрабатывать файл одновременно?

Например, башем я бы делал что-то вроде:
tar -cf - ./shit | xz -9 -c - > ./shit.tar.gz

Как мне провернуть тож самое с tarfile и pgzip? У второго в примерах только строки, но наверняка это говнище должно и с файлами уметь работать.
Аноним 10/11/22 Чтв 12:53:50 #45 №2510559 
>>2510461
почему всё так ебано?
Аноним 10/11/22 Чтв 12:59:17 #46 №2510564 
>>2510504
Ты конвейер обработки хочешь запилить?
Аноним 10/11/22 Чтв 13:15:20 #47 №2510582 
Уважаемые помогите пожалуйста.
Я очень много раз пытался ставить себе питон, не для того чтобы писать код, а для прикладных задач. И каждый раз, установив пакет, у меня не получалось достучаться до консоли, команды не принимает, пишет что неверный синтаксис.
Не занимаюсь кодингом, но есть нужда в том чтобы скомпилировать софт, все лежит в архиве. Есть ли на данный момент онлайн сервис который делает это за тебя в облаке?
Аноним 10/11/22 Чтв 13:25:18 #48 №2510590 
>>2510582
Сам разраб при этом пишет что все легко делается через Nuitka, но я не смог эту библиотеку добавить, руки кривоваты
PyCharm + PyQt5 автодополнение текста Аноним 10/11/22 Чтв 13:32:33 #49 №2510594 
В VisualStudio, когда обращаешься к компоненту через точку тебе сразу предлагают методы и данные, которые к этому классу относятся. В PyCharm'е при работе с .ui файлами ощущение, что ты обращаешься к черному ящику про содержимое которого ничего не известно. Есть ли плагины или какие то другие способы организовать автодополнение текста для графических компонентов в PyCharme'е наподобие того, что есть в VisualStudio?
Аноним 10/11/22 Чтв 13:38:06 #50 №2510597 
>>2510564
Наверное, это так и называется, да.
Я, короче, пытаюсь ужать 500 гигов данных, и мне не очень хочется хранить промежуточный tar на диске.
Аноним 10/11/22 Чтв 13:49:35 #51 №2510603 
>>2510594
>PyCharme
Я бы, конечно, посоветовал бы это говнище раздутоене использовать, но дело твое. pyqt5-sip, pyqt5-tools установлены?
Аноним 10/11/22 Чтв 13:55:11 #52 №2510605 
>>2510582
Ванную, пакеты ставятся не на тот питон, который вызывается в консоли
Аноним 10/11/22 Чтв 13:55:42 #53 №2510606 
>>2510605
Вангую*
Аноним 10/11/22 Чтв 14:04:58 #54 №2510609 
>>2510597
tarfile сам умеет сжимать, можно не ебаться с буферами

А если нужен таки буфер, то вроде никак. tarfile в них не умеет.
Аноним 10/11/22 Чтв 14:07:33 #55 №2510610 
>>2510594
>при работе с .ui файлами
Посмотри плагины в сторе, а также потыркай гугл на тему PyCharm'а и qt5. PyCharm из коробки банально не умеет в эти файлы.
Аноним 10/11/22 Чтв 14:13:23 #56 №2510614 
Задача. Есть ответ сервера, json. Данных много, 5Гб. Как распарсить его с минимальными затратами, чтоб записать в файл, изменив содержимое
Аноним 10/11/22 Чтв 14:17:57 #57 №2510616 
>>2510614
Смотри стриминговые json-парсеры, вроде ijson.
Аноним 10/11/22 Чтв 14:24:39 #58 №2510622 
>>2510609
Блин, он это в один поток делает. Это чудовищно медленно, особенно на машине с 64 cpu. Как бэ, я могу и дальше subprocess дёргать, но интересно как сделать это без костылей.
Аноним 10/11/22 Чтв 14:27:51 #59 №2510624 
>>2510622
Если ты делаешь скриптуху, то subprocess костылём не считается.
Аноним 10/11/22 Чтв 14:35:46 #60 №2510632 
>>2510624
Ну а всё-таки? Просто подозреваю, что там какой-нибудь BytesIO нужен, но он разве не целиком всё в ram грузит?
Аноним 10/11/22 Чтв 14:43:43 #61 №2510635 
>>2510632
Да, верно, через это и делается подобие пайпов. Просто я не вижу, чтобы tarfile отдавал bytesio наружу. Если найдёшь - можно попробовать.
Аноним 10/11/22 Чтв 14:49:03 #62 №2510638 
>>2510635
Я вижу что можно открыть через tarfile bytesio объект и дальше работать, меня смущает только, что не окажется ли на моём серваке всё забито питухоном, а потом oom убьёт всё к хуям?
Аноним 10/11/22 Чтв 14:56:04 #63 №2510643 
>>2510638
Не должно, но зависит от того, как это внутре тех либ реализовано. Лучше протестить, чтоб наверняка. Либо чекнуть код.
Аноним 10/11/22 Чтв 15:32:25 #64 №2510666 
Guys, надо ли добавлять файлы вроде poetry.lock или Pipfile.lockв гитигнор? Или они должны всегда передаваться в гит?
Аноним 10/11/22 Чтв 16:01:11 #65 №2510674 
>>2510666
Не надо
Аноним 10/11/22 Чтв 16:38:20 #66 №2510692 
>>2510352
Спасибо
>>2510307
А ты пошёл на хуй со своим гонором, говно
Аноним 10/11/22 Чтв 16:44:07 #67 №2510696 
>>2510307
Имагинируйте мое ебало, когда я сижу в X5
Аноним 10/11/22 Чтв 16:58:59 #68 №2510715 
>>2510622
Алёбля, а как ты собираешься сжимать последовательный поток данныз многопоточно?

Более того, очень даже выгодно когда файлы одного типа последовательно и однопоточно подаются на вход в gzip. Сам подумай почему.

Вообще непонятно нафига что-то писать, есть bash все это делает и нужно просто разобраться с subprocess
Аноним 10/11/22 Чтв 17:02:40 #69 №2510718 
>>2510674
Не надо игнорить в смысле
Аноним 10/11/22 Чтв 17:03:26 #70 №2510720 
>>2510504
Вот еще что-то интересное

https://www.percona.com/doc/percona-xtrabackup/2.3/xbstream/xbstream.html
Аноним 10/11/22 Чтв 18:52:53 #71 №2510836 
>>2510715
>Алёбля, а как ты собираешься сжимать последовательный поток данныз многопоточно?
А в чём проблема? Сжатие вполне параллелится.
Аноним 10/11/22 Чтв 19:33:57 #72 №2510861 
Как убрать дубликаты в списке словарей, сохраняя изначальный порядок?
Аноним 10/11/22 Чтв 19:50:11 #73 №2510870 
>>2510861
>сохраняя изначальный порядок
Императивно.
Аноним 10/11/22 Чтв 22:19:13 #74 №2510939 
>>2510715
Ну а как баш тож самое делает? Вот я и пытаюсь понять. Во-первых чисто лулзов ради, во-вторых, опыт.
Аноним 10/11/22 Чтв 23:16:59 #75 №2510963 
>>2510720
Вот я для xtrabackup и делаю обёртку. То xbstream иногда подводит и между версиями хуёво соображает.
Аноним 11/11/22 Птн 00:12:46 #76 №2510995 
>>2509442 (OP)
>3 пик
IRL Африку по площади составят две России
Аноним 11/11/22 Птн 00:25:59 #77 №2511000 
image.png
>>2510995
Ты ещё скажи, что гренландия на самом деле не больше южной америки, ха!

>>2510861
ld = [{"b":"B"}, {"a": "A"}, {"b":"B"}]
nodup = []
for d in ld:
__if d not in nodup:
____nodup.append(d)

nodup
Аноним 11/11/22 Птн 03:05:29 #78 №2511032 
>>2510836
gz - нет, в силу алгоритма, мало какие алгоритмы сжатия в параллель работают, потому что у большинства принцип накопления словаря в зависимости от текущего потока в том или ином виде
Аноним 11/11/22 Птн 03:15:01 #79 №2511033 
>>2511032
Впрочем может я неправ насчёт gz, хотя не очень понимаю, как это работает
Аноним 11/11/22 Птн 10:30:10 #80 №2511118 
>>2511032>>2511033
> gz - нет, в силу алгоритма
pigz
> мало какие алгоритмы сжатия в параллель работают
Практически все современные. Словарь можно шарить между потоками. Словарь можно использовать претрененый. В конце концов можно делать словарь на поток, в больших масштабах невелика потеря.
Аноним 11/11/22 Птн 11:18:24 #81 №2511130 
>>2510939
>Ну а как баш тож самое делает? Вот я и пытаюсь понять. Во-первых чисто лулзов ради, во-вторых, опыт.

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

man 2 pipe.
прочитать классические книги и reference api - вот это опыт. а у тебя опыт бесполезного глупого тыканья.
Аноним 11/11/22 Птн 11:27:17 #82 №2511133 
>>2510963
А зачем? С чего все началось?

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


У меня тут недавно обновилась программа qpress и весь бекап по пизде пошел. скорее всего это потому что Percona - это уже не пара русских пацанов, а <вставьте_обидное_национальное_прозвище>
В общем, теперь бекап с помощью mariabackup просто зависает навсегда. Я перешел на сжатие с помощью gzip в конвеере, но как-то медленновато стало работать.

Разве xbstream может подвести тоже?
Аноним 11/11/22 Птн 11:38:21 #83 №2511138 
>>2510504
>xz -9 -c - > ./shit.tar.gz

У тебя расширение файла неправильное, в курсе?
Аноним 11/11/22 Птн 12:38:33 #84 №2511189 
>>2511138
Да, знаю. Ток как запостил заметил.
Аноним 11/11/22 Птн 12:39:44 #85 №2511190 
А насколько нормально делать что-то такое в __init__? Бля, никто вроде так не делает, но это не значит же, что это говно?

from toolbox.termcolors import colorize
from toolbox.s3tool import S3Wrapper
from toolbox.xtrabackuptool import XtrabackupWrapper

__all__ = ['s3', 'termcolors', 'xtrabackup']

s3 = S3Wrapper
xtrabackup = XtrabackupWrapper
Аноним 11/11/22 Птн 12:45:34 #86 №2511197 
>>2510504
Отвечу на свой вопрос сам, спасибо ЛОРу:
with pgzip.open(f"{name}.tar.gz", "wb", compresslevel=9) as fw, tarfile.open(mode="w|", fileobj=fw) as tf:
&nbsp;&nbsp;&nbsp;&nbsp;tf.add(f'{self.backup_dir}/backup/.', arcname='backup')
Аноним 11/11/22 Птн 12:46:11 #87 №2511200 
>>2511197
Да бля. Ебаная макаба.
Аноним 11/11/22 Птн 13:10:03 #88 №2511217 
image.png
>>2510995
Это единственное что тебя смущает на этой проклятой карте?
Аноним 11/11/22 Птн 13:20:26 #89 №2511221 
>>2511217
так, стоп Северный Кипр чей?
Аноним 11/11/22 Птн 15:09:48 #90 №2511310 
Посоны, помогите!
Нужно сделать что бы у пользователя на сайте(Django) появлялись новые комментарии в режиме реального времени. Т.е. при добавлении комментария по постсэйв сигналу у человека на сайте автоматом погружался новый комментарий. С бэк частью всё понятно, вопрос что гуглить и курить что бы реализовать это на фронт части? Мне в голову пришло только отправлять запрос с клиента каждые 30 сек по time.sleep. Но я знаю что есть правильное решение.
Помоги плиз, Антончик!
Аноним 11/11/22 Птн 15:17:18 #91 №2511312 
>>2511310
Веб-сокеты
Аноним 11/11/22 Птн 16:42:14 #92 №2511387 
Снимок экрана (733).png
Что за хуйня?
Аноним 11/11/22 Птн 16:42:44 #93 №2511388 
>>2511221
Если платят турецкой лиров, то Турции
Аноним 11/11/22 Птн 16:43:32 #94 №2511389 
>>2511310
Сокеты /таймер опросов сервера
Аноним 11/11/22 Птн 16:44:29 #95 №2511391 
>>2511387
Выкинь нахуй этот пайчарм. Больше с ним дрочиться заставляет
Аноним 11/11/22 Птн 16:46:19 #96 №2511392 
>>2511391
Правильно! Пусть вим накатит
Аноним 11/11/22 Птн 16:50:27 #97 №2511396 
>>2511312
>>2511389
Спасибо, добра вам!
Аноним 11/11/22 Птн 16:51:16 #98 №2511398 
>>2511387
дА бля, как фиксить сука
Аноним 11/11/22 Птн 16:53:20 #99 №2511400 
image.png
>>2511398
>как фиксить сука
Аноним 11/11/22 Птн 17:04:51 #100 №2511412 
Снимок экрана (735).png
Аноним 11/11/22 Птн 19:27:34 #101 №2511568 
Снимок экрана 2022-11-11 в 19.25.06.png
>>2511392
Без шуток.
Естественно, собрать его, особенно не зная всех конфигов и хоткеев - квест не легче чем генту установить, после сидения на виндовсе. Но окупается значительно.
Аноним 11/11/22 Птн 19:49:43 #102 №2511584 
Я пару дней пытаюсь разобраться в Python, и уже начитался кучи негативных отзывов про PyCharm, но так и не понял в чем суть претензий. Можете мне по человечески объяснить чем он так плох и какую IDE лучше юзать?
Аноним 11/11/22 Птн 19:59:32 #103 №2511593 
>>2511584
Ищи то, что тебе подойдет. Перепробуй что можешь.
У пайчарма проблема, что он сильно громоздкий. Индексация и ревалидация кеша на каждое открытие проекта, причем не быстрое. LSP бывает подвисает жестко. Интеграция с гитом, но очень куцая, бисект и локальное игнорирование файла нельзя сделать.
Профилировщик - мне кажется единственная сильная и безконкурентная сторона. Историю гита тоже очень удобно просматривать.
Аноним 11/11/22 Птн 19:59:48 #104 №2511595 
>>2511584

лучшая иде для питона так-то

понятно, что никто не сидит и от нехуй делать строчит дифирамбы пичарму, чтобы создать у тебя и других мимокроков впечатление охуенности ПО. и наоборот: кому-то явно нехуй делать, и он сидит говнит пичарм ИТТ почем зря, может на срач рассчитывает, но всем лень/похуй
Аноним 11/11/22 Птн 21:53:24 #105 №2511711 
>>2511593
>локальное игнорирование файла нельзя сделать
Можно, добавляешь правки в другой ченжсет и забываешь про него
Аноним 11/11/22 Птн 22:50:00 #106 №2511787 
>>2511595
>понятно, что никто не сидит и от нехуй делать строчит дифирамбы пичарму
В смысле? Вот >>2511595 же
Аноним 11/11/22 Птн 23:54:52 #107 №2511806 
сколько можно.mp4
Пытаюсь сделать кликер в одной браузерной игрушке. Но он сука нихуя не кликает. В этих интернетах пишут что это может быть как-то связано с directx. 10 резных библиотек перепробовал и ни одна не кликает. Сука.
Аноним 12/11/22 Суб 00:09:34 #108 №2511813 
>>2511806
>пишут что это может быть как-то связано с directx
Настало время устанавливать линукс.
Аноним 12/11/22 Суб 00:23:13 #109 №2511814 
Это падло все таки кликает. На обьекты у которых курсор меняется на палец оно кликает. Обьекты под обычной стрелкой нихуя.
Аноним 12/11/22 Суб 01:19:54 #110 №2511819 
>>2509442 (OP)
В пандасе формирую таблицу в необходимом мне виде.
usecols="B,E,V,AI,R"
Но выводятся столбцы в алфавитном порядке, как в эксель файле. Как сделать, чтобы столбцы шли в том порядке, в каком я прописал в юзколс?
Аноним 12/11/22 Суб 04:28:39 #111 №2511858 
>>2511814
ХЗ как эти кликеры устроены, наверное не опознаёт некоторые элементы управления как кнопки. Ты же можешь функционал кнопки сам реализовать, просто перехватываешь клик-эвент, смотришь на чём был курсор и в соответствии с этим поступаешь. Кликнуть можешь в абсолютно любое место. И тебе не надо явно регистрировать сам объект как обработчик клика.
Аноним 12/11/22 Суб 04:39:18 #112 №2511861 
>>2511819
list(cols) для итератора или dict(cols[vals]) для хардкода
Аноним 12/11/22 Суб 09:28:35 #113 №2511892 
>>2511819
у таблицы НЕТ ПОРЯДКА столбцов, алло!
Аноним 12/11/22 Суб 10:34:48 #114 №2511928 
>>2511568
Чем окупается-то? Красноглазием? Тем, что после настройки вима можно сразу устраиваться middle lua developer? На каждый новый чих весь день сидеть и разбираться, как перенастраивать все плагины?
Аноним 12/11/22 Суб 11:00:29 #115 №2511947 
>>2511928
Сок лет, хакер? 19?
Аноним 12/11/22 Суб 13:29:37 #116 №2512022 
>>2511861
>list(cols)
Не смог нагуглить как это использовать, у меня код на 5 строк, а в гугле у всех простыни какие-то.
Аноним 12/11/22 Суб 14:59:07 #117 №2512087 
Аноны помогите , я только начинаю вкат..

Есть функция которая проверяет одинаковые буквы в слове которые идут подряд если есть возвращает true если нет то false

def double(word):
for i in range(len(word)-1):
if word== word[i+1]:
return True
return False


Вопрос такой какие тут preconditions ?
Аноним 12/11/22 Суб 15:40:16 #118 №2512114 
>>2512087
>if word[ i ] == word[i+1]:
Прадумова такое што трэба показваць код праз сэрвісы разметкі. Другая - твае слова мусіць быць даўжэй за адну літару.
Аноним 12/11/22 Суб 15:47:25 #119 №2512118 
>>2510457
>всякие ученые и преподы которые пишут новые книги тупо копипастят куски из разных книг 60-70-х годов
Добро пожаловать в рашку, страну воровства и плагиата, в том числе интеллектуальной собственности.
Аноним 12/11/22 Суб 20:17:29 #120 №2512343 
Хелп. Есть такая конструкция:
{'vnet0': {'addrs': [{'addr': '192.168.122.86', 'prefix': 0, 'type': 0}], 'hwaddr': '52:54:00:aa:03:7b'}}

Как проще всего вытащить айпишник оттуда? Это еще интерфейс один, а может быть несколько - тогда нужно самый первый взять
Аноним 12/11/22 Суб 22:05:49 #121 №2512408 
>>2512343
Используй функцию type(), чтобы понять какой тип у переменной. Понимание типа многократно способствует возможности работы с ней.
https://pastebin.com/2wKuLfr1
Аноним 12/11/22 Суб 22:52:22 #122 №2512445 
>>2512114
Чё?
Аноним 13/11/22 Вск 00:33:38 #123 №2512493 
>>2512343
first_if_name = list(out)[0]
print('The first IP of the first Interface:', out[first_if_name]['addrs'][0]['addr'])
Python документация Аноним 13/11/22 Вск 01:06:47 #124 №2512516 
Ладно я дибил мне с английским сложно. Куда бы я не зашел везде какие то троли нахваливают доки к Qt и PyQt в частности. Я извиняюсь, но по сравнению с VisualStudio это полное убожество, я 3 часа менял цвет на лейбле, в документации этого просто нет, одно из основных свойств компонента который кроме вывода текста ничего не делает вообще отсутствует как отдельное поле, это просто смешно. Ответ вместо этого гуглится на левых форумах, какая то сраная html разметка. Цвет устанавливается через метод SetStyleSheet, но самое смешное что в доках он отсутствует в описании QLable, потому что оно не родное, а наследуется от QWidget. Это блядь занавес. Эту хуйню разрабатывают с 95 года, неужели нельзя было за это время сделать нормальную справку по типу VisualStudio? Где искать информацию? На левых форумах? Это наркомания.
Аноним 13/11/22 Вск 01:14:52 #125 №2512521 
image.png
triangleintersection.png
triangleintersectioncumtime.png
Помогите советом инженеру.
Написал для работы расчётную программу на питоне - всё отлично, но слишком медленно работает. Затык - в алгоритме нахождение точки пересечения луча и многоугольника (фактически луча и треугольника). Функция ray_polygon_intersection выполняется 98.7% от общего времени работы программы.
Возникла идея переписать эту функцию на C++ для ускорения, тем более, что изначально она на нём и была написана - https://ru.wikipedia.org/wiki/Алгоритм_Моллера_—_Трумбора
Но вот вопрос, а ускорится ли работа программы? Там в основном ведь работает numpy, а эта библиотека и так на C написана. Понимаю, что очевидный ответ - взять, запустить эту функцию на обоих языках и сравнить, но я совсем не умею с C++ работать, после питона натурально шиза какая-то. Так может, я зря сейчас мучаюсь?
Аноним 13/11/22 Вск 01:32:09 #126 №2512534 
>>2512521
Покажи код где у тебя numpy вызывается. По коду выглядит так будто ты можешь все распаралелить
Аноним 13/11/22 Вск 01:40:26 #127 №2512538 
view.png
>>2512534
Могу. Но это не решение.
У меня в проге лучи кидаются тысячами и всё тормозит.
При этом на доисторической программе ЦНИИмаша с похожими задачами лучи бросаются сотнями тысяч - и всё считается очень бодро. Разумеется, никакого распараллеливания там нет, программа 97 года компиляции, может вообще на фортране писалась, чёрт его знает. А может и на С.
Я пока не понимаю, как деды из прошлого века меня так обгоняют по скорости.
Аноним 13/11/22 Вск 02:02:25 #128 №2512543 
newf.png
triangleintersectioncumtime2.png
>>2512538
Нухуя себе.
Заменил np.cross и np.dot на самопальный пикрилейтед. Прирост производительности - 5.8 раза!!!
Мда, цензурных слов относительно numpy у меня больше нет.
Жалко я раньше умных людей не почитал.
https://stackoverflow.com/questions/1988091/poor-numpy-cross-performance
Аноним 13/11/22 Вск 02:05:54 #129 №2512544 
>>2512543
numpy эффективно работает когда проиcходит ебание здоровенных матриц, с мелкими значениями оно крайне хуево взаимодействует.
Можешь еще cython навернуть
https://cython.readthedocs.io/en/stable/src/tutorial/cython_tutorial.html
Аноним 13/11/22 Вск 02:06:58 #130 №2512545 
>>2512521
>но я совсем не умею с C++ работать, после питона натурально шиза какая-то
Возьми какой-нибудь раст, там более похоже на питон.
Аноним 13/11/22 Вск 02:12:43 #131 №2512547 
>>2512545
Ну я всё-таки надеюсь сладить с этой одной несчастной функцией в C++ и интегрировать её прям в питон. Через dll, или как там это делается, надеюсь, не будет очень сложно.
Меня питон вполне устраивает, исключая такие вот редкие косяки производительности.
Аноним 13/11/22 Вск 02:21:27 #132 №2512550 
>>2512547
Имею в виду эту единственную функцию на расте написать вместо с++, а не весь проект менять.
Аноним 13/11/22 Вск 09:34:54 #133 №2512627 
Что занимает больше памяти -- List[Tuple] или Tuple[List] ?
Например если у меня есть 100500 измерений по 4 float значений каждое, какой формат выйдет выгоднее?
Аноним 13/11/22 Вск 09:37:00 #134 №2512628 
>>2512627
array.array
Аноним 13/11/22 Вск 09:50:16 #135 №2512635 
Аноны подскажите как отсортировать список списков, сразу по нескольким параметрам.

Вот допустим есть список (list_1), он состоит из списков(list_N) их и надо сортировать.
list_N состоит из десятков элементов.
[
['23', 'text1', [1,2,3],'Боря', 'хуй', 'пизда', 'джигурда'],
['24', 'text2', [1,2,3],'Боря', 'хуй', 'залупа', 'джигурда'],
['23', 'text1', [1,3,2],'Боря', 'хуй', 'пизда', 'анти джигурда'],
['23', 'text0', [1,2,3],'Боря-лох', 'хуй', 'пизда', 'джигурда'],
]

И так миллион раз. Видно что данные в элементах повторяются но их слишком много. Нужно отсортировать все эти эллементы так чтобы они шли друг за другом масимально "гармонично" что-ли. Чтобы соседние элементы минимально отличаслиь друг от друга.

Очевидно что нужно проходить циклом по каждому элементу и сравнивать его со всеми другими. Но может в питоне есть какое-то особе волшедное решение для таких задач. например диффлиб - который кстати не подошел, он высчитывает "индекс похожести" каким-то своим способом и возвращает не удовлетворительный результат по моему случаю.
Аноним 13/11/22 Вск 10:19:30 #136 №2512651 
>>2512635
Нейронной сетью. Сначала отсортируй руками, потом сделай много рандомных сортировок, обучи модель, чтобы из рандомных делала ту, которую хочется тебе, а потом её используй для сортировки.
Аноним 13/11/22 Вск 12:12:22 #137 №2512734 
>>2512635
невозможно сделать корректно, потому что нет линейной упорядоченности, возможны принципиально разные результаты сортировок, традиционные алгоритмы не пригодны
Аноним 13/11/22 Вск 18:07:34 #138 №2513019 
>>2512635
сортировка по совпадению элементов в строке
https://www.online-python.com/yDBNFGfVYI
Аноним 13/11/22 Вск 18:38:32 #139 №2513040 
>>2513019
Спс. Не уверен что это мне подходит, но есть над чем подумать.
Аноним 13/11/22 Вск 19:14:15 #140 №2513076 
>>2512734
все можно отсортировать.
тебе нужно просто определить операцию сравнения или операцию расстояния чтобы использовать уже определенные операции сравнения чисел.
Аноним 13/11/22 Вск 19:18:13 #141 №2513080 
>>2512635
мне кажется на программистов свалили задачу которую раньше выполнял математик.

может вернешь им?
Аноним 13/11/22 Вск 19:25:45 #142 №2513089 
>>2512635
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.euclidean_distances.html#sklearn.metrics.pairwise.euclidean_distances
вообще, я бы не занимался сортировкой тут.
преобразуй эти строки в номинативные переменные и сохрани данные в виде sparce matrix.
Дальше посчитай евклидовы расстояния попарные (https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.euclidean.html) ну и начни сортировать от 0 прикрепляя наименее отличающийся к каждому следующему.
Очевидно способов посчитать расстояние - множество.
Способов собрать сортированные список - множество.
Но человек все равно посчитает такие данные близкими, ведь это же компьютер так решил :))

вот тут мы видим пример такого рассуждения. давайте загоним в нейросеть чтобы с снять с себя ответственность : >>2512651
Аноним 13/11/22 Вск 19:36:38 #143 №2513095 
>>2512635

хуй знает как тебе помочь. у тебя не с сортировкой, а с постановкой задачи проблема. формализуй, что ты считаешь гармонией, и что такое удовлетворяющий тебя результат. сортировка тут это самое простое
Pyuic5-Tool Аноним 13/11/22 Вск 20:16:06 #144 №2513117 
Нашел какую-то программку, которая конвертирует ui. файл в .py при запуске кода в IDE. Я её установил через pip install, но там нет описания вообще. Объясните нубу как ей пользоваться?
https://pypi.org/project/pyuic5-tool/0.0.1/
https://github.com/Abdelatief/Pyuic5-Tool
NLP+ML прохар 13/11/22 Вск 20:31:41 #145 №2513135 
Здарова молодые. Объясните мне ПЛИЗ одну вещь.

Я хочу заебашить курсач. Допустим, у меня есть твиты вет. клиник (которые лечат только кошек и собак) и я хочу с помощью NLP+ML разделить все твиты на "кошачьи" и "собачьи". Допустим, я хочу таким образом классифицировать 100 тыс. твитов.

Итак вопросы:

Первое: можно ли с помощью NLP+ML анализировать текст не только на тональность (позитив/негатив), но и на "кошачьесть", "собачесть", при наличии офк test и validation выборок?

Второе: я правильно понимаю, что если я хочу проанализировать 100 тыс. твитов, то мне вручную для обучения модели придется классифицировать 10-20% от этих ста тысяч?

Огромное спасибо за ответы, это реально поможет перестать мне прокрастинировать, поскольку через гуглинг и чтение документации порой бывает очень сложно найти ответы на фундаментальные вопросы.
Аноним 13/11/22 Вск 20:56:11 #146 №2513170 
>>2512635
если элементы повторяются, то lru cache от functools сильно поможет
Аноним 13/11/22 Вск 21:35:19 #147 №2513210 
>>2513117
Каманда у кансоле:
pyuic5 -o mainwindow.py mainwindow.ui
дзе mainwindow.ui - шлях да твайго інтэрфэйсу.

Але табе ня трэба гэта. Ужывай uic.loadUi('mainwindow.ui', self). Прыклад https://pym.dev/p/2mba6/
Аноним 13/11/22 Вск 21:41:58 #148 №2513212 
>>2513210
Ты не понял оно должно автоматом при запуске приложения в IDE обновлять .py файл с учётом внесённых изменений, без необходимости вообще вызывать консоль.
Аноним 13/11/22 Вск 21:49:08 #149 №2513217 
>>2513212
Карыстайся uic.loadUi() - усё абновіцца бяз пуску асяроддзя.
Аноним 13/11/22 Вск 21:52:29 #150 №2513218 
>>2513217
Там автодополнения кода нет и через точку нельзя обратиться к членам формы.
Аноним 13/11/22 Вск 22:14:33 #151 №2513243 
нужна помощь с написанием небольшого юнит-теста с применением mock-ов за оплату, тг mvgnvs
Аноним 14/11/22 Пнд 01:01:42 #152 №2513390 
>>2513135

>Первое: можно ли с помощью NLP+ML анализировать текст не только на тональность (позитив/негатив), но и на "кошачьесть", "собачесть", при наличии офк test и validation выборок?

Да пожалуйста. Мы не против любой движухи.
Обеспечишь ли ты ожидаемую людьми точность?
Хоть курсяк и не диплом, защищать ты его будешь перед людьми очень хорошо понимающими суть научного метода и метрики достижения научных заслуг, даже если им влом погружаться в nlm.
И им не понравится твое издевательство над ними (метриками)


>Второе: я правильно понимаю, что если я хочу проанализировать 100 тыс. твитов, то мне вручную для обучения модели придется классифицировать 10-20% от этих ста тысяч?

Вообще-то, желательно пометить все имеющиеся данные. 10% - это граница чего? Кто ее провел?
Аноним 14/11/22 Пнд 01:06:29 #153 №2513393 
>>2513076
Не всё можно упорядочить
Попробуй упорядочить комплексные числа. Вот у тебя 4 числа,
1, -1, i, -i
по модулю одинаковые, расстояния между ними или 2, или sqrt(2)

А теперь отсортируй их и обоснуй, почему так, а не иначе
Аноним 14/11/22 Пнд 02:08:14 #154 №2513414 
>>2513117
Создается отдельный .py файл с кодом:

from converter import convert_ui
convert_ui("MainForm.ui")

Каждый раз после редактирования в дизайнере .ui файла запускаем скрипт и он заново конвертирует нужные .ui файлы без вызова консоли. Благодаря работе с pyuic5 функция автодополнения работает и есть доступ к членам формы через точку
Аноним 14/11/22 Пнд 11:17:00 #155 №2513527 
Пистонщики привет! Поясните за веб. Чем ваш питон лучше той же пыхи? Или просто мода на яп заставляет высасывать плюсы из пальца?
Аноним 14/11/22 Пнд 11:17:55 #156 №2513529 
>>2513393
Линейный порядок можно предъявить для любого множества. Более того, по теореме Цермело любое множество можно вполне упорядочить (правда не всегда получится построить такой порядок конструктивно). Комплексные числа можно, например, просто сравнивать лексикографически, или сначала по модулю, а потом уже лексикографически.
Аноним 14/11/22 Пнд 11:32:36 #157 №2513533 
>>2513527
в пыхе нет культуры постоянно запущенного кода. после обработки запроса все ресурсы автоматически освобождаются и в следующий раз начинаются вычисления заново.
Только представь сколько предварительно вычисленных данных можно хранить глобально в твоем приложении.

несмотря на то, что они пытаются это исправить, нет культуры - нет движения.
Аноним 14/11/22 Пнд 11:34:43 #158 №2513535 
>>2513393
>А теперь отсортируй их и обоснуй, почему так, а не иначе
а схуяли? я могу выбрать любое правило. Хеширование или еще что-то.
Это тебе придется обосновывать почему я не могу это сделать так, а не иначе.
Аноним 14/11/22 Пнд 12:00:28 #159 №2513550 
>>2511947
>>2511568
Видал буквально 2 людей кто сумел настроить себе вим нормально и оба были красноглазыми петухами. Остальные без конца ломали себе руки и ноги в попытках на нем работать но сцук каждый повизгивал что ему очень вкусно
Аноним 14/11/22 Пнд 12:06:41 #160 №2513554 
>>2513550
Илитно же.
Ну знать там двадцать ходовых хоткеев заебись - что-то подкрутить на сервере, а хуевертить какие-то конфиги-плагины и превращать его в НЕХ это очень на любителя.
Аноним 14/11/22 Пнд 12:36:39 #161 №2513578 
>>2513527
да ничем. нахуй не нужны в вебе другие языки кроме жс, всё лучшее у жсеров, остальные чисто костыли для тех кто жсом не хочет пользоваться
Аноним 14/11/22 Пнд 12:41:29 #162 №2513580 
https://habr.com/ru/post/698982/

Обоссаны
Аноним 14/11/22 Пнд 12:42:34 #163 №2513581 
image.png
>>2513578
>нахуй не нужны в вебе другие языки кроме жс
Твое ебало - пикрил.
Аноним 14/11/22 Пнд 14:52:49 #164 №2513651 
image.png
>>2509442 (OP)
А насколько нормально делать вот так?
Вдогонку, как понять вообще, что принятое тобой решение не говно? Как бы, с моей стороны, если код делает свою задачу, значит он не говно. Однако всегда находятся чуваки с нюансами и говорят, что вообщет так не принято.
Аноним 14/11/22 Пнд 15:31:39 #165 №2513703 
>>2513651
>А насколько нормально делать вот так?
А какие альтернативы этому ты представляешь?

>Вдогонку, как понять вообще, что принятое тобой решение не говно? Как бы, с моей стороны, если код делает свою задачу, значит он не говно. Однако всегда находятся чуваки с нюансами и говорят, что вообщет так не принято.
В каком сценарии? На роботе будет тимлид; на гитжабе, если код популярный, то кто-нибудь отпишет или даже отрефакторит; пока учишься на стак оверфлоу или реддите можно попросить отревьюить. А там и сам будешь знать, как принято.
Аноним 14/11/22 Пнд 15:41:47 #166 №2513717 
>>2513703
> А какие альтернативы этому ты представляешь?
Никаких. Я только это смог придумать.

> В каком сценарии?
Да в том и дело, что я в основном для себя пишу. Я девопс и иногда, короче, приходится самому делать инструменты. Лида нет, как бы, я один. На питухоне в компании пишу тоже только я. Ну и короче хочется, чтобы никто потом не охуел, разгребая километры скриптов, написанных мной. Они с одной стороны простые и логичные, а с другой стороны, это может я так считаю, а другой припрётся и короче, не поймёт нихера.
Аноним 14/11/22 Пнд 15:42:24 #167 №2513718 
>>2513651

эксепт не нужен тут
try: ...
finally: ...
Аноним 14/11/22 Пнд 15:43:09 #168 №2513719 
>>2513717
>>2513651
except-блок тебе тут не нужен
В finally стоит делать закрытие какого-то ресурса а это дефолт блэт для любых операций с файлами/сокетами
Аноним 14/11/22 Пнд 15:48:47 #169 №2513721 
>>2513719
А, так можно было. Окей.
У меня в finally подчищаются хвосты от работы скрипта, чтобы при следующем запуске не наебнулось говно из subprocess.
Аноним 14/11/22 Пнд 15:52:51 #170 №2513724 
>>2513721
оно для этого и придумано
Аноним 14/11/22 Пнд 15:53:17 #171 №2513725 
>>2513717
Ничего не поделаешь тогда. Попробуй полуркать по ключевым словам code smell, там научат, как не надо делать.
Аноним 14/11/22 Пнд 17:04:44 #172 №2513770 
Аноны, кто-нибудь сталкивался с тем, что при попытке экспорта датафрейма в xlsx/csv/любой вообще формат, нихуя не происходит. Облазил весь stackoverflow и ничего дельного не нашел
Аноним 14/11/22 Пнд 17:16:01 #173 №2513775 
>>2513770
Если тебе так интересно, не сталкивался.
Я последние лет 25 не сталкиваюсь с ситуациями когда код ведет себя необъяснимо. Вот когда меня посадили на VAX VMS после ПК - вот это была проблема и растерянность !
А у тебя Гугл есть, декомпозиция задач и отладчик.
Аноним 14/11/22 Пнд 17:56:30 #174 №2513793 
Кто в Джанге шарит, хелп

Заделал кастомные роли у юзеров, в админке проверяем возможности смотреть/редактировать определенную модель согласно проверке роли юзера. Все бы ничего но у меня юзеры к ролям соотносятся many-to-many через промежуточную таблицу, каждый раз при проверке будут вызываться запрос в БД, что в общем-то пиздец накладно. Как это обойти?
Аноним 14/11/22 Пнд 18:35:42 #175 №2513815 
Снимок экрана 2022-11-14 в 17.49.23.png
Добрый вечер, как на сервере ебануть pip3, установить просто так не могу, python3 работает
Аноним 14/11/22 Пнд 18:38:16 #176 №2513818 
image.png
image.png
Пацаны, я в питоне не шарю, можете код проанализировать?
Аноним 14/11/22 Пнд 18:48:44 #177 №2513825 
>>2513818
Ну такой говнокод действительно нужно уметь писать
Аноним 14/11/22 Пнд 18:52:12 #178 №2513827 
Как минимум функция перегружена, че там происходит лень вникать
Аноним 14/11/22 Пнд 18:57:59 #179 №2513834 
image.png
>>2513825
>>2513827
Плиз...
Аноним 14/11/22 Пнд 19:12:06 #180 №2513845 
>>2513815
>python 2.7
>centos покрылся мхом

спешу сообщить твоим коллегам, что это не сервер, а отрыжка.

Переустанавливайте все там на ubuntu 22.04.

2022 год на носу!
Аноним 14/11/22 Пнд 19:21:43 #181 №2513847 
Аноны, вопрос.

Вот есть например словарь.

dict = {1:'', 2:'',}

Нужно в нем проверять ключи.
Если я например сделаю для ключей отдельную переменную и буду проверять ключи в ней.

dict_keys_var = dict.keys()
if 'some_key' in dict_keys_var:
pass


Это лучше чем каждый раз обращаться к dict.keys() ?

if 'some_key' in dict.keys():

Ну т.е. если я выполняю dict.keys() в этот момент создается список ключей. А если я это делаю в цикле, то список ключей будет делаться много раз, значит лучше поместить этот список в переменную?
Аноним 14/11/22 Пнд 19:28:29 #182 №2513852 
>>2513818

вот это лютое дерьмище
Аноним 14/11/22 Пнд 19:31:05 #183 №2513854 
>>2513847

со значениями так можно делать. но с ключами это лишнее. просто делаешь if key in dict, и будет работать
Аноним 14/11/22 Пнд 19:42:07 #184 №2513861 
>>2513854
>будет работать
Лол ну понятно что будет. Вопрос про оптимизацию. Каждый раз при обращении будет список из ключей создаваться, или этот список - готовый объект в памяти, который уже создался когда-то там вместе со словарем?
Аноним 14/11/22 Пнд 19:43:10 #185 №2513862 
>>2513861
Это мапка, там за тебя все создано уже
Аноним 14/11/22 Пнд 19:48:06 #186 №2513865 
>>2509442 (OP)
Блять, меня уже трясёт от этого пидорства, помогите разобраться. Есть некий код на питоне, он отлично работает из консоли. Но вот при попытке выполнить этот код из шелл-скрипта - питон просто не выполняет его. Т.е. команда типа "python zalupa.py" просто не работает, а плюс ко всему питоновкая пидорасина ещё и возвращает код завершения 0, без выхлопа. Дальше ахуеннее - кладу код питона в другую соседнюю папку - он работает из скрипта, но при переключении на другого юзера опять такая же хуита. Права на доступ к папке чекал. Просто из консольки работает всегда. Перемещаю другим юзером - уже не работает у первого из скрипта.
В этом дерьме есть логи самого интерпретатора? Как это вообще дебажить, если он код 0 возвращает? До выполнения питоновского кода похоже даже не доходит, по крайней мере первые строчки уже не отрабатывают. И я нихуя не понимаю в чём разница запуска из консоли или скриптом, его же запускает один и тот же шелл, под одним и тем же юзером. Окружение? Но какого хуя оно начинает работать в другой рандомной папке?
Версии питона менял, если что.
Аноним 14/11/22 Пнд 19:50:24 #187 №2513867 
>>2513861

item in list: O(n)
key in dict: ~O(1)

так понятнее?
Аноним 14/11/22 Пнд 19:53:36 #188 №2513872 
>>2513865
> Есть некий код на питоне

я один хрустальный шар разбил, а другой потерял, звыняй
но скорее всего проблема либо в коде, либо не в нём
Аноним 14/11/22 Пнд 19:54:54 #189 №2513874 
>>2513865
>До выполнения питоновского кода похоже даже не доходит
Так доходит или не доходит? Если не доходит - то при чем здесь питухон тред. ты где-то на стороне обосрался. А если доходит - то, ну хуй знает. Расставь по всему коду маркеры и смотри какие сработали, чтобы локализировать "проблему".
Аноним 14/11/22 Пнд 20:25:19 #190 №2513891 
>>2513815
python3 -m pip
Аноним 14/11/22 Пнд 21:02:09 #191 №2513924 
>>2513527
Преимущество питона - изобилие библиотек, в том числе C++. И многопоточность.

Для веба преимуществ не видно. Сам питон - язык незрелый, по ООП недоразвитый как php4, страдает несовместимостью версий. Документация никакая. С зависимостями ебля. После php выглядит как мопед после люксового авто. Короче еще лет 10 до уровня пхп и джавы.
Аноним 14/11/22 Пнд 21:20:26 #192 №2513928 
>>2513865
У тебя некая проблема с администрированием unix системы.
Недавно команду придумал:
python -V
Ею можно определить работает ли сам и нтерпретатор из-под юзера. Еще прикольная команда есть:
which python
показывает путь к данному интерпретатору. Ну и дальше там всякие
ls -al *.py
показывает права доступа к файлам, скрипту например...
Аноним 14/11/22 Пнд 22:33:30 #193 №2513975 
>>2513924
>джавы
Думаю перекатываться в бэкенд-разроботку из бэкенд-автоматизации и раньше думал про джавуна ней тесты пишу, но после полугода скриптов на петухоне как-то нет желания дрочить фабрики фабрик
Или я не прав и джава - охуенно, а я тупой уебан?
Аноним 14/11/22 Пнд 23:14:01 #194 №2514011 
>>2510603
зато в нем все удобно и работает.
Аноним 14/11/22 Пнд 23:16:28 #195 №2514015 
>>2511387
>>2511398
это кривой тийп хинтинг в либе.
никак не фиксить.
либо ты сделал какую то хуйню кривую.
Аноним 14/11/22 Пнд 23:23:58 #196 №2514028 
>>2512114
Просто вслух проорал с этого визга.
Аноним 14/11/22 Пнд 23:25:37 #197 №2514030 
>>2512408
Какой лист нахуй. Там dict епта. Ты глупый чтоли?
Аноним 14/11/22 Пнд 23:29:06 #198 №2514032 
>>2513924
Пыхер порвался.
Аноним 14/11/22 Пнд 23:31:26 #199 №2514034 
>>2513818
выглядит как какая то каша.
Аноним 14/11/22 Пнд 23:33:49 #200 №2514037 
image.png
>>2513818
Что это блять за хуйня и нахуя она тут нужна?
Чел под спидами сидел код писал?
Аноним 14/11/22 Пнд 23:35:49 #201 №2514040 
>>2513834
Девочка написала лютейшую кашу без понимания зачем она это все собирала, если можно было сделать проще.
Это как видел пример кода где чел на питоне работал с циклами на манер С
На типе
for i in range(0, a):
....list1
Может все таки хоть доку по питону разочек откроют?
Аноним 14/11/22 Пнд 23:41:45 #202 №2514045 
>>2513975
Джава имеет за собой поддержку больших корпораций, поэтому её выбирают крупные компании. Однако, для веба она очень медленно пишется в отличие от интерпретируемых языков, дороговата в разработке. Джава хороша как язык в возможностях ООП. Пхп её в этой плане копирует, сохраняя при этом простоту и легкость написания кода под веб.

Короче, для бекенда по размерам проекта я вижу такую иерархию:
- java и php - для больших проектов
- python и ruby - для средних
- js и typescript - для мелочевки одностраничной
Аноним 14/11/22 Пнд 23:42:08 #203 №2514046 
>>2513834
Так же эта чушка написала Oneline if condition, но из других ифов это оставила как есть в несколько строк.
Для чего она воткнула зип для 3х элементов в которых блять еще и tuples, не ясно не понятно..........
action is not None - тут уже сразу все ясно становится.

Епттваю мать. Тут до каждой строчки можно доебаться. 13ти летнее дите хвастается как может переусложнить 2 + 2 на питоне.
Аноним 15/11/22 Втр 00:12:07 #204 №2514072 
Здарова, мужики. Есть гайд какой-нибудь, как вкатиться в 2022 году в России?
Аноним 15/11/22 Втр 00:15:09 #205 №2514076 
>>2514072
Привет. Не знаю.
Аноним 15/11/22 Втр 01:31:13 #206 №2514115 
>>2514072
> Питон тред
Аноним 15/11/22 Втр 09:45:42 #207 №2514185 
>>2514030
Нет, ты.
Аноним 15/11/22 Втр 11:36:05 #208 №2514218 
>>2514072
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь.
Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки.
Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало.
Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent.
Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce.
Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 15/11/22 Втр 14:28:28 #209 №2514347 
1576968677maxresdefault.jpg
Есть библиотека для подключения к s3, не AWS, а любой s3? Нагуглил boto3, но я хз как там адрес сервера менять

Пикрандом
Аноним 15/11/22 Втр 14:32:38 #210 №2514352 
>>2514347
> но я хз как там адрес сервера менять
нагугли
Аноним 15/11/22 Втр 22:56:24 #211 №2514660 
df.groupby(["Unnamed: 1", "Unnamed: 17", "Unnamed: 4"]).sum().reset_index()

Почему не целые числа сгруппировались плохо? Не суммировались, а просто в одно строчку все значения.
9,041,060,841,6213,659,814,86
Как суммировать их?
Аноним 15/11/22 Втр 23:22:11 #212 №2514685 
>>2514660 df['Unnamed:1'].sum() + df['Unnamed: 2'].sum() ..
Аноним 16/11/22 Срд 00:00:48 #213 №2514705 
Почему нету способоа нормально прибить тред, не дожидаясь его завершения? Что-нибудь вроде thread.kill()
Аноним 16/11/22 Срд 00:30:12 #214 №2514714 
>>2514705
Не создали. Учитывая, что проблема обсуждается часто, то, вероятно, что это из-за философии python. (Поправьте, если не так).
Для того, чтобы остановить поток, необходимо подать сигнал завершения. В редких ситуациях можно использовать булёвый флаг name_thread.daemon = True, чтобы поток стал демоном и он завершился с завершением основного процесса - это плохо, если выполняется работа с БД, файлом и т.д, а ресурсы, как сказано в руководстве, "may not released properly"; поэтому так делать не надо, если попадает под эти случаи.
Аноним 16/11/22 Срд 02:30:10 #215 №2514735 
Блин, зарегался на госуслугах на курс по python, дали тест, там задачи для выпускников 8-11 классов, пиздец, я просто нихуя не помню, плюс минус понимаю как с помощью каких то функций или формул это все считается на изи, но я просто нихуища не помню, ни логарифмов ни вообще самых обыкновенных функций даже, просто "решил" задачи методом логического мышления (ну и методом тыка немножк). Мне судя по всему школьный курс информатики и математики не помешает пройти пока жду курс, лол блять. ВКАТИЛСЯ ЕПТЫ
Аноним 16/11/22 Срд 05:30:22 #216 №2514749 
>>2514705
Кильни по pid.
Если это не то что ты хочешь - тогда хули тебе надо?
Аноним 16/11/22 Срд 05:45:43 #217 №2514752 
>>2514037
Ну иначе пришлось бы Thread().start() два раза писать.
По заветам DRY так делать нельзя

А то что ошибки из треда никак не обрабатываются это неважно
Аноним 16/11/22 Срд 10:19:05 #218 №2514866 
>>2514218
>любая баба будет течь
Ебать ты быдло.
Аноним 16/11/22 Срд 13:37:45 #219 №2515034 
>>2514749
Это как? Я новичок
Аноним 16/11/22 Срд 15:15:33 #220 №2515103 
>>2514045
А как же го вместо пхп?
Аноним 16/11/22 Срд 17:36:48 #221 №2515237 
>>2514752
А как надо обрабатывать ошибки тредов? Только не как в DRY с этого примера, а нормально.
Аноним 16/11/22 Срд 20:29:13 #222 №2515394 
>>2514866
мне хотя бы вкатываться никуда не надо.
Аноним 16/11/22 Срд 20:30:52 #223 №2515399 
>>2514752
она могла это вынести в отдельную структуру и собрать отдельно от лупа, который разползся на 2 строчки.
Аноним 16/11/22 Срд 23:47:45 #224 №2515569 
image.png
15637602561530.png
как аннотировать функцию, чтобы она принимала динамический кортеж типов и возвращала итератор с аналогичной сигнатурой? так, чтобы пичарм знал типы распаковываемых переменных

вот мои нелепые неработающие потуги:
https://pastebin.com/JH3kyDPk
Аноним 16/11/22 Срд 23:50:04 #225 №2515570 
>>2515569
классы могут быть любыми
Аноним 17/11/22 Чтв 00:16:25 #226 №2515583 
парни, объясните че будет если написать
print(type(type(int)))
в вариантах ответа "class "type" нету
хули от меня хотят то, я гуглил но такого примера не нашел, я понимаю что когда ты пишешь там type(10) тебе выдаст что это int, но тут то хуле
мимовкатун
Аноним 17/11/22 Чтв 00:30:49 #227 №2515586 
>>2515583
Так напиши и сам увидишь.
Аноним 17/11/22 Чтв 00:41:19 #228 №2515591 
>>2515586
я написал, выдает <class 'type'>
но в вариантах ответа этого нет, максимально близкое по смыслу это type'type', это одно и тоже получается чтоли? Я уже специально не правильно ответил, просто хочется на будущее знать.
Аноним 17/11/22 Чтв 01:09:20 #229 №2515596 
>>2515583
class obj есть в ответах? вполне подходящий вариант.
Аноним 17/11/22 Чтв 01:12:44 #230 №2515597 
>>2515591
> type'type'
Это второй бидон.
Аноним 17/11/22 Чтв 02:22:41 #231 №2515615 
>>2515596
>>2515597
там только:
type'type"
type"int'
0
Error
Аноним 17/11/22 Чтв 02:31:10 #232 №2515619 
>>2515615
Я же говорю - такое выдаст вторая версия, а ты учишь третью, очевидно.
Аноним 17/11/22 Чтв 02:36:38 #233 №2515622 
>>2515619
https://ideone.com/SNm1Ka
Аноним 17/11/22 Чтв 03:28:14 #234 №2515630 
>>2515619
охуеть, найс курс походу будет, третьему питону сколько? 14 лет? До сих пор старые методички отправляют лол.
Аноним 17/11/22 Чтв 06:09:02 #235 №2515663 
>>2515630
Ну скобки у принта есть, видимо апдейтили со второго и прошляпили эту конкретную хуйню.
Аноним 17/11/22 Чтв 06:13:33 #236 №2515665 
>>2515663
ебать ты детектив
Аноним 17/11/22 Чтв 10:47:37 #237 №2515741 
>>2515570
>>она принимала динамический кортеж типов и возвращала итератор с аналогичной сигнатурой
>>так, чтобы пичарм знал типы распаковываемых переменных
чиво блять? пайчарм то откуда может знать что у тебя может быть там внутри, если ты это нигде не описал. Сделай дженерики епта.
Аноним 17/11/22 Чтв 12:32:36 #238 №2515830 
1523746131299.png
Нагуглил пасту из Stack Overflow и переписал для себя. Как вам?

Реквестирую советы по улучшению кода.

https://www.onlinegdb.com/1o0ZpYsdLt
Аноним 17/11/22 Чтв 13:11:24 #239 №2515869 
>>2509442 (OP)
Сап пайтонач.
Реквистирую: Какого хуя?
https://pastebin.com/YmumJnEd
Аноним 17/11/22 Чтв 13:20:23 #240 №2515879 
>>2515869
А что тебя смущает?
Аноним 17/11/22 Чтв 13:23:52 #241 №2515885 
>>2515879
Неявное поведение, хоть и прописано в доке. Мне это психику сломало
Аноним 17/11/22 Чтв 13:26:20 #242 №2515891 
>>2515885
Какое поведение неявно?
Аноним 17/11/22 Чтв 13:30:48 #243 №2515900 
>>2515891
Не изменяется объект по ссылке, хоть бы ошибку рейзили, что я долбаеб
Аноним 17/11/22 Чтв 14:42:18 #244 №2515970 
Почему везде пишут что змiй такой язык медленный, для "лохов" и вкатунов с 5 классами средней церковной школы? При этом это один из наиболее развивающихся языков, новые версии выкатывают быстро, появился нормальный многопоток/процессинг, скорость работы повышается через либы всякие на сях.
Все это похоже на утку которую когда то пустили и теперь все ее разносят.
Он же явный пример easy to learn, hard to master.
Чи не?
Аноним 17/11/22 Чтв 14:46:56 #245 №2515976 
>>2515900
А он и не должен меняться, i внутри for и i, которому ты присваиваешь внутри итерации, это разные имена, у второго своя область видимости, и на следующей итерации он перезаписывается i из for.
Аноним 17/11/22 Чтв 14:47:17 #246 №2515978 
>>2515970
> змiй такой язык медленный,
Потому что медленный

>для "лохов"
Нигде не пишут

>При этом это один из наиболее развивающихся языков, новые версии выкатывают быстро,
Какая разница?

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

>скорость работы повышается через либы всякие на сях.
Если бы был быстрый, то либы были бы на питоне, логично?

>Он же явный пример easy to learn, hard to master.
Hard to master-то где? Или ты про необходимость переписывания логики на си, если нужна скорость?
Аноним 17/11/22 Чтв 15:13:02 #247 №2516002 
1562230835623.png
Добавил возможность вводить несколько строк
https://onlinegdb.com/99i1QFZkW
Аноним 17/11/22 Чтв 15:21:27 #248 №2516005 
>>2516002
>tr = ...
str.maketrans(*symbols) уже есть. Не обязательно руками собирать.
Аноним 17/11/22 Чтв 15:32:05 #249 №2516019 
1662205970571.png
>>2516005
Да, действительно, всё работает
https://onlinegdb.com/bO3pVYmPl
Аноним 17/11/22 Чтв 15:44:21 #250 №2516032 
1612384336806.png
1554472594778.png
>>2516019
Чета он последний абзац не выводит, нужно вхолостую enter нажимать, чтобы вывел, с чем это связано, непонятно
Аноним 17/11/22 Чтв 16:16:42 #251 №2516060 
1515466960263.png
Последняя версия по реквестам анонов с /b/
https://onlinegdb.com/ctmXmq5jZ
Аноним 17/11/22 Чтв 16:19:18 #252 №2516064 
1616907807873.png
>>2516060
Не та картинка, вот
Аноним 17/11/22 Чтв 16:21:31 #253 №2516068 
>>2516060
>по реквестам
каким реквестам наху, ты тут один срёшь
Аноним 17/11/22 Чтв 16:23:31 #254 №2516070 
>>2516068
МЕРТВЫЙ ТРЕД
@
МЕРТВОГО ЯЗЫКА
Пусть срёт. Он хоть погромирует, а не тянучку ищет или курсы для сорокалетних покупает.
Аноним 17/11/22 Чтв 16:24:16 #255 №2516071 
>>2516068
https://2ch.hk/b/res/277709694.html
Аноним 17/11/22 Чтв 18:23:17 #256 №2516149 
Как перестать скачивать курсы и начать кодить? Я уже компульсивно штук 10 посмотрел. У кого-то еще из вкатунов была такая проблем?
Аноним 17/11/22 Чтв 18:42:03 #257 №2516175 
>>2510210
Что спрашивали на собесе? Что конкрктно изучал, курсы, книги?
Аноним 17/11/22 Чтв 19:05:29 #258 №2516194 
>>2516149
Если ты еще не вкатился то почти никак, если у тебя нет никаких вещей, которые ты хотел бы автомотизировать
Аноним 17/11/22 Чтв 19:22:53 #259 №2516211 
>>2516194
Ну и нах я тогда учу этот питон? На работу я без опыта никак не попаду.
Аноним 17/11/22 Чтв 19:36:15 #260 №2516218 
>>2516211
Потому что его распиарили как язык для вкатышей для заработка на "обучении" дебилов, пускающих слюни на 300к/сек.
Аноним 17/11/22 Чтв 19:41:55 #261 №2516221 
>>2516218
Точно. Лучше бы это время на джаваскрипт потратил.
Аноним 17/11/22 Чтв 20:24:45 #262 №2516244 
Я вам секрет открою, очень часто всем похуй на скорость языка.
Аноним 17/11/22 Чтв 20:26:46 #263 №2516248 
>>2515741
я думаю TypeVarTuple это то что я ищу. надо бы пистон обновить
Аноним 17/11/22 Чтв 21:08:25 #264 №2516279 
>>2516211
Всмыле не попадешь? А ты думал, что все мидлосеньки сразу на такие должности попали?
Аноним 17/11/22 Чтв 21:28:17 #265 №2516290 
>>2516279
>Всмыле не попадешь? А ты думал, что все мидлосеньки сразу на такие должности попали?
Щас на любую открытую вакансию с нулем опыта откликается по 300 человек, и требования к джуну стали как к мидлу 5 лет назад.
Аноним 17/11/22 Чтв 21:56:36 #266 №2516305 
15486504826203.jpg
как кратко и ёмко назвать метод bar?

> foo.bar(Spam, Eggs, Qux)

1) берет один или больше типов компонентов с объекта foo
2) все указанные компоненты обязаны присутствовать на объекте


неудачные варианты:
> foo.get_components(Spam, Eggs, Qux)
> foo.get(Spam, Eggs, Qux)
> foo.get(Spam, Eggs, Qux)
пункт 2 не используется. кажется, будто сообщаешь функции возможные варианты - "поищи такое, такое и такое, чо найдешь возвращай"

боле-лимение:
> foo.find_set(Spam, Eggs, Qux)
но слово set в питоне занято другим, а функция возвращает тупли в порядке указанных аргументов
Аноним 17/11/22 Чтв 22:47:33 #267 №2516328 
>>2516290
Я вкатился 5 лет назад, недавно специально смотрел собесы джунов, не особо там все и поменялось. При том, что опыт работы над крупными проектами будучи джуном ты не получишь даже если сотни книг перечитаешь.
Аноним 18/11/22 Птн 00:09:21 #268 №2516363 
>>2516305
Ад самага пачатку йдзеш памылковым шляхам. Не пішы ў назве функцыі як яна працуе. Пішы якую справу яна робіць у кантэксце дамэна: гатовіць яешню, ці правярае пошту.
Аноним 18/11/22 Птн 00:27:46 #269 №2516380 
Pvuzr4pDiI-1.jpg
>>2516328
5 лет назад не было такого дикого хайпа и конкуренции за право быть червем-джуном
Аноним 18/11/22 Птн 04:35:03 #270 №2516416 
>>2516305
короче, я остановился на слове match
если у кого есть получше варианты - пишите
Аноним 18/11/22 Птн 10:47:24 #271 №2516493 
>>2516290
ой какой мидлу. чо фантазируешь. в вакухах просто примерный скилсет пишут. могут взять и с заметно меньшими если мозги на месте.
Аноним 18/11/22 Птн 11:04:27 #272 №2516498 
>>2516290
Я в 2019 году свичнулся из аналитика данных в питухон разраба, при этом питон знал на уровне пердолинга датафреймов в пандасе + реквесты + бс4 + склалхимия + паймонго. Всё писал в функциональном стиле, линтерами не пользовался, гитом не пользовался, тесты не писал, с докерами не пердолился. Теперь представь, какой я говнокод писал (да и продолжаю писать). При этом взяли на ставку мидла, и взяли просто потому что на собесах всех больше понравился + был норм опыт работы с БД, неплохо шарю в скле. До сих пор работаю, поменял за это время уже 2 места, на текущем месте уже старший разработчик (сеньерская ставка), зп апнулась по сравнению с аналитиком данных в 3 раза.
Аноним 18/11/22 Птн 12:14:51 #273 №2516549 
>>2516498
У тебя был релевантный опыт, это другое
Аноним 18/11/22 Птн 12:25:56 #274 №2516559 
>>2516549
У меня был просто опыт в ИТ, в плане именно питон разраба у меня был опыт как у червя-пидора. Мне пришлось с нуля изучать штангу, веб, докеры, редисы и паттерны, которые по хорошему я должен был уже знать, когда меня брали на эту позицию.
Аноним 18/11/22 Птн 13:25:27 #275 №2516591 
image.png
Короче, придумал психологическую защиту. Просто представлю, что я изучаю питон для собственного удовольствия, а работа мне не особо и нужна. Можно еще систему файликов на компе автоматизировать, да.
Аноним 18/11/22 Птн 13:52:12 #276 №2516605 
image.png
Guyz, кто шарит в celery, почему мой лог вот отсюда не сохраняется в файл который я указал?
Вернее все еще хуже - сохраняется но не целиком. Все это запускаю в docker-compose, логи в консоли (StreamHandler) прекрасно вижу, каждые 10 секунд туда высирается сообщение "Hello world!", но почему блэт я не вижу этих логов в файле celery.log, которые указал при конфигурировании логов? Там всего 1 единственная запись - "Celery is ready!", где остальные бля?
Аноним 18/11/22 Птн 14:00:38 #277 №2516610 
>>2516605
Предвижу кукарек не тему уровня логирования. Скажу так: я пробовал ставить какой угодно, всем похую. Я и там и там поставил уровень warning - в файл пишется только первая запись. Пробовал кидать эксепшн в dummy-таске, в файл traceback не пролезает в файл, логгер почему-то просто отвалился, какого хера?
Аноним 18/11/22 Птн 14:37:14 #278 №2516632 
>>2516175

https://stepik.org/course/154/syllabus
https://stepik.org/course/96018/syllabus
https://stepik.org/course/217/syllabus
https://stepik.org/course/1547/syllabus

еще отсюда много
https://www.youtube.com/user/zaemiel
https://www.youtube.com/c/SeniorPomidorDeveloper
https://www.youtube.com/c/%D0%94%D0%B8%D0%B4%D0%B6%D0%B8%D1%82%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D1%83%D0%B9
https://www.youtube.com/c/ArjanCodes
https://www.youtube.com/@anthonywritescode

Плюс часто просто шел и гуглил если что-то было непонятно.

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

На собесе спрашивали про многопоточность/многопроцессорность/асинхронность много, про алгоритмы немного, вроде какая сложность добавить элемент в лист, сортировку пузырьком на бумажке написать не просили, про тестирование. Про паттерны спрашивали, но на них я уже запинаться стал, про веб мало спрашивали. Показал проекты свои (учебные), вроде все на этом.
Аноним 18/11/22 Птн 16:51:42 #279 №2516762 
>>2516605
Нормальный пацан устанавливает логирование через сигнал celery.signals.setup_logging.connect
Аноним 18/11/22 Птн 17:01:11 #280 №2516772 
>>2516632
>>ArjanCodes
Балдежный поц. сам его смотрю
Аноним 18/11/22 Птн 21:28:03 #281 №2517037 
Есть на Ютубе годные курсы по Питону от 0 до полноценного джуна?
Аноним 18/11/22 Птн 22:22:25 #282 №2517077 
>>2517037
Чекай канал freecodecamp, полноценным джуном конечно не станешь, но там все подробно разжевывают.
Аноним 18/11/22 Птн 23:46:09 #283 №2517115 
70GdGRFVfJK-g.jpg
Я в любом случае буду гуглить и делать сам, но может подскажите либы и куда копать.

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

Как понимаю, нужна библиотека по работе с виндовым треем и виндовыми уведомлениями.
И всё это должно висеть в автозагрузке компа фоном 24/7 и не жрать много ресурсов.
Аноним 19/11/22 Суб 00:33:45 #284 №2517145 
>>2517130
цем в пупок
Аноним 19/11/22 Суб 03:14:51 #285 №2517227 
Хочу освоить питон и стать прости Господи программистом на уровне полуднаря правда, ибо тех вышки нема.
Все пиздят, что питончик самый простой язык , но я чот сомневаюсь, какие подводные при изучении,? Реально ли попасть на работу в ДС после полугода изучения?
С кем придется конкурировать?Если он самый простой, не значит ли, что кроме технарей туда идут и обычные Васяны? Насколько котируется в айти тех вышка?

Мои перки: B2-C1 инглиш, 3 месяца работы ручным макакой(не зашло, бросил), полгода работы it сапортом в неплохой айти компании.
Кароче мне тут наверное нужен тот, кто вкатился по сути с нуля в ДС без тех вышки. Есть такие ребята?
Аноним 19/11/22 Суб 03:47:56 #286 №2517231 
>>2517115
Купи esp32 с камерой за пару баксов и снимай показания автоматически, вот это заебись задачка.
Аноним 19/11/22 Суб 06:45:29 #287 №2517253 
>>2517227
Если ты говоришь про дата сайенс, то полгода - мало, если ты не супер гений, но я в этом сомневаюсь.. Сайты парсить, наверное, можно научиться за полгода, но тоже требует усилий.
Аноним 19/11/22 Суб 20:45:56 #288 №2517725 
>>2516305
>>2516416
ПолучитьОстаткиНаСкладах()
Слово match начиная с 3.10 тоже другое означает
Аноним 19/11/22 Суб 20:55:44 #289 №2517732 
>>2515237
Ну например вместо thread.start взять concurrent.futures,
с каждого треда возращать future и потом палить в .result()

По дефолту питоновские треды молча дохнут и никому ничего не говорят
Аноним 20/11/22 Вск 03:23:11 #290 №2517967 
image.png
image.png
Писал регулярки для приватных IP.

И для класса B (172...) регулярка отказывается работать пока не заэкранирую бэкслэшем "16-31" -> "16\-31".
Жалуется на какой-то range.
Хотя на сайтах верификации регулярок все отрабатывает нормально.
Чё это за хуйня?
Аноним 20/11/22 Вск 03:36:41 #291 №2517975 
>>2517725
Они сделали костыль в виде soft keywords для совместимости, лул. Это типа кейворд, но его можно использовать в виде имени, чтобы не ломались старые скрипты с такими именами. Но зная что он уже есть, лучше не использовать, да.
>>2517967
Ты неправильно понимаешь классы символов.
[0-255] это не от 0 до 255, а от 0 до 2 и 5.
[16-31] это не от 16 до 31, а 1 и от 6 до 3. Так наоборот нельзя, вот он и ругается. Другие движки может и не ругаются, просто делают не то, что ты думаешь.
Аноним 20/11/22 Вск 03:50:50 #292 №2517978 
>>2517975
Понял, в общем регулярки не умеют вычленять числа из строки, нужно оперировать цифрами и разбивать необходимое число на совокупность цифр.
Аноним 20/11/22 Вск 03:53:02 #293 №2517979 
image.png
>>2517975
Ну дела...
Аноним 20/11/22 Вск 04:01:14 #294 №2517982 
>>2517979
Это ты ещё корректную валидацию имейлов не видел размером в страницу.
Аноним 20/11/22 Вск 04:06:34 #295 №2517983 
>>2517982
Но вообще это переусложнено, эта первая галка должна чуток сократить. А вообще, гугли сразу готовые варианты для айпи, это дохуя частая задача, так что готовых оптимальных вариантов должно быть навалом.
Аноним 20/11/22 Вск 06:36:29 #296 №2518012 
>>2517983
>это переусложнено

двачую. разбил стринг по точкам, сконверил в инты, проверил диапазон. еррор чекинг по желанию
Аноним 20/11/22 Вск 09:17:14 #297 №2518045 
>>2517983
Есть модуль питона в стандартной библиотеке
https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv4Address

> >>> ipaddress.IPv4Address('10.231.33.21').is_private
> True
> >>> ipaddress.IPv4Address('110.231.33.21').is_private
> False
Аноним 20/11/22 Вск 20:53:15 #298 №2518848 
>>2517967
Все хуйня, переделывай
https://ipgeolocation.io/resources/bogon.html
Аноним 21/11/22 Пнд 16:49:13 #299 №2519496 
Яндексоиды ("Слава Попыту!") задали задачку.

Во времена, когда люди верили в великую силу чисел, оказалось, что волшебник Пифуман предал все народы и стал помогать Зерону.

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

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

Формат ввода
Одно трёхзначное число.

Формат вывода
Два защитных числа для каждого отряда, записанные через пробел.

Пример 1

Ввод
103

Вывод
10 31

Пример 2

Ввод
787

Вывод
77 87

Мой код:

https://www.online-python.com/0CQPJBtb8A

Вопрос. ЧЯДНТ?

Все проверки проходит кроме одной, а что в ней - хз.
Аноним 21/11/22 Пнд 18:23:06 #300 №2519623 
>>2519496
number = int(input("The number is: "))
min_num = min(number / 100, 101)
max_num= max(number / 100, 101)
print(f"The minimal number is {min_num} and the maximal number is {max_num}")
Аноним 21/11/22 Пнд 19:50:47 #301 №2519724 
>>2519496
Когда ты конвертируешь все возможные двузначные строки в инт, у тебя минимум находит некорректное однозначное число, например для '100' минимум по твоему коду будет int('01') = 1
Аноним 21/11/22 Пнд 21:46:00 #302 №2519841 
Планирую покупать курс, потому что, во-первых, я - даун, а во-вторых я знаю себя и банально не смогу проебывать обучение, зная, что я за него заплатил. Какие из существующих больше всего котируются?
Аноним 21/11/22 Пнд 21:59:11 #303 №2519853 
>>2519841
Бери любой который на английском. Чем свежее - тем лучше.
Аноним 22/11/22 Втр 03:03:19 #304 №2519996 
>>2519841
который подороже бери, больше знаний получишь
Аноним 22/11/22 Втр 03:11:03 #305 №2519997 
>>2519724
Так нет же. Я специально делают проверку чтобы "01" не получался.

if num_operated[0] != "0":

И так далее

>>2519623
Это вообще не про то код
Аноним 22/11/22 Втр 03:11:45 #306 №2519998 
>>2519841
Взял бы на Степике от Биигик. Там первые два курса бесплатные, их тебе для самого начала хватит
Аноним 22/11/22 Втр 11:13:15 #307 №2520147 
как накодить предсказатель результатов матчей на чемпионате мира?
Аноним 22/11/22 Втр 11:52:17 #308 №2520173 
>>2520147
https://docs.python.org/3/library/random.html
Аноним 22/11/22 Втр 12:13:20 #309 №2520195 
>>2520147

Ты, очевидно, в новостях прочитал об этом. Но прочитал невнимательно.

"накодить" легко.
нужно чтобы предсказатель еще и угадывал с приемлемой точностью. Вот с этим очень большие проблемы. Там в новостях даже не указана точность.
Аноним 22/11/22 Втр 12:15:22 #310 №2520197 
>>2520195
Например, есть фильм с Бредом Питом - Человек, который изменил всё (2011)
Там забавно. Посмотри.

Суть в том, что в американском бейсболе действительно была культура чисел. Они годами в докомпьютерную эпоху выпускали справочники и тд.

С европейским футболом все не так предсказуемо. За это болельщики и любят спорт.
Аноним 22/11/22 Втр 12:45:15 #311 №2520207 
>>2520195
>>2520173
я спРАишвал именно чтобы УБЕР точный был.
рандом параша не нужна
Чтобы все матчи с точностб 100% бустанул
И я не в новостях прочитал, а узнал что фонбет за такое сто лямов дает
Аноним 22/11/22 Втр 13:35:17 #312 №2520245 
>>2520207
Собирай машину времени лучше.
Аноним 22/11/22 Втр 14:43:47 #313 №2520315 
>>2520207
У тебя наивное понимание науки и мира.
Удивительно, что оно нередко не только среди двачеров.

Некто Карл Пирсон заложил основу научной революции и с тех пор все ученые к прогнозу добавляют уверенность в прогнозе. Но их никто не слушает (

Фонбету, конечно, на это все насрать. Для него главное реклама
Аноним 22/11/22 Втр 15:30:55 #314 №2520371 
>>2520315
вообще я наукоёмкий человек
>>2520245
как думаешь когда примерно такую тачку сделают и что это изменит в мире? не наступит ли сразу полный коллапс?
Аноним 22/11/22 Втр 15:37:05 #315 №2520381 
>>2520371
ты школьник епта
Аноним 22/11/22 Втр 15:56:27 #316 №2520405 
>>2520381

двачую
Аноним 22/11/22 Втр 16:17:34 #317 №2520428 
это школьник был.mp4
>>2520381
Аноним 22/11/22 Втр 16:24:33 #318 №2520431 
>>2520371
Аргентина только что проиграла Саудовской Аравии.
Уверен (с уверенностью 99%) что почти все модели такое не предсказывали.

Вот таков реальный спорт.
Аноним 22/11/22 Втр 16:34:50 #319 №2520440 
>>2520431
матч кстати был охуенно жёстким
а что если все этим матчи забигдатить? все мельчайшие параметры?

алсо кстати че кто ставил на саудитов выиграли миллионы?
Аноним 22/11/22 Втр 16:41:04 #320 №2520452 
>>2520440
> а что если все этим матчи забигдатить? все мельчайшие параметры?
... то ничего не произойдет.
все привлекательные способы заработать на пустом месте давно уже обдуманы людьми.
Аноним 22/11/22 Втр 17:00:38 #321 №2520493 
>>2520452
Кроме тех, которые ещё не обдуманы.
Напоминаю, техи для создания ядерки появились гораздо раньше, чем сама ядерка.
Аноним 22/11/22 Втр 17:04:24 #322 №2520499 
>>2520493

слышь, ты там харош уже обдумывать, а то обдумоешь какой-нибудь очередной мировой пиздец
Аноним 22/11/22 Втр 17:09:30 #323 №2520512 
>>2520499
Я и так уже дообдумывался до того, что работаю в микрофинансах и тащу мир в ад
Аноним 22/11/22 Втр 17:36:35 #324 №2520549 
markdown-image.png
Пачаны, как такую фигуру описать в Питоне? Типа чтобы за пределами круга выполнялось одной событие (принт), внутри круга и вне красной зоны - второе событие, внутри красной зоны - третье событие.
Аноним 22/11/22 Втр 17:40:32 #325 №2520558 
>>2520549
0 > hui > 5
Аноним 22/11/22 Втр 17:41:48 #326 №2520559 
>>2520558
Ебанешься так описывать. Тут какие-то кривые Безье... Мне кажется есть какой-то умный способ
Аноним 22/11/22 Втр 17:51:13 #327 №2520577 
16691277959330.png
>>2520549
Догадаешься, где треугольник, прямоугольник, парабола и сектор круга?
Аноним 22/11/22 Втр 17:56:40 #328 №2520587 
>>2520577
А параболу как описывать... Опять формулы что ле гуглить?
Аноним 22/11/22 Втр 18:06:14 #329 №2520606 
>>2520587
Твоя это
f(x) = (x - 1)^n - 9, где n - чётное, вроде как
n мне лень считать, то кажется это 2
Аноним 22/11/22 Втр 20:52:33 #330 №2520856 
>>2520559
в игропроме кривые рисует дезайнер.
А твоя хутика это какое-то тестовое задание на интегралы. Нахуй не нужное.
Аноним 23/11/22 Срд 01:28:13 #331 №2521099 
>>2520587
С кем я на одной борде сижу, пиздец

>>2520606
>(x - 1)
(x + 1)
sage[mailto:sage] Аноним 23/11/22 Срд 01:55:00 #332 №2521109 
>>2519496
d = str(random.randint(100, 999))
_ = sorted(d, reverse=True)
print(d/+' >> ' + ''.join(_[:2]) + ' ' + ''.join(_[1:]))
Аноним 23/11/22 Срд 07:32:17 #333 №2521186 
>>2520577

ебать ты глазастый. я уж пошел гуглить чем искать коллизии точки и фигуры из кривых безье либой bezier вроде
прям рилворлдкейсом пахнуло, йопта. всегда выборка значений внутри странного набора простых геометрических фигур оказывается
Аноним 23/11/22 Срд 10:02:23 #334 №2521245 
>>2521099
>>2521109
>>2520606
>>2520577
>>2520558

На самом деле это задание из раздела "Условный оператор" из "Основы Питон" от Яндекса. Там по ходу задания так составлены что процентов 50 норм, еще 40 посложнее и 10 изъебистые.

https://academy.yandex.ru/handbook/python

Алсо Яндекс и яндексоидов рот ебал, чтобы они там все сдохли, путинисты обоссанные.
Аноним 23/11/22 Срд 12:49:13 #335 №2521323 
Здравствуйте. Не знаю, как принять решение и сделать выбор между Python и Java. Помогите определиться, пожалуйста?
Аноним 23/11/22 Срд 12:54:12 #336 №2521325 
>>2521323
Индекс вката посчитай по своей локе и от него пляши, самый верняк
Аноним 23/11/22 Срд 12:54:17 #337 №2521327 
image.png
>>2521323
Аноним 23/11/22 Срд 13:26:19 #338 №2521354 
>>2521325
В моей локе работы нет, буду релоцироваться.

>>2521327
Выглядит достаточно убедительно.
Аноним 23/11/22 Срд 13:28:08 #339 №2521355 
>>2521354
По той. куда собираешься релоцироваться
ну чё как маленький
Аноним 23/11/22 Срд 13:41:54 #340 №2521365 
>>2521355
Учитывая ситуацию, почти без разницы куда, лишь бы устроиться.
Аноним 23/11/22 Срд 16:29:08 #341 №2521495 
Как аннотировать в аргументах функции список, в котором неопределенное количество словарей?
Аноним 23/11/22 Срд 16:58:15 #342 №2521504 
>>2521495
def pook(srenk: list[dict])
Аноним 23/11/22 Срд 16:59:45 #343 №2521505 
>>2521504
бля я так и делал, но я вот смотрю на аннотацию со стороны и вижу как будто список из ОДНОГО словаря, а не из многих
Аноним 23/11/22 Срд 17:22:32 #344 №2521519 
>>2521505
list[dict] - лист диктов

> вижу как будто список из ОДНОГО словаря

это для туплей специально так сделали, чтобы типы данных на лету описывать
https://docs.python.org/3/library/typing.html#special-forms

tuple[dict] - тупль из одного дикта
tuple[dict, dict, dict] - тупль из трех диктов
tuple[dict, ...] - тупль диктов
Аноним 23/11/22 Срд 17:57:08 #345 №2521536 
>>2509442 (OP)
Пацаны, тут случилась небольшая оказия. В celery мы из Джанги вытягивание содержимое нескольких таблиц и засовываем их в pandas-датафреймы, что-то типа:

stores = pd.Dataframe(Store.objects.all().values())
preset = pd.Dataframe(Preset.objects.all().values())
items = pd.Dataframe(Item.objects.all().values())

Было бы неплохо эти операции сделать параллельно, т.к. это простой SELECT, но в каждой такой таблице по миллиону строк а в ссаной Джанге все они делаются последовательно. Кто-то может сказать "но чел бля, у тебя ж celery - засунь все в разные celery-таски!", по началу идея вроде здравая но вы учли оверхед на сериализацию/десериализацию? Если celery-таска будет в результате выдавать список с миллионом словарей это пздец, поэтому все это надо сделать в рамках одного таска. Как обычно в Джанге такое решают? Тредов наплодить?
Аноним 23/11/22 Срд 18:01:38 #346 №2521540 
>>2521495
List[Dict]

пиздец, да?
Аноним 23/11/22 Срд 18:08:09 #347 №2521553 
Моржовый оператор := норм тема или залупа для хипстеров?
Аноним 23/11/22 Срд 18:11:11 #348 №2521556 
>>2521553
экономит строчку
Аноним 23/11/22 Срд 18:18:43 #349 №2521562 
>>2521553
Норм, но лет через пяток, когда нужная версия уже будет на любом холодильнике.
Аноним 23/11/22 Срд 19:09:18 #350 №2521618 
>>2521556
Иногда в компрехеншнах нужно.
Аноним 23/11/22 Срд 20:02:32 #351 №2521669 
>>2509442 (OP)
Нужны советы по следующему вопросу. Я пилю диссертацию параллельно с проектом. Суть проекта заключается в создании симуляции классической настольной игры Монополия для нахождения оптимальных выигрышных стратегий. Проект пишу на Python. Научрук сказал, что прикольно бы было сделать это с использованием машинного обучения. Если с созданием условий для игроков в виде ролла костей, карточек шанса, условий при попадании в тюрьму и прочего я не испытываю проблем, то в части с машинным обучением я полностью проседаю. Я не могу установить отправную точку. Мне нужно сделать хотя бы 4х игроков ИИ, которые будут играть в Монополию и набираться опыта, чтобы с каждой итерацией игры они играли лучше и лучше, но я хз как именно сделать модель. Забить им правило, чтобы они сперва покупали хоть какую-то улицу, а потом пытались собрать сет из них? Но не будет ли это тупо алгоритмом действий? Алсо, не ясно как быть с аукционами и моментом, если игроки захотят поторговаться друг с другом, чтобы получить недостающие улицы которые уже есть у других игроков. Даже начал читать Grokking Machine Learning чтобы как-то разобраться в этой теме.
Аноним 23/11/22 Срд 20:21:43 #352 №2521692 
>>2521669
>Научрук сказал
Это такой же научрук как у нас тут лиды с 3 годами опыта?

Спизданул - пусть читает литературку и рассказывает как.
Аноним 23/11/22 Срд 20:26:08 #353 №2521696 
>>2521669


https://www.bbc.com/russian/vert-fut-51673199

> Почему Монополия - на самом деле очень плохая игра

>"Все сводится к везению, - говорит Рейнольдс. - Цели в ходе игры не меняются, поле все время одно и то же. Никакой особой стратегии не существует. Добавьте еще то, что приходится долго ждать своего хода, и вы поймете, почему людям так скучно в нее играть

Ну и что тут можно оптимизировать?
Аноним 23/11/22 Срд 20:26:26 #354 №2521697 
>>2521692
Ну собственно он меня и послал читать книжки по данному вопросу. Есть какая-то проблема в его решении? Я просто не шарю. У меня направление Big Data, и мы поверхностно проходили машинное обучение, так что его применение здесь мне показалось логичным.
Аноним 23/11/22 Срд 20:27:49 #355 №2521699 
>>2521696
Выбор сета улиц как минимум.
Аноним 23/11/22 Срд 21:01:56 #356 №2521727 
>>2521697
Ну читай
https://www.researchgate.net/publication/289403522_Learning_to_play_monopoly_A_Reinforcement_learning_approach

И литературку в конце.
И все что нагуглишь про RL


Грессер Лаура, Кенг Ван Лун
Г91 Глубокое обучение с подкреплением: теория и практика на языке Python. — СПб.:
Питер, 2022. — 416 с.: ил. — (Серия «Библиотека программиста»).
ISBN 978-5-4461-1699-7
Аноним 23/11/22 Срд 21:45:47 #357 №2521744 
>>2521727
Спасибо, анонче.
PyQt 5: QTableWidget отобразить значения списка Аноним 23/11/22 Срд 21:56:59 #358 №2521748 
Почитал есть метод, который задает значения таблицы поэлементно setItem(). Допустим у меня есть двумерный список, есть способ быстро присвоить значения этого списка таблице не перебирая их в цикле поэлементно?
Аноним 23/11/22 Срд 23:01:36 #359 №2521766 
>>2509442 (OP)
Джангисты, нужна помощь!
https://stackoverflow.com/questions/60042351/editing-posts-in-a-django-blog

У меня функция edit 1 в 1 как у молодого человека.
Оно как бы работает, подсасывает данные в нужную форму, сохраняет, вот только оно сохраняет мне новый пост, а не отредактированную версию старого.

Что я делаю не так?
Пока писал, осенило, что, возмоно, дело в том, что в поле форма нет нкиакого упоминания об id (хотя пост я нахожу по id), может быть где-то тут собака зарыта...
Аноним 23/11/22 Срд 23:33:44 #360 №2521774 
>>2521669
Уже сделано.

https://www.youtube.com/watch?v=dkvFcYBznPI
Аноним 24/11/22 Чтв 11:05:55 #361 №2521944 
>>2521766
сохраняешь форму, но не пишешь её в базу с помощью commit=False
затем присваиваешь старый id, чтобы не создавалась новая запись в бд
и затем .save()
и ещё в Джанго есть метод update()
Аноним 24/11/22 Чтв 13:38:15 #362 №2522144 
image.png
>>2509442 (OP)
Это карта спецоперации? Хохлы захватили пол планеты?
Аноним 24/11/22 Чтв 16:01:21 #363 №2522239 
>>2522144
В Европе только 4 страны пишут на JavaScript - это Ирландия, Грузия, Армения и Крым
Аноним 24/11/22 Чтв 17:30:05 #364 №2522294 
>>2521536
>джанга
>pandas
пздец
Аноним 24/11/22 Чтв 18:27:51 #365 №2522354 
>>2522294
нюмпяй
Аноним 24/11/22 Чтв 23:15:31 #366 №2522560 
>>2521944
Анончерс, спасибо тебе!
Аноним 25/11/22 Птн 01:10:52 #367 №2522594 
>>2521536
>>но вы учли оверхед на сериализацию/десериализацию
Ну так посчитай что быстрее будет. Откуда мы знаем что у тебя там за объемы и сложность твоего говна.
Аноним 25/11/22 Птн 01:17:04 #368 №2522597 
>>2521553
Норм
Аноним 25/11/22 Птн 12:39:52 #369 №2522866 
Есть способ поставить тайпхинты в pandas DataFrame? Чтоб было ясно какие там колонки и с какими типами?
Аноним 25/11/22 Птн 12:47:02 #370 №2522869 
>>2522866
Каким образом и куда, в названия колонок? Чем DataFrame.info() не устраивает?
Аноним 25/11/22 Птн 12:55:10 #371 №2522877 
>>2522866
привет, ты что охуел?
разумеется, колонки в numpy имеют конкретные типы. dtypes по-ихнему.
Аноним 25/11/22 Птн 13:53:38 #372 №2522919 
image.png
Смотрю описание таблиц в PyCharm Pro, вот одна из них. Не могу въехать, почему где-то (abc и id) колонка выделена синим а где- то нет? null / not null это другое - за это отвечает точка в левом нижнем углу, у всех колонок тут например стоит not null.
Foreign Key тут также ни при чем, он обозначается ключиком в правом нижнем углу, тут FK нет
Аноним 25/11/22 Птн 13:59:27 #373 №2522922 
>>2522869
Тем что это не вариант для проверок того, что схемы валидны
Слыхал про статическую типизацию?
Аноним 25/11/22 Птн 14:02:41 #374 №2522925 
>>2522919
Может потенциальные ключи или индексы?
Аноним 25/11/22 Птн 14:59:34 #375 №2522957 
>>2522922
И как тебя тайп хинты спасут, еблуша? Они помешают в рантайме сконкатить 2 фрейма, где в первом тип колонки флоат64, а в втором - инт64? И расскажи поподробнее про статическую типизацию, mypy, cython, а то гуглить лень.
Выше уже писали про пайдантик. Либо создавай свой датакласс и пиши свой `__post_init__` с кастомной валидацией.
Аноним 25/11/22 Птн 15:02:45 #376 №2522960 
>>2522957
Забыл ещё про attrs.
Аноним 25/11/22 Птн 15:31:23 #377 №2522977 
>>2522922
ох ебать.а ты слыхал что датасаентисты всю эту "программную инженерию" в рот ебут и прекрасно себя чувствуют?

Я не отрицаю что она может быть полезна, но ты пришел на чужое поле свое порядки наводить. С pandas ты не справишься никак.
Аноним 25/11/22 Птн 16:14:14 #378 №2523018 
>>2522977
Это я их в рот выебу если они такое у меня будут мутить
Потому что я сейчас вынужден разбираться с их помоями, и мне не в кайф в них копаться. Часть я поправлю остальное будет уже на них, если они не будут соблюдать эти конвенции, будут выебаны в жопу ПМом и лидом

>>2522957
>в рантайме
Статическая типизация это не про рантайм. Typescript тоже в рантайме не делает нихуя
Аноним 25/11/22 Птн 16:26:02 #379 №2523029 
>>2523018
>Typescript тоже в рантайме не делает нихуя
Так он компилится в жс. Что мне мешает всем поставить всем any и в конфиге компилятора уровень проверки минимальный поставить?
Аноним 25/11/22 Птн 17:58:06 #380 №2523128 
Анончики хелп, решите задачу: Найти сумму чисел от 100 до 200, кратных 17. Кто решит будет ахуенен
Аноним 25/11/22 Птн 18:09:24 #381 №2523139 
>>2523128
for i in range(100, 200+1):
# Store i as a string on a separate variable
var = str(i)
# Split i
var_parts = var.split()
# Go through the parts
for i in var_parts:
if i % 17 == 0:
sum = sum + i
Аноним 25/11/22 Птн 18:16:52 #382 №2523151 
>>2523128
sum(n for n in range(100,201) if not n % 17)
Аноним 25/11/22 Птн 19:40:46 #383 №2523236 
1669394520595.jpg
>>2522866
>>2522977
Тоже думал что с pd нихуя не поделать, но оказывается что есть способ
https://github.com/CedricFR/dataenforce
Аноним 25/11/22 Птн 21:18:26 #384 №2523292 
>>2523018
>Потому что я сейчас вынужден разбираться с их помоями,
ты чьмо и кодерок взаимозаменяемый.
а датасаентист - учоный и светило.
какое твое дело?
Аноним 26/11/22 Суб 14:25:23 #385 №2523803 
>>2523470
Ну жак устройся программистом, да заработай.
Аноним 26/11/22 Суб 23:09:12 #386 №2524316 
Страшие братья, вот я сижу, решаю задачки для совсем чайников и задаюсь вопросом, а хули так сложно?
В работе тоже придётся изъебываться так же, как и в задаче с пайтонтьютор?
Аноним 27/11/22 Вск 00:11:23 #387 №2524350 
>>2524316
Когда сложно, это значит, что задачи тебе по уровню.
На работе по-разному бывает.
хакатон Аноним 27/11/22 Вск 12:57:15 #388 №2524696 
парни, есть тема в leader-id https://leader-id.ru/events/342770
сам на питоне писал только в школе но интересно изучить.
А тут как раз на хакатон наткнулся. был бы рад чтоб меня подтянули (раньше писал на laravel(php)) и хочется найти друзей/знакомых в этой нише
Аноним 27/11/22 Вск 17:48:54 #389 №2524983 
16663836195700.jpg
Я так и не понял, зачем нужны классы, если можно создавать функции и внутри них методы. Можно хоть один пример задачи, которую можно выполнить с помощью классов и нельзя с помощью функций.
Аноним 27/11/22 Вск 17:54:44 #390 №2524987 
>>2523128
def solution():
____return 867

давай следующую задачу
Аноним 27/11/22 Вск 18:08:57 #391 №2525000 
>>2524983
Сделать ты можешь как угодно, но проще и удобнее будет через классы.
Если сейчас не можешь это переварить пока ньюфак, то поймешь потом со временем.
Аноним 27/11/22 Вск 18:26:33 #392 №2525010 
>>2524983
Создай на функциях онли вариант игры shoot-em-up (где кораблик внизу, а сверху на него летят враги). И реализуй на функциях снаряды врагов, снаряды игрока, появление кораблей врагов и их исчезновение при попадании по ним игрока или при достижении нижней границы экрана этими кораблями.

Просто попробуй. А потом это же сделай на классах.
Аноним 27/11/22 Вск 18:30:19 #393 №2525015 
>>2524983
>пример задачи, которую можно выполнить с помощью классов и нельзя с помощью функций
Рекомендую пыху, там на каждый класс стдлибы есть по 50 дублирующих его функций засирающих глобальный неймспейс, рекомендую, еще захочешь.
Аноним 27/11/22 Вск 18:31:06 #394 №2525017 
>>2525015
А почему рот в пыхе?
Аноним 27/11/22 Вск 19:22:27 #395 №2525062 
>>2525010
>А потом это же сделай на классах.
В следующей серии - поясните за преимущества классов, перенес функции в де факто статик методы, ниче не поменялось, только объявление классов добавилось.
Аноним 27/11/22 Вск 19:33:33 #396 №2525072 
>>2524983
а ты и не поймешь пока не будет работать в коллективе.
Вопрос не в удобстве. И нет такой задачи, которую нельзя было бы выполнить без классов.

Классы - инструмент поддержания порядка в большом легаси-говне.
Как только будешь это держать в уме, сразу поймешь все ООП и классы.
Аноним 27/11/22 Вск 19:44:34 #397 №2525078 
>>2524983
второй важный фактор - возможность менять программу под изменяющиеся требования кабанчика, который либо сам не знает чего хочет, либо действительно условия ведения бизнеса меняются со временем.
К этому относятся все варианты мантры DRY (Don't Repeat Yourself).

Почему программисты такие тупые и объясняют все мантрами - я не знаю
Аноним 27/11/22 Вск 20:45:01 #398 №2525145 
Можно ли как-то сделать все переменные в функции глобальными?
Как-нибудь коротко, без "global" с перечеслением всех переменных.
Аноним 27/11/22 Вск 21:04:53 #399 №2525163 
>>2525145
Ты куда-то не в ту сторону думаешь, для чего это?
Аноним 27/11/22 Вск 21:41:06 #400 №2525187 
>>2525145
Гугли замыкание.
Аноним 27/11/22 Вск 22:35:13 #401 №2525220 
aeHx84mvkwPyLTvCOKFAYYPIOW66kreukUaPcAlSVOZpDMEl7NpiPJD3JLaXNCPFnBf5w7xwUhHx8DVg33Lvhdbc.jpg
Устроился полгода назад QA Automat эникеем по блату.

Обязанности:
- Писать pytest под разные железки для проверки интерфейсов.
- Писать простенькие bash скрипты.
- Поддерживать инфраструктуру (коммит-хуки, репозитории, CI/CD и не пизди).
- Верстать доки по всякой хуйне.
- Диджитал подай-принеси.

Куда можно пытаться развиваться?
Девопс? Дальше в QA расти?

Не чувствую своей незаменимости, а значит зарплата расти не будет.
Прогресс идёт очень медленно потому что работа связана с железками.
Любая проблема с железкой тормозит мою работу.
Если что-то сломалось мне нужно ждать пока другие люди починят и заменят.
Если появилось что-то новое мне нужно ждать пока примут коммиты по поддержке новой ебанины.
Аноним 27/11/22 Вск 23:37:11 #402 №2525254 
image.png
Можно ли как-то внутри одной функции определить несколько функций и чтоб потом их можно было вызывать извне функции, в которой я их задал? Типа такого
Аноним 27/11/22 Вск 23:42:04 #403 №2525258 
>>2525254
Сделай ретерн ф3 из ф1.
Аноним 28/11/22 Пнд 04:26:05 #404 №2525330 
>>2525254
Зачем создавать функцию внутри функции, но при этом вызывать её снаружи?.. Ты осознаёшь, что ты делаешь? Пространство имён не просто так придумали, с которым у тебя тотальное непонимание.
1. Один из не самых лучших вариантов - это создать функцию, который передавать какой-либо аргумент. На основе значения аргумента выполнять действия и возвращать результат через return, если это необходимо.
https://pastebin.com/utk7iGK7
2. Нормальный вариант - это создать класс, у которого шаблон Singleton, и вызывать методы.
https://pastebin.com/ec6uhcHs
Аноним 28/11/22 Пнд 10:00:37 #405 №2525412 
>>2524316
На работе у тебя код будет в десятки и сотни тысяч строк... И не всегда с документацией. И не всегда будет в коллективе кто-то, кто смог бы объяснить что здесь, откуда, почему и куда (люди могут умирать или уходиться с работы).

И на работе ты будешь отвечать за деньги кабанчика.
Аноним 28/11/22 Пнд 12:31:41 #406 №2525496 
image.png
Сап, есть конфиг на подобие этого, можно ли из него как-то вытащить значения и присвоить переменным?

Ну к примеру, мне нужна переменная 'TestValue = 1024'
Аноним 28/11/22 Пнд 13:12:21 #407 №2525520 
Знатоки, какой курс бы вы прошли до 80к?

Только не говорите что все необходимо учить самому, курс для меня будет бесплатным, надо только выбрать
Аноним 28/11/22 Пнд 13:34:33 #408 №2525530 
>>2525496
0, Дублируй код / данные на pastebin и аналогичные сайты. Нет желания печатать текст вручную, когда можно обойтись.
1. "Вытащить значения", которые будут сохранены в словаре:
https://pastebin.com/4ySvJ9wq
> присвоить переменным
Подскажи, пожалуйста, а как возможно создавать переменные автоматически и, что самое главное, обращаться к ним, если их название (вышеупомянутая TestValue) может быть произвольным, т.к... пользовательские данные могут быть различные; можно буквально генерировать псевдослучайные данные (см. информацию о random).
Я знаю, что можно динамически создавать объекты, если есть класс.
Аноним 28/11/22 Пнд 13:41:46 #409 №2525535 
>>2525520
Бля, чего тебе не хватает, то и бери
Аноним 28/11/22 Пнд 13:52:57 #410 №2525543 
>>2525535
Не, я просил посоветовать школу, а не то, что нужно изучать

Я начинающий
Аноним 28/11/22 Пнд 14:02:05 #411 №2525562 
>>2525496
Нужен парсер такого файла. Это я хз какой формат. Бывают стандартные, типа json, toml, для них качаешь библиотеку (или встроенная) и скармливаешь файл конфига. Они тебе в ответ, обычно, выдают dict с конфигурацией из него.
Аноним 28/11/22 Пнд 14:13:03 #412 №2525569 
>>2525543
Школу для чего? Иди на Степик, там курсы от Биигик. 2 бесплатных первых. На 3-6 месяцев тебе хватит с головой.

А 80 к можешь в окно выкинуть, если у тебя опыта пока нет.
Аноним 28/11/22 Пнд 14:17:52 #413 №2525576 
>>2525496
это какой-то нестандартный файл.
Нет такого формата.

Максимально близко к nginx config.
То есть, это neat config: https://github.com/iafan/Config-Neat

Пиши сам, хуле как непрограммист.
swagger - боль Аноним 28/11/22 Пнд 16:22:39 #414 №2525720 
Будучи джуном на работе дали задачку креативную, сделать для фронта доку в swagger, при попытке понять/осознать что там писать, словил кучу нервяков. Есть кто-нибудь кто занимался чем-то подобным и может проконсультировать?

tg: https://t.me/Nothing_unknown
Аноним 28/11/22 Пнд 16:41:28 #415 №2525751 
from lxml import html
import requests

page = requests.get('https://translate.google.com/?hl=ru')
tree = html.fromstring(page.content)
prices = tree.xpath('//a[2]/div[2]/text()')
prices = str(prices).encode('utf-8', 'replace')
print(prices)


Котаны проблема с кодировкой, энкодами декодами дрочился, читаемого ничего так и не получил, строку с болдом можно удалить и посмотреть что получается на выходе, что-то примерно такое ['СоÑ\x85Ñ\x80аненнÑ\x8bе'], что сделать чтоб эта галиматья нормально отображалась?
Аноним 28/11/22 Пнд 18:13:12 #416 №2525832 
>>2525412
>На работе у тебя код будет в десятки и сотни тысяч строк
Предположим, что джуна на такое сразу не кинут, но понимаю, о чём ты.
Умру за деньги кабанчика. Ну или уволят.
Аноним 28/11/22 Пнд 18:17:13 #417 №2525835 
>>2525751
Готового решения, к сожалению, не подскажу, но напишу, что возможно поможет разобраться с проблемой.
Если получить тип у переменной prices, то будет list.
При получении информации о типе 0 элемента list будет lxml.etree._ ElementUnicodeResult. (Добавил пробел; надеюсь, что imageboard не уберёт подчёркивание).
https://stackoverflow.com/questions/53459703/type-lxml-etree-elementunicoderesult-cannot-be-serialized
Тебе необходимо читать документацию о lxml.
https://lxml.de/tutorial.html#parsing-from-strings-and-files
Аноним 28/11/22 Пнд 19:31:33 #418 №2525897 
>>2525751
>tree = html.fromstring(page.content)
>>> type(page.content)
bytes

tree = html.fromstring(page.content.decode())
Аноним 28/11/22 Пнд 19:39:30 #419 №2525904 
>>2525835
Спасибо.
>>2525897
Спасибо няш, то что надо.
Аноним 28/11/22 Пнд 23:23:30 #420 №2526040 
image.png
Мне нужно с определенным интервалом парсить несколько сайтов. Я тупо записываю предыдущее время парсинга в переменную и добавляю в глобальный словарь. Всё работает, но недавно вот узнал, что юзать global в принципе - плохая практика. Как тогда сделать правильно и по питоновски?
Аноним 28/11/22 Пнд 23:41:23 #421 №2526053 
>>2526040
Друг, в аргументы передавай свою хуйню. И как ты функцию вызываешь, у тебя там разве не должны быть строки в аргументах?
Аноним 28/11/22 Пнд 23:45:53 #422 №2526060 
>>2526053
>в аргументы передавай свою хуйню
Так а сохранять где, чтоб потом снова взять это значение? Ретерн что ли делать?

> разве не должны быть строки в аргументах
Да, там строки. Это я просто для примера сделал.
Аноним 28/11/22 Пнд 23:56:55 #423 №2526068 
>>2526060
Возвращай и присваивай новое значение.
Аноним 29/11/22 Втр 00:05:05 #424 №2526074 
image.png
>>2526068
Блин, ну это колхоз какой-то. Нагромождение хуйни. Это больше кода, чем у меня сейчас. И что делать если if не вызывается? Значит еще больше ифов добавлять. Хуйня какая-то, с записью в глобальную гораздо удобней.
Аноним 29/11/22 Втр 00:07:53 #425 №2526077 
>>2526040
Ты городишь наколеночный celery/системные таймеры? Тебе для саморазвития или просто не знал?
Аноним 29/11/22 Втр 00:11:11 #426 №2526078 
>>2526074
Ну вообще глобалы на свой страх и риск используй. А так, передаешь свой словарь в аргументы, внутри функции его меняешь и его же возвращаешь в самом конце, после всех ифов. И вместо трех вызовов функции сделай цикл нормальный внутри функции.
Аноним 29/11/22 Втр 08:42:03 #427 №2526177 
>>2526040
Есть надежный способ как переделать глобалы на неглобалы.
Создаешь класс, все глобалы делаеш аттрибутами класса, все свободные функции соответственно превращаешь в методы. Потом создаешь один экземпляр класса и на нем все что нужно запускаешь.
Аноним 29/11/22 Втр 08:50:13 #428 №2526179 
1669701122734.jpg
>>2525254
можно
Аноним 29/11/22 Втр 09:20:55 #429 №2526193 
a.png
>>2525254
Аноним 29/11/22 Втр 11:24:25 #430 №2526253 
>>2526193
Почему нет скобочки?
Аноним 29/11/22 Втр 11:44:17 #431 №2526262 
>>2526253
Где
Аноним 29/11/22 Втр 12:22:09 #432 №2526300 
>>2526262
f1.f3()
Аноним 29/11/22 Втр 12:40:49 #433 №2526317 
>>2526312
Но выше f1().f2()
Аноним 29/11/22 Втр 12:43:35 #434 №2526321 
image.png
image.png
Гайз выручайте , не пишу на питоне выдали лабораторку. Сколько не читал документацию библиотеки , форумов понять не могу.
Ошибка вылетает на 8 строке. Как я понял нужно c помощью скрипта вынуть инфу о блоке в блокчейне с помощью ключа. Так еще сам скрипт который выдали с ошибками
Аноним 29/11/22 Втр 12:48:05 #435 №2526327 
>>2526321
>Ошибка вылетает на 8 строке.
Так и называется? "Ошибка"?
Аноним 29/11/22 Втр 12:51:12 #436 №2526329 
>>2526327
AttributeError: 'str' object has no attribute 'decode'. Did you mean: 'encode'?
При попытке изменить на encode получается замкнутый круг.
Пробывал загрузить ключ в отдельную переменную тоже не работает.
Аноним 29/11/22 Втр 12:56:04 #437 №2526335 
>>2526333
Да , причём прямо на лекции слёзно требовали установить 3 питон на виртуальной машине -_-
Аноним 29/11/22 Втр 12:58:32 #438 №2526336 
>>2526317
Сначала нужно функцию вызывать, чтоб в области видимости стали видны её атрибуты (функции), дальше можно без скобок достучаться до её атрибутов (функций).

>>2526312
Не понел сраказма.
Аноним 29/11/22 Втр 14:09:21 #439 №2526394 
>>2526336
>Сначала нужно функцию вызывать, чтоб в области видимости стали видны её атрибуты (функции), дальше можно без скобок достучаться до её атрибутов (функций).
Выглядит как дерьмовый дизайн, если честно.
Аноним 29/11/22 Втр 14:16:54 #440 №2526408 
>>2526394
Да ваще язык для говноедов, дебилов и олигофренов, все в пхп.
Аноним 29/11/22 Втр 17:59:43 #441 №2526658 
Сап аноны, как засунуть словарь в map?
Хочу следующие:



def zalupa(n,m):
.....

map(zalupa,xyu.items())
Аноним 29/11/22 Втр 18:02:14 #442 №2526661 
>>2526329
Так header_hex это строка, сшитая из нескольких других строк. Она уже строка, ей не нужен decode()

decode() нужна, чтобы байтовую строку превратить в обычную

просто сотри decode()
Аноним 29/11/22 Втр 18:03:13 #443 №2526664 
>>2526661
>просто сотри decode()
хотя вот это вот нет, они другое хотят
Аноним 29/11/22 Втр 18:30:17 #444 №2526686 
>>2526658
>map
https://docs.python.org/3/library/functions.html#map
For cases where the function inputs are already arranged into argument tuples, see itertools.starmap()
??
Аноним 29/11/22 Втр 18:31:07 #445 №2526690 
image.png
>>2526686
Аноним 29/11/22 Втр 19:46:26 #446 №2526756 
>>2526686
Я шо за интернет плачу, чтоб доки читать?
спасибо Анончик, оно, шлю лучи добра
Аноним 29/11/22 Втр 21:37:34 #447 №2526820 
Есть где код захостить, чтобы работал круглосуточно бесплатно с доступом в сеть?
10 секунд процессорного времени и 1 мб в день хватит.
Аноним 29/11/22 Втр 21:51:39 #448 №2526831 
>>2526820
AWS
Аноним 29/11/22 Втр 22:12:25 #449 №2526852 
>>2526831
А можешь конкретнее сказать что мне нужно? AWS Lambda?

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

Нужна функция реагирования по событию (чтобы с любого айпишника можно было его отправлять), и чтобы оно само раз в несколько часов по своим таймерам могло отправлять сообщение на айпишник. А это выглядит как то что оно в фоне никак не работает, а только откликается на запросы.
Аноним 29/11/22 Втр 22:51:47 #450 №2526862 
>>2526852
https://aws.amazon.com/free/
На год бесплатный триал. Ну и подобные сервисы довольно дешевые. Чтобы откликаться на запросы машина должна работать 24/7. Не знаю сервисов, которые бы могли поднять машину по запросу, и чтобы она в остальное время спала.
Аноним 29/11/22 Втр 22:53:21 #451 №2526863 
>>2526852
ЕС2 я имел в виду. Хотя Lambda звучит как что-то подходящее. Не разбирался, но тебе стоит посмотреть.
Аноним 29/11/22 Втр 23:39:12 #452 №2526880 
Питоны, а зачем вообще нужны классы? Это же те же самые функции.
Аноним 29/11/22 Втр 23:41:43 #453 №2526881 
>>2526880
Чтобы их ставить, очевидно 👍
Аноним 30/11/22 Срд 00:22:44 #454 №2526899 
>>2526880
чтобы можно было где-то объединить несколько функций в одном месте!
Аноним 30/11/22 Срд 00:28:06 #455 №2526904 
>>2526880
Посмотри на с++ код sfml, там множественное наследование и очень простая логика классов, смотришь и сразу понимаешь что лаконичнее не напишешь и классы тут уместны.
Аноним 30/11/22 Срд 01:02:03 #456 №2526917 
>>2526899
Но ведь функции можно объединять внутри функций.

>>2526904
>Посмотри
Посмотрел. Всё равно непонятно зачем нужны классы.
Чем они принципиально от функций отличаются? Поясните нюфагу же, ну.

Вот надо мне запилить ОБЬЕКТ который считал бы количество залуп. В каком случае мне нужно делать функцию, а в каком класс. Что такого в классе чего нет в функции?
Аноним 30/11/22 Срд 01:23:41 #457 №2526926 
>>2526917
>Но ведь функции можно объединять внутри функций.
но это не так модно, как внутри класса
можно еще пустой инит пихнуть, чтобы казаться умным
Аноним 30/11/22 Срд 01:31:08 #458 №2526928 
>>2526917>>2526880
Ты про функциональные объекты с методом __call__ или про обычные классы?

Функции - когда у тебя какая-то операция над данными. Сортировка, там, нормализация векторов, что хочешь.

Классы когда тебе нужно хранить сложный объект с кучей параметров. Пример - дискорд-бот, ты создаёшь экземпляр бота, он логиниться, и он уже может принимать и отправлять сообщения, и при этом он должен в себе хранить соединение, айдишники и прочее, а при отсоединении всё это убрать? И его можно передать в параметр функции, которая используя переданного бота отправляет прогноз погоды на сервер условно говоря.
Ты точно хочешь подобную задачу решать без классов? Да хотя бы как ты бота будет передавать в функцию? Как словарь с полями?
Аноним 30/11/22 Срд 01:54:06 #459 №2526931 
>>2526917
>Что такого в классе чего нет в функции?
Магические методы, наследования, инкапсуляция, полиморфизм
Аноним 30/11/22 Срд 02:32:34 #460 №2526933 
>>2526928
>как ты бота будет передавать в функцию? Как словарь с полями?
Блин? ну с какими он данными там работает? такие данные и будут передаваться куда следует. Абсолютно точно так же как и с классом же, не?

Я правильно понимаю, что класс это такой обьект ООП, который в себе СОХРАНЯЕТ свое собственное окружение с данными, переменными вот этим всем и может с ним туда-сюда передаваться. И в этом его особая отличие от функций, которые из себя представляют просто алгоритм, а данные для них надо сохранять отдельно. например в глобальной среде, а это не удобно?
Аноним 30/11/22 Срд 05:56:16 #461 №2526953 
>>2526917
>Но ведь функции можно объединять внутри функций.
у нас за такое на галере убивают нахер
Аноним 30/11/22 Срд 06:26:41 #462 №2526956 
>>2526933
Функции и классы - это вообще разные категории объектов, я не понимаю что ты спрашиваешь уже.

Ты можешь практически любую программу написать вообще без классов (если не считать, что строки и списки - тоже классы), но это будет очень невыразительно.
Аноним 30/11/22 Срд 06:29:45 #463 №2526957 
>>2526933
Предположим у тебя есть функция отправить - куда можно передать как изображение (по ulr или набор байтов из файла) так и простую строку.
Как ты предлагаешь хранить строки и изображения без классов, и какой у тебя будет код обработки всего этого?
Я знаю как это написать в таком виде без классов, но не знаю как написать чтобы код был понятный, его было просто редактировать и изменять и в нём было сложно ошибиться. Совсем не знаю.
Аноним 30/11/22 Срд 08:07:41 #464 №2526983 
>>2526956
>Функции и классы - это вообще разные категории объектов,
>вообще разные
Ну если они ТАКИЕ РАЗНЫЕ то обьясни нюфагу в чем между ними разница, что может класс чего не может функция? Может они не такие уж и разные?

>>2526957
>Как ты предлагаешь хранить строки и изображения без классов

Ну если так поставлен вопрос, то почему бы не хранить это в каком-нибудь массиве в глобальном окружении. Где тут необходимость классов, не понимаю. Чому так сложно объяснить?
Аноним 30/11/22 Срд 08:32:50 #465 №2526998 
image.png
Аноним 30/11/22 Срд 08:44:25 #466 №2527009 
>>2526998
Классочелядь опять соснула у функциябогов. Ничего нового.
Аноним 30/11/22 Срд 09:14:36 #467 №2527033 
>>2526998
Ну так я в отличие от Валерия не упиваюсь своим невежеством. Я понимаю что много не знаю и хочу разобраться.
Аноним 30/11/22 Срд 09:35:51 #468 №2527040 
>>2526983
Скучно уже, ты просишь разницу между микроволновкой и радугой показать.
>Где тут необходимость классов, не понимаю.
Классы необходимы, так как они используются в 99% либ. Ты конечно можешь их не использовать и написать свои на функциях.

>Чому так сложно объяснить?
Код напиши того что я предложил, про отправку картинок и текста.
Аноним 30/11/22 Срд 09:59:50 #469 №2527053 
У меня такой вопрос.

Везде в рекламе - питон может все.
Мой вопрос. Чего питоне НЕ может делать?
Аноним 30/11/22 Срд 10:03:52 #470 №2527054 
>>2526983
>обьясни нюфагу в чем между ними разница, что может класс чего не может функция
Вопрос семантики, удобства разработки и поддержки. Почитай, что такое наследование, инкапсуляция, полиморфизм. Конечно в питоне можно всё то же самое делать и без классов - в конце концов кроме ООП есть множество других парадигм программирования. А вот в джаве без ООП уже никуда
Аноним 30/11/22 Срд 10:23:23 #471 №2527058 
изображение.png
>>2526983
Аноним 30/11/22 Срд 10:31:44 #472 №2527061 
>>2527054
>>2527040
>>2527058
Ладно, скажите хотя бы про локальную видимость данных.
Вот в функциях локальное пространство создается при вызове функции и удаляется сразу когда функция возвращает что-нибудь.
А в классах как? Локальное пространство класса со всеми переменными и данными сохраняется всегда? Это бы имело смысл и было бы тем отличием, которое я ищу.

Сам проверить сейчас не могу.
Аноним 30/11/22 Срд 11:36:34 #473 №2527099 
>>2526983
>почему бы не хранить это в каком-нибудь массиве в глобальном окружении
Тут-то ты и попался, петушок global'овский. Потому что одна из основных идей в программировании это максимальная абстракция и разделение ответственности.

Ты когда в автомобиль садишься, ты же не видишь через панель двигатель, под ногами карданный вал и мост, а под жопой кучу электроники и асфальт?

Никто тебе не мешает, почти как в C, хуйнуть свои данные в массив и делать с ними что хочешь. Сначала одной функцией тебе надо обработать первые n элементов, потом второй функцией m элементов, а потом третьей каждые n+m/3. Вот только проебёшься с указателем и одной функцией зацепишь данные, которые для неё не предназначены, или словишь сегфолт.

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

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

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

>>2527061
И у класса и у экземпляра класса (объекта) свои области видимости, и существуют они ровно до момента, пока ты на них не удалишь ссылку или живёт процесс.
>в функциях локальное пространство создается при вызове функции и удаляется сразу когда функция возвращает что-нибудь.
Необязательно, ты можешь возвращать функцию или сделать замыкание или декоратор и тем самым прокидывать данные.
Аноним 30/11/22 Срд 12:06:28 #474 №2527117 
Я учу алгоритмы на питоне и очень много времени трачу пытаясь разобраться почему мой код не работает. Есть ли форумы в которых уместно задавать вопросы типа: вот посмотрите на мой говнокод, объясните почему он не работает?
Аноним 30/11/22 Срд 12:08:32 #475 №2527119 
Я вот полный нуб и понял только, что функции это простые кирпичики программы (которые можно вынести в отдельный файлик-модуль, а потом подключать по желанию), а классы - это более сложные кирпичики программы (которые тоже можно вынести в отдельный файлик).

На хрена мудрить?

Алсо, помню что в html кокодемии нас учили в плане js, что весь код должен в идеале находится в функциях. Вообще весь.
Аноним 30/11/22 Срд 12:10:11 #476 №2527123 
>>2527117
Ты находишься на одном из таких форумах. Ну, ещё есть чаты в телеге для бегиннеров.
Аноним 30/11/22 Срд 12:15:07 #477 №2527127 
>>2527119
Так выше уже писали про функции, что это просто последовательность команд, которую можно оформить единым блоком, который потом можно вызывать многократно в разных частях программы, но чел начал ебать мозг про "зойчееем квассы када уже есть ункции, ря квассы нинужныы".
В жиэсе вообще нет нативных классов, там классы это синтаксический сахар над функциями, т.е. там действительно классы могут быть ненужоны.
Аноним 30/11/22 Срд 12:21:35 #478 №2527130 
Пытаюсь написать минимакс для крестиков-ноликов. Бот во время игры просто выбирает первое попавшееся свободное поле слева направо. Не понимаю почему нормально не работает(. Вот код:

def minimax(board, isMaximazing):

#Когда доступных ходов больше нет, смотрим кто победил
if ' ' not in board.values():
score = 0
if isMaximazing:
if checkWhichMarkWon(computer):
score = 1
elif checkWhichMarkWon(player):
score = -1
else:
if checkWhichMarkWon(computer):
score = -1
elif checkWhichMarkWon(player):
score = 1
return score

#Лучший ход для компьютера
if isMaximazing:
score = -800
for i in board.keys():
if board == ' ':
board = computer
minimax_score = minimax(board, False)
if minimax_score > score:
score = minimax_score
move = i
#Лучший ход для человека
else:
score = 800
for i in board.keys():
if board == ' ':
board = player
minimax_score = minimax(board, True)
board = ' '
if minimax_score < score:
score = minimax_score
move = i
print(score)
return move

def computerMove():
#Скопировать текущую позицию для минимакса
new_board = board.copy()
move = minimax(new_board, True)
#Сделать ход
insertLetter(computer, move)
Аноним 30/11/22 Срд 12:51:26 #479 №2527155 
>>2527130
В шапке.
Аноним 30/11/22 Срд 12:51:50 #480 №2527156 
>>2527127
Всегда казалось, что Питон какой-то слишком простой и "волшебный" язык на фоне прочих, но js это какой-то совершенно особенный случай.
Аноним 30/11/22 Срд 13:03:52 #481 №2527165 
>>2527156
Мне после питона жс показался ещё более простым языком. Его сложность в спецификациях, кучи апи и нагромождении инструментов вокруг языка (babel, webpack и т.п.)
Аноним 30/11/22 Срд 13:28:17 #482 №2527181 
>>2523029
>Что мне мешает всем поставить всем any
1. Пиздюлины от тимлида
2. Конфиг no-explicit-any
Аноним 30/11/22 Срд 13:35:24 #483 №2527187 
>>2527181
А с питоном так нельзя что ли?
Соблюдением pep8/name/type convension и настройкой конфига pylint/flake8/mypy занимается команда в нормальных местах, а не берётся само по себе или из репо тимлида-хуесоса.
Аноним 30/11/22 Срд 15:11:07 #484 №2527267 
>>2527099
Так что конкртено может квас, что не может ункция? Ты можешь на мой ответ ответить или да?
Вот в квасе есть семь залуп, а в функции только две с половиной.
Есть такое и если есть то что это?!?!?!?!?!?!11111
Аноним 30/11/22 Срд 15:20:20 #485 №2527271 
>>2527267
Тебе уже выше отвечали, магические методы и параметры, наследование, полиморфизм
Аноним 30/11/22 Срд 15:33:09 #486 №2527281 
>>2527267
У тебя вопрос уровня как лучше какать в яму, на корточках или взять стул и в нём очко выпилить. Сри как тебе удобно, но с стулом вероятность провалиться в яму меньше и другие могут с него срать.
Аноним 30/11/22 Срд 15:39:41 #487 №2527287 
Тут Joe Rogan для программистов. Ток шоу для радио и подкаста, где ведущий в ходе долгого разговора раскрывает собеседника.

Guido van Rossum on Python 4.0
https://youtu.be/qC5Po77bfKI
Аноним 30/11/22 Срд 16:09:47 #488 №2527310 
>>2527267
>Так что конкретно может класс, что не может функция?
По сути - ничего. Классы для пидоров, давно установлено уже. Функции проще
Аноним 30/11/22 Срд 16:10:57 #489 №2527311 
>>2527287
Чё там, опять что-то сломают?
Аноним 30/11/22 Срд 16:24:10 #490 №2527313 
проиграл с оправданий классодебилов в треде! вы в каком веке живёте?
Аноним 30/11/22 Срд 16:27:44 #491 №2527316 
>>2527313
Вы че на шаре живете? И с классами код пишите?
Аноним 30/11/22 Срд 16:28:58 #492 №2527318 
>>2527316
Обколются своими вакцинами и аутируют друг друга в жопу.
Аноним 30/11/22 Срд 16:29:46 #493 №2527319 
>>2527318
Потому что в церковь не ходят.
Аноним 30/11/22 Срд 16:39:47 #494 №2527323 
Пацаны, а как pandas делает вот эту хуйню?

#get 'Spurs' value from team column
df.loc[df.team=='Spurs'].values[0]

Для ДСера это кажется логичным но для меня - нихуя. Давайте поглядим, что у нас внутри квадратных скобок?
df.team=='Spurs'
Это ж блять булево значение! Результат сравнения. Но по логике pandas это выражение говорит "найди строчки в датафрейме df где поле в колонке team равно 'Spurs'"
Аноним 30/11/22 Срд 16:45:53 #495 №2527328 
>>2527323
Это называется предикат.
Аноним 30/11/22 Срд 16:52:30 #496 №2527329 
>>2527328
И че? Значение df.team=='Spurs' было вычислено до того как положено в df.loc[]
Аноним 30/11/22 Срд 16:55:01 #497 №2527332 
>>2527328
Или ты имеешь в виду как оно работает в рамках питона?
Тогда через реализацию метода __getitem__.
Аноним 30/11/22 Срд 16:58:48 #498 №2527336 
>>2527323
Это не булево значение, а серия (кортеж) из индекса и булевых значений.
loc первым параметром принимает эту серию и возвращает отфильтрованный по индексу результат
Аноним 30/11/22 Срд 17:00:11 #499 №2527337 
>>2527329
== у объекта df тоже переопределен через __eq__.
Аноним 30/11/22 Срд 17:03:23 #500 №2527338 
>>2527336
Насчет кортежа напиздел, это нампаевский массив, но суть не поменялась.
Аноним 30/11/22 Срд 17:04:20 #501 №2527339 
>>2527329
Все куда проще
Петухонщики перегрузили сравнение у объекта DataFrame. Оно возвращает не булево значение
Аноним 30/11/22 Срд 17:16:41 #502 №2527351 
image.png
image.png
image.png
image.png
Когда я запускаю эту программу одновременно много раз, иногда выходит ошибка как на 4-ом пике. Как убедиться перед чтением файла, что другая программа в этот момент его не записывает?
Аноним 30/11/22 Срд 17:22:24 #503 №2527356 
>>2527351
https://docs.python.org/3/library/fcntl.html#fcntl.flock
Аноним 30/11/22 Срд 20:16:23 #504 №2527454 
ПЕРЕКАТ
>>2527453 (OP)
>>2527453 (OP)
>>2527453 (OP)
>>2527453 (OP)
Аноним 02/12/22 Птн 23:49:06 #505 №2529300 
Здравствуйте, у меня проблема. Не могу изменить размер текста. Как это исправить(библиотека pillow)?
@dp.message_handler(content_types = types.ContentType.TEXT)
async def send_welcome(message: types.Message):
img = Image.open("C:/Users/MY MSI/Desktop/gaduka/nazi_nigger.jpg")
draw = ImageDraw.Draw(img)
draw.text((450, 450), str(message.text), (255, 255, 255))
img.save('nazi_nigger1.jpg')
photo = open('C:/Users/MY MSI/Desktop/gaduka/nazi_nigger1.jpg', 'rb')
await bot.send_photo(message.chat.id, photo)
Аноним 03/12/22 Суб 01:27:02 #506 №2529337 
>>2527053
Может все, но хуево. Десктоп, мобилки, фронт (да и то это сложно назвать фронтом, учитывая итоговую компиляцию в жс, да и вообще это просто забавная игрушка на данный момент, даже не серьезно) это смешно. Да и в бэке питон сосет у нормальных языков. Вот и остаются всякий машоб, бигдата и скриптики для сисадминов. Ну и питон полезный язык для не-программистов, как вспомогательный инструмент.
Аноним 03/12/22 Суб 11:48:13 #507 №2529521 
>>2529300
надо в draw.text передавать font, а у фонта есть size
Аноним 08/12/22 Чтв 09:11:24 #508 №2534739 
>>2529337
графику может делать, игрульки разные без 3Д, и сурьёзные программы ту же 1Ц уёбищную запилили бы на пистоне лучше!
Аноним 10/12/22 Суб 02:37:17 #509 №2536979 
>>2511197
>Отвечу на свой вопрос сам, спасибо ЛОРу:
Это не называется "сам", довн
Аноним 14/12/22 Срд 20:22:54 #510 №2541046 
Если есть аналитики в треде, то, пожалуйста, посоветуйте куда смотреть после прохождения начальных курсов по питону. Знакомиться с библиотеками, решать ситуационные задачи?
Планирую вкатываться после защиты докторской по медицине занесла нелёгкая, навыки в стат. обработке и визуализации есть, то есть я сейчас стараюсь закрыть область с получением данных, наведением в них порядка и т.д. Может что-то не так понимаю.
Аноним 19/12/22 Пнд 17:09:27 #511 №2546090 
>>2519496
Посмотрел твой код и ошалел, не говорю что не правильно потому что не понимаю.) А не понимаю потому что все что там пишешь на этом этапе ты не проходишь и писать и думать я полагаю нужно примитивней на уровне пройденного материала. То же сначала не получилось, не найдя ответа в инете немного посидев прошел задачку.
вот код
a = str(input())
a1 = a[0]
a2 = a[1]
a3 = a[2]
min1 = int(min(a1, a2, a3))
max1 = int(max(a1, a2, a3))
min2 = int(a1) + int(a2) + int(a3) - min1 - max1
if min1 == 0:
print(str(min2) + str(min1), str(max1) + str(min2))
else:
print(str(min1) + str(min2), str(max1) + str(min2))
comments powered by Disqus

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