Этого треда уже нет.
Это копия, сохраненная 14 апреля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №103 /python/ 1843911 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #103

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

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

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

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

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

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
исхдник: https://dumpz.org/bASGKD8cCFDf
2 1843930
>>1843769 →
вот такой запрос, бро https://pastebin.com/p4jV7QqC.
отдает не то, что бы я хотел. отдает форму входа, хотя на локалке все норм.
3 1843932
Аноны, скажите кто шарит в вебе как работают чаты, например, в вк, там ведь используется полинг, что его делает, js? и потом он же и рисует новые сообщения или как
4 1843968
>>843930
Где ты вообще апишку эту откапал? У них там вроде все не так, еще и токен нужен
https://developers.facebook.com/docs/instagram-api/guides/hashtag-search
5 1843973
Антоны, вопрос из предыдущего треда, извиняюсь за его ньюфажность, вот поставил я питон и пайчарм. Создаю виртуальную среду под проект, там загружаю библиотеки. А что делает pip? Он устанавливает на питон, который в самое винде? Получается им лучше не пользоваться если надо загрузить библиотеку?
Ни кидайте говном, я совсем нюфаг
6 1843990
>>843968
это aiogram. нашел на сайте телеграма. пытаюсь тут бота сделать.
7 1843998
>>843973
у тебя в командной строке должно быть название твоего виртуального окружения. если нет, значит ты на системном питоне сидишь. пип устанавливает туда, откуда ты его запустил.
8 1844005
>>843998
Если я просто тыкаю в Cmd, install <библиотека name> у меня куда она ставится? На общий питон?
9 1844015
>>843932
Может жаба стучаться аяксом на бекенд, может через вебсокеты.
10 1844023
>>843990
Я про апи инстаграмма
11 1844024
http://static.sch57.ru/users/gusarev/books/python/python-book-3.pdf
Нашёл на сайте рандомной школы какой-то учебник. Вроде толковый
Кому надо - берите
12 1844043
>>843932
>>844015
Собственно сейчас остался только один вариант, через JS. Раньше были какие-то другие извращения с флешем, JavaApplet, некоторые извращения на http уровне с модифицированным протоколом, но последнее уже совсем-совсем старое.

JS опрашивает сервер раз в N секунд (это совсем дубово для чата), или через long polling, или через вебсокет, получает данные в виде json пакета и перерисовывает страницу.

Больше вопросов с тем, как на сервере всё это хозяйство поддержать, тут нюансы разных фреймворков и разной инфраструктуры, не всё легко дружит с long polling и вебсокетами.
13 1844048
>>844043
Спасибо за ответ развернутый
pic35b06e2bd3403fb2d4748e36b1e25189.png183 Кб, 420x280
14 1844106
>>844005
на общий
15 1844108
>>844023
попробовал получить токен, устал.
16 1844181
От кодворза все таки есть польза, узнал о enumerate и abs. Хотя решил совсем под другому. ПРостая ката без этих заняла хуй знает сколько времени, зато решил сам

Вот ката https://www.codewars.com/kata/5a34b80155519e1a00000009
Вот мое решение https://www.codepile.net/pile/kARyM0Z2
Строчек много, зато еще поработал с фильтер, редус, зип и мап. Еще пробовал вайл и еще дохуя чего. Но получилось по итогу так. Умники с кодворза решили в одну строчку как обычно.
17 1844185
>>844181

>От кодворза все таки есть польза, узнал о enumerate и abs.


Ну вообще, об этих штуках пишут в любых непорашных книгах для начинающих
мимо осилил первый том Лутца
18 1844216
Anonы, помогите не шарящему в программировании.

Короче, есть текст разбитый на пронумерованные пункты и подпункты вида:
'1. hui
1.pu 2.tin 3.su te
2. pizda
1.hi 2.ut re mi 3.ses
3.ziopa
1.fhu jih 2.vguhb 3.drt bjikj...'
и таких пунктов всего 64

Суть в том, что текст разделен на нумерованные пункты, в каждом из которых одинаковое количество подпунктов. Мне нужно распарсить текст и засунуть текст в массив, где весь текст будет древовидно разделен в подмассивы, которые будут содержать эти подпункты хотя бы в таком виде:

[['1. hui', '1.pu', '2.tin', '3.su te'], ['2. pizda', '1.hi', '2.ut re mi', '3.ses']...] и т.д.

Вроде что-то мне подсказывает, что эта задача должна легко решаться, но что-то не могу додуматься как. Пробовал даже изучать регулярки, но по-моему не в этом дело
19 1844220
>>844181
Оно и просится в однострочник-компрехеншен. Как с энумерейт, так и рейндж, оба примерно одинаковой всратости.
20 1844222
>>844216
Бьешь на строчки, потом иф на парную-непарную строчку.
22 1844281
Требуется крайне разбирающийся программист, узнал что в церковнославянском языке есть цифры, захотел сделать переводчик цифр на церковнославянский, но очевидно церковнославянских букв нет в кодировках, а кодировки бывают разные, отсюда вопрос возник, если я найду условно кодировку в которой будут буквы нужные и сделаю, например, вебсервис, то 1. Будут ли у других правильно отображаться буквы 2. Как сделать так, чтобы у всех все отображалось 3. Как в вебе передается кодировка текста, вместе с html 4. Что гуглить, чтобы найти ответы по поводу кодировок
23 1844303
>>844262
Ух, спасибо. Кажется понял, что мне пока до программирования как до луны. Свой код даже стыдно было бы показать
24 1844309
>>844281
Этих символов тебе не достаточно?
https://unicode-table.com/ru/blocks/ciryllic-extended-B/
25 1844331
Где можно скачать этот курс?
https://www.youtube.com/watch?v=uk5uB05G3H0
Если он и правда годный то я таки задоначу автору 10 баксов, обещаю
26 1844334
>>844309
Пока искал нашел работу 30-ти страницную где описывеется шрифт пантелей и проблемы, которые вознили при его создании, но оказалось, что в стандартном юникоде есть вроде все символы для того, чтобы реализовать мою идею, осталось понять как юникод вообще отображать, ибо знаю только что если не utf-8 или cp1251 то на выходе выходит хуйня а не текст и как програмно добавлять спецсимволы типа ударения и титло, если кто может подсказать, то пишите
27 1844366
>>844262
Надо было уже всё хуярить регулярками.
https://ideone.com/Nadmdp
28 1844382
>>844281
вопрос закрывается, потому что такой конвертер уже существует, я вообще не представляю как придумать что-то такое чего еще нет, но на реализацию чего не понадобится целая команда
29 1844421
>>844382
А зачем тебе придумывать то, чего нет? В 99% задач ты будешь делать то, что уже кто-то делал.
30 1844547
>>844421
Ну для себя просто, разве интересно делать что-то ради интереса, если в 10 секундах поиска можно скопировать, тем более более хороший код(я не что-то общее, свою ос писать глупо, но конвертер церковнославянский чисел почему бы и нет)
sdfsdfsdfad.jpg139 Кб, 1871x282
31 1844655
Пытаюсь получить данные о яндекс пробках, нагуглил какой-то парсер, подставил свои значения
На выходе получаю только слово
Пробки
Хотя по идее должен получить
Пробки 2 балла

Код: https://ideone.com/VTrrdf
Идеон почему-то скрывает ссылку в парсере, вот она:
https://yandex.ru/maps/35/krasnodar/probki
32 1844656
>>844655
Потому что оно подтягивается отдельным запросом, очевидно же.
33 1844660
Кто нибудь юзал gino? Вообще, какой у вас опыт был с питонячьими асинхронными orm?
34 1844665
>>844660
Так, знакомство оказалось недолгим, увидел, что это обертка для sqlalchemy - удалил нахуй
35 1844667
>>844665
На старой sqlalchemy
фикс
36 1844720
>>844656
И это значение может быть как-то скрыто/защищено яндексом, несмотря на то что все отображается вручную через ф12?
37 1844723
>>844720
Ничего не скрыто, просто изначально его по тому адресу нет, оно подгружается позже и добавляется динамически, по ф12 ты видишь уже финальный результат.
38 1844734
>>843911 (OP)

Сап, двощ. Как вы качаете скилл в numpy/pandas? Может, есть курсы какие-то, типа степика, сборники задач, тестовые датасеты и т.п.?
39 1844769
>>844734
Он нам и нахуй не нужон, это игрушка для студентоты и всяких дата-сатанистов.
40 1844786
Посоны, а стоит ли читать Лутца "Программирование на Python" томы номер 1 и 2? "Изучаем" я уже осилил.
41 1844796
>>844786
Не особо, можешь про базы почитать и идти учить стек под вакансию
42 1844809
>>844796
Ок, спасибо.
43 1844927
двач, у меня есть массив координат точек, и я хочу нанести их на изображение
пытался сделать через матрицу в numpy, ничего не вышло, подскажите, пожалуйста, как реализовать
достаточно черно-белого изображения
44 1844928
>>844927
пользовался pillow
image.png8 Кб, 1063x102
45 1844938
Как убрать переносы строк?
image.png1,8 Мб, 800x1065
46 1845056
Есть что-нибудь по технологии и культуре программирования? Книги, там, курсы. Чтобы описывались технические всякие мелочи, как кто работает: вот я выбрал такой IDE, проект разбиваю на папки так, тут у меня докер, на гите акк, постоянно апдейты делаю, requirements.txt делаю тем и тем, здесь у меня тесты, там у меня тестовый код вертится, в прод я посылаю код так и так, общаемся с другими коллегами через то-то и то-то, таски, хуяски, вот это всё. Так сказать,технология, культура и дисциплина.
48 1845064
>>845056
удваиваю
49 1845068
>>845056
Пикрил - "Дебажить" принтом - это уже гуро?
50 1845072
>>845068
Все дебажат принтом. Делают моднявые дебаггеры, потому что надо как у людей, но принт есть принт.
51 1845073
>>844927
Покажи твой код, посмотрим, что ты пробовал сделать, что там может быть не так.
52 1845131
>>845072
а какие есть моднявые дебаггеры?
53 1845142
>>845131

>а какие есть моднявые дебаггеры?


Очевидный пайчарм.
54 1845148
>>845131
>>845142
Обычно делается норкоманская соснольная хуйня, на которую потом уже навешиваются сторонние ИДЕ.
Такое есть почти у любой скриптоты.
55 1845158
>>844331
Бамп вопросу.
56 1845159
>>845148

>Обычно делается норкоманская соснольная хуйня, на которую потом уже навешиваются сторонние ИДЕ.


Ты про что вообще?
57 1845160
58 1845162
https://github.com/tortoise
Выглядит как годнота, кто нибудь юзал?
59 1845163
>>845160
У пайчарма свой дебаггер.

Я вообще не понимаю зачем тебе в этом разбираться. Я три года пишу код на питоне и ни разу (до этого момента) не задавался вопросом как работает дебаггер - это просто не нужно.
60 1845165
>>845163
потому что ты слесарь по компьютерам, а не Программист.
Разумеется, блядь, нужно понимать как он работает чтобы хотя бы уметь в проде запускать отладчик.
61 1845166
>>845165
А ты ебанушка, а не программист.
62 1845178
>>845165
Лучший способ дебагать на проде, это вести мониторинг и логи, желательно в специальных менеджерах, типа sentry, где тебе и весь трейсбек, стек вызовов и содержание переменных будет Ты точки остановки не расставишь сам, а копаться в вызвовах тысячи пользователей в секунду себе дороже.
63 1845189
>>845178
я не говорил что нужно дебагать на проде.
я говорил что это нужно уметь.
64 1845194
>>845178

>тысячи пользователей в секунду


который раз это в треде вижу.

У вас там в яндексе все такие?
А, не пизди, ты же не в Яндексе.
65 1845203
>>845194
Спортивные ставочки
66 1845204
>>845194
Да и вообще, даже 50 пользователей это просто дохуя, что бы стек вызовов по каждому запросу проверять
Screenshot121.png28 Кб, 632x118
67 1845238
Сколько обычно уходит на изучение языка программирования с полного нуля? Если я учу чуть больше месяца, и до сих пор могу выполнять только простецкие задачки типа пикрила это нормально, или у меня что-то медленно идёт?

учусь исключительно сам и ссу проебаться
68 1845244
>>845238
Для этой задчки достаточно словарей и инпута, ну и какой-то жсон или пикл приляпать для сохранения.
Это первые несколько глав нубской книжки. Маловато за месяц.
69 1845248
>>845238
Нормально, даже не плохо. Вот этого >>845244 не слушай.

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

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

Но в любом случае, месяц это мало. Для программирования надо перестроить мозги, чтобы они как у программиста работали, а это реально годы.

За год программистами не становятся. Про сроки вроде месяца-трёх я вообще молчу. Хотя на питоне и намного легче учиться, чем на индустриальных C/C++/Java, с чего многие раньше начинали.
70 1845259
>>845248

>Хотя на питоне и намного легче учиться, чем на индустриальных C/C++/Java, с чего многие раньше начинали.


По-моему легче всего учиться на джаве. Питон сложнее из-за динамической типизации и вседозволенности в целом.
71 1845260
>>845259
Да ну, там тулчейн этот пиздецовый, однозначная необходимость среды, гигабайты бойлерплейта.
По-моему, самый злоебучий из мейнстримных как раз.
72 1845261
>>845260
Ты выдумал какие-то несуществующие проблемы. Вкатывальщику нужен максимально четкий и понятный язык, и джава для этого прекрасно подходит. Да, она более многословная и есть необходимость писать бойлерплейт, но питон с его динамической типизацией еще хуже.
73 1845266
>>845261
По-моему ты троллишь просто.

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

А проблема вкатывальщиков именно в том, что такой подготовки у них обычно нет.

Для человека, который не программировал вообще, просто интуитивно не понятны даже такие понятия, как "функция", а ему надо продираться через магию всяких public static void и прочей хрени.

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

Опять же, чёткое ощущение, что если на питоне человек может самостоятельно довольно быстро научиться что-то писать, то на Java/C/C++ без шансов совсем.
74 1845273
>>845266

>Для человека, который не программировал вообще, просто интуитивно не понятны даже такие понятия, как "функция", а ему надо продираться через магию всяких public static void и прочей хрени.


В питоне аналогичный if __name__ == "__main__".

Вдобавок, у питона намного больше своих нюансов, только они скрытые. Вот попытается вкатывальщик присоединить к строке число, и получит ошибку. Причем ошибка вылезет в рантайме, в то время как в джаве такая ситуация в принципе невозможна. Подсказок от IDE в большинстве случаев не будет, а от питоновских type hints голову вкатывальщик сломает еще сильнее, чем от обозначения типов в джаве. В прошлом треде был один с похожими вопросами. Это список можно продолжать бесконечно: вложенные функции (попробуй запомни, какая переменная откуда), kwargs, list comprehension, генераторами с корутинами и прочее. ООП в питоне тоже сложнее чем в джаве, чего стоит одни только self и cls.

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


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

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

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

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

>Для человека, который не программировал вообще, просто интуитивно не понятны даже такие понятия, как "функция", а ему надо продираться через магию всяких public static void и прочей хрени.


В питоне аналогичный if __name__ == "__main__".

Вдобавок, у питона намного больше своих нюансов, только они скрытые. Вот попытается вкатывальщик присоединить к строке число, и получит ошибку. Причем ошибка вылезет в рантайме, в то время как в джаве такая ситуация в принципе невозможна. Подсказок от IDE в большинстве случаев не будет, а от питоновских type hints голову вкатывальщик сломает еще сильнее, чем от обозначения типов в джаве. В прошлом треде был один с похожими вопросами. Это список можно продолжать бесконечно: вложенные функции (попробуй запомни, какая переменная откуда), kwargs, list comprehension, генераторами с корутинами и прочее. ООП в питоне тоже сложнее чем в джаве, чего стоит одни только self и cls.

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


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

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

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

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

>питон с его динамической типизацией


Динамическая типизации это большое благо. Зло нестрогая типизация.

В питоне достаточно строгая динамическая типизация. Нет неочевидного поведения, в отличии от JS, например.

В питоне ты не сможет сделать '2' + 2, вылетит ошибка. Очевидна разница между строкой и числом. Вот то, как сделано в JS, это ад, потому что там подковёрные преобразования из типа в тип. Очень неочевидное поведение, трудно прогнозируемое.

Кстати Си этим тоже грешит, с кучей его неявных преобразований, при этом статическая типизация, в общем такой адский микс, тот ещё язык. Плюсы в этом плане сделали намного строже, может избыточно строго даже.
76 1845276
>>845275

>Динамическая типизации это большое благо. Зло нестрогая типизация.


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

С точки зрения простоты самая лучшая типизация - статическая строгая, как в джаве. Только взамен энжой ер бойлерплейт и десять строк кода заместо одной в питоне.
77 1845284
>>845276

>статическая строгая, как в джаве.


Смотря что писать.

Я начинал с Си, потом были ООП плюсы, PHP с номинальным JS (и это с коммерческим опытом). Потом для себя изучил Питон, и вот реально очень понравился, потом был питон по работе (2.6, хотя изучал третий, вот это боль после третьего), ассембер, и Си в одном флаконе, потом уже нода, сейчас больше питон-asyncio и нода меньше.

Джаву смотрел совсем-совсем чуть-чуть, уже умея ООП на плюсах.

Вот совсем не понравилась джава даже с таким опытом. Там красивая модель ООП, но и всё. В остальном жутко перегруженный язык, жуткой тяжёлый. Хуже только современный STL-C++.

А питон как раз понравился больше всего.

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

У тебя пакеты приходят, и какого-то строго формата нет. Там структурные данные, но строгого формата нет в плане атрибутов, дочерних элементов и т.п. А в компилируемых языках данные надо сразу как-то описывать в виде классов,а реально это невозможно. Вот там и какие-то жуткие костыли везде вокруг этого.

Плохо дружит джава и с async-await моделью. А она реально крута и удобна. Сколько представляю, там принято тредами и мютексами в основном обходиться и какая-то лапша из-за этого (в питоне принят подход очередей, более современный). Правда лучше всего тут Go, но там всё остальное ужасно, даже лезть в него не хочется.

ps: при этом asyncio в питоне это печаль, кривовато, медленно, с чудовищным количеством граблей и подводных камней, и походу они уже и не собираются это исправлять, хотя очевидная потребность есть. Но по сумме даже на asyncio питон приятнее всего.
78 1845296
Не совсем по теме, но я хз где ещё спросить.

Есть база данных игроков с их кол-вом очков в разных матчах
Следующая игра будет против команды плохо уровня, соответственно, я считаю что игрок должен на дистанции выступить на 10% лучше. Т.е если средний показатель у него - 11 очков, то против этой команды он в среднем будет набирать 12.1
Ещё я могу посчитать дисперсию на основе его очков в предыдущих матчах.
Как мне имея ожидание и дисперсию получить вероятности набора 11 или, например, 12ти очков. Мб какие-то распределения? Подскажите, куда копать?
79 1845328
>>845261
Еще один. У питона - неявная строгая, и никак не динамическая, сколько раз уже сказано
80 1845333
>>845296
В треде нейросетей спроси. Тот еще загон псевдоилитариев
81 1845349
>>845328

>Никакая ни динамическая


В питоне переменные не связаны с типом а момент объявления без возможности последующего изменения
82 1845359
>>843911 (OP)
Анон, подскажи книгу на русском новичку для изучения языка. Книг много, не знаю какую выбрать. Нужно что-то актуальное и лёгкое в изучение на данный момент.
83 1845368
>>845359
И\или видеокурс.
Можно (лучше) на английском.
Для быстрого вката стажёром за еду.
Другой анон.
84 1845373
>>845368
Вот этот приятный курсец для ленивого диванного просмотра.
https://rutracker.org/forum/viewtopic.php?t=5897547
85 1845374
>>845373
А после него?
Определяться с более узкой специализацией типа аналитики https://rutracker.org/forum/viewtopic.php?t=5905142 или бэкэнда на джанго?
И отправлять сотни резюме на стажировку?
86 1845376
>>845374
Ты хоть один для начала осиль, а там будешь думать.
Накачать-то легко.
87 1845390
>>845359
Бамп
88 1845397
у кого-нибудь было такое, что request с сервера на адрес не проходит, а с локалки - проходит?
89 1845474
>>845397
Надеюсь не на локальный ip ты пытаешься зайти?

Ты поднимаешь сервис? Если да, то какой адрес указываешь, на котором работать? Надо 0.0.0.0 выставлять, по умолчанию часто поднимается на локалхосте, 127.0.0.1, такой сервис будет доступен только с локальной машины. Если укажешь локальный адрес, вроде 10.67.11.22, то будет доступен только из локальной сети.
90 1845476
Подскажите, пожалуйста, как узнать цвет пиксела окна, зная его координаты?
91 1845478
>>845368

>И\или видеокурс.


>Для быстрого вката стажёром за еду.


Нет таких. Программирование не та область, где можно чего-то внимательно почитать или посмотреть, и после этого уже работать.
92 1845483
>>845474
не, не на локальный) все пытаюсь спарсить страничку инстаграм.
с удаленного сервера выкидывает на страничку авторизации, а с локального все норм. заипалсо думать.
93 1845484
>>845476
Посмотри на него, епт
есть библиотека называется чето типа автогуи
94 1845488
>>845476
Делаешь скриншот экрана/окна/нужной точки, получаешь лист пикселей, нужный тебе пиксель находится по указанной координате (высота+ширина), получаешь пиксель по координате через PIL или qt.
95 1845520
>>845476
Какого окна? Если для шиндовс, то там дохуя есть функций в винапи для поисков окон, просмотров пикселей и прочих дел. И модули для его использования.
96 1845523
>>845483
У инстаграма такая политика борьбы с ботами. Они там меняют периодически что-то, впрочем. Контрольный тест, сейчас проверил, захожу в приват-режиме на чью-то страницу, то есть без авторизации, показывает нормально. Если пытаюсь зайти через свой личный прокси (моя vps, никем больше адрес не используется), то перекидывает на авторизацию, причём просит подтверждение по СМС. Захожу, работает, закрываю окно, открываю опять, всё тоже самое, опять просит авторизоваться, если через прокси.

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

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

Бота для одного аккаунта может быть ещё и можно сделать. Но в сущности его можно пускать и с домашнего компьютера.
97 1845526
>>845523
Спасибо за проверку и разъяснение.
98 1845545
>>845523
Последний тренд это residental proxy - компании предлагают бесплатные впн, лохи подписываются и через них гонят левый трафик, продавая его ботоводам за сотни денег.
99 1845583
>>844331
Бамп вопросу
100 1845586
>>845583
Нашел за пять минут в гугле.
sage 101 1845631
>>845056
================================================
- БАМП ВОПРОСУ -
================================================
102 1845781
>>845073
да я уже сделал все, спасибо
103 1845783
двач, у меня есть множество точек на плоскости(их очень много), и мне нужно определить что за фигуру они образуют(одна из трех: правильный треугольник, круг, квадрат). Какой есть алгоритм для этого?
104 1845791
>>845783
Ищешь крайние точки, и смотришь по ним.
105 1845802
>>845791
Крайние это какие?
106 1845809
>>845586
Поделись :3
107 1845815
>>845802
Крайние это крайние.
108 1845819
https://ideone.com/t8FTgX

Может кто объяснить в чём суть ":str) -> set:" ?
Читаю Бэрри, за 2 дня дошёл до 200-й страницы и тут впал в ступор.
В книге чёткого ответа я так для себя и не нашёл.
То, что я взял в кавычки - это аннотация, верно? Для чего она?

Заранее спасибо за ответ.
A4LiwH1a6s.jpg99 Кб, 1908x625
109 1845820
Почему не работает?
110 1845824
>>845819
Да, значит, что ожидается строка, возвращается сет.
Сам питон это не использует, оно для всяких линтеров и ИДЕ.
>>845820
Они в разных неймспейсах, глобальная переменная глобальна только для своего модуля.
111 1845889
>>845820
разные области видимости.
Функция ищет переменную main в своей локальной,потом в глобальной своего модуля, потом в обжекте. А в твой модуль она никогда не заглянет анон.
112 1845901
>>845783
Сначала надо найти все пары граничных точек, потом посмотреть распределение углов наклона прямых, которые через них проходят.
113 1845925
>>843911 (OP)
А что с работой?
Вот выучил я основы питхуна и куда дальше идти?
Куда грамотнее будет вкатиться мимокрокодилу без ВО чтобы начать зарабатывать?
Веб? Анализ данных? МЛ?
114 1845942
>>845925
Ты принят, подходи на работу.
115 1845944
>>845925

>без ВО


>основы питхуна


>А что с работой?


А сам как думаешь?
116 1845946
>>845944
Имею ввиду в каком направлении дальше развиваться
Веб, мл или ДС
Куда после основ сворачивать?
117 1845950
>>845944

> Без ВО


Как что-то важное
118 1845951
>>845946

>Куда после основ сворачивать?


Для начала практиковать и доучивать питон пока не освоишь его на нормальном уровне. Потом иди в веб. В МЛ/ДС слишком высокая конкуренция, а зарплата не выше чем в вебе.
>>845950

>Как что-то важное


Если у тебя нормальные навыки и десяток пет-проектов в резюме, то может быть и не важное. А так в большом количестве случаев твое резюме полетит в мусорку только из-за одного факта отсутствия ВО. В остальных случаях шанс есть, но при прочих равных все равно выберут того, у кого есть ВО.
119 1845953
>>845951
Если в веб (бэк и фс очень интересными кажутся) то может сначала выучить джс, хтмд, Асс, реакт какой, бд и потом уже питун + Джанго?
120 1845954
>>845953
Хтмд, Асс*
Фикс
121 1845955
>>845954
Хтмл, ксс
И 9 против меня)
122 1845957
>>845953
Это все нужно учить параллельно. Сначала основы HTML/CSS, потом основы джанги. С этого момента уже можно начинать делать простой вебсайт и доучивать и то, и другое. JS и тем более фреймворки вроде реакта на начальных этапах не нужны - к ним приступай только после того как более-менее освоишь джангу и верстку на HTML/CSS.
123 1845966
А есть кто в клане состоит на кодворзе? Примите меня?
Снимок экрана2020-11-0211-19-03.png16 Кб, 831x197
124 1845974
125 1846078
Обычных джангомакак больше всего как раз(сам такой), уже 1,5 месяца ищу работу
126 1846080
>>845951
>>846078
Открепилось
127 1846081
>>846078
Power Point 29%, лол.
128 1846082
>>846078
Алсо на счет работы, мне приглашение дали пройти тестовое, там нужно делать асинхронные вызовы celary, использовать rabbitmq, redis, postgresql, django, кароче половину я пока не использовал, в вакансии написано опыт от 3-х лет, скажите если я реализую тестовое(дашборд с функциями и их графиками), то меня примут на работу без опыта работы релевантного?
129 1846116
>>846078
Какая-то обоссная выборка по требованиям к бэкэнду.

Кстати, чому мало кто идёт тут в BA? Стек инструментов уже чем на других направлениях, только маркетинговую хуйню задрочить надо, платят очень хорошо.
130 1846118
>>846082
Вряд-ли, всё-таки человек без опыта и человек с 3+ годами - охуеть какая большая разница. Но тестовое делай и на гитхаб лей - безусловный плюс тебе будет.
131 1846352
>>845974
Где хоть слово было про легкую работу?
Ты дурак?
132 1846357
>>846078
А что, анализ данных без экселя никак?
Что делать линухсоидам тогда?
133 1846368
>>846357
Libre Office
134 1846369
>>846368
А можно? Требуют же ексель
135 1846372
>>846369
Если так хочется, запили его на виртуалку или через вайн. Ты точно линуксоид?
136 1846373
>>846372
А веб версия подойдет?
Вроде майки предоставляют бесплатно браузерную версию ворд и ехсэл
137 1846378
>>846373
в веб-версию не загрузишь много строк, да и на том уровне, который они требуют, лучше pandas какой-нибудь использовать наверное.
кмс по excel.
138 1846386
Аноны, помогите, есть тестовое задание
Пусть написанный выше скрипт называется 'path/to/file/script.py' и функция называется exec
Написать скрипт, который динамически вызовет данную функцию зная только строковый путь. (т.е. нельзя from path.* import exec)

Что значит вызвать динамически, что имеется ввиду, от меня хотят, чтобы я файл script.py загрузил как строку и выполнил? Или какой-то другой способ вызова функции или запихнуть ее в переменные или через os path нужно зайти по пути данному и запустить скрипт, не понимаю, помогите, хочу сразу правильно прислать ответ
139 1846402
>>846386
Видимо такое решение имеется ввиду
import os

path = '/path/to/file/script.py'

os.system('python3 '+path)
140 1846492
Начал смотреть Хирьянова на ютубе. Стоит или нет?
141 1846540
>>846492
Мне понравился преподаватель, но не смог осилить лекции, ибо темы для меня были уже на тот момент достаточно знакомы
142 1846570
>>846357

>А что, анализ данных без экселя никак?


Если хорошо знаешь питон и нужные библиотеки, то необязательно. Просто аналитик данных - это довольно общая вакансия. Аналитики зачастую вообще не умеют программировать.
143 1846606
>>846492
он для даунов хорошо разжевывает.
Мне больше с книг доходит, чем с лекций.
Ты уже тему понял и сидишь минут 20 скучаешь, пока он следующий этап начнет рассказывать.
144 1846613
>>846492
Нет, за час укус питона и в бой на кодворзе. Этого хватит.
145 1846707
Вопрос по поводу книги Марка Лутца.

Собираюсь начать читать.
В планах по 100 страниц в день (по ~10 часов в день собираюсь уделать книге).
Прочёл уже 'A Byte of Python' и 'Head First Python'

Так вот: наткнулся на то комментарии по поводу книги, что перевод 5-го издания полон ошибок и неточностей, а вот с 4-м изданием, говорят, всё хорошо, но 4-е издание, говорят, морально устарело.

Так какое же издание выбрать для обучения? У кого-нибудь был опыт ознакомления с 5-м или 4-м изданием? Так ли всё плохо с актуальной информацией в 4-м издании?

Заранее спасибо за ответ.
146 1846732
>>846707
читал 5ое. оно тоже морально устаревшее,хоть оно и вышло во время пистона 3.7.
1\4 книги, это в чем разница пистон2 и пистон 3
Некоторое вещи дотошно понятны, некоторые наоборот.
Книгу можно рассматривать в комплексе с другим материалом.
Сам по себе больше справочник, чем что-то практичное.
147 1846764
>>846707

>В планах по 100 страниц в день (по ~10 часов в день собираюсь уделать книге).


Профанация. В этом нет никакого смысла, нельзя читать книги по науке и технологиям в таком темпе, это не Война и мир. Чисто для галочки, в мозгах ничего не останется.
148 1846780
Посоветуйте какое можно создать веб приложение на питоне. Узнал о стримлите, вроде неплохо выглядит. Хочу чем-то набить гит. И такой еще вопрос. Вот какое должно быть веб приложение чтобы работодатель потек. Помимо сайтов.
149 1846872
>>846613
о! прикольный сайт. спасибо за наводку.
гуру питона, оцените говнокод, пожалуйста. что так? что не так по первой задаче?

For example, if we run 9119 through the function, 811181 will come out, because 92 is 81 and 12 is 1.
Note: The function accepts an integer and returns an integer


def square_digits(num):
squares = [str(num) for i in range(len(str(num)))]
result = list(map(lambda x: int(x) 2, squares))
result = ''.join(map(str, result))
return int(result)
image.png14 Кб, 513x180
150 1846910
>>846872

>


>def square_digits(num):


>squares = [str(num) for i in range(len(str(num)))]


>result = list(map(lambda x: int(x) 2, squares))


>result = ''.join(map(str, result))


>return int(result)


Тут какие-то знаки потерялись и поэтому всё не работает.
Рабочий код на пикрил.
151 1846913
>>846910
У тебя первое же выражение какое-то месиво: squares = [str(num) for i in range(len(str(num)))] можно заменить на str(num), потому как строку тоже можно итерировать.
А вообще, зачем тебе трижды разбирать/собирать список. Может лучше просто циклом пройтись один раз и собрать строку, не?
Screenshot from 2020-11-03 11-04-09.png3 Кб, 381x32
152 1846930
153 1846935
>>846913
Просто тролль зачётный, но код интересный :)
154 1846940
>>846913
>>846930
Это не ко мне вопрос, а к >>846872
Ну, я так понимаю, задача была постигнуть азы функционального программирования, поэтому столько преобразований.
155 1846941
>>846913

>циклом пройтись


Нон питон стайл, чел.

Циклы - фу (с) Гвидо ван Россум
156 1846946
>>846707

>по ~10 часов в день собираюсь уделать книге


Не выдержишь, нужно делать перерывы для переваривания информации + эффективность восприятия сильно снижается в зависимости от времени
157 1846954
Объясните максимально примитивно и популярно: для чего нужен метод __init__ ?
158 1846955
что такое self?
159 1846958
>>846955
Себяшка, сам объект
160 1846960
>>846958
на кой он нужен?

def __init__(self, n, a):
self.name = n
self.age = a


почему я должен его прописывать? объясни зелёному...
161 1846961
>>846954
Для инициализации [переменных] объекта.
162 1846962
>>846960
Если ты не будешь прописывать self в присваивании переменных, то это будут локальные переменные для данной функции, они не будут хранится в стейте объекта и ты не сможешь вызвать их из другого метода или получить доступ.
163 1846964
>>846960
Чтобы присвоить значение переменной (атрибуту) объекта, а не локальной переменной.
164 1846965
>>846961
Можно пример? Чего я лишусь, если не напишу инит?
165 1846966
>>846962
>>846964
спасибо, уже понятнее)
166 1846967
>>846965
Объект не сможет принимать аргументы при инициализации
Так сделать не получиться
my_object = MyClass(hui, pizda)
167 1847023
>>846930
лаконичный код
168 1847042
>>843911 (OP)
Кто шарит в sqlalchemy? У меня список с кортежами данных, как мне массово обновить строки в таблице, основываясь на нем?
update действует для одной строчки
169 1847101
>>846707

>по ~10 часов в день собираюсь уделать книге


Полная хуйня, сообщаю как пытавшийся.
170 1847110
>>846941
Покажи цитату, вот в питон зен есть чето вроде експлисит бетер зен имплисит, симпл бетер зен комплекс, ридабилити каунтс.
171 1847226
>>843911 (OP)
Привет. Пытался гуглить, но выдаёт не то, что нужно.

Как измерить время выполнения текущей итерации цикла и скипнуть её, если преодолён таймаут?

Пилю сейчас скрипт, где wget выкачивает файлы, и он постоянно обрывается: то закачка файла на середине встанет, то не приходит ответ на хттп-реквест и т.д.
172 1847235
>>847226
И как тебе это поможет?
У вгета есть статус как у любой никсовой утилиты - 0 если всё ок или код ошибки. Пихаешь его в while и повторяешь, пока не ноль. Ну или несколько попыток.
173 1847244
>>847235
А как мне это поможет, если статус с нуля изменился уже после перехода к новой итерации внутри цикла вайл? И всё встало
174 1847250
>>847244
С хуя ли ему меняться? Запускаешь комманду, она отрабтаывает и возвращается свой статус.
Или ты какую-то асинхронщину делаешь?
175 1847253
>>846966
Работай над этим.
176 1847257
>>847250

>Запускаешь комманду, она отрабтаывает


Так в том и проблема, что есть список из N ссылок на файлы, и на M-ом файле команда не отрабатывается(по множеству причин).

Я правда сейчас понял, что измерять время выполнения не подходит, так как долгой итерация может быть и просто из-за того, что скачиваемый файл тяжелый.
Cph5i3BUkAUijhn.jpg153 Кб, 915x1200
177 1847259
>>846954
>>846955
Впервые вкатываешься в ООП? Ну успехов.
tTDI1Gy1N3.jpg420 Кб, 834x1223
178 1847261
Кто-нибудь вкурсе как сделать вывод в VSCode цветным?
image.png17 Кб, 1320x150
179 1847269
Я очень тупой, объясните почему не работает
180 1847270
>>847257
Я же тебе и говорю, сделать вайл и статус.
т.е.
for url in urls
while true:
status = exec('wget...')
if status == 0: break
181 1847273
>>847269
Потому что на четвертой строке результат отбрасывается, а ты дальше дрочишь строчку.
182 1847276
>>847273
Толсто. Написано же, что нельзя удалять часть строки, потому что строки в питоне неизменяемые
image.png386 Кб, 1047x594
183 1847280
>>847269
В питоне нет переменных, есть объекты, хранимые в памяти. Имена a, b, c являются ссылками на объекты.
Целостные объекты нельзя раздробить и удалить из них часть. Но можно из списков удалить какой-то объект.
То, что ты написал list(str(a)) не сделало "а" списком, тебе нужно этот новый объект сохранить под каким-то именем:
c=list(a)
str(a) делать не нужно, так как input и так воспринимает всё как строку.
184 1847285
>>847270
Хуйню какую-то написал. Ты наркоман чтоле сука?
185 1847290
>>847285
Хули тебе непонятно?
Цикл с твоими ссылками, внутри бесконечный цикл с брейком при успешном выполнении.
186 1847298
>>847280
Спасибо за развернутый ответ.
187 1847305
>>847290
Ага, а при неуспешном выполнении цикл становится реально бесконечным.
188 1847307
>>847305
Можешь добавить счетчик.
189 1847309
>>847307
Ну все, сука, ты огребаешь!
190 1847366
>>846780
Бамп вопросу. Какое веб приложение сделать чтобы можно было забить гит? Или магаза или борды хватит вполне? Хочу заюзать фласк, он кажется как-то проще.
191 1847373
поясните за функцию select.
Как она понимает, что сокет готов?
вот стучит она в первый список и вызывает fileno(), получает дескриптор. И что с ним дальше? Что ей это дескриптор дает?
Буферы сканирует?
192 1847374
>>847366
пили подобный
https://www.blizzard.com/
возьмут на галеру джуном
193 1847506

>AttributeError: 'HTMLParser' object has no attribute 'unescape'


Вот такая ошибка появляется на 3.9 при создании виртуалки в ПайЧарм. Кто сталкивался?
Поныкался по форумам чето там вроде сказали что объекта HTMLParser теперь нету и нужно обновить setuptools до последней версии. Обновил - нихуя не момогло.
194 1847523
>>847506
В чем проблема откатить версию интерпретатора?
Это ведь самое простое решение: ты что-то поменял и всё сломалось? ПОменяй обратно.
Я всегда недоумевал с людей, которые обновляют ПО, которое выполняет все необходимые функции. Ты хоть знаешь, что нового в 3.9 пистоне? Бьюсь об заклад, что нет. А если и знаешь, то вряд ли эти фичи так критичны для твоей разработки.
195 1847529
>>847523
Ваистину рашкинские форумы ахуенны. Спрашиваешь как что-то сделать, тебе говорят почему ты тупой и что этого делать не надо. Ты действительно думаешь, что я не могу откатиться?
196 1847540
>>847529
>>847529

>рашкинские форумы


Пошёл вон, смерд.
197 1847541
>>847529
Но ведь ты действительно тупой
198 1847551
>>847529
https://tw511.com/a/01/19838.html
Там на японском, но гугл нормально переводит
Если коротко - то пока проблему никак решить, создавать виртуалку напрямую, а потом pс использовать.

>Ваистину рашкинские форумы ахуенны


это исключительно здешние быдланы, просто.
image.png74 Кб, 706x433
199 1847612
Есть желающие вкатиться?
200 1847614
>>847612
Я не прочь, только удаленно, опыт есть, знания тоже, поработаю чисто за еду, чисто символически, онли за опыт и чтобы получить знания в таких проектах. Готов на любую черную работу в смысле даже просто набирать код что угодно.
201 1847615
>>847614
Ну вот от этого товарища письмо получил - напиши ему.
https://career.habr.com/fedorovvyacheslav
202 1847659
>>847612
Если еще актуально, напиши в тг @yellowpearl я там могу прикрепить резюме и получить тестовое
203 1847680
>>847659
Антош, я не аффтор вакансии, это мне на почту прилетело, чуть выше контакты автора глянь.
204 1847788
Что лучше, прочесть SICP из шапки ньюфаг треда, или из шапки этого, если я пытаюсь питон учить? С английским все норм
205 1847801
>>847788
Для начала возьми любую начальную книжку про питон.
206 1847807
>>847801
"Изучаем питон", из шапки которая?
207 1847829
>>847807
Мне эта понравилась из нубских. Я правда смотрел в оригинале, но вряд ли там что-то сильно испортили. https://rutracker.org/forum/viewtopic.php?t=5764403
Потом можно полирнуть тем же лутцем.
208 1847929
У меня есть словарь. Я хочу сделать функцию, которая при вызове будет добавлять элементы в словарь, спрашивая перед этим эти самые элементы у пользователя. Как это сделать?
209 1847941
>>847929
строка dictionary['name'] = value создает строку в словаре, просто оберни это в функцию
210 1847944
>>847941
Не, то, как добавлять элементы в словарь, я знаю. Вопрос-то в том, как завернуть это говно в функцию и заставить её принимать пользовательские значения...
211 1847946
>>847944
Берешь говно и функцию
@
заворачиваешь
@
PROFIT
212 1848082
А можно ли сделать несколько инпутов в одну строку, но чтобы их не нужно было разделять пробелами?
213 1848098
>>848082
Можно, разрешаю

input().split()
214 1848104
Аноны, у меня есть таблицы в postgresql: purchases items, соответсвенно покупак на один итем может быть много, у items есть колонка price, как мне посчитать процент от продаж, который занимает один итем, в одном запросе не получается выбрать сумму для всех итемов и сумму для всех покупок одного итема, пробовал over() но там нельзя использовать where который мне нужен, пробовал with использовать, чтобы запомнить сумму, но тоже ошибка вываливается, вот пример запроса, который должен быть

select items.id, items.price, count(purchases.item_id), sum(items.price), /Тут должны быть проценты/ from purchases
inner join items on items.id = purchases.item_id
where date BETWEEN '20190101' and '20200101'
group by items.id
order by sum(-items.price)
limit 10;
215 1848106
>>848104
в треде по бд не отвечают, надюсь тут мне подскажут, уже слишком много времени убил на это
216 1848152
>>848098
так инпут сплит работает, только если 1 2 3
а чтобы 123 было как?
217 1848244
>>848152
items = [i for i in input()]
218 1848313
Посоветуйте антоши. Вот я выучил питон. Уже даже начал кодить на кодварзе, вроде как получается. Но нет удовлетоварения. Я чувствую что время проходит впустую. Да, я уже могу и в функции и в классы. Работу так и не нашел и нету своих проектов. Что делать? Продолжать сидеть на кодворзе и решать задачи про яблоки или уже что-то начать? Если так то что все таки сделать? Сайт? НО таких проектов в портфолио дохуя у других. Что делать чтобы работодатель обратил на меня внимания? Чувствую что кроме питоне ничего не потяну и не хватит моральных и физических сил. Что посоветуете делать?
219 1848324
>>848313

> Что посоветуете делать?


Ничего.
220 1848335
Хоть в одной либе для построения графиков можно сделать так, чтобы в начале координат рисовался только один ноль, без пердолинга?
221 1848378
>>848335
Ты чо микрочелик?
A09F8E02-923C-4F88-9F31-7E7B7136FE3B.png144 Кб, 640x480
222 1848395
>>848313
Я сегодня писал парсер для гугл ньюс по заголовкам и потом делал ворд клауд, для тестового задания, сделай такой же, я дико кайфанул с результата(заголовки по запросу russia). А вроде если как программист хочешь дальше идти, то смотри линукс и серверы(сисадмин), базы данных(data engineer), веб(backend), ml(ds)
S01105-02063111.jpg203 Кб, 1080x1920
223 1848406
Потестите тг-бота плс.
Сделал симулятор слот-машины на основе телеграма в качестве ГСЧ (недавно Дуров добавил dice в виде игрового автомата)

@rkeytestbot
224 1848412
>>848313
Дружище, если бы я знал что делать, мне бы нобелевскую премию дали.
225 1848413
>>848406
Ладно, офаю пока. На iOS клиенте какие-то проблемы, почему-то в чат при нажатии кнопки пользователем отправляется не dice а просто эмодзи.
Странные дела. На дсктоп и андроид клиенте все работает исправно.
226 1848462
>>848313

>


>


а нахуй учил тогда? пиздуй вагоны разгружать.
227 1848597
Привет, решил делать курсовую роботу на питоне, в задумке сделать маленькую игру. С помощью чего посоветуете сделать? Лично мой выбор пал между двумя библиотеками: pygame и eel, библиотека, с помощью которой можно делать веб интерфейс в приложении. Больше всего меня волнует вопрос анимации спрайтов, предпочел бы использовать скелетную систему вместо покадровой прорисовки анимации. Что мне в таком случае делать? Или, может не глупить и пробовать пытаться в юнити на шарпах?
image.png7 Кб, 768x27
228 1848646
ой все, я наигрался
вкачусь лучше в пятер очку
229 1848714
>>848646

> by


> пятерочку


Давай в соседи на Сурганова. Меня вон тоже уже год динамят в 98 из 100 случаев.
230 1848728
>>848597

> может не глупить


This.
231 1848823
>>848597

>Или, может не глупить и пробовать пытаться в юнити на шарпах?


А ты умеешь хоть немного юнити или шарп хотя бы?

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

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

Если хочешь делать игру и умеешь тот же шарп-юнити, то да, заведомо лучше не выпендриваться.
232 1848828
>>848823

> язык так построен


А как так построен что на нем нельзя делать графику уровня детроита например? Мб это не из-за языка а из за того что он не компилируемый или просто не та традиция делать на скриптовых языках игры. Мне вот просто интересно, почему на таких как пистон не пилят игры. Он же проще. Что Си что плюсы что шарпы - они же пиздец какие сложные, или на фреймах игры пилить проще и не надо заморачиваться с синтаксисом?
233 1848832
>>848828
Ставить в один ряд по сложности си, плюсы и шарп - это, конечно, хорошая шутейка.

Шарп - высокоуровневый язык. Тебе там не придётся работать с указателями, препроцессором и т.д., разбираться в структурах данных. Сложность в работе с си шарп другая - тебе нужно освоить фреймворки.
234 1848841
>>848828
Начал отвечать, но понял, что у тебя слишком толсто и грубо. Не интересно.

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

Для разных задач разные инструменты. Очевидно, что питон не для графики и не для бинарных данных.
235 1848843
Ввести количество переменных с клавиатуры
К этим переменным присвоить значения
Если переменные входят в промежуток(допустим от 10 до 20), то нужно посчитать их количество.
236 1848847
>>848843
Ты, наверное, думаешь, что тут сидят написанные на питоне боты с развитым AI, которым ты скормишь задачу, что тебе препод дал, а они выдадут тебе решение.
237 1848856
Сап двач.
Задумался о том, что было бы неплохо изучать питон и фреймворки с таким же ньюфагом как я. Мб проект какой совместный запилить. Кому-то это может быть интересно?
238 1848857
>>848847
Я просто попросил помощи. Не понимаю как записать количество переменных если они входят в определенный промежуток
239 1848860
>>848857
Заходишь переменную-счетчик, в цикле по вводу значений переменных проверяешь условие. Если условие выполняется, то увеличивает счётчик на единицу
240 1848861
>>848856

>Мб проект какой совместный запилить


По опыту и наблюдениям, когда речь идёт о том, чтобы ЧТО-НИБУДЬ сделать, то шансы делать что-то адекватно примерно равны нулю. Особенно с мало знакомым человеком.

Есть смысл совместно делать какую-нибудь интересную для участников задачу, которая сама по себе интересна, и уже под неё изучать язык и фреймворки.
241 1848862
flask-restful flask-sqlalchemy

Подскажите секьюрно ли использовать аргументы с реквеста сразу в алхимии?

class TestAsset(Resource):
def get(self):
asset = request.args.get("asset")
listed_asset = Assets.query.filter(Assets.ticker == asset, Assets.listed == true()).first()
242 1848865
>>848860
Cпасибо)
243 1848866
>>848861
Допустим, у меня есть уже идея проекта учебного.
Суть в том, что я полный ньюфаг, что касается фреймворков. Хотелось бы найти такого же заинтересованного новичка, с которым можно было бы обсуждать все вопросы и помогать друг другу.
244 1848871
>>848823

>А ты умеешь хоть немного юнити или шарп хотя бы?


Умею в шарп на уровне того, чему научили за полтора года в университете. Самостоятельно же более глубоко выучил питон, и в итоге что-то не нравится мысль, что нужно вкатываться в юнити и учить это все, если в питоне дело пойдет гораздо быстрее через лучшее знание языка.
245 1848908
>>848862
Да, в целом алхимия секьюрна к инъекциям.
246 1848919
Аноны, скажите, я получил тестовое задание

Приложение разместить в одном репозитории github или bitbucket. Название репозитория должно состоять из рандомного хэша.
Для БД использовать Postgresql.
Для реализации приложения использовать django.
Для фоновых задач использовать celery, шину сообщений RabbitMQ, бэкенд результатов Redis.
Графики можно генерить самостоятельно, например через matplotlib.

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

Алсо скажите что значит бекэнд редис, я понимаю что для селери нужен брокер, но что такое бекэнд в этом контекте я хз и для чего его использовать, если результаты можно сразу в бд грузить, а отвечать с помощью реббит, разве нет?
247 1848922
>>848919
Наебывают. Еще небось зарплатка тысяч 100 всего и собеседуют на долбоебскую позицию.
248 1848926
>>848922
У меня всегда после такого отпадает желание продолжать или продолжать считать яблоки на кодворзе.
В рашке, с учетом что нету инфраструктруы и нигде этому не учат, хз как и где учиться такому и такое реализовывать. Но вместе с тем, что самое странное. мы имеем телеграм, вк. и охуенные сайты. Этому нигде не учат, но оно само появляется и при том лучше чем у других. Хотя что странного, все эти персы - из дсов, там и возможностей больше. До наших сел что тырнеты что пк дошли с опозданием в 30-40 лет. Остается просто смотреть, и разгружать вагоны, а по ночам считать яблоки на кодворзе.
249 1848943
>>848922
Т.е для джуна без опыта работы это все же не уровень? А то у меня мозг немного взрывается от того, что мне надо сразу 3 новых хуйни поднять, когда я раньше этого не видел, вот думаю продолжать ли жопу рвать
Файл с тестовым называется Тестовое задание. Начинающий Python разработчик.
вакансия Python Backend разработчик / Data engineer, правда там опыт работы был от 3-х лет, но я подумал что они решили еще и джуна взять, поэтому мне приглашение отправили
250 1848955
>>848908
Спасибо. Я тоже так думаю. Но иногда еще использую валидацию marshmallow
251 1848977
>>848943
Разница между грейдами больше в опыте работы, в поддержке больного и длительного кода и в столкновении с реальными проблемами, а не в "стеке", не в наборе ключевых слов.

В принципе по верхам как-то нахватать ключевых слов можно довольно быстро. Ну чисто для теста поставить, посмотреть как работает, сделать тестовые примеры уровня hello world.

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

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

Меня такие зоопарки очень смущают.
252 1848979
>>848919

>а тут еще минимум 2 сервера нужно поднимать под ребит и редис


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

А вот докер уметь и понимать очень-очень полезно, для современного специалиста в этих направлениях просто необходимо. Поэтому если с докером не знаком, то очень советую начать с него. Жизнь станет легче.
253 1848982
>>848335
Бамп.
254 1848991
Как научиться читать чужой код, поддерживать его и вот это вот все? Опыта работы естественно нет, так бы не задавал таких вопросов, но есть пару проектов на гитхабе с открытыми ишьюз и ленивыми контрибьюторами. Хотелось бы вкатиться в это все, но я буквально не знаю за что взяться, как искать корень проблемы и как найти его в коде.
255 1849000
>>848977
Я думаю может хотят узнать смогу ли быстро разобраться в стеке проекта, просто само тз не сложно - сделай форму, значения в бд, сгенерируй картинку, меня просто пугает куча неизвестной херни, в которой мне нужно разобраться на уровне копипаста чужого кода, чтобы был шанс пойти на собес
256 1849003
>>848979
У меня еще не все места закрыты по изученным темам, поэтому боюсь еще что-то начинать, хотя общее представление пора бы получить
257 1849009
>>849000
Возможно. Мне было интересно, делает ли кто-то так реально? Загуглить не проблема же. Правда хз, работает ли.
https://medium.com/@dwernychukjosh/setting-up-nginx-gunicorn-celery-redis-supervisor-and-postgres-with-django-to-run-your-python-73c8a1c8c1ba
Мимо анон
258 1849041
На каком этапе стоит заливать резюме?
259 1849048
>>843911 (OP)
28 лвл без во и профильного опыта
Красроглазик линуксоид
Когда-то админил сетку и игровые серваки
Закончил мат школу
Есть шансы вкатиттся в МЛ, АД, ДС и т.д?
260 1849049
>>849041
После разбора и изучения исходника питоньей ВМ.
261 1849062
>>849003
Конкретно докер нынче довольно фундаментальная штука. Хотя времени требует, чтобы понять.

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

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

Это реально полезная инвестиция времени. И в принципе это спрашивают, знание тебе в плюс, незнание в минус.

Знать надо на каком-то базовом уровне docker и docker-compose. В docker swarm (запуск распределённых систем) лезть не нужно совсем.
262 1849071
>>849048
Есть перезвонный тред для таких вопросов.

Прежде чем про вкат спрашивать, попробуй сделать что-нибудь из МЛ-ДС прикладное небольшое. Если сможешь что-то интересное сделать, то наверное шанс есть.

А в стиле, чтобы тебя взяли и научили, 100% нет.
263 1849086
>>849071
Мне не надо чтобы меня учили
Просто спрашиваю, что при устройстве на работу могут ли быть проблемы в связи с образованием и возрастом
264 1849101
>>849086
Ещё проверяют на полиграфе, не пидорок ли ты.
265 1849102
>>849086
Берут только тех, кому не больше 24 и кто окончил или физтех, или МГУ, или ВШЭ. Изучал ты программирование или нет, похуй, главное вот такой диплом и не больше 24, в крайнем случае 25. К.ф.-м.н. могу сделать исключение и возьмут в 26.
266 1849105
>>849102

>ВШЭ


лолшто?
1461499025720.png843 Кб, 1280x720
267 1849193
Совсем-совсем ничего не знаю, поэтому извините за глупые вопросы.

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

1. В случае, если необходимо запустить скрипт с определённой версией пайтона мы указываем и её и в.о.?
virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

2. После создания в.о. скачивают в него библиотеку. Например: pip install requests. Затем в.о активируется и выполняется скрипт, путь к которому указан. Как скрипт поймёт, что ему необходимо выполниться именно в этом окружении на другой машине или после deactivate текущего в.о.?
Как вообще на другой машине окажется это в.о., если оно не переносимо? Можно выполнить pip freeze > requirements, но мне приходилось пользоваться некоторым ПО на пайтоне и оно не требовало от пользователя никаких действий вообще. Там даже .exe имеется, который запускается как обычно.

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

> Как вообще на другой машине окажется это в.о


git clone govno
cd govno
python3.8 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python govno.py

> Там даже .exe имеется


Можешь свое govno собрать в exe либой cx_Freeze

>

269 1849200
>>849195

>requirements.txt


недавно читал, что это устарело
270 1849204
>>849200
Почему?
271 1849207
>>849105
Сейчас это одно из самых крутых мест в направлении математики и смежных. Круче МГУ (мехмат, ВМиК, физфак) по крайней мере. ВШЭ поднялся, МГУ скатился. Насчёт физтеха не скажу.
272 1849213
>>849193
Контейнеры это докер. Виртуальное окружение не совсем контейнер, поскольку как минимум тебе необходимо в системе иметь нужную версию питона, а может и ещё каких-то системных библиотек.

То есть это изоляция, но очень-очень ограниченная. Просто чтобы каши не было.

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

> Как скрипт поймёт, что ему необходимо выполниться именно в этом окружении


Запускай через полный путь. Например ты можешь вызвать скрипт как
/opt/virtualenvs/venv_37/bin/python hello.py

или, в линуксе, добавить первую строку
#!/opt/virtualenvs/venv_37/bin/python
разрешить файл на исполнение
chmod 755 hello.py
и запускать как ./hello.py, не думая, где у тебя лежит твоё окружение и не активируя его дополнительно.
273 1849221
>>849195
venv на гитхаб заливать? это разве правильно?
274 1849222
>>849195
>>849213
Благодарю.
275 1849223
>>849221
Где он в гите? На месте хуярится венв и разворачивается из requirements
sage 276 1849234
>>849221
venv нужно добавить в .gitignore
277 1849236
Аноны, такой расклад есть 3 вакансии питон разрабом и 3 тестовых, 2 отправил, одно делаю, за первые 2 вроде уверен что все хорошо написал, но меня пригласили на работу(ранее проходил собес и уже договорился на счет зп) разработчиком rpa, это автоматизация бизнеса через приложения уже сделанные, вставить данные из одной таблицы в другую, загуглить курс доллара и еще что-нибудь и все типа одной кнопкой для клерков, но мне вакансия не интересна, хочу на питоне писать веб. Как вы думаете стоит ли отказать от 100% вакансии ради возможности попасть на интересную и релевантную должность?(предположим оплата одинаковая и условия тоже, выбираю чисто из шансов устроится и интересности профессии, я джун без релевантого опыта)
278 1849239
>>849204
не помню, помню, что упоминали фриз как тут >>849213 и рекомендовали poetry
279 1849244
>>849236
Ну как бы тебя не взяли ещё на питон-работу и совсем-совсем не факт, что возьмут.

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

Ещё и собеседование может быть, и брать могут по каким-то своим принципам. У тебя опыта работы в программировании, как я понимаю, нет.

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

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

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

И учти, что работающий человек привлекательнее для найма, чем ищущий что-нибудь. Просто подсознательное ощущение у нанимателя, что ты востребован и с тобой можно говорить. Бросить через месяц-три текущую работу, перейдя на другую специальность, мотивируя, что эта специальность не интересна - вполне нормально и вполне этично.
280 1849259
Все таки в двух словах, чем джанго лучше фласка или наоборот. Начал дрочить флас, мне он кажется проще, норм доки. есть видосы на ютабе. В целом просто, есть еще и бутстрап джнджа. Но это все есть и у джанго. Так вот, что все таки дрочить. А ведь есть еще и другие фреймы наподобии фласка, и фаст апи, и пирамид и ботл. Или если я норм буду делать приложухи на фласке, остальное тоже будет просто? Посоветуйте.
281 1849270
Посоветуйте нормальный GUI фреймворк для удава. (Пацаны, не юзайте Flexx - это гавно)
282 1849288
А как решать числовые ребусы?
Почему send+more=money имеет решение O = 0, M = 1, Y = 2, E = 5, N = 6, D = 7, R = 8, and S = 9.
В чем логика то? Как я должен присваивать цифорки? Нигде не написано. Я предполагаю что можно сверяться с алфавитом и буквы позади будут иметь меньший номер чем буквы ближе к концу.
283 1849296
>>849288

>В чем логика то?



Как и в любых уравнениях, неизвестная величина заменяется буквой, одинаковая величина - одинаковая буква.
284 1849299
>>849288
9567+1085=10652
285 1849301
>>848335
Бамп.
286 1849324
>>849296
И как такое решать? Сделал 4 вложенными циклами и пермутациями, находит за миллисекунду, но выглядит криво.
287 1849347
>>848856
Интерес есть, интересных идей нет.
288 1849358
Как избежать создания десятка if statements скажем для запиливания своего реквеста. Скажем, если input() == GET, то делай это, елс делай то. Дальше, есть ли хедерс? Если есть, то какие? И тд. В итоге получается куча if else.
Есть ли человеческий путь для этого?
289 1849360
>>848856
Я бы запилил, но только если ты няшная хикка-тяночка.
290 1849366
>>849360
А если я няшный кунчик с волосами по лопатки? :3
Если распущу волосы и надену очки, то мой сосед по общаге начинает материться и угрожать, что шишка встанет и выебет.
Мимо.
15709486134950.png479 Кб, 800x850
291 1849381
>>849366
Неть. Тока с тьяночкой!
292 1849387
Объясните пожалуйста на пальцах, зачем нужен метод super() в классах?

В гугле не забанили, просто из этого:
Функция super(), возвращает объект объект-посредник, который делегирует вызовы метода родительскому или родственному классу, указанного type типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.
я нихуя не понял
293 1849394
>>848856
>>849347
Ну у меня есть одна идея, которая мне пока интересна. У моего универа нет ни электронного расписания, ни странички студента, ни вот этого всего с трекингом нагруженности, времени и прочего. Пока удаленка — это все делается через майкрософтовский функционал и бумажные журналы. Вот хотел бы сделать то, что впадлу было сделать моему универу, но пока пилю другой минипроект на рельсах, потом, если все еще будет интересно, возьмусь за это.

мимокрок
294 1849405
>>849387
Есть класс Rectangle
В нем метод area(self, height, width):
Возвращает height + width

Есть класс Square, наследуемый от Rectangle
В нем метод area(self, length):
Возвращает super().area(length, length)

Думай.
295 1849450
короче, аноны, нужна помощь
В моем проекте нужно юзать pcl (point cloud library). Проблема в том, что она написана на c++ и разумных враперов на нее нет: есть один костыль заброшенный в 2017 и еще какая-то не очень вразумительная хрень (хотя я может искал плохо). В чем вопрос: какл лучше подойти тогда к этой либке? Возможно, стоит как-то ее скомпилить как dll и вызывать из питона, это возможно? Или лучше написать свой врапер (я просто таким не занимался и хз как это по трудозатратам)? Или юзать вообще вот этот заброшенный в 2017 врапер и дополнять? Короче немного теряюсь в догадках как лучше, посоветуйте плз
спасибо
296 1849477
>>849358
Через словари.
297 1849483
помогите
как удалить элемент из словаря при помощи функции? при этом программа должна спрашивать пользователя, какой именно элемент удалять.
298 1849499
>>849483
def delete():
a = input('Enter the name of contact you want to delete: ')
del ab[a]

делов-то
299 1849504
>>849499
а как делать так, чтобы эти изменения сохранялись на диске? потому что при следующем вызове этого словаря после перезапуска программы удалённый элемент снова там.
300 1849506
>>849394
Забавно, когда мне пришла идея сделать что-нибудь с расписанием вуза я узнал и про ботов телеги и про отдельное приложение под ios/android в котором было расписание полное
301 1849507
>>849506
а что если написать телебота для своего универа...
302 1849510
>>849244
А выйти на эту работу и просто ждать приглашение и свалить, когда придет, это ведь совсем свинство, верно?
303 1849551
>>849288
Кстати очень крутая задачка с точки зрения программирования. Надо подумать.
304 1849565
>>844181
https://codecamp.ru/blog/python-list-comprehensions/
прочитай и попробуй еще раз. Решение в одну строчку реально очевидное.
305 1849566
>>849551
На, думой.
https://www.codewars.com/kata/5b5fe164b88263ad3d00250b/train/python
Пойду может сидра куплю и тоже посижу.

Еще один интересный варик: калькулятор заменяющий eval. (Строка с действиями ( например 1+2*3(7+1)) и их нужно вычислить не применяя евал.) Я хуй знает. Обычный калькулятор с выбором действия как нехуй делать, но вот такое посложнее. Подумываю о использовании рекурсии.
306 1849567
>>849551
>>849566
По, моему не очень сложно. Берем список букв и чисел, заменяем, эвалим, проверяем. Если не совпало, сдвигаем числа и пробуем опять.
307 1849568
>>849567
>>849566
Вопрос в том, как красиво и элегантно в плане кода решить. Так то понятно, что можно тупо перебором даже, всё равно быстро будет.

Ещё второй вариант, попробовать решить через sympy. Тоже интересно для тренировки, но лично я этим sympy почти не пользовался, только давно и пощупать.
308 1849570
>>849567
По кругу сдвигать? А если нет? Если А = 2 а B = 1, а сдвигается наоборот.

1 2 3 4 5 6 7 8 9
A B C D

1 2 3 4 5 6 7 8 9
A B C D
309 1849584
>>849259

> чем джанго лучше фласка


Фласк топ, остальное не нужно
ну фаст апи и торнадо тоже топ

> бутстрап джнджа


Не нужно в 2к20, далай апи

>>849270
Как такой вопрос вообще можно задавать? Очевидно QT

>>849358
Можно просто добавить ретурнов, а не писать в элс
if input() != GET: return
if x != y: return
Ну и сразу можно вернуть соответствующую ошибку.

Ну или можно через словари, как тут https://stackoverflow.com/questions/9442724/how-can-i-use-if-else-in-a-dictionary-comprehension
310 1849591
>>849570
Ну да, надо подбирать комбинации цифр, а не просто двигать.
311 1849594
>>849591
10 букав 10 цифор.
Сколько комбинаций?
10!=ДОХУЯ (3628800)
Питон эту хуйню будет вечность перебирать и 12 секунд не хватит.
312 1849596
>>849594
Нужно только цифры, буквы в одном порядке.
Ну и какую-то оптимизацию придумать, чтобы не делать совсем тупой перебор.
313 1849604
>>849596
Нет разницы. Я просто упомянул буквы.
10! это перестановки без повторений.
Можно отбросить конечно перестановки с лидирующим нулем кроме как. Ибо он не может существовать. Но как это проверить?
Ифом? Который тоже жрет время?
Или кучей вложенных циклов в которых некоторые буквы не от 0 до 9 а от 1 до 9. (Но при этом кстати букв не обязательно 10 штук.)

Ну конечно еще перестановки где физически тупо выглядит. Ну 4 + 4 буквы = 5 букв, первая буква в последнем слове не может быть равна выше 1.
Но это ебать дерево ифов.

Ну я тупой короче и мне сложно. Подожду решения. Может кто-то сделает. Я хоть посмотрю как это делается. А пока буду пытаться сделать копию eval.
image.png62 Кб, 403x197
314 1849607
>>849594

> Питон эту хуйню будет вечность перебирать и 12 секунд не хватит.


Ты прав. Для тестов из каты:
26.5s
9.4s
38.8s
20.5s
15.0s
315 1849611
На хуй вы эти задачки решаете? Вы ебанутые?
316 1849612
>>849611
Yep :3
317 1849628
>>849604

>Ну конечно еще перестановки где физически тупо выглядит. Ну 4 + 4 буквы = 5 букв, первая буква в последнем слове не может быть равна выше 1.


Смотри условие задачи полное: >>849566
Там надо сделать универсальное решение, причём в уравнении может быть не два, а больше слов.

Решение в лоб это перебор. С учётом, что у нас букв может быть меньше, чем возможных цифр, в данном случае всего 8 букв, то перебор делается сначала по комбинациям цифр 8 из 10 в нашем случае, потом уже перестановка 8!

Вот код для получения всех возможных перестановок:
letters = set(word1+word2+answer)
cnt = 0
for digits_selection in itertools.combinations(range(10), len(letters)):
____for digits_permutation in itertools.permutations(digits_selection):
________variant = dict(zip(letters, digits_permutation))
________cnt += 1
print(cnt)

для 9 и 10 букв возможно 3628800 вариантов (10!), для 8 1814400.

сам двойной цикл работает весьма быстро, 0.2 секунды на всё, если закомментировать строчку с variant, если раскомментировать, то 3 секунды уже. Дорогая операция, может как-то оптимизировать можно.

первая буква, по идее, не может быть нулём, подразумевается в таких задачах. То есть m и s в нашем случае.

Дальше можно просто тупо проверить, соответствует ли словарь решению или нет.

Не делал пока.

Но не нравится это, как-то немного топорно и медленно. Надо что-нибудь более оптимальное, как в уме если задачу решать. Вариант в лоб работает, потому что цифр всего 10. Для 16-тиричной системы накрылся бы, хотя умно можно быстро решить.
317 1849628
>>849604

>Ну конечно еще перестановки где физически тупо выглядит. Ну 4 + 4 буквы = 5 букв, первая буква в последнем слове не может быть равна выше 1.


Смотри условие задачи полное: >>849566
Там надо сделать универсальное решение, причём в уравнении может быть не два, а больше слов.

Решение в лоб это перебор. С учётом, что у нас букв может быть меньше, чем возможных цифр, в данном случае всего 8 букв, то перебор делается сначала по комбинациям цифр 8 из 10 в нашем случае, потом уже перестановка 8!

Вот код для получения всех возможных перестановок:
letters = set(word1+word2+answer)
cnt = 0
for digits_selection in itertools.combinations(range(10), len(letters)):
____for digits_permutation in itertools.permutations(digits_selection):
________variant = dict(zip(letters, digits_permutation))
________cnt += 1
print(cnt)

для 9 и 10 букв возможно 3628800 вариантов (10!), для 8 1814400.

сам двойной цикл работает весьма быстро, 0.2 секунды на всё, если закомментировать строчку с variant, если раскомментировать, то 3 секунды уже. Дорогая операция, может как-то оптимизировать можно.

первая буква, по идее, не может быть нулём, подразумевается в таких задачах. То есть m и s в нашем случае.

Дальше можно просто тупо проверить, соответствует ли словарь решению или нет.

Не делал пока.

Но не нравится это, как-то немного топорно и медленно. Надо что-нибудь более оптимальное, как в уме если задачу решать. Вариант в лоб работает, потому что цифр всего 10. Для 16-тиричной системы накрылся бы, хотя умно можно быстро решить.
изображение.png7 Кб, 589x184
318 1849649
>>849607
Ох ебать. Нихуя не понял из твоего кода.
Эх, надо учить ваш синтаксис.

Там наверно нужны охуенные кучи ифов, либо похожие проверки, ибо например если ответ больше на один символ самого большого слагаемого то не имеет смысла искать первую букву выше 1. В общем если ответ выше на одну цифру то первая цифра ВСЕГДА 1.

Если есть слагаемое из двух букв и четырех и при этом первая буква суммы не равна первой буквы
abcd ef ghab
то b = 9
Ну и выдумать больше таких правил чтобы перебирать нужно было не кучу вариантов, а уже поменьше.
>>849628

> Вот код для получения всех возможных перестановок:


Пасяб канеш, но как таковые комбинации не нужны. Их проверять надо. А с их количеством время сильно жрется.
И количество слов может плавать, кстати.
319 1849677
>>849649
В общем случае только перебор остаётся. Логические правила можно придумывать, когда у тебя сумма из двух слов. Вот тогда можно быстро именно логикой решить.

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

А твоя программа должна уметь решать все варианты, и поддающиеся логическому решению, и не поддающиеся, и такие оптимизации теряют смысл.
320 1849681
>>849611
Отстань, иди кормить своего кролика жсонами.
image.png35 Кб, 772x493
321 1849714
Лол, засчитало, но решение неправильное, потому что рандомные тесты иногда не проходят.
ae4d8dafdb98d45f874ee26826c46876.png1 Кб, 199x27
322 1849740
Господа, есть масив который нужно заплитить по "\", но у некоторых элементов есть "\а", что воспринимается как спец символ и x.split("\\") не работает. Как мне такое разделить?
323 1849747
>>849740
Сделать список, а потом распихать в нужные строки с условием Не \ ?
324 1849750
>>849740
нихуя не понял
325 1849751
>>849747
Массив = список.

>а потом распихать в нужные строки с условием Не \


Чет я не догоняю, о чём ты и как мне это поможет. Распиши подробнее
326 1849753
>>849740
А, вроде понял. У тебя в строке \a, и оно не сплитится по \?
Ну так в строке должно быть \\a.
327 1849754
>>849750
Есть элемент "Steven Adams\adamsst01", на выходе мне нужно получить Steven Adams и adamsst01. Из-за спец символа '\a' обычное разделение split("\\") тут не работает. Как сделать чтобы работало?
328 1849755
>>849753
по \\а тоже не сплитится. по \а сплитится, но на выходе 'Steven Adams', 'damsst01', а надо 'Steven Adams', 'adamsst01'. а теряется
329 1849756
>>849754
>>849753
Можешь ещё держать в raw-строках, тогда похуй.
r"hui\anus"
330 1849757
>>849753
Плюс не все будут с \а, у большинства элементов как бы будет только \, по которому надо разделить.
331 1849759
>>849755
Не по \\а сплитить, а экранировать слеш в строке.
332 1849760
>>849740
string.replace('\a', '\\a').split('\\')
333 1849763
>>849760
Намасте!
334 1849768
>>849760
Это работает, но появился НЮАНС, с \b такая же хуйня. Я не могу каждую букву отдельно менять
335 1849770
>>849768
можешь
336 1849771
>>849770
Могу, но это бред. Неужели нельзя как-то проще разделить строку лол
image.png407 Кб, 711x741
337 1849774
>>849714
Нашел ошибку, пикрил окончательное решение.
Наверняка можно сделать менее вырвиглазно, но мне не хочется заморачиваться.
338 1849776
>>849584
Под что делать апи?
339 1849778
>>849771
Норкоман, если ты хардкодишь строчки со слешами, то эскейпь их или делай raw.
r'a\a' или r'a\\a'
Это относится только для значений определенных в коде, во всех остальных случаях на это похуй. Всё.
340 1849779
>>849778
Во втором случае без r, просто 'a\\a'.
341 1849782
>>848335
Бамп.
342 1849785
>>849771
надо исправить только \a \b \f \n \r \t \v
343 1849789
>>849785
ещё цыфырки и \xNN
344 1849790
>>849785
А ещё \x-комбинации, что вообще какой-то пиздец
345 1849796
>>849790
Наверняка они в решаемой задаче просто не встречаются, так что можно не заморачиваться
image.png13 Кб, 576x164
346 1849805
>>849796
можно доработать и для \xNN
347 1849821
Двач объясни как работает декоратор джангвский

def login_required(function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url=None):
"""
Decorator for views that checks that the user is logged in, redirecting
to the log-in page if necessary.
"""
actual_decorator = user_passes_test(
lambda u: u.is_authenticated,
login_url=login_url,
redirect_field_name=redirect_field_name
)
if function:
return actual_decorator(function)
return actual_decorator

Не понимаю что такое actual_decorator и почему вы в него передаем функцию
348 1849833
>>849821
actual_decorator - это функция, которая сама принимает функцию и возвращает функцию.
Помсотри код user_passes_test для подробностей.
349 1849835
>>849805
А почему просто сразу не сделать r-string?
350 1849837
>>849833
а, я дурак, думал нет такой функции и это странный синтаксис
351 1849842
>>849835
Автор вопроса не смог объяснить, почему.
Значит, почему-то нельзя сделать r-стринг.
Это ловушка, конечно, из которой надо выпутываться.
352 1849856
>>849837
Декоратор это такая функция, которая подменяет декорируемую функцию. Т.е. если написано:

@decodator
def func():
____<body>

, то выполянеца это:

def func():
____<body>
func = decorator(func)

+ некоторые тонкости с аргументами и проч.

Мощная штука.
353 1849879
>>849504
Ну ты код покажи. Покажи, как данные на этом самом диске хранятся. Файл там у тебя какой-то, куда всё записывается, БД или может вообще с левого места подгружается все
354 1849912
>>849288
Перебором.
Прогоняешь все числа от 1111 до 9999 для первого слагаемого. Потом числа от 1111 до 9999 для второго, смотришь, удовлетворяет ли результат входным условиям.
355 1849913
>>849879
Это должен быть словарь, записанный в текстовый файл.
356 1849915
>>849912
А, блин, туплю. Реально, лучше буквы по очереди подставлять и пробовать
image.png72 Кб, 705x810
357 1849928
Посоны, спасите.
Пытаюсь поставить вот эту нейросеть:
https://github.com/xinntao/ESRGAN

Винда 10, поставил Питон 3.8, поставил numpy, torch 1.7.0+cu110, torchvision 0.8.1+cu110, torchaudio 0.7.0 и pencv-python.

Но при запуске тестового скрита нейросети получаю пикрелейтед. Как фиксить? Советы с гугла не помогли.
358 1849929
>>849928

>numpy


он же пишет, что не нашел его
359 1849932
>>849929
Дк он установлен черезе pip, пишет что все ок, саксефул. В папке с питоном папка с numpy появилась.
360 1849933
>>849928
нет модуля numpy, поставь его

или гугли "numpy not found how to fix"
361 1849935
>>849932
Посмотри версию нумпая. может он подтянул что-то старое. У меня такое постоянно бывает с 3,8
362 1849937
>>849935
>>849933
Разобрался. Только сейчас заметил, что он тянул нумпай с корневого каталога Питона куда я его скопировал как-то, а не из папки с либами.
363 1849954
>>849913
Значит перезаписывай файл при завершении работы программы

file.write(), хуё-моё
364 1849969
Аноны, я правильно понимаю что когда вы вызываем таску celery она асинхронная, верно?
365 1849985
Знатоки, вопрос.
Делаю запрос requests.get на API вконтактика с токеном группы. Отваливается с ошибкой, что нет разрешения. Делаю с токеном приложения, отваливается с ошибкой, что нет доступа к такому методу. Хотя у приложения (standalone) есть все доступы.
Как вы стучитесь на API Вк? Живой пример покажите, пожалуйста, а то я заснуть не могу.
Screenshot from 2020-11-06 21-43-28.png139 Кб, 736x855
366 1850013
>>849774
Вот решение моё.
Не очень мне нравится, тяжеловато. По-возможности разогнано. В 10 секунд самые долгие варианты на моём ноуте 10-ти летней давности считает.

https://ideone.com/nfJJum

на их движке не тестировал, исходник привожу, только под их тест надо функцию вывода подправить, но это тривиально.
367 1850023
>>849985
у вк говняный айпи. куча еботы с доступами, ограничения на запросы и т.д.
так что я все выкачивал парсером с этой помойки через сессию.
368 1850063
z = 10
a, b, c, d, f, h, k, q, w, e = (int(input()) for _ in range(z))
Как посчитать количество переменных которые больше допустим, 5
369 1850066
>>849450

>Возможно, стоит как-то ее скомпилить как dll и вызывать из питона, это возможно? Или лучше написать свой врапер (я просто таким не занимался и хз как это по трудозатратам)?



Все возможно. Есть стандартный модуль ctypes, он умеет вызывать сишные функции, только надо их правильно описать, "представить" эти функции модулю ctypes, так сказать; есть cython, это такой язык на основе питона, там нужно обязательно указывать типы переменных, он умеет напрямую вызывать сишный код, а модули написанные на cython можно потом вызывать из нормального питона; есть всяческие инструменты для создания привязок, вроде pybind11, cppyy или CFFI.
Куча вариантов, выбирай, к чему душа лежит. Вот некоторые материалы по теме:

На русском:

https://habr.com/ru/post/466499/ - пример с ctypes
https://habr.com/ru/company/oleg-bunin/blog/518464/ - обзор разных возможностей
https://smyt.ru/blog/sozdaem-s-python-rasshireniya-s-pomshyu-pybind11/ - пример с pybind11
https://python-scripts.com/extending-python-with-c-libraries - еще пример с ctypes

На английском:

https://realpython.com/python-bindings-overview/ - обзор различных вариантов подключения к C/C++
https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages - списки инструментов для интеграции питона с другими языками
370 1850075
>>850063
Уймись уже, норкоман.
sum(int(input()) > 5 for _ in range(10))
371 1850082
>>849450

>Или юзать вообще вот этот заброшенный в 2017 врапер и дополнять?


Ты про это говоришь? https://github.com/strawlab/python-pcl
Вроде, репозиторий живой, и на pypi есть пакет, 2019 года, https://pypi.org/project/python-pcl, если нужен новее, можешь попробовать сам собрать из исходников.

Там еще есть, то же вроде как живой проект https://github.com/davidcaron/pclpy
image.png39 Кб, 871x387
372 1850129
>>849774
>>850013
Зачем столько кода? Все делается намного короче. Правда эта хуйня не проходит тест из-за времени, ну и ладно.
373 1850137
>>850129
надеюсь я никогда не встречу такой пиздец на практике
374 1850155
Есть ли какой-то официальный гайд типа PEP по расположению файлов: тестов и их методов с классами? Типа есть папка Фича, в ней находится файл с классами и методами и внутри там папка тесты. Или как-то так. Желательно с линком. Спасибо.
375 1850157
Где самый удобный пошаговый дебаггер?
376 1850160
Почитал про фласк, скл алхими, посмотрел пару видосов. С постманом очень удобно делать апи и тестировать его. Реквест такой. Как прокачивать навык написания апи. Опыта мало, хз с чего начать. Для начала у кого есть опыть в написании таких апи, что именно требуют компании для своих наебизнесов. Я даже примерно не могу представить что им может потребоваться. Да и портфолио соответсвуюего нету.
377 1850191
>>850129
Скажите что не у меня одного мозг при виде даже самой пройсто регулярки мозг отключается и я не могу заставить его работать смотря на регулярку
378 1850229
>>850160
Бамп есть два ноута. Что можно придумать с фласком если один гонять как сервер другой как клиент для тренировки что можно написать?
379 1850239
>>850066
Щитаю, что надо в шапку, такую годноту.
380 1850240
>>850160

> Как прокачивать навык написания апи.


Почитать что такое restapi и с чем его жрат. Дальше, бери любые сервисы которые юзаешь(ВК/телеграм/двощ/пекабу/новостные сайты/платежные системы (Stripe, к примеру, можно бесплатно гонять) ) и пробуй подключать к их апи и смотри как они у себя реализуют.

> Опыта мало, хз с чего начать.


С пет проектов.

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


Умение их хотелки преобразовать в АПИ и сервисы.

> Я даже примерно не могу представить что им может потребоваться.


Логин/регистрация юзера/CRUD данных юзера, к примеру. TODO List.

> Да и портфолио соответсвуюего нету.


Пили акк на гитхабе и комить.
381 1850241
>>849477
>>849584
Так ведь это тоже самое, только стейтменты в словарях.
codewars.png136 Кб, 649x764
382 1850311
>>850129>>850013
Вот самое заплюсованное решение на codewars.
383 1850477
>>850311
это жэсть
384 1850500
>>850477
Ну почему же, если у тебя стоит задача втиснуться в какие-то лимиты, то вполне себе. Оно же не с нуля так пишется вчистую, а обдумывается, тестируется, срезаются углы тут и там. Выходит стремненько, но задача выполнена.
385 1850526
Аноны, подскажите, у меня задача в джанго сделать либо вывод картинки, если функция без эксепшенов прошла, либо текст ошибки, как это лучше оформить, пока самое простое решение это записать в поле модели img(TextField) либо s-'название картинки', либо e-'название ошибки' и как-то проверять наличие e или s в этом поле, но уверен есть другие способы, более правильные как через джанго при отсутсвии картинки выводить текст, подскажите куда копать
1604768625703.jpg6 Кб, 317x232
386 1850643
Чому не рабртает пикрил? Не бейте, лучше обоссыте.
387 1850654
>>850643
Пайп тоже надо внести.
388 1850655
>>850643
Что это проверяет?
389 1850660
>>850655
Версию пакета
390 1850668
>>850240
А есть ли разница вообще на чем делать апи? То что это перспективно и востребовано я понял. Щас вот решаю на чем делать. Джанго - слишком сложно. На фласке - еще более, но есть фласк рест, там вроде попроще. Есть фаст апи - там типо вообще просто. Посоветуй с этим.
И что все таки запилить, туду лист и что еще можно? Я просто хз где эти апи и как юзаются, читать то читал. Но там пишут так чтобы меньше конкурентов было.
391 1850694
>>850023

Да не, норм все прошло. Это я сам затупил.
изображение.png431 Кб, 610x385
392 1850844
>>843911 (OP)
Пикрил подходит к тебе и говорит "Скажи вим крута". Твои действия?
83389387937021.png145 Кб, 826x564
393 1850849
Я может чего блять не понимаю, но:
1. на кой эти больные ублюдки импортируют sys как _sys и atexit как _atexit. Нахуя?
2. Вроде как импорт from . import _defaults зашкварен сам по себе не? _defaults в названии модуля должно означать что этот модуль не предназначен для импорта же, а?
394 1850877
>>850849
посмотри в гит блэйм коммит, может там есть пояснение
395 1850880
>>850160
Авито на стажировку просило запилить жсон рест апи по укорачиванию ссылок, сделай такой, мне помогло разобраться что же такое рест апи, слабо теперь понимаю как я раньше себе это представлял. И да, как по мне джанго это не сложно, он идеально как по мне реализовывает mvc, вот тут у тебя бд, тут шаблоны, тут вьюхи, просто поищи курсы, статьи, доки, видео и во всем азберешься
396 1850885
>>850849
По соглашению, если там есть андерскор, то к нему не надо лезть, это непубличное апи и вообще сьеби.
Второй вопрос это то же самое, в общем. Это часть либы, которую он использует и импортирует для себя, а ты пользуйся публичными интерфейсами, которые без андерскоров.
397 1850886
>>850880
Да я почитал что такое рест апи, и что тако круд, посмотрел пару видосиков, вроде ясно так то, пут. делет, гет. пост. Но вот я никак не могу поянть, для чего этот апи нужен всяким ваито и яшам вк и тд. Те для чего он вообще нужен. Например если пилить апи для фирмы. Зачем этот апи нужен им? Ну вот ты сделел этот укарачиватель ссылок, кто им пользуется как он устроен? Апи вобще для кого? для людей, для компухтеров, для кого? А так мне удобней кажется фаст апи, рест флас, еще старлетт есть. Но те которые прям для этого удобны. Но я не могу понять, зачем нужны вот эти все жсон ответы и так далее. Конечно я читал про рест апи. но так и не понял зачем. Зачем именно для людей это нужно.
398 1850905
Вот есть в линуксе утилита cat, как с помощью pythona можно ней воспользоваться и присвоить полученное значение переменной?
399 1850906
Запутался. Как правильно использовать: лист со словарями или словарь внутри словаря, чтобы доставать все по ключу типа лист[ключ][ключ2] и тд.
400 1850909
>>850905
import subprocess
401 1850910
>>850906
Это разные структуры и нужны для разного.
Лист словарей будет hui[0]['key'], хотя вряд ли нужен доступ по индексу.
Словарь словарей hui['key1']['key2'].
402 1850912
>>850910
Спасибо. А для чего что нужно больше/меньше?
У меня несколько данных, которые мне нужно будет доставать взавичимочти от того что ввёл юзер.
403 1850915
Посоны, как накатить tensorflow без venv? Ни в какую не хочет устанавливаться.
404 1850965
ананасы, помогите с ткинтером
есть текстовое поле

>text = Text(frame,height=10)


я добавляю в него текст в 1 строку, все ок.
но когда пытаюсь добавить в 2,3 и т.д. он всё ровно дописывает текст в прошлую строку
text.insert(2.0, "test text")
что я делаю не так7
405 1850986
>>850191
Да, регулярки ахуенны.
406 1850987
>>845966
Зачем тебе в клан дружок-пирожок?
407 1850990
>>850965
Так ты разным переменным присваиваешь или так и копипастишь text = Text?
408 1850993
Пагни, а на чем вы делаете API? На Джанго или фласке? Делал всю жизнь на свагере, есть какие-то плюсы минусы?
409 1851029
>>850993
На чем хочешь, но если нужна только апишка без обвязок, то джанга будет оверкил
410 1851032
>>850886
Ап, можно подробней плис про апи. Не очень хочется тупо копировать код, а хочется понять для чего можно заюзать чтобы было и полезно тоже.
1nu1mt.jpg32 Кб, 400x388
411 1851035
Почему программировать так тяжело...
Одну проблему исправляю, десять новых появляется
14046505157972.png263 Кб, 602x317
412 1851042
>>851035
И это ещё простейший питон, лол.
413 1851052
>>850886

>Зачем именно для людей это нужно.


Формат для стандартизации ответов который не всегда работает
414 1851057
>>843911 (OP)
А какая в питоне самая модная ORM?

Чтобы в include clause, window functions, update from select, lateral joins и т.п. умела?
415 1851098
Доброго времени суток анонимы. Ищу какой-либо практический материал по симуляциям и байесовским сетям. Желательно на пайтон, но не обязательно главное что бы листинги присутствовали.
416 1851115
>>850915
Бля во я дебил, он же не работает с 32битным питоном.
Screenshot 2020-11-08 at 17.34.01.png70 Кб, 804x620
417 1851133
Как написать функцию которая сможет принимать только string и выдавать ошибку типа если передано что-то другое?
я ньюфаг
418 1851138
>>851133
if type(string) != str: raise ValueError('nope')
Screenshot 2020-11-08 at 17.52.02.png127 Кб, 1290x604
419 1851144
>>851138
Спасиб анонче!
420 1851149
>>851144
Но если уж ты хочешь изъябнуться то надо юзать isinstance(string, str) потому что прямая проверка на тип не учитывает наследование
421 1851154
>>851098
Анонимы подскажите плиз.
422 1851155
>>851149
А как у строки может быть наследование?
423 1851158
>>851155
class MyString(str):
----def __repr__(self):
--------return f'MyString({self})'
424 1851159
>>851158
Но это все околоэкзотичная хуйня. Редко кто такое будет делать
Screenshot 2020-11-08 at 18.28.05.png181 Кб, 1288x862
425 1851163
426 1851164
>>851163
Ой сорян. Затупил. isinstance('string', str) возвращает True.
Не нужна проверка != str
427 1851189
Делать len(container) всё время - это сильно затратно по времени? У меня в цикле одном вертится
428 1851190
>>851189
len в list определяется за O(1) потому что уже заранее определена
429 1851191
>>851190
Откуда о таких нюансах узнавать? Читать книжёнки? Документацию?
430 1851195
>>851191
Учить си и курить исходники, очевидно же.
В самой питоновской документации это не описивается.
Есть некоторые лекции и книжки, разбирающие внутренности cpython.
431 1851198
>>851154
Анонимусы прошу поддержки! Бамп вопросу!
432 1851208
>>851191

>Откуда о таких нюансах узнавать?


Я в fluent python узнал
мимо
433 1851234
Питоняши, приветик
Дайте совет, как разбирать asn.1 на питоне?
Мне нужен не весь ber/der, а только небольшое подмножество, ну, там, SEQUENCE, OCTET STRING, INTEGER, CHOICE, REAL и т.д., еще нужны атрибуты OPTIONAL и IMPLICIT. На самом деле, не сильно дальше этого, поэтому не предлагайте, пожалуйста, pyderasn и pyasn.

Вопрос в том, как с точки зрения концепции организовать этот процесс? Классами теги делать или что и как? Вообще не совсем понимаю, короче.
434 1851290
>>851234
Как будто кто-то знает, что это за хуйня.
Но по контексту примерно понятно, это отдельная дисциплина, по которой куча инфы.
Лексический разбор, парсинг и т.д. В эту сторону и гугли.
435 1851291
>>851234
import pyasn1
Снимок экрана от 2020-11-08 19-42-32.png97 Кб, 1920x1080
436 1851302
Что за дерьмо, мочему выводится не первая строка из файла, а какая-то дичь?
437 1851311
>>851302
Читаешь один символ, потом всё остальное.
Снимок экрана от 2020-11-08 20-02-18.png77 Кб, 1920x1080
438 1851319
>>851311
Пробую вообще без параметров и вообще ничего не выводит, хотя файл должен по идее быть прочитан целеком
439 1851322
>>851302
Это пранк? Посмотри внимательно что ты написал.
440 1851324
>>851322
Хз, я только учусь. Читаю пояснение: Метод read(размер) считывает из файла определенное количество символов, переданное в качестве аргумента. Если использовать этот метод без аргументов, то будет считан весь файл.
---
Но вот я и использую метод, без параметра, а это говно ничего не выводит.
441 1851331
>>851324
Файловый хендлер это итератор, он исчерпывается по мере чтения.
442 1851334
>>851291
читай спойлеры хоть иногда
443 1851337
>>851029
Что значит оверкил? Объясни пожалуйста что за обвязки.
мимо_студент
444 1851339
>>851337
оверкилл = из пушки по воробьям.
445 1851341
>>851334
В чём проблема,
посмотреть как это сделано в pyasn1,
и сделать в том же духе но как тебе надо?
446 1851342
>>851138
В чем смысл вот этого наследования вообще? Какой юзабилити?
447 1851357
>>851324
content = f.readlines()
print(content)
f.close()

На кого учишься?
448 1851387
Добрый вечер.
Если бы вы учили дауна программированию, да в качестве первого языка давали питон, какой бы материал дидактический посоветовали?
Учу предка. Ебались даже со стек-машиной Форт, но регистры предка переполнились.
Спасибки.
449 1851389
>>851387
inb4: "Питон для детей" слишком не для детей.
Всякие массивы и строки понимаем лол. Матешу еще больше. Циклы и if тоже Ок.
451 1851465
>>851455
Тхенкс. А вдруг?
452 1851467
Пока мне из списка в ОП-посте "укус Питона" показался по уровню норм, но там "провалы" с изложением. Сперва пространная ебля а-ля ультранубье, затем через 50-100 страниц лезет в ООП.
453 1851468
>>851455
Глянул, по ней я буду учиться лол. Спасибо. Толковая книжка.

Для тупых таки книжки интересны по-прежнему.
454 1851471
>>851468
Что-то ты батю недооцениваешь, лол.
Вот эту я ещё смотрел и она мне показалась слишком уж разжевывальной. https://www.manning.com/books/get-programming
По-моему, перевод пролетал, но сходу найти не удалось.
455 1851473
>>851471
Спасибо. Да, транслейт не гуглится. Насчет 1 впечатления соглашусь, но там нашел индекс элемента строки, имеющий вид range. Не совсем пустой звук. Может заплачу автору.
456 1851510
У меня есть набор строчек в базе которые надо обновить, я могу заюзать async for чтобы это сделать? Или это не так работает?
457 1851525
>>851510
Если клиент поддерживает ассинхронную итерацию, то можно
458 1851556
>>851510
Просто сделай это в транзакции, ебанулись со своей асинхронностью уже.
459 1851569
Нубский вопрос. Можно ли в питоне перегрузить операторы так чтоб умножение вместо (а-1)(в-1), было (а-1)(в-1) или (а)(в) == ав.
А, в степень подносить с помощью a^2 == a2

Если можно, то примерно через что реализовать? или читать как строку (а-1)(в-1) и через регулярные парсить?
460 1851609
>>851387
поищи черепашку.
461 1851626
>>851052
И все я равно я не понял. Чтобы запилить апи, мне надо чтобы у меня уже было приложение. И для него сделать апи. Но у меня пока нет никаких приложух. Мои действия какие, сделать апи на базе уже существущих? Поясни плис, нету опыт просто. Сделать не проблема, я просто не совсем понял для чего это нужно. Обращаться к апи будет человек или другие программы? Апи - это что-то типо телеграм бота чтоли?
462 1851638
>>851626
без разницы кто будет обращаться, ты главное сделай так, чтобы параметры, передаваемые в твой апи, в итоге формировали запрос sql к базе данных и отдавали обратно запросившему ответ в виде json или xml.
463 1851650
>>851638
Если я правильно понимаю, надо реализовать круд, те пут, делит, апдейт и криейт. Но а как же что нельзя сохранять инфу о состоянии клиента? Или занесение запросов в бд - не считается. Кароче, должно быть как - сам круд плюс - любая бд по типу sql? А веб морда должна быть или это не обязательно? И еще по архетектуре, апи же пилится под какое-то приложение, нет? Те типо есть телега, а ее апи - это уже как связаться с телегой? Хочу вот разобраться. А то идет хайп вокруг этих апи, а я валенок.
464 1851670
>>851556
Как это делаь? Тупо методом добавить?
465 1851683
>>851650
не обязательно под приложение. ты сайты парсил вручную? реквест, потом восхитительный суп, получил данные и использовал. примерно такая схема без апи.
а с апи ты бы написал просто реквест(АДРЕС_САЙТА/МЕТОД?имя=вася, пол=мужской) и получил бы жсон без парсинга.
как-то такое примитивное представление об апи у меня.
466 1851684
>>851683
Парсил да. Вот про это и вопрос. Обращатья должны же другие за инфой или вносить данные.Типо сервиса. Не даром же пут, делит... Те у меня приложуха, типо вк. Я запили апи. Выдаю токены, и дт, через апи обращаются к самой приложухе. Так же и в фирмах. С тем же ТОДО. НАчальник просто вносит тодо, другие получают. Это все ясно. Но вот что меня смущает. Вот этот жсон. Я не думаю что какаянинть телка будет сидеть и curl получать задание ТОДО. Я вот и пишу, нужны будут эти морды, красивости и тд. Иначе я нпонимаю что такое апи, что оно делает и нахуй вообще нужно. По докам я понял что пилить его просто. Вот хочу сделать и поместить в гит. Но копировать чужой код - тоже такое. Но примеры с видосов или с доков - примитивны, не с реального поля боя. Но с другой стороны, я понимаю что пилить апи - доходня хуйня, тк а хх ру куда не сунься везде - флас, маска, апи. Те в сети тоже инфа - чисто общая, типо интерфейс для взаимодействия.. бла бла. КОнкретики нету.
467 1851690
>>851684
наверное в запросах работодателей навык написания апи нужен для того, чтобы расширить свое присутствие в будущем в инете, сейчас у них голая база и веб-страничка с ценами, которую парсят самоделкины. будь у них апи, они бы выдали токены и не охуевали от нагрузок на сервер ну или хз какие мотивы у них там). а всякие морды и красивости должны остаться уже на совести самих нуждающихся.
468 1851696
>>851684
Тебе как бекендщику должно быть похуй как апи использовать будут. Могут веб-морду сделать. Могут приложуху для мобилки навернуть. Могут башскрипт который курлом будет тянуть инфу, парсить и что-то делать в зависимости. В этом и смысл апи, что инфа предоставляется относительно универсальным методом (а не просто высирается в виде вебстраницы) который можно использовать практически где угодно. Тебе как разработчику нужно всего лишь реализовать нужные роуты. Ну или если совсем с нуля - то продумать сценарии использования чтобы получить мифический "удобный апи". Но ты думаешь в сторону "какая инфа нужна" а не "как использовать будут".
469 1851716
>>851556
Что "в транзакции"? Там несколько десятков разных query, если их гонять через обычный for или попытаться загнать в транзакцию на уровне БД то на производительности это скажется не лучшим образом
470 1851718
>>851569
Можно писать строкой, потом парсить ее и выполнять умножения как тебе надо
471 1851726
>>850526
Ты бы подробнее описал что у тебя за функция и что вообще происходит, а то непонятно зачем тебе хранить ошибку в модели вместо того, чтобы просто возвращать её текст в респонсе.
>>850668

>Джанго - слишком сложно


Для джанги есть django rest framework, тоже простой, но говорят, сериализация медленная.
472 1851739
Ребят, родскажите по тредам. Надо запустить два треда(вернее процесса, но не суть)ю В туториалах вижу везде примерно такой код:

def thread1():
while(True):
pass

def thread2():
while(True):
pass

if __name__ == '__main__':
t1 = Thread(thread1)
t1.start()
t2 = Thread(thread2)
t2.start()
t1.join()
t2.join()

У меня возникает вопрос, почему не запускают один тред а второй луп просто из мейна? Есть какие подводные камни?
Т.е. почему не так -

if __name__ == '__main__':
t1 = Thread(thread1)
t1.start()
thread2()
t1.join()
image.png38 Кб, 721x264
473 1851766
>>851337

>Объясни пожалуйста что за обвязки


У джанги по дефолту куча мидлвейров (промежуточная обработка реквеста перед выполнением пользовательского кода), типа аутентефикации и сессии.
474 1851770
>>851766
Ну и админка, орм и т.д., дохуя всего в общем
475 1851782
>>851739
Потому что в примерах показывается как запустить два треда. Так как у тебя тоже можно
476 1851885
>>851716
Начинаешь транзакцию, хуяришь много запросов, коммитишь. Это намного быстрее и скажется на производительности охуенно, потому что применяется скопом, а не по одному запросу.
Так ещё диды делали и это правильный способ пакетных апдейтов.
477 1851889
>>851885
Можешь попробовать вставить мильйоничик записей в базу разными способами и увидишь.
478 1851912
>>851696
Ну хорошо, как все таки лучше это апи сделать? Под что например, просто набить рандомной инфой? Или подсмотреть у кого-нибудь можно? Смутно представляю что это и с чем едят. Ну например, доставка пиццы?) хз или еще что. Что вообще это может быть. библиотека, склад. магаз. Наприер если сделать подобное и поместить на гитхам так чтобы не было совсем стыдно.
479 1851919
Пытаюсь сделать request к одному сайту.
API тут
https://docs.rocket.chat/api/rest-api/methods/authentication/login

Согласно тому, что там написано - такой запрос:

headers = {
'Content-type': 'application/json',
}
data = '{ "user": "xxx", "password": "xxxxxx" }'
response = requests.post('https://xxxxxx.ru/api/v1/login', headers=headers, data=data)
pprint.pprint(response)

Должен выдавать какой-то внятный ответ json
Но он не выдаёт нихрена кроме сообщения о том, что я успешно приконнектился
<Response [200]>
[Finished in 1.178s]

Как получить json от этой шелупони нормально - по человечески?

Да, если я через терминал отправляю - curl то всё ок принимается
480 1851926
>>851919
Попробуй словарем дату, а не строкой.
481 1851935
>>851912
На твой гитхаб скорее всего смотреть никто не будет
482 1851954
>>851919
response.text или response.json выводи
483 1851955
>>851926
json.loads()
Ты про это?
484 1851968
Привет. Смотрю курсы по питону и у меня возник вопрос: Задание с классами. Там в классе 4 закрытых поля числовых, так вот есть 4 метода гет и 4 метода сет.
В задании написано:
5) Сделайте закрытый метод printlog(), в котором с помощью функции print() выводите значение переданного параметра.
6) В методах get и set вызывайте метод printlog с параметром: «Запрошено свойство NAME» (для методов get) или «Изменено свойство NAME» (для методов set). Вместо NAME должно быть подставлено имя соответствующего свойства.

Я не понимаю как в этом методе обращаться к параметру класса
485 1851988
>>851968
instance.__class__.__name__
486 1851989
>>851988
если атрибут достать

то getattr("экземпляр",str : "название атрибута", "дефолтное значение")
487 1851990
При переустановке питона все установленные модули проебуться?
488 1851992
>>851990
С версии х86 на х64.
489 1851993
>>851990
Да. Поэтому requirements.txt рулит, чтобы не ставить всё вручную.
490 1851994
>>851993
Я спросил когда было уже поздно. Вроде все норм, странно.
491 1852003
Братва, а накидайте годных идей для курсовика по Python'у?
492 1852006
>>852003
Торговый бот на эфир
493 1852013
>>851994
А не, все-таки все проебалось.
>>851993

>requirements.txt


Спасибо за совет.
2020-11-09212207.jpg88 Кб, 479x568
494 1852038
как сделать чтобы заработало?
495 1852049
>>852038
Не тупить
496 1852068
>>852038
lis != lst, бака.
15945817860250.png684 Кб, 914x518
497 1852071
>>852068
Я вас проверял.
498 1852072
>>851885
Я через sqlalchemy их делаю по типу
async with get_db_connection() as connection:
----connection.execute(query)

потому что на проекте так положено, я не могу воротить что мне вздумается
photo2020-11-0516-34-24.jpg61 Кб, 593x604
499 1852079
Можно ли средствами питона установить переменную окружения для родительского процесса unix? Т.е запустить из шела скрипт.py где устанавливается некая переменная окружения, а потом набрать echo $имя и получить её значение.

Или это ебанина какая-то и нормальные люди пишут для этого шел скрипты?
501 1852084
>>852081
Да я вообще видел это уже. Просто подумал, мало ли на дваче гении есть
502 1852100
Уважаемые гении, подскажите, пожалуйста, как в джанге сделать поле динамическим? типа если поменяли цену на товар то и в корзине цена поменялась. Я допенькал только до изменения сейва, но это решение, очевидно, говно.
503 1852113
>>851718

>, потом парсить ее и выполнять умножения как тебе надо


>>> a = MyNumber(7); b = MyNumber(8)


>>> (a-1)(b-1)


42

>>> (a)(b)


56

чтоб не строкой писать, а в таком виде реализовать это? Через что можно сделать? Это в класе MyNumber реализовать нужно/можно?
504 1852122
>>851569
Не очень понятно, чего ты хочешь. Во всяком случае, чтобы твой класс поддерживал арифметические действия, нужно реализовать специальные методы
https://docs.python.org/3/reference/datamodel.html#emulating-numeric-types
505 1852123
>>851057
я не понЯл, на этом языке только датамакаки пишут? где мой ответ??
506 1852131
>>852100
Изменяй по сокету для всех активных сессий
507 1852133
>>852123
Самая лучшая у джанги и sqlachemy перестает быть говном, из асинхронных многие только пилятся
508 1852135
>>852133
Теперь понял, благодарочка!
509 1852138
>>852131
янихуя не понял.
При изменении цены пересохранять все активные корзины?
510 1852145
>>852138
У тебя разве не просто foreignkey на товар в корзине?
511 1852150
>>852145
Ну вот корзина состоит из
форинг на пользователя
форинг на товар
количество товара
цена товара
сумма по товару

как мне динамически цену менять и сумму, я чет не понимаю :(
512 1852151
>>852150
Корзина это модель в базе?
image.png31 Кб, 587x427
513 1852154
http://www.machinelearning.ru/wiki/index.php?title=Интерполяция_кубическими_сплайнами
Не пойму, где ошибка? У меня никак такие коэффициенты c не получаются.
514 1852155
Как лучше организовать модели?
Я использую tortoise orm для сохранения моделей в базе и pydantic для валидации и сериализации (оно встроенно в fastapi).
Модели могут быть разные и одинаковые по полям. Думаю сделать абстракный класс для pydantic моделей, которые подразумевают отражение в базе и сделать там методы convert_to_orm для преобразования в orm модели и методы сохранения/апдейта, которые будут юзать convert_to_orm.
515 1852157
>>852151
ага
516 1852160
>>852157
Цена выглядит излишней для нее, не нормализовано
517 1852173
>>851935
А на что будут смотреть?
518 1852187
>>852160
Так то да, но шо попросили, то и ваяем.
Думаю сейв в продукте переопределить и в нем инициировать обновление корзины, на сколько это решение говно?
519 1852211
>>852187
У тебя другого выбора и нет
или можно засунть модель корзины в redis или любое другое in memory хранилище, а в базу сохранять только какой-нибудь wishlist
520 1852216
Поясните плис за деплой и продакшн апи. Мало инфы про rapid api и heroku. Что такое рапид? Зашел туда, хуй скачаешь апи, позициориуют как то что там тонны этих апи и все туда их заливают. Что это такое?
522 1852405
>>852154
А мы как должны понять, где у тебя ошибка? Мы блять Ванги тут что ли сидим?
523 1852441
>>852211
Спасибо, анон, за идеи и участие :)
524 1853398
>>851993
Чем бы вменяемым requirements.txt генерировать вместо freeze и ctrl+c ctrl+v?
525 1854826
https://dumpz.org/b9gGW6TXWhf2
БД access, таблица Client есть. При открsnbb окна должен в tanleView показать таблицу, но крашится.(( ЧЯДНТ?
526 1857018
>>850886
Применительно к укорачивателю ссылок - в авито предпложим есть функция, которая на мейл тебе кидает что твою машину хотят купить, если ее тригернуть, то функцию собирает данные и отправляет в этот апи, в нашем случае отправляет ссылку, а в ответ получает укороченую ссылку, которую вставляет в мейл и получается в мейле короткая ссылка, а потом они запиливают функцю копирования объявления - кнопка поделится, эта кнопка тоже отправляет такой же запрос на апи и получает ссылку, а потом они придумают еще 10 мест, где им хотелось бы иметь короткие ссылки с их доменом. Таким же образом у вк есть, например апи для авторизации или есть апи какого-нибудь сайта погоды
527 1868213
>>844809
не согласен, я бы посоветовал прочитать главу про системное программирование с переходом в потоки и multiprocessing
528 1869994
Пацантре, есть список с него формируется CSV. В csv все в одну строку. Как исходный список перетрести, чтобы в csv все норм было?
529 1924469
Поцики, как в джанге данные из БД выкинуть на форму?
530 1926609
>>846570

>Аналитики зачастую вообще не умеют программировать.


А че они делают тогда? Мимо нуб
Тред утонул или удален.
Это копия, сохраненная 14 апреля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски