Программирование

Ответить в тред Ответить в тред
Check this out!
Питон тред №120 /python/ Аноним 21/05/21 Птн 14:01:53 20374831
python-love.png 133Кб, 1376x1220
1376x1220
argo-python-agg[...].jpg 612Кб, 1862x1048
1862x1048
Тред, посвящённый языку программирования Питон, #120

Предыдущий: >>2021102 (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
Аноним 21/05/21 Птн 16:44:02 20376922
Аноним 21/05/21 Птн 17:13:49 20377163
Есть прога, сам писал. Работает хуево. Есть смысл переписывать с нуля?
Аноним 21/05/21 Птн 17:26:34 20377354
>>2037716
Зачем переписывать хуево то, что ты уже написал хуево?
Аноним 21/05/21 Птн 17:41:30 20377565
как вам курс на степике "Поколение Python"? сижу, решаю и не урчу.

есть те кто тоже проходил? пишите как он вам
Аноним 21/05/21 Птн 17:56:33 20377816
2021-05-21 1750[...].png 13Кб, 630x426
630x426
2021-05-21 1751[...].png 13Кб, 593x439
593x439
Поясните, можно ли во вложенном коде делать мультистроки которые не пидорасят код и аутпут?
Т.е. я хочу чтобы код выглядел как на пик 1, а аутпут как на пик 2.
Аноним 21/05/21 Птн 18:01:20 20377837
>>2037781
Всё что между ''' попадает в строку, очевидно же.
Заводи их отдельно или юзай \n
Аноним 21/05/21 Птн 18:14:04 20378048
14702368465180.jpg 19Кб, 301x395
301x395
Аноним 21/05/21 Птн 18:17:51 20378059
>>2037483 (OP)
>— А что ещё можно читать?
>Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

Не хочу читать книги. Можно же просто обойтись доками и учебными репами на гитхабе с кучей звёздочек. Или я что то опущу?
Аноним 21/05/21 Птн 18:21:21 203781010
Аноним 21/05/21 Птн 18:23:23 203781311
>>2037805
По сравнению с нубскими книгами в общем нет.
Аноним 21/05/21 Птн 18:24:14 203781412
autism.jpg 81Кб, 1920x1080
1920x1080
Аноним 21/05/21 Птн 18:36:47 203783113
>>2037805
Туториал это по факту просто перечисление синтаксиса, структур, команд, встроенных функций с очень маленьким количеством примеров и почти полным пересечением этих примеров или примеров как это использовать.
По идее если у тебя есть концепты в голове, т.е. ты моешь кодить в башке текстом(если эта хуйня то делаем это пока условие == Заебись), то тебе хватит исключительно доков, читать какую-то водяную литературу было бы проебом времени, ведь тебе просто надо узнать как называется цикл в питоне, как называется какой-нибудь метод и как ставить кавычки.
Если ты вкатываешься, то книжки тебя за ручку ведут и объясняют что делает какой-то код, где его можно использовать, так же в книжках обычно и пишут про алгоритмы и пытаются донести общий майндсет так сказать. Стоит отметить, что если ты умный перчик, вот прям блистаешь нахуй во все стороны - то идеальным вариантом для тебя будут доки+тяжелые теоретические книги. Если ты тупой как говно, то лучше будет читать уже готовые обучающие книжки. Я не говорю что Питон для детей плохая книга и все кто ее читают долбари, нет, наоборот, но после какого-то базового кружка по синтаксису, когда ты уже научишься делать итератор и лист компрехеншен у тебя возникнет вопрос ЧТО ДАЛЬШЕ ТО БЛЯДЬ Я ВСЕ ЗНАЮ НАХУЙ. Вот тогда уже надо либо искать хорошие учебные пособия, либо забить хуй на учебники и читать просто информатику+документацию.
В универе если учился - так обычно и происходит, какие-нибудь инженерные дисциплины на старте имеют учебник, а дальше уже полностью переходят в лекции+методички.
Аноним 21/05/21 Птн 18:43:35 203784114
Аноним 21/05/21 Птн 18:46:21 203784315
>>2037841
А точнее даже textwrap.dedent
Аноним 21/05/21 Птн 21:52:52 203803916
>>2037831
У тебя какое-то ожидание, что взяв пособие для изучения "языка программирования", ты там найдёшь заодно пособие по "изучению программированию".

Это как пытаться найти в курсе "английский для экономистов" изложение основ макроэкономики.

Книги вроде Лутца, "укуса", Саммерфильда и другое, они тоже про язык программирования Питон, а не про программирование вообще.

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

Но для освоения программирования надо намного больше времени, чем для освоения языка программирования. А ИТ это не только программирование, и ещё требуется глубокий экскурс в кучу направлений здесь.

Вот нельзя научиться программированию с нуля за год. Без серьёзного бэкграунда в смежных областях, конечно. Это невозможно.
Аноним 21/05/21 Птн 21:58:19 203804917
>>2038039
Надеюсь ты не тот петух с прошлого треда со своими двухгодичными курсами.
Аноним 21/05/21 Птн 22:24:34 203806418
>>2038049
>тот петух
Иди уже к корешам пиво пить и сёмки на падике сплёвывать. Оставь ИТ для ботанов, не пацанское дело, в натуре, хули ты с этими чмошниками общаешься и пытаешься в их круги взезть.
Аноним 21/05/21 Птн 22:35:42 203806919
>>2037735
Теперь правильно построю код,. Уберу костыли
Аноним 21/05/21 Птн 22:53:15 203808020
>>2037756
Я где-то неделю назад начал. Сам тупой, так что некоторые места мне непонятны :(
Аноним 22/05/21 Суб 00:24:20 203813121
>>2037831
Я перекатывальщик из мухосранских админов эникеев с двумя бумажками об образовании. Да я именно книги типа всяких марков луцев имел ввиду. А не Кнутов. Второго бы не стал читать ибо слишком туп для пониманя этого

Начитался. Что если и не получиться вкатиться то в админстве пайтон все равно приветствуется. Так что я ничего не теряю
Решил пару тройку хард задач на литкоде (не на пайтоне). Так себе достижение но как прописка что я не залетный мимосварщик
Книги по алгоритмам наоборот уважаю
Аноним 22/05/21 Суб 01:15:18 203818522
>>2038064
Может он вкатился чтоб фраерков 300нанасеков вычислять и поцанвм сливать в падике координаты.
Аноним 22/05/21 Суб 09:53:20 203831723
вкотик!
Аноним 22/05/21 Суб 14:05:31 203850224
Привет, питонисты. Нужно быстро вкатится в ваш инструмент + NumPy для обработки данных в облаке. Есть хорошие и конденсированные текстовые гайды? Сам фулстек мидл, потому предпочел бы что-то не из разряда "for Beginners".
Аноним 22/05/21 Суб 14:21:06 203853525
Аноним 22/05/21 Суб 15:17:09 203864226
Аноним 22/05/21 Суб 19:44:16 203899227
Недавно поставил Pycharm и сейчас хочу запилить приложуху с гуи, но не знаю что для этого использовать. Какие библиотеки лучше? М.б. есть какое-то расширение на pycharm в виде графического редактора интерфейса?
Аноним 22/05/21 Суб 21:33:30 203910728
Что думаете о книжке "Python crash course"?
Аноним 22/05/21 Суб 21:37:21 203911629
Аноним 22/05/21 Суб 21:45:55 203913230
>>2039116
Просто я уже 150 страниц прочитал. В начале всё было очень хорошо, но честно говоря очень много времени уделяется массивам, и какая же это скучная тема. Ну не прям скучная, но мне хотелось поскорее познакомится с циклами и прочим, но даже их объясняют часто на примере массивов блдаж
Аноним 22/05/21 Суб 22:07:55 203914531
>>2038131
Ну как тебе сказать. Книги читать очень полезно я правда сам мало читаю. Но книги нужны хорошие, и чтобы по уровню и нужные тебе в данный момент.

Когда ты учишься по принципу "пилю что-то, гуглю непонятное", у тебя масса дыр в понимании. Тебе просто не придёт в голову гуглить многие вещи и читать что-то вроде как ненужное.

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

Просто надо материал себе правильный подобрать и вот с ним работать.

Естественно читать книги и ничего не делать мало полезно.
Аноним 22/05/21 Суб 22:08:38 203914632
1313507122001.png 229Кб, 286x496
286x496
В Python многопоточность упирается в GIL.
А как проблема многопоточности решена в других языках? И решена ли?
Аноним 22/05/21 Суб 23:02:20 203919433
>>2039146
Многопоточность это всегда проблема.

>упирается в GIL.
Юзай threading.RLock
Аноним 23/05/21 Вск 01:11:30 203930034
Аноны, подскажите, молю, уже весь изъебался
Нужно положить на API веб-сервиса, который стоит на centos внутреннем сервере, сообщение
Кладу с помощью requests
Вот код запроса
response = requests.request("PUT", url="https://xx.x.xx.xx:xxxx/message/xxxx", headers={"Authorization": "Basic VXNlcjE6MQ==", "Content-Type": "application/xml"}, data=message, verify=False)
С винды работает отлично, а с убунту выдает ошибку:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 662, in urlopen
self._prepare_proxy(conn)
File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 948, in _prepare_proxy
conn.connect()
File "/usr/local/lib/python3.8/dist-packages/urllib3/connection.py", line 308, in connect
self._tunnel()
File "/usr/lib/python3.8/http/client.py", line 904, in _tunnel
raise OSError("Tunnel connection failed: %d %s" % (code,
OSError: Tunnel connection failed: 403 Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 719, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/dist-packages/urllib3/util/retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='xx.x.xx.xx', port=xxxx): Max retries exceeded with url: /message/xxxx (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "111.py", line 5, in <module>
response = requests.request("PUT", url="https://xx.x.xx.xx:xxxx/message/xxxxx", headers={"Authorization": "Basic VXNlcjE6MQ==", "Content-Type": "application/xml"}, data=message, verify=False)
File "/usr/local/lib/python3.8/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, kwargs)
File "/usr/local/lib/python3.8/dist-packages/requests/sessions.py", line 542, in request
resp = self.send(prep,
send_kwargs)
File "/usr/local/lib/python3.8/dist-packages/requests/sessions.py", line 655, in send
Аноним 23/05/21 Вск 01:13:21 203930135
r = adapter.send(request, kwargs)
File "/usr/local/lib/python3.8/dist-packages/requests/adapters.py", line 510, in send
raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='xx.x.xx.xx', port=xxxx): Max retries exceeded with url: /message/xxxxx (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden')))
Телнет по порту работает, закидывал с этого сервера яндекс танком нагрузку, тоже все норм
Фйерволл не настроен, версия requests одинаковая
C чем это может быть связано? куда глядеть?
Аноним 23/05/21 Вск 01:31:04 203930536
>>2039301
Перепроверь, как прокси указываешь.
Аноним 23/05/21 Вск 01:57:54 203931737
Кто-нибудь может объяснить как с rutracker.org получить Cookie через requests?
В заголовках ответа нет параметра
Set-Cookie bb_session=0-12856866-; expires=Tue, 20-May-2031 22:55:57 GMT; Max-Age=315360000; path=/forum/; domain=.rutracker.org; HttpOnly
Аноним 23/05/21 Вск 02:00:20 203932138
>>2039317
Отбой. Надо было дождаться очистки сессий на их стороне, после "выйти на всех устройствах"
Аноним 23/05/21 Вск 02:12:57 203932739
>>2039305
Спасибо, мил человек, совсем башка уже не варит, забыл что прокси настроены
Обошел с помощью сессии, и все заработало)
Аноним 23/05/21 Вск 04:01:44 203935640
>>2039132
Погоди, на русском языке дата-структуры называют массивами или эта книжка начинается с array'ев?
Аноним 23/05/21 Вск 07:31:57 203938641
Кому подушить питона?
Аноним 23/05/21 Вск 09:57:12 203942042
Аноним 23/05/21 Вск 11:02:24 203949643
>>2038992
наверняка должна быть какая то библиотека, не так ли?
Аноним 23/05/21 Вск 11:04:09 203950044
>>2039356
в питоне вроде массивы называются списками и списками списков?
>>2039132
а что там с циклами знакомится? циклы очень просты, идет перебор и всё.
Аноним 23/05/21 Вск 12:55:49 203960245
>>2039496
Да, про это я и спросил.
Аноним 23/05/21 Вск 12:58:25 203960346
>>2037756
Хороший курс для новичков (сам прошёл полностью). Дальше советую пройти курс от egoroff_channel. Сейчас сижу и прохожу его. В нём уже больше информации и вся инфа даётся в ролике, что немного неудобно, но простительно. Ещё некоторые видите доступны только по платной подписке, но задачи ты можешь решать все бесплатно
Аноним 23/05/21 Вск 13:17:19 203961547
>>2039603
Бля, нахуй он сделал платную подписку?
Аноним 23/05/21 Вск 13:18:57 203961748
>>2039615
Чтобы бабосы латать) А то он ща курс денег никаких не получает, а кушать хочется. Кстати, там иногда в комнатах поясняют что было в видео
Аноним 23/05/21 Вск 13:19:41 203961949
Аноним 23/05/21 Вск 13:49:13 203966250
>>2039356
Нет, там Lists, но это вроде как массив на русском называется? По крайней мере я смотрел какой-то урок по основам программирования где массивы объясняли на пайтоне и там этим словом обозвали именно Lists
>>2039500
> а что там с циклами знакомится? циклы очень просты, идет перебор и всё.
Ну вот просто интересно мне это было, я еще не знаю точно как это всё работает, пытался написать алгоритм разложения числа на простые множители, но ничего не получилось
Аноним 23/05/21 Вск 14:26:53 203971751
>>2039662
лист это список в питоне
Аноним 23/05/21 Вск 14:28:18 203971952
>>2039617
понял, он не работает разве параллельно прогером за 300к наносек?
Аноним 23/05/21 Вск 14:58:16 203973553
>>2039719
Похоже, что нет) А так, я не знаю
Аноним 23/05/21 Вск 15:05:15 203974654
>>2039717
А массив тогда что такое? Его вообще получается в питоне нет?
Аноним 23/05/21 Вск 15:14:43 203975355
>>2039746
Есть, но нужно подключать модуль array, а по дефолту идут списки. Короче, просто загкгли и всё
Аноним 23/05/21 Вск 15:29:03 203976556
>>2039746
Есть 3 распространенные штуки.

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

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

ArrayList, Vector, ну типа массив короче, это массив указателей, можно добавлять в конец, в питоне это. Можешь называть массив, можешь список, никак это не называется.
Аноним 23/05/21 Вск 16:29:12 203983057
изображение.png 45Кб, 1352x703
1352x703
Поздравьте, я наконец-то написал алгоритм разложения числа на простые множители, еще как только пайтон начал учить хотелось сделать такую штуку, но не мог додуматься как, поэтому пока учился периодически пытался сделать такой алгоритм, но всегда фейлил, а сейчас получилось
Аноним 23/05/21 Вск 16:29:34 203983158
M.mp4 714Кб, 1280x720, 00:00:05
1280x720
Аноним 23/05/21 Вск 16:33:51 203983959
>>2039830
Подождите, нужно ведь еще после каждого удачного прохода сбрасывать var опять до 2
Аноним 23/05/21 Вск 16:34:46 203984060
изображение.png 9Кб, 346x246
346x246
Аноним 23/05/21 Вск 16:37:21 203984661
>>2039840
Дели число на множитель, тогда не надо сбрасывыать.
Аноним 23/05/21 Вск 16:38:13 203984962
>>2039846
А, ты делишь, не надо сбрасывать пусть дальше растет.
Аноним 23/05/21 Вск 17:18:50 203990063
>>2039840
Для простых number ты собираешься гонять цикл пока number не станет равным var? Seriously?
Помощь в развитии Аноним 23/05/21 Вск 17:22:16 203990164
Кто скажет что учить дальше, основы вроде знаю, ботов в телеграмме научился делать, что дальше учить то?
Аноним 23/05/21 Вск 17:22:45 203990265
Аноним 23/05/21 Вск 17:23:36 203990466
>>2039901
Codewars, Codesignal, все такое.
Аноним 23/05/21 Вск 17:45:59 203992367
>>2039900
Что? Цикл же действует пока number больше одного, как только в результате деления будет 1, то цикл прекращается
Аноним 23/05/21 Вск 17:47:41 203992868
>>2039923
Он имеет в виду, что 137 итераций будет если число 137, нинравится ему.
Аноним 23/05/21 Вск 17:53:50 203993969
>>2039928
Разве можно как-то избежать этого? Если только заранее составить список простых чисел и гонять по ним чтобы не перебирать все варианты var + 1
Аноним 23/05/21 Вск 17:55:41 203994570
>>2039939
Можно посчитать корень и дальше не заходить, там никогда нет.
Аноним 23/05/21 Вск 18:41:10 203999171
>>2039945
Корень исходного числа? Что-то я не могу понять что это даст. Типа ограничить так числа для var? Допустим если число 100, то найти его корень - 10, и дальше этого значения не проверять?
Аноним 23/05/21 Вск 19:15:57 204006972
Расскажите что вы делаете на питоне (желательно что-то с использованием стандартных библиотек). Просто интересно чем люди занимаются просто для себя когда освоят язык, не только ведь вы работаете/фрилансите
Аноним 23/05/21 Вск 19:40:35 204010473
Аноним 23/05/21 Вск 19:57:22 204011774
>>2039991
Смотри, если ты просто проверяешь число на простоту, а не разлагаешь его, то тебе надо проверять до корня. Дальше нет смысла.

Если ты разлагаешь на простые множетели, то имеет смысл пересчитывать корень, как только ты меняешь number.

Можно и без корня, немного оптимизировать. В питоне есть функция divmod(number, value). Она тебе возвращает пару, результат целочисленного деления и остаток, то есть
divmod(203, 10) = (20, 3)
если у тебя результат деления меньше, чем делитель, то значит ты уже прошёл корень и можешь прерывать цикл.

Аноним 23/05/21 Вск 20:00:49 204012175
>>2040117
Проверил, divmod может быть не самый лучший вариант, дорогая операция, раз в пять дороже проверки остатка на деление. Лучше один раз корень посчитать, чем divmod вызывать.
Аноним 23/05/21 Вск 20:07:09 204012876
>>2039991
Да, var не заходит за 10. Когда number меняется корень тоже меняется, ну так, опционально.
Аноним 23/05/21 Вск 22:59:41 204028277
Аноним 23/05/21 Вск 23:08:03 204029378
>>2040282
Оба пункта бесполезная хуйня.
Аноним 23/05/21 Вск 23:21:50 204030979
Screenshot from[...].png 154Кб, 833x702
833x702
>>2040282
>PDF-ка "A Byte of Python"
Спустя 30 страниц от начала, это не считая оглавления, они дошли всё-таки до первой программы - Hello world! При том, что там всего 160 страниц.

А народ на Лутца почки катят, что там вода сплошная.
Аноним 23/05/21 Вск 23:30:18 204031880
На python есть годные бордодвижки?
Аноним 23/05/21 Вск 23:31:34 204031981
>>2040309
> Спустя 30 страниц от начала, это не считая оглавления, они дошли всё-таки до первой программы - Hello world! При том, что там всего 160 страниц.
Помню начинал читать этот укус пистона, в итоге бросил, и правда сильно на любителя книжка, не понимаю почему про нее все говорят
Аноним 23/05/21 Вск 23:34:10 204032282
>>2040282
>PDF-ка "A Byte of Python"
Короче я (>>2040309) решил полистать этот "укус питона", реально бесполезная хуета.

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

2) порядок изложения копирует официальный туториал, но примитивно

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

4) никакого практического тренинга.

Вывод: полный отстой и мусор, не стоит вообще на это смотреть. На самом деле вот официальный туториал не хуже.
Аноним 24/05/21 Пнд 01:29:22 204041283
>>2040319

Потому что денег занесли. Она вообще тупо беспонтовая, просто успела появиться, когда пистон пошел к успеху, а книг не было вообще. Их и сейчас нет, а тогда так тем более
Аноним 24/05/21 Пнд 06:46:21 204045684
>>2040322
>>2040309

А про Лутца что скажите? И другие книжки Питона?
Аноним 24/05/21 Пнд 07:04:06 204046385
Да, чот посмотрел сейчас "Питон для детей" 2019 года - даже он поинтереснее будет. Там в середине книги уже какие-то оконные интерфейсы для Винды пилят.
Аноним 24/05/21 Пнд 07:15:24 204046786
Лёгкие книги
“Learn X in Y minutes - Python 3” - Ультрагоднота. Прочтите перед тем как начать читать книжки ниже. Подойдет как новичкам, так и старичкам и гуру которым нужно вспомнить синтаксис.

“Укус Питона” – “A Byte of Python” - Ультрагоднота. Эта книга используется даже в НАСА!

“Think Python: How to Think Like a Computer Scientist” - Ультрагоднота. Эта книга научить думать Вас как программист!

“Intermediate Python” - Читать после A byte of Python или Think Python

"Python Cookbook" - Читать после всего, что выше

А это у вас в шапке на Гитхабе написано

https://github.com/TheKnightsWhoSayNi/info/wiki/Books
Аноним 24/05/21 Пнд 09:20:49 204051487
>>2040456
Всё сильно от бэкграунда зависит. С разным опытом нужны разные книги.

Тому, кто много лет программировал на C/C++/Java, нужны одни книги. А тому, кто вообще ноль в программировании и ИТ, тому другие книги и стратегия обучения вообще.

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

1) Fluent Python = "Питон к вершинам мастерства". В предисловии сказано, что для тех, кто уже как-то может на питоне, и хочет улучшить скилл. Воды особо нет, но мне кажется, больше программировать надо уметь, чтобы некоторые вещи понимать, а у питона достаточно за пару дней проглядеть базовый синтаксис.

2) Марк Саммервильд "изучаем Питон 3", как-то так называется. 2009 год. Очень годная книга, если ты уже умеешь прилично программировать на каком-нибудь другом языке, и теперь хочешь изучить питон.

3) Intermediate Python. Для тех, кто более-менее может программировать на питоне, делает лабы на нём. Книга про выжимки специфичных конструкций питона, не свойственных другим языкам.

Ну и официальный туториал тоже очень хорош.
Аноним 24/05/21 Пнд 09:42:23 204053688
>>2040514
Ого, первая книга по ходу прям сильная. Спасибо.
Аноним 24/05/21 Пнд 10:46:13 204064589
В общем есть лаба на питоне, где нужно на из обучающей выборки нужно найти остаток деления на 4 целого двухбайтного числа, лаба в колаборатори, 1 курс, преподу похуй. Объясните мне пожалуйста что и как сделать правильнее? Сразу формировать выборку с учетом условия, или уже после формирования выборки искать в ней остаток?
Аноним 24/05/21 Пнд 14:49:04 204110690
>>2040514
>Всё сильно от бэкграунда зависит. С разным опытом нужны разные книги.
Он прав, знавал одного вкатывальщика, что даже винду ни разу не устанавливал, не говоря про линуксы лол. Это конечно же не значит что такие люди безперспективны, всё в их руках.
Учить питону стало модно, курсы и "учителя" на каждом шагу.
Может сейчас в шараги питон завезли ? Я сам вкат-перекат и не мне особо умничать, но когда учился были паскали, си и ассемблеры.
Аноним 24/05/21 Пнд 15:06:30 204112291
>>2038992
PyQT
При достаточных усилиях освоишь как питон, так и большой фреймворк. Да и приложение с нормальным UI получится (привет TKinter)
Аноним 24/05/21 Пнд 15:58:41 204121492
1399796898001.jpg 99Кб, 458x750
458x750
>>2037483 (OP)
Можно ли соединить два словаря в Питоне, сохранив порядок ключей?
Инб4 словари превратить в упорядоченные словари для начала, потом соединить
Аноним 24/05/21 Пнд 16:11:07 204123493
>>2041214
Что должно происходить в случае, когда порядок ключей в двух словарях отличается?

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

Если ты сделаешь
new_dict = {old_dict_1, old_dict_2}
(вместо % должна быть звезда), то тут как раз будет результат с сохранением порядка, сначала будут ключи из old_dict_1, с сохранением порядка оттуда, но с перезаписанными значениями из old_dict_2, потом ключи из old_dict_2, те, которые не встречались в old_dict_1
Аноним 24/05/21 Пнд 16:12:58 204123594
image.png 2Кб, 322x17
322x17
>>2041234
блин, проценты тоже съедаются
Аноним 24/05/21 Пнд 16:29:07 204125695
>>2041122
Спасибо.
Как раз до этого в кьюте с плюсами работал.
Уже запилил несколько тестовых и разобрался с логикой работы. Полет нормальный.
Аноним 24/05/21 Пнд 17:25:04 204135796
Тут кто нибудь делал приложения для андроид, возможно просто для своих нужд? Постоянно сталкиваюсь, что нет именно нужного мне простого функционала в программах, например мне нужен таймер, который будет подавать один сигнал единожды в заданное время, но я просто не нашел такого, везде либо классические будильники и таймеры, либо напоминалки простые.

Сложно вообще переносить питон программу на андроид в виде приложения?
Аноним 24/05/21 Пнд 18:16:55 204146597
image.png 582Кб, 1595x899
1595x899
image.png 47Кб, 670x689
670x689
image.png 22Кб, 971x185
971x185
По сути переписал код из видео и пососал хуй. Почему у автора всё работает, а я иду нахуй?
Аноним 24/05/21 Пнд 18:23:23 204147898
>>2041465
бля чел серьезно?

coordX
cordX
Аноним 24/05/21 Пнд 18:25:09 204148599
Аноним 24/05/21 Пнд 18:33:10 2041496100
>>2041465
У тебя твои "cordX/Y" приватные.
Аноним 24/05/21 Пнд 18:44:51 2041520101
>>2041496
от души, я всё же слепой
Аноним 24/05/21 Пнд 18:52:16 2041532102
>>2039146
Если я правильно понял вопрос, в .NET современная многопоточность делается через async - await, который под капотом генерирует машину состояний и использует тред пул.
Аноним 24/05/21 Пнд 19:37:12 2041613103
Аноним 24/05/21 Пнд 20:52:43 2041702104
Аноны, в качестве вката можно брать любой учебник из шапки треда? В общем, напишите с какой литературы сами начинали, пожалуйста, а то боюсь нарваться на "сложный" для начинающего учебник.
Аноним 24/05/21 Пнд 20:55:36 2041707105
>>2041702
Да тут прям разницы нет. Все равно будешь гуглить то или другое. Попробуй разные почитать и выбирай
Аноним 24/05/21 Пнд 21:22:08 2041736106
Аноним 24/05/21 Пнд 22:29:45 2041801107
изображение.png 46Кб, 816x287
816x287
Не могу понять почему в child классе есть одновременно 3 и 4 строки, хотя вроде тут одной хватило бы. Сначала мы определяем атрибуты необходимые для родительского класса, а потом через super() делаем по моему то же самое
Аноним 24/05/21 Пнд 22:38:25 2041813108
>>2041801
Ты дублируешь код __init__ с родительского класса
Аноним 24/05/21 Пнд 22:40:42 2041814109
>>2041801
Что ты определяешь, ты принимаешь параметры в конструктор. И передаешь их оригинальному конструктору, чтобы не повторять эти определения у себя.
Аноним 25/05/21 Втр 09:42:05 2042084110
Вопрос по тестам. Как пропатчить объект перед его созданием? (Нужно заменить атрибут в __init__)
Аноним 25/05/21 Втр 11:34:37 2042219111
123.jpg 34Кб, 906x315
906x315
1234.jpg 12Кб, 196x176
196x176
Аноним 25/05/21 Втр 11:47:17 2042244112
>>2042219
Число 84 повторяется, индекс находит первое.
Аноним 25/05/21 Втр 11:53:22 2042251113
Аноним 25/05/21 Втр 13:13:35 2042331114
Стикер 255Кб, 512x512
512x512
Добрый день, господа питонисты. Есть небольшой вопрос, т.к. сам я не очень хорошо сведущ в Питоне.

С помощью OpenCV я получаю картинку с вебкамеры. На основе кадра изображения я делаю некоторые объёмные вычисления, в каком то виде накладываю их на кадр и вывожу пользователю. Все это происходит в реальном времени. Проблема в том, что из-за того, что происходят такие объёмные вычисления стрим дико фризится. Захват кадра происходит раз в 5-7 секунд. Никто не в курсе как максимально лёгко это возможно пофиксить? Ну или хотя бы чтобы поток всегда хороший шёл, а вычисления были с опозданием.

Что я пробовал:
- Запустить программу на GPU, но CUDA ругается и не хочет ничего делать
- Пытался с помощью asyncio асинхронно результаты получать, но тоже успехов в этом не добился
- Пытался использовать Numba, но там он был неуместен, т.к. вычисления делаются внутри библиотеки.

В общем сильно прошу не хейтить. Может у вас есть какие-нибудь идеи как ситуацию можно разрешить.
Аноним 25/05/21 Втр 13:29:23 2042338115
image.png 2Кб, 270x34
270x34
>>2037483 (OP)
Блэт, какой именно линтер поставить (и как) чтобы PyCharm автоматически подсвечивал мне ошибки? Стоит PyCharm Pro однако почему-то ничего не срабатывает, у меня раньше была обычная и все показывалось, но сейчас даже присвоения вроде абракадабры на пикриле не показываются как ошибочные
Аноним 25/05/21 Втр 14:46:09 2042411116
Подскажите, как дальше изучать django?Следуя официальной документации для новичков, я создал простой сайт, в какой последовательности дальше изучать его. Изучать расширенную документацию, например https://docs.djangoproject.com/en/3.2/topics/db/models/.Но это больше похоже на справочник для продвинутых пользователей, так как тут написано все возможное про модели, нужно изучить это это и все применить на практике, и так двигаться дальше?
Аноним 25/05/21 Втр 14:49:25 2042413117
Аноним 25/05/21 Втр 14:57:30 2042426118
>>2042338
ты скачал взломанный про?
>>2042411
бля джанго это жесть
Аноним 25/05/21 Втр 17:06:17 2042642119
231231.png 21Кб, 1323x485
1323x485
Сорян за такой вопрос, наверняка тупой, я новичок, но суть вот в чем:
У меня не работает наследование шаблонов, делал все по туториалу, но я не знаю в чем проблема, тупо не работает, уже заебался искать, если кто поможет буду благодарен.

views.py
https://ideone.com/oKpRAN

urls.py
https://ideone.com/uJ1oGi

base.html
https://ideone.com/h1lCIh

product_detail.html
https://ideone.com/EJofFF
Аноним 25/05/21 Втр 17:20:30 2042660120
изображение.png 52Кб, 1060x175
1060x175
Как ещё можно обнулить строку при переводе каретки в начало строки? \t не предлагать

Если без пробелов делать, то получим что-то тип этого:
Первый вывод "ожидание ответа"
Второй вывод "ответ принят"
Смотрится в консоли "ответ принятета"
Аноним 25/05/21 Втр 17:24:25 2042667121
Где косяк? Ни стандартная либа, ни python-dateutil не могут распарсить

locale.setlocale(locale.LC_ALL, "ru_RU.UTF-8")
dt_parsed = dt_parser.parse('21-Май-21 20:54')
dt = datetime.strptime('21-Май-21 20:54','%d-%b-%y %H:%M')
Аноним 25/05/21 Втр 17:26:34 2042671122
>>2042660
sys.stdout.flush() попробуй
Аноним 25/05/21 Втр 17:35:57 2042678123
>>2042671
На 3.9 флюш есть и в принте print(text, end='\r', flush=True) но так и так не работает и не думаю, что будет работать с stdout
Аноним 25/05/21 Втр 17:40:45 2042682124
>>2042678
Тогда это тот самый момент:

#!/usr/bin/python3 -u

С ключом -u запускай
Аноним 25/05/21 Втр 17:47:05 2042686125
Аноним 25/05/21 Втр 17:48:45 2042690126
>>2042686
Ну тоесть оно будет работать, но нужно именно чтобы в коде работало, а не использовать ОСОБЫЙ запуск консоли
Аноним 25/05/21 Втр 18:10:03 2042742127
>>2040069
Я играю в порно-игры на RenPy. Из-за сюжета, конечно.
Аноним 25/05/21 Втр 18:58:24 2042825128
Аноним 25/05/21 Втр 19:03:14 2042831129
>>2042742
> порно-игры на RenPy
Говноед
Аноним 25/05/21 Втр 19:06:30 2042836130
Аноним 25/05/21 Втр 20:04:24 2042911131
>>2042642
Ничего не понятно, что и как не работает? Где ты в своих шаблонах рендришь product_detail.html?

Я вижу только строчки
template_name = 'product_detail.html'
и далее template_name никак не используется и строчку
return render(request, 'base.html', {})

В общем смотри внимательнее, что ты пишешь.
Аноним 25/05/21 Втр 21:52:33 2043043132
>>2040069
делаю игры со свиборгами и йоба фейсами
Аноним 25/05/21 Втр 22:02:33 2043058133
16100532870482.jpg 96Кб, 1024x1024
1024x1024
Аноним 25/05/21 Втр 22:18:58 2043070134
14974584317450.jpg 88Кб, 600x533
600x533
Аноним 25/05/21 Втр 22:20:41 2043072135
2021-05-2522-19[...].png 60Кб, 793x630
793x630
Аноним 25/05/21 Втр 22:22:11 2043074136
>>2043070
Пиздец, это реальный кадр или рофл?
Аноним 25/05/21 Втр 22:42:14 2043104137
15152207691241.jpg 15Кб, 200x207
200x207
Аноним 25/05/21 Втр 22:49:05 2043109138
>>2043104
Почему тнищи так обожают йобу?
Аноним 25/05/21 Втр 22:54:36 2043116139
>>2043072
Забавно. Выкладываешь куда нибудь саму игру или сорсы?
Аноним 25/05/21 Втр 23:07:10 2043127140
Аноним 25/05/21 Втр 23:08:01 2043130141
>>2043072
Бля, чет захотелось пакмана в виде йоба-фейса!
Аноним 25/05/21 Втр 23:13:04 2043136142
>>2043116
нет, не выкладывал
>>2043130
можно же намутить такое, мне кажется уже кто нибудь наверняка делал
Аноним 25/05/21 Втр 23:33:08 2043147143
изображение.png 71Кб, 156x200
156x200
Прочитал пикрил (точнее только первую часть где идет изучение питона, а дальше уже идут всякие проекты, типа игры и т.д.). Что читать дальше? Хочу делать проекты из этой книги, но параллельно еще и продолжать что-то более продвинутое читать
Аноним 25/05/21 Втр 23:33:57 2043148144
изображение.png 534Кб, 653x850
653x850
>>2043147
Вот нормальная фотография
Аноним 25/05/21 Втр 23:53:50 2043197145
>>2043148
что значит надпись ноу старч пресс?
Аноним 26/05/21 Срд 00:05:12 2043216146
>>2043197
Издатель вроде, типа как O'relly и т.п.
Аноним 26/05/21 Срд 00:05:55 2043218147
>>2043216
Это издатель вроде*

Фикс
Аноним 26/05/21 Срд 07:16:25 2043307148
>>2043147
О, я эту книгу тоже наметил себе. Стоит прочтения? Пока только обучаюсь на интерактивных бесплатных курсах.
Аноним 26/05/21 Срд 08:30:58 2043318149
>>2040069
Делаю пет проект, чтобы найти работу
Аноним 26/05/21 Срд 09:23:31 2043351150
>>2043318
Какой проект?

Какие вообще проекты делают питонисты? Джиэсеры вроде любят To-Do лист делать на модных фреймворках.
Аноним 26/05/21 Срд 09:35:45 2043362151
Аноним 26/05/21 Срд 09:36:49 2043365152
>>2043351
Пишу сайт на фласке.
Питонисту главное чтобы фронт был простым
Аноним 26/05/21 Срд 11:00:06 2043422153
Аноним 26/05/21 Срд 11:35:41 2043451154
>>2042742
Всякие Milfy City, Lust Epidemic и Midnight City? Ты же потом не слезешь с этого дерьма
Аноним 26/05/21 Срд 11:43:53 2043458155
unnamed.png 26Кб, 195x400
195x400
Чуваки, подскажите. Пишу парсер конфига. Сейчас забираются некоторые данные и складываются в словарь {'server_name': name, 'port': 80, 'ip_address': 10.111.22.45.} Но если определенной строки нет в конфиге, скажем ip_address, то парсер выдаёт ошибку attributeerror 'nonetype' object has no attribute 'group'. Можно как-нибудь её скипнуть или обойти?
Аноним 26/05/21 Срд 11:50:45 2043464156
>>2043458
Какой конкретно парсер ты используешь?

Какой ip_address должен быть загружен, если в конфиге он не указан? Введи просто значения по-умолчанию.
Аноним 26/05/21 Срд 14:54:36 2043656157
>>2037483 (OP)
Пишу в VS.
>from flask import Flask
> no module named 'flask'
Какого хуя?
Аноним 26/05/21 Срд 15:02:21 2043664158
>>2043656
Не подключено соответствующее виртуальное окружение
Аноним 26/05/21 Срд 15:08:38 2043678159
Аноним 26/05/21 Срд 15:09:11 2043681160
>>2043664
В студии только питон 3.7
Аноним 26/05/21 Срд 15:10:26 2043687161
>>2043464
Спасибо, братишка, пока писал тебе в чём нужен совет всё сам понял и зарешал.
Аноним 26/05/21 Срд 15:24:48 2043714162
>>2043678
Твой уровень английского позволит нормально пройти курс и вникнуть в материал?
Аноним 26/05/21 Срд 15:25:45 2043715163
Аноним 26/05/21 Срд 15:47:16 2043758164
>>2043681
Тебе нужно настроить студию так, чтобы она подхватывала нужный питон с нужным окружением. Это несложно делается, куча мануалов есть по этому поводу.

Просто настройки студии, ничего дополнительно ставить не надо.
Аноним 26/05/21 Срд 16:36:25 2043835165
Какая же у pygame плохая документация
Аноним 26/05/21 Срд 16:41:11 2043846166
>>2043451
It is too late, Anon. I have seen everything.
Аноним 26/05/21 Срд 17:29:26 2043922167
>>2043307
Я пробовал как-то укус питона читать, вообще не понравилось. Эта как мне кажется намного лучше, хотя я уже писал выше об этом, меня работа со списками немного раздражала. Книга делится на две части, в первой рассказывают о питоне и есть практика в каждой главе, а во второй части ты делаешь несколько проектов, игрушку на pygame, и еще какие-то веб проекты с джанго
Аноним 26/05/21 Срд 17:43:06 2043951168
Аноним 26/05/21 Срд 20:25:34 2044225169
изображение.png 128Кб, 908x487
908x487
Годнота?
Аноним 26/05/21 Срд 20:38:22 2044241170
Аноним 26/05/21 Срд 21:06:13 2044262171
>>2044225
Оглавление есть на сайте?
Аноним 26/05/21 Срд 21:32:42 2044291172
>>2044225
Довольно интересная книга. Для новичка не подойдёт, но если уже с питоном знаком, можешь узнать кое-что новое. Есть, конечно, и устаревшие вещи, например про асинхронность, хотя может это в каком-то там издании пофиксили, но если не читать страницу за страницей, а только то, что тебе самому нужно - выбор хороший
Аноним 26/05/21 Срд 21:45:02 2044302173
>>2044291
Это второе издание, оно вроде даже этого года, а первое было в 2015. Может и пофиксили всё. С питоном уже знаком более менее.
Значит ты говоришь страницу за страницей лучше не читать, а выбирать конкретные темы?
>>2044262
Нет


В общем не нашел я ее на торрентах почему-то, так что наверное придется какую нибудь другую книжку выбирать
Аноним 26/05/21 Срд 21:58:58 2044310174
51OLsdBy8WL.SX3[...].jpg 51Кб, 385x499
385x499
>>2044225
Друг эту посоветовал
Аноним 26/05/21 Срд 22:16:55 2044320175
>>2044302
Что тебе мешает скачать её не с торрентов?
Аноним 26/05/21 Срд 22:29:06 2044331176
>>2044302
>Значит ты говоришь страницу за страницей лучше не читать, а выбирать конкретные темы?
Не очень правильный подход, ты дыры оставляешь, а эффективность обучения по книге резко теряется. С таким же успехом ты можешь просто читать отдельные страницы документации или примеры на стековерфлоу.

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

Откровенное легаси да, другая история. Наверное стоит пропустить, чтобы себя не сбивать просто. Пожалуй только про asyncio там легаси явное, это 18-я глава и в меньшей степини 16-я, которая подготовка для 18-й главы.
Аноним 26/05/21 Срд 22:30:22 2044334177
>>2044320
В ссылках шапки есть даже в переводе на русский язык, но первого издания, 2015 года.
Аноним 26/05/21 Срд 22:48:53 2044346178
>>2044320
> Что тебе мешает скачать её не с торрентов?
Эм, вроде после всех этих блоуировок только торенты и остались, я не слшыал о каком либо сайте с книгами, который бы работал через впн у нас (да, флибуста есть, но там английской технической литратуры по моему мало)
>>2044334
Так зачем мне протухшая книга 15 года? Первое издание я естественно находил, но вот второе не могу найти
Аноним 26/05/21 Срд 22:51:46 2044349179
>>2044331
> Не очень правильный подход, ты дыры оставляешь, а эффективность обучения по книге резко теряется. С таким же успехом ты можешь просто читать отдельные страницы документации или примеры на стековерфлоу.

Но... ведь..
> но если не читать страницу за страницей, а только то, что тебе самому нужно - выбор хороший

В общем я тебя понял, буду пропускать аккуратно главы
Аноним 26/05/21 Срд 23:00:31 2044362180
Screenshot2021-[...].jpg 486Кб, 1080x2340
1080x2340
Screenshot2021-[...].jpg 379Кб, 1080x2340
1080x2340
>>2044346
Не знаю какой жопой ты ищешь.
Аноним 27/05/21 Чтв 00:15:59 2044452181
изображение.png 55Кб, 192x220
192x220
Аноним 27/05/21 Чтв 00:29:17 2044468182
.png 99Кб, 824x568
824x568
Хулиганят старички.
Аноним 27/05/21 Чтв 03:54:12 2044513183
>>2044346
>>2044362
На сайте же пишет Released November 2021, на амазоне вообще декабрь. А спиздят так вообще уже в 2022, так что бери первое издание и не выебывайся, ну местами устарело чуток.
Аноним 27/05/21 Чтв 04:32:32 2044517184
Анонче, помоги, не знаю, как подступиться к задаче.
Есть одна консольная программа. Я ее пишу по работе для своих коллег, которые затем запускают ее локально на своих компах. В программу я иногда вношу обновления, и коллегам надо бы обновлять сорцы через git pull. Но беда в том, что коллеги - не разработчики, и рефлекса обновлять репозиторий у них нет. Как бы мне настроить программу так, чтобы, запускаясь локально, она проверяла, есть ли в репе гитлаба отличия от локалки? И если нет, то запускалась бы, а если есть - то гнала бы пользователя обновлять репу.
Я думал о чем таком: в мастер класть текстовый файл с номером версии. При запуске программа смотрит на этот файл и сверяет номер в нем с локальным номером - ну и дальше уже вся логика. Это реально? Или мб есть вариант проще?
Аноним 27/05/21 Чтв 04:37:26 2044518185
>>2044517
Просто запили "program_name upgrade" и скажи им, чтобы пробовали апгрейднуться перед началом работы.
Аноним 27/05/21 Чтв 04:51:48 2044521186
>>2044518
Хочу исключить человеческий фактор.
Аноним 27/05/21 Чтв 05:06:01 2044522187
>>2044517
Даешь коллегам всю директорию программы, вместе с .git. Саму программу делишь на два (или более) скрипта. Первый (основной) скрипт должен автоматически вызывать git pull при каждом запуске, и только после этого импортировать остальные файлы и запускать непосредственно программу.
Аноним 27/05/21 Чтв 09:00:37 2044574188
Аноним 27/05/21 Чтв 09:34:57 2044613189
Делаю первый проект, бэк на джанге, фронт Semantic UI (+ Vue.js если получится изучить, пока обычный jquery + js).
Нужна помощь с фронтом, частично его по требованиям реализовал, но некоторые вещи не получается подключить / непонятно как реализовать на js, т.к. нет опыта, изучаю 2 недели. Если у кого есть время/желание, напишите почту/телегу. Не бесплатно.
Аноним 27/05/21 Чтв 10:32:07 2044654190
.JPG 16Кб, 1289x168
1289x168
Аноним 27/05/21 Чтв 10:41:41 2044661191
>>2044654
Рандомный говнокод, ясно.
Аноним 27/05/21 Чтв 11:04:56 2044702192
>>2044654
Это тип официальная функция random в языке? Я просто новенький.
Аноним 27/05/21 Чтв 11:38:59 2044770193
>>2044702
Это официальный питон у тебя за щекой.
Аноним 27/05/21 Чтв 13:04:51 2044915194
Аноним 27/05/21 Чтв 14:23:09 2045038195
>>2044349
> Но... ведь..
Очевидно, что второе сообщение писал не я. Лично я читал эту книгу по главам. Иногда внутри глав встречались моменты, когда автор рассказывает о том, что я уже знаю, поэтому бывало и страницы скипал.
Короче говоря, читай так, как самому комфортно. Главное, хотя бы что-то прочитай.

>>2044291-кун
Аноним 27/05/21 Чтв 14:39:58 2045069196
Как в PyCharm настроить отображение времени, которое комп и IDE тратят на вычисление задачи?
Аноним 27/05/21 Чтв 17:39:04 2045323197
>>2044513
> так что бери первое издание и не выебывайся, ну местами устарело чуток.
Может лучше другую книгу найти? Ладно бы это была какая-то ультимативная 10/10 книжка для продолжающих изучать питон, аналогов которой нет, но это ведь скорее всего не так, наверняка что-то еще хорошее вышло за прошедшие 6 лет
Аноним 27/05/21 Чтв 17:40:59 2045325198
Пошарился по документации time модуля и не нашел как сделать так, чтобы был обратный отсчет, типа забиваешь такое-то количество секунд и когда они пройдут происходит действие какое-то
Аноним 27/05/21 Чтв 17:54:27 2045340199
>>2045325
Как ты это себе представляешь? Что будет происходить с основным потоком исполнения в это время?

Если тебе просто подождать, тогда просто
time.sleep(10)
do_something()

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

Вот ты, например, считаешь какой-то очень большой цикл, твоя программа должна его прервать? Или что?

Уже понимая это можно чего-нибудь предложить, или через модуль sched, или через потоки или asyncio.
Аноним 27/05/21 Чтв 17:57:09 2045347200
>>2045323
Не так много на самом деле изменилось, и не то, чтобы много книжек выпускают.

Книжку всё-таки сложно написать, кто этим заниматься будет?

Основное развитие питона с того времени:
1) asyncio
2) typing
3) по мелочам вроде контекстов, f-strings и др.

Но общего намного больше, тем более, что это книги всё равно про базу. Они не рассчитаны на то, чтобы учить тебя многопоточности и асинхронности, это слишком большие самостоятельные темы.
Аноним 27/05/21 Чтв 18:31:42 2045398201
>>2045340
Мне наверное подойдет просто подождать. Спасибо за ответ
Аноним 27/05/21 Чтв 18:48:42 2045419202
>>2045347
А сырую ерли аксесс версию второго издания стоит читать? которую анон кидал выше
Аноним 27/05/21 Чтв 18:52:20 2045424203
Какие различия между функциями, которые пишутся вот так example(data), и вот так data.example? Никак не могу разобраться в этом

data это какие либо данные, а example функция питона
Аноним 27/05/21 Чтв 19:59:21 2045518204
>>2045424
Ты про классы уже прочитал, про методы класса? Там в принципе твой ответ.
Аноним 27/05/21 Чтв 20:21:31 2045556205
81K7JHjczfL.jpg 630Кб, 1951x2560
1951x2560
Аноним 27/05/21 Чтв 20:26:16 2045569206
>>2045518
Получается то что просто со скобками это функция (типа print и т.д.), а после точки идут уже какие-то дополнительные методы у этой функции/класса?
Аноним 27/05/21 Чтв 20:41:04 2045585207
>>2045569
Когда ты например создаешь лист, ты пропихиваешь инфу в класс листов, твой лист становится объектом класса питон.лист и теперь ты можешь применять к нему методы этого класса, например append, pop, index и так далее.
Это же касается самодельных функций без класса или функции как метод твоего класса
Аноним 27/05/21 Чтв 23:16:50 2045792208
изображение.png 38Кб, 786x585
786x585
А разве без deque результат не будет таким же? Вроде как в списках и без этого можно можно аналогично добавлять и убирать элементы, точно так же с разных концов можно. В чем тогда смысл?
Аноним 27/05/21 Чтв 23:17:23 2045793209
image.png 216Кб, 608x680
608x680
image.png 262Кб, 1071x680
1071x680
Всем привет, говном не бросайтесь. Как хобби решил немного пошевелить мозгами вникнув хотя бы в азы и сразу хапнул лопату хуйцов.

Есть модуль sys, который про dir(sys) выдает гору переменных, которые он способен отобразить. Нехитрым кодом получаю список в норм виде, скажем так (пик 1).

print(dir.ХУЙНЯНЕЙМ) выдает значение этой переменной.

Ну думаю. Построю я вывод по примеру.
"Название_хуйни_нейм = значние_хуйни_нейм"

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

Хотел список заебенить типа
platform = джигурда
prefix = хуй
set_asyncgen_hooks = тебя ебет?
set_coroutine_origin_tracking_depth = 13
Подскажите куда копать, кому сосать?
Аноним 27/05/21 Чтв 23:30:51 2045824210
Аноним 27/05/21 Чтв 23:34:43 2045833211
Аноним 27/05/21 Чтв 23:36:26 2045839212
Здарова, бандиты.

Надо написать простой скрипт, который будет при выполнении идти на сетевой диск и записывать в текстовой файл или csv построчно список папок (их около180к получается) из указанной директории и полный путь к каждой папке, то есть каждая строка должна быть вида: id (просто счетчик строк), имя папки, полный путь к папке, комментарий (пустое поле).

С помощью гугла накидал такое, но соснул, потому что Path().absolute выдает мне по итоге не путь к сетевой папке, а путь к скрипту (то есть вместо z://папка/папка он выдает какой то бредовый путь типа c:\users\yoba\dekstop\целевая папка, хотя никакой папки по факту там нет и не было).

import os
from os import listdir
import Path from pathlib
for i in range(0,9):
f = open('D:/text', 'w')
l = (listdir("Z://Files/")
for index in l:
i = 0
i = i + 1
f.write(str(i) + ',' + index + ',' + str(Path(index).absolute) + ',' + str("commentary") + ',' + '\n')
f.close()

И это я еще тестил на папках своего диска, а как моя писанина воспримет 180 тысяч строк вообще хз.
В идеале, конечно, лучше бы писать сразу в csv или просто ячейки эксель, но с pyxl так и не разобрался, постоянная ошибка из за отсутствия прав на запись (хотя атрибут 'w' поставил).

Где я соснул, подскажите? Понимаю, что фигня примитивная абсолютно, можно это все наверное меньше, чем за 10 строк уложиться, но не программировал особо никогда.
Аноним 27/05/21 Чтв 23:40:43 2045859213
image.png 187Кб, 1920x1040
1920x1040
Аноним 27/05/21 Чтв 23:48:18 2045876214
Аноним 28/05/21 Птн 00:24:05 2045920215
Почему в джанге не работает наследование шаблонов? Какие могут быть причины если не учитывать ошибки в коде?
Аноним 28/05/21 Птн 01:15:41 2046004216
>>2045920
Отмена. Я разобрался.
Аноним 28/05/21 Птн 05:31:26 2046052217
Аноны, держатель SYNC-библиотеки книг по питону(и не только) итт.
Есть ли что свежее для заливки/обновления?
Есть ли пожелания/жалобы/идеи для книгохранилища?
Аноним 28/05/21 Птн 10:09:11 2046120218
>>2045069
я просто засекал на секундомере
Аноним 28/05/21 Птн 10:23:34 2046132219
Анончики, подскажите, как я могу проверять данные поинтервально? То есть, в массиве брать какую-то область (типа подмножества) и сравнивать её с условием????
Аноним 28/05/21 Птн 11:00:58 2046172220
>>2046052
>Есть ли пожелания/жалобы/идеи для книгохранилища?
Там бы не мешало отсортировать что-то и структурировать. Скажем лутца всего в один каталог и подписать, что это лутц. А то сейчас он и в корне, и где-то глубоко ещё закопан, причём в файлах с именем вроде "Изучаем питон. 4-е издание.pdf", по которым ни разу не понятно, что это.

Другие книжки тоже не мешало бы отсортировать, хотя бы подписать "автор-название-год издания"
Аноним 28/05/21 Птн 11:21:04 2046195221
>>2046132
???
a = list(range(100))
chunk = 9
from math import ceil
for i in range(ceil(len(a) / chunk)):
print(a[i chunk: i chunk + chunk])
Аноним 28/05/21 Птн 11:25:29 2046205222
Почему питон в соло - для заработка не применим?
Аноним 28/05/21 Птн 13:16:16 2046369223
Аноним 28/05/21 Птн 13:42:47 2046415224
>>2045792
deque оптимизирован под добавление и удаление элементов как в конец так и в начало списка: append, pop, appendleft, popleft выполняются за O(1) времени. Для list добавление в конец - append - выполняется за O(1), но добавление элемента в начало списка через insert(0, item) будет уже O(n), где n - текущая длина списка. Аналогично pop(0) потребует линейного времени.
Твой эксперимент с timeit это демонстрирует. Эффект объясняется тем, что list-ы в CPython реализованы через массивы, а не как односвязные или двухсвязные списки. У этого есть свой большой плюс - доступ к произвольному элементу выполняется за O(1).

https://wiki.python.org/moin/TimeComplexity
Аноним 28/05/21 Птн 15:01:26 2046538225
>>2046369
Он про то что у него представление будто в других языках не так как в питоне, типа достаточно знать как хуярить классы, функции и циклы в джаве чтобы уже пойти зарабатывать, в питоне же это почему-то считается только доступом к пользованию библиотеками, которые уже как бы и определяют чем ты будешь зарабатывать.
Аноним 28/05/21 Птн 15:39:20 2046629226
>>2046538
Ну он наверное про то, что на Питоне можно зарабатывать только или в связке с другими языками-инструментами или будучи математиком, ученым или дата саентистом.

Но как бы вот есть Ренпи, есть рынок 18+ и обычных визуальных новелл. И парни вполне зарабатывают. Это как 1 пример.
Аноним 28/05/21 Птн 15:45:32 2046644227
>>2046629
Ну да, только в других языках точно так же, ты как бы не синтаксисом зарабатываешь, только в отличие от питона другие языки более вжаты в свою роль, а питон как шлюха со всех хуев посасывает сразу.
Аноним 28/05/21 Птн 15:54:09 2046650228
Котаны, Питон начал изучать недавно, столкнулся с проблемой. Мне надо написать программу, которая считывает инфу из файла и чертит изолинии. Саму программу написал, но в результате вылазит дефолтное окно matplotliba, если надо изменить число изолинии, то надо лезть руками в код. Хотел воткнуть это окно в какой-нибудь графический интерфейс и прикрутить там кнопку с настройкой изолиний. Попытался в tkinter, но походу это не то. В идеале хотелось сделать что-то типа выбора в Surfere как на пикриле.
Аноним 28/05/21 Птн 15:56:07 2046655229
>>2046629
>>2046644
Пиздец, ищут какие-то ниши. Зайдите на апворк и посмотрите, полно всякой работы на питоне. Выбирай да делай.
Я даже на пхп делаю дохуя всякой работы, причем не связанной с вебом, лол. Подучил, потому что был и есть спрос.
Аноним 28/05/21 Птн 16:53:43 2046763230
Screenshot1.jpg 18Кб, 415x259
415x259
Аноним 28/05/21 Птн 17:36:12 2046836231
>>2046120
До сотых долей секунды высчитывал через секундомер?
Аноним 28/05/21 Птн 18:02:27 2046854232
Накидайте, пожалуйста, красивых слов, которые чаще всего спрашивают на собеседованиях у разработчиков python.
Аноним 28/05/21 Птн 18:12:33 2046857233
Помогите нубу:
pip install git+https://github.com/author1/project1.git#egg=project1

А в ответ:
ERROR: Could not find a version that satisfies the requirement project1 (unavailable)
ERROR: No matching distribution found for project1 (unavailable)

Щито не так?
Аноним 28/05/21 Птн 18:47:25 2046892234
>>2046655
А что есть на пхп не связанное с вебом?
Аноним 28/05/21 Птн 19:02:58 2046923235
Аноним 28/05/21 Птн 19:27:31 2046995236
Увожение.jpg 23Кб, 353x334
353x334
Аноним 28/05/21 Птн 20:25:22 2047113237
>>2046995
ну есть же способ с таймитами?
или он не оч?
Аноним 28/05/21 Птн 23:03:20 2047315238
>>2047113
import time
timer_start=time.time()
....
time_proebano=time.time()-timer_start
Аноним 29/05/21 Суб 00:01:21 2047403239
>>2047315
ну как он, норм помогает?
Аноним 29/05/21 Суб 04:38:28 2047646240
3f11fec7a13e19b[...].png 4Кб, 590x109
590x109
Начал ковырять джанго, написал небольшой сайтик, который отлично работал на локалхосте. Взял хостинг, установил туда питон, окружение, по фтп перелил все файлы и в итоге получил пикрелейтед. В гугле в основном про руби. В чем траблы?
Аноним 29/05/21 Суб 07:10:18 2047656241
Аноним 29/05/21 Суб 09:03:41 2047674242
Аноним 29/05/21 Суб 09:45:36 2047685243
>>2047646
Адреса нужно менять. Я так тоже когда-то запускал сайтик правда на WP, сначала на компе, потом на хостинге. И траблы были с адресами-ссылками всяких файлов настроек, которые нужно было менять.
Аноним 29/05/21 Суб 10:09:14 2047695244
Аноны мне надо сравнить два листа, с игнорированием некоторых элементов. Т.е. совпадают ли элементы с 1 и 4 индексом мне неважно, а вот остальное должно совпадать. Есть простые способы, или нужно колхозить цикл с проверкой индекса?
Аноним 29/05/21 Суб 10:17:46 2047699245
Ананасы, не сочтите за говноеда, но есть ли скажем так максимально-минимальный. Редактор для питона?
Какойнить Akelpad+Портативный питон. Я хуею с этих оболочек по 100-300 метров, которые ставят в систему гору ебанины для банального обучения. Я осознаю, что всю эту хуйню можно было загнать в 5-10 метров, а не в 100-300 с лагающим интерфейсом и горой блядских кнопок, которые даже разрабы этих IDE ниразу не жали. Хочу просто на флешке таскать эту хуйню с дома на работу и обратно, но не ждать пока эта залупа с флешки грузится полчаса, чтобы там в перерыв поиграться 15 минут.
Аноним 29/05/21 Суб 10:48:00 2047707246
>>2047699
vim на своей VPS и ssh доступ к ней.

>Хочу просто на флешке таскать эту хуйню с дома на работу и обратно,
Тебе оболочку в систему надо поставить только один раз. Впрочем никто не запрещает код хоть в блокноте набирать.
Аноним 29/05/21 Суб 10:48:18 2047708247
>>2047646
почему не развернул его через через хероку например?
Аноним 29/05/21 Суб 10:49:30 2047709248
>>2047695
срезами пробовал пользоваться?
Аноним 29/05/21 Суб 10:53:59 2047712249
Аноним 29/05/21 Суб 11:00:29 2047717250
>>2047709
Я не знаю где окажется нужный елемент. Т.е. может быть несколько массивов, с разными комбинациями.
[T,F,T,F,ANY]
[T,F,T,F,F]
MATCHED
Аноним 29/05/21 Суб 11:10:28 2047719251
>>2047717
Сформулируй конкретно, что тебе надо. Я думаю, в этом больше половины решения твоей задачи.

Аноним 29/05/21 Суб 11:18:39 2047731252
>>2047717
В общем твоя задача слишком нестандартная и поэтому вряд ли может быть решение проще, чем городить свой цикл
len(list_1) == len(list_2) and all(list_1 == list_2 for i in range(len(list_1)) if i not in [1, 4])
Аноним 29/05/21 Суб 11:19:20 2047733253
>>2047731
len(list_1) == len(list_2) and all(list_1[k] == list_2[k] for k in range(len(list_1)) if k not in [1, 4])
Аноним 29/05/21 Суб 11:41:00 2047751254
>>2047707
>максимально-минимальный редактор
>vim на своей VPS и ssh доступ к ней.
Ясно-панятно
Аноним 29/05/21 Суб 13:18:05 2047813255
>>2047699
Почему ты не можешь поставить минимальную IDE на рабочий комп?
Аноним 29/05/21 Суб 13:20:21 2047817256
изображение.png 13Кб, 709x276
709x276
>>2047709
>>2047719
>>2047731
Всё, спасибо разобрался.
Нашёл вот это:
https://stackoverflow.com/questions/12898804/python-list-of-booleans-comparison-gives-strange-results

И сделал через map(), где результат неважен использовал True or False, как элемент массива.

Там советуют numpy, но он в моейм случае он хуже map(), потому-что если ему отдать массивы разной длинны, он взрывается.
Аноним 29/05/21 Суб 15:13:00 2047987257
>>2047817
Взрывается? ват? поясни
Аноним 29/05/21 Суб 15:37:43 2048033258
>>2047656
>>2047674
Госпаде, откуда вы такие токсичные уебаны? На каждый нубский вопрос тут вылазят такие хуесосы обиженные со своими смехуёчками. Разве эта тема не для тупых вопросов новичков? Нахуй вы тут вообще сидите тогда?

Аноним 29/05/21 Суб 15:45:42 2048041259
>>2047708
Потому что я первый раз работаю с джанго и вообще хостингом. про хероку слышу первый раз от тебя.
Аноним 29/05/21 Суб 15:59:14 2048061260
PowerShell-logo.png 15Кб, 500x500
500x500
Хочу написать утилиту сбора информации о системе.
Хочу это реализовать как-то используя запросы или командлеты хуй знает как они там в windows powershell. Это имеет смысл? Что подскажете?
Аноним 29/05/21 Суб 16:05:05 2048068261
>>2048061
Так гугли свои хуйлеты, питон тут чисто клей будет.
Аноним 29/05/21 Суб 16:12:02 2048081262
>>2047685
Где?
У меня простой сайт, файлы проекта и файлы одного приложения. И там и там есть urls.py
Файл urls.py проекта выглядит так:
urlpatterns = [
path('', include('grab.urls'))
]
файл urls.py приложения:
urlpatterns = [
path('', views.index, name= 'home'),
path('media', views.redir, name='redirect')
]
Пробовал вместо ' ' и 'media' ставить прямые ссылки на домен - то же самое
Аноним 29/05/21 Суб 16:19:18 2048098263
>>2048081
Я хз где у тебя и что конкретно. Я все делал с WP, а это как ты понимаешь ни разу не Питон.

Но.

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

Или пиши в тех. поддержку хостинга.
Аноним 29/05/21 Суб 16:21:47 2048106264
>>2047987
ну ошибку возвращает, если массивы разной длинны, нужна дополнительная обработка, а с map, не нужна, он по возвращает сравнение по массиву минимальной длинны(сравниваем из 3 и 5, вернет 3 элемента).
Аноним 29/05/21 Суб 16:22:44 2048108265
>>2048061
я думаю питухон и так может получить все эти данные, какой смысл павершел корячить?
Аноним 29/05/21 Суб 16:26:38 2048114266
>>2048041
а. понял! ты сайты делаешь? как тебе джанго? мутота пиздец или норм?
Аноним 29/05/21 Суб 16:29:04 2048119267
Аноним 29/05/21 Суб 16:30:00 2048120268
Аноны. что за говно, на хероку не дает добавить редис бесплатно??
пишет типа - бесплатно, нажимаю добавить в проект он пишет - хуй на рыло тебе. че за ссанина?
Аноним 29/05/21 Суб 16:42:04 2048135269
>>2047699
Тебе уже написали, любой юпитер-ноутбук подобное, колаб гугла, даталор джетбрейнсов, каггл. Код писать можно точно так же, все библы или уже загружены сразу, либо ставятся автоматом. Я в принципе перешел на это все с пайчармов и сублимов.
Еще преимущество очевидное, все файлы всегда с тобой на гугл-диске, ты в любой точке планеты получаешь одну и ту же рабочую среду
Аноним 29/05/21 Суб 16:43:51 2048136270
>>2048033
Пчел, если ты заебошил себе хостинг, то должен уметь читать логи веб-сервера и сообщать что там написано или идешь просто нахуй.
У тебя не нубский вопрос, а долбобебский и тебе закономерно напихали хуев за щеку.
Аноним 29/05/21 Суб 18:07:30 2048247271
>>2048136
>если ты заебошил себе хостинг, то должен уметь читать логи веб-сервера
Это кто такое сказал? Ты просто собака обиженная, вот и тявкаешь просто так. Уверен, что я не первый, за чей счёт ты пытаешься самоутвердиться. На аиб. В питон треде.
Жалкое чмо.
Аноним 29/05/21 Суб 18:15:55 2048255272
Аноним 29/05/21 Суб 18:53:53 2048293273
>>2043072
Что конкретно использовал для написания? QT или какая-то узконаправленная библиотека?
Аноним 29/05/21 Суб 19:21:31 2048324274
Screenshot 2021[...].png 25Кб, 570x234
570x234
В пайчарме есть подсветка синтаксиса для css?
Куда нажать чтобы появилась?
Аноним 29/05/21 Суб 20:28:38 2048405275
Бесит шо питоша одно ядро тока юзает
Как ты его не еби не дрочи не выебывайся нагрузить проц - будет ебошить всё в одно ядро. Я прочел про всякие pypy и stakless сборки - всё одно и то же. 10% одно ядро и сиди жди.
Скажем заставить расчитать дико большое число в дико большой степени
print(99999999999999999999999)
Хуй тебе вместо быстрого расчета и нагрузке в 100% cpu/ я возьму 5 метров оперативы и буду дрочиться год на 10% проца, чем выжру всё шо есть и сделаю быстро
Поясните как заставить питон юзать всё железо.
Аноним 29/05/21 Суб 20:32:57 2048411276
>>2048405
>заставить питон
Не нужно тебе это. Пиши на ассемблере, раз гуглить не хочешь.
Аноним 29/05/21 Суб 20:36:44 2048413277
>>2048411
Ну чего ты ругаешься сразу. Я гуглил, узнал про все эти cpython и прочие реализации. Но или не так вопрос задаю или не там ищу.
Аноним 29/05/21 Суб 20:40:32 2048414278
Аноним 29/05/21 Суб 20:42:26 2048416279
>>2048405
Я заставил своего вялого вращаться у тебя за щекой.
Аноним 29/05/21 Суб 20:45:27 2048420280
>>2048405
бля макака звездочки спиздил
print(99999999999999999999999)
Аноним 29/05/21 Суб 20:45:41 2048421281
>>2048413
Под каждую задачу свои решения. Для вычислительных, например, есть numba, которая позволяет загрузить в некоторых задачах все ядра (опция nogil=True). Помимо того, что даже одно ядро так можно эффективнее загрузить.

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

На заниматься хуитой, поясняя что-то школотроллям, желания нет.
Аноним 29/05/21 Суб 20:45:52 2048422282
>>2048420
print(99999999999 ХХ 999999999999)
Аноним 29/05/21 Суб 20:59:33 2048442283
>>2048422
>print(99999999999 ХХ 999999999999)
С этой задачей numba не справится, поскольку она поддерживает только нативные типы, то есть уровня int64 примерно.

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

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

То есть проблема тут намного глубже, чем GIL питона.

GIL проблема, когда ты сам руками создаёшь треды, а потом страдаешь, что они всё равно параллельно не считаются. Но чтобы жаловаться, надо сначала пытаться треды создавать, а для этого изучать предмет.
Аноним 29/05/21 Суб 21:01:11 2048445284
>>2048442
Я изучаю, но спросить больше не у кого. Спасибо.
Аноним 29/05/21 Суб 21:21:27 2048466285
>>2048445
То число, которое ты привёл, для своей записи потребует несколько террабайт памяти.

Я ради интереса глянул. Вот если считать число вроде
9^1000000
то считается оно очень быстро, доли секунды. Но если попробовать сделать что-нибудь вроде print(len(str(result)), то там на 20 секунд работы.

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

В любом случае, параллельные вычисления это большая и сложная тема. Просто вычисления на питоне это большая тема, в сыром виде питон для этого не предназначен вообще, надо прикручивать математические либы или/и использовать jit-инструменты вроде numba.

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

Ну и естественно, цель главная не загрузить процессоры, а посчитать быстро. Лучше загрузить процессор на 10% и посчитать за 15 секунд, чем на 100% и считать при этом 30 секунд.


Аноним 29/05/21 Суб 21:29:12 2048474286
Бля видел недавно на курсах крутой пример про скорость вычислений, которая зависит от кривости кода.
Аноним 29/05/21 Суб 21:41:29 2048489287
ormdocs.png 1449Кб, 701x845
701x845
Я надеюсь тут есть джангисты.
Вкатываюсь значит в эту вашу Django Пытаюсь сделать запрос через orm но чет хуйня выходит.
В документации примеры вроде есть, но какие то не такие.
Допустим есть пример как выбрать книги и подтянуть автора. Но автор у книги один. А мне нужно сделать обратный запрос. Допустим есть 2 автора и у каждого по 10 книг. И мне нужно получить список из 2 автором у которых внутри можно пройти в цикле по книгам. И что то я не пойму. как это сделать. В документации ничего даже близкого не нашел. Может знает кто как это сделать или хотя бы по каким словам искать?
Аноним 30/05/21 Вск 00:21:49 2048676288
Аноним 30/05/21 Вск 00:48:55 2048702289
>>2040069
Я бота написал на селениуме, который чеках наличие пс5 в магазинах и уведомлял меня в телегу
Аноним 30/05/21 Вск 01:45:20 2048736290
Снимок экрана 2[...].png 13Кб, 329x60
329x60
Короче есть два файла и IDE pyacharm актуальная
autostart/main.py
common/common.py

первый файл основной и исполняется, второй модуль с "общими функциями"
в первом делаю
sys.path.append('../common_modules/') # мне надо чтобы он брал по такому пути, скрипт может переноситься между компами
from common import *

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

Аноним 30/05/21 Вск 07:01:15 2048783291
>>2048736
Никак, он статически анализирует и не находит такой модуль.
Наведи на строчку и там есть опция ignore unresolved.
Аноним 30/05/21 Вск 07:24:27 2048785292
Screenshot1.png 14Кб, 998x548
998x548
Пытаюсь реализовать интерфейс с помощью tkinter, получится разбить на два фрейма? Типа наверху должен быть график, который строит функция из matplotlib'a . В нижнем фрейме можно же через grid разбить на три подокна?
Аноним 30/05/21 Вск 07:31:37 2048786293
Питонач, а когда можно считать, что вот, я выучил питон? Вот допустим сейчас где-то наполовину осилил второй том лутца, ориентируюсь во питоновских структурах данных более-менее понимаю принцип работы классов и всей хуйни со всей хуйней. Офк остаются некототорые моменты, которые я вкурил не до конца (аля args, kwargs, рекурсивные функции, и прочие приколы), но как будто это вопрос практики и недели за две можно будет это все добить. Вот собсна, дочитаю я этого лутца ебаного, параллельно дроча задачки. И куда дальше? То есть например, я хочу еще попердолить SQL посидеть, потому что он нужен примерно везде как я понял. Вот после какого момента переключаться на этот SQL ебаный?
Аноним 30/05/21 Вск 08:11:54 2048790294
>>2048786
Пердоль sql через орм.
Аноним 30/05/21 Вск 09:12:13 2048797295
>>2048786
>когда можно считать, что вот, я выучил питон
Когда ты умеешь найти ответ на любой вопрос в Python API Reference
Аноним 30/05/21 Вск 11:04:38 2048831296
>>2048702
ты перекуп?
или просто хотелось новую консольку?
Аноним 30/05/21 Вск 11:39:45 2048870297
>>2048489
Точно не помню, вроде так должно работать.
По id автора:
Books.objects.filter(author__in=[1,2]
По полю в модели автора:
Books.objects.filter(author__name__in=['pushkin', 'kalatushkin'])
Аноним 30/05/21 Вск 11:53:32 2048911298
>>2048783
только этот загноит или вообще все ошибки где не видит?
Аноним 30/05/21 Вск 11:59:37 2048925299
>>2048911
как то есть возможность обойти? свой пакет сделать?
Аноним 30/05/21 Вск 13:08:53 2049024300
photo2019-03-15[...].jpg 90Кб, 900x672
900x672
Опять выхожу на связь, оказалось то что я придумал не работает(запись вида True or False, схлопывается внутри массива). Ещё раз реквистирую способ сравнить два массива, но при этом игнорировать некоторые элементы при сравнении. Например:

[1,2,3,ИГНОРИРУЕМ,1,2,3]
и
[1,2,3,99999999,1,2,3]

MATHCED!

Сто процентов должен быть где-то инструмент для этого.
Аноним 30/05/21 Вск 13:22:09 2049053301
image.png 68Кб, 512x768
512x768
Доброго дня.
Делаю задание на sqlalchemy, нужно считывать строки из таблицы и писать в json.
Как сделать возвращаемый sqlalchemy результат json serializable?
Описание класса на скрине. И как результаты считываю тоже на скрине ниже.
Если не будет метода dict, ошибка
>TypeError: Object of type User is not JSON serializable
Если он есть, то ошибка
ЮTypeError: 'method' object does not support item assignment
Единственное, что нагуглил, это объявить в классе метод, который возвращает словарь, и применять его к результатам построчно, типа:
>[r.get_dict() for r in result]
Вот тогда все нормально работает, но это выглядит как-то костыльно, может у sqlalchemy есть встроенные способы сделать сериализацию?


Аноним 30/05/21 Вск 15:31:21 2049203302
Аноним 30/05/21 Вск 16:02:37 2049260303
Screenshot 2021[...].png 114Кб, 1846x640
1846x640
Аноним 30/05/21 Вск 16:07:51 2049273304
>>2049260
Выглядит охуенно, кидай.
Аноним 30/05/21 Вск 16:22:05 2049296305
>>2049273
Могу начать выкачивать курс. Только надо куда-то его закидывать. Облака какие-то. Есть идеи?
Аноним 30/05/21 Вск 16:23:05 2049299306
>>2049296
На рутрекер, может? Заодно не только двачу поможешь, но и человечеству в целом.
Аноним 30/05/21 Вск 16:33:31 2049318307
Аноним 30/05/21 Вск 16:40:49 2049337308
>>2048786
Когда ты можешь решить и закодить любую проблему подвластную условному мидлу и у тебя не возникает мысли "ебать тяжело, я это еще не проходил". И вообще нет такого "выучил питон", ты выучи какой-нибудь фреймворк и делай на нем проекты.
Представь например что есть дата-саенс и машинное обучение в нем. Там код зачастую без единого даже цикла, чисто команды к пандас, нимфи, матплотлибу и тенсорфлоу. В джанге какой-то свой код будет, я не шарю.
Я могу ошибаться, но мне кажется в 2021 погружаться в дебри питона, учить его делать всякие сложные штуки и эксклюзивные решения это проеб времени, особенно на вкате, тебе надо упереться в конкретный инструмент что тебя интересует и подтягивать питон чтобы с этим инструментом не было затупок.
И вангую опять же, что можно найти какой-нибудь кусок интервью Линуса где он говорит что так до сих пор и не выучил С, ну как пример тебе
Аноним 30/05/21 Вск 17:01:59 2049379309
>>2049299
>>2049318
Блин. Там в видео наверняка вшита куча тэгов для идентефикации. Чето я очкую.
Аноним 30/05/21 Вск 17:23:55 2049430310
>>2049024
Какие элементы игнорировать? Типа четкую позицию, ну так просто выключай zalupa[3] в твоем случае. Можешь его заранее убрать. Если это число какое-то оче большое, то сравни с предыдущим, если разница больше какого-то порога, то в цикле пропуск.
Ты определись сначала чего хочешь
Аноним 30/05/21 Вск 17:35:48 2049458311
>>2048831
Просто консольку хотелось, мог у перекупов взять, но принципиально не желал так делать
Аноним 30/05/21 Вск 17:39:31 2049471312
>>2049024
Берешь и поэлементно сравниваешь. Если у тебя числа с плавающей точкой, то для игнорируемых элементов вставляй в первый массив значения не являющиеся числами (бесконечность например). Для целых можно передавать список индексов игнорируемых элементов.
Аноним 30/05/21 Вск 17:52:46 2049508313
Аноним 30/05/21 Вск 19:55:12 2049694314
Дорогие анонимы, можно ли значения функции как-то сохранить в список?
Аноним 30/05/21 Вск 20:04:21 2049711315
Есть у кого нибудь опыт разработки приложений под андроид, и выкладывание их в маркет? Возможно даже с исползованием kivy

Аноним 30/05/21 Вск 20:07:05 2049720316
>>2049260
А зачем оно вообще нужно? Всегда бесили эти записи курсов где вещает "препод" для десятка людей, которые пердят в микрофоны и задают какие-то свои вопросики, потом им одну тему объясняют два часа? И обязательно начнуться какие-то проблемы со связью или что нибудь подобное. Ниикогда подобного не понимал
Аноним 30/05/21 Вск 20:19:39 2049751317
>>2049458
и правильно, они лупят пиздец! алсо купил консоль или как?
Аноним 30/05/21 Вск 20:24:04 2049761318
Desktop 2021.05[...].mp4 30159Кб, 1920x1080, 00:00:18
1920x1080
>>2049337
в джанге ксс и штмл прут как не в себя
нужно параллельно с питоном срать штмл и ксс кодом
Аноним 30/05/21 Вск 20:39:55 2049806319
>>2049024
Ну я бы зипанул, отфильтровал, анзипнул и сравнил целиком.
Аноним 30/05/21 Вск 22:18:32 2049946320
изображение.png 26Кб, 595x300
595x300
Вспомогательные функции в классе должны создаваться с таким же отступом как и обычные? Просто я думал, что их надо создавать в теле функции для которой они будут использоваться, но так ничего не работало
Аноним 30/05/21 Вск 22:42:03 2049979321
изображение.png 258Кб, 1158x819
1158x819
Как в pygame сделать так, чтобы Rect изображения заполнялся фоновым цветом?
Аноним 30/05/21 Вск 23:18:27 2050003322
>>2049946
Если ты создаёшь их в теле функции, то не забывай, что их надо создать до того, как ты их начинаешь использовать.

Вспомогательным функциям не нужен self. По крайней мере в этом случае, где ты self не используешь, у тебя именно функции, а не методы.
Аноним 30/05/21 Вск 23:25:43 2050008323
>>2048786
>Офк остаются некототорые моменты, которые я вкурил не до конца (аля args, kwargs, рекурсивные функции, и прочие приколы),
Это ты на очень начальном уровне. Работа с args/kwargs это вот совсем такие базовые вещи.
Аноним 30/05/21 Вск 23:46:15 2050015324
>>2050003
Получается можно их и в теле метода создавать, и просто в теле самого класса вместе с остальными методами?
Аноним 31/05/21 Пнд 00:23:16 2050037325
>>2049337
>И вообще нет такого "выучил питон"
Выучить питон - это когда ты больше не ужасаешься от кода, который написал год назад.
Аноним 31/05/21 Пнд 00:30:56 2050041326
>>2050037
Нет, это значит стать великим программистом, это куда больше, чем один питон.
Аноним 31/05/21 Пнд 00:42:19 2050055327
>>2050041
>Нет, это значит стать великим программистом, это куда больше, чем один питон.
Это уровень обычного мидла с 2-3 годами опыта.
Аноним 31/05/21 Пнд 06:54:50 2050138328
Оффтоп.
Аноны, кто получал доступ к АПИ Твиттера? Что и как им надо написать, чтобы они дали ключи? В описании приложения писал, что хочу просто попробовать их АПИ - отказ. Писал, что в научных целях - отказ. По фану - отказ. Сцуко анально отгородились и не пускают поиграть.
Аноним 31/05/21 Пнд 07:46:56 2050148329
>>2050138
Они даже Трампа забанили, а тебя и подавно нахуй пошлют.
Аноним 31/05/21 Пнд 09:52:08 2050202330
>>2050138
Они кранйе подозрительно относятся к юзерам, просто сидящим в Твиттере из-под постсоветских IP или телефонных номеров, чего уж говорить про просящих доступ к API. Пробуй левый западный номер и VPN.
Аноним 31/05/21 Пнд 09:59:37 2050206331
изображение.png 8Кб, 517x75
517x75
Есть программа. она разнесена на две функции, которые запускаются в разных потоках
Как сделать так, чтобы код одного потока вызывал функцию из другого потока и передавал туда данные?
Аноним 31/05/21 Пнд 10:19:32 2050220332
>>2050138
Напиши, что делаешь проект по гендерному равенству и тебе нужен анализ твитов на эту тему
Аноним 31/05/21 Пнд 12:41:18 2050369333
Нубовопросы:
Где хранить изображения и файлы, привязанные к юзеру? Создать под них отдельный каталог на диске и дать ссылку в базе данных или можно хранить сразу в базе (к примеру Mongodb)?
Аноним 31/05/21 Пнд 14:21:05 2050463334
>>2050369
Хранишь файлами, в базе хеш, бонусом дедупликация.
Аноним 31/05/21 Пнд 14:38:33 2050493335
А где находятся люди, которые делают ботов в телеграме? Тут можно спрашивать вопросы про это?
Аноним 31/05/21 Пнд 14:40:13 2050498336
>>2050493
Если твой бот просто выдает какую-то инфу какого-то конкретного толка, то сюда, если у тебя бот-пиздилка или генератор склеенных из куском нейро-волков, то тебе наверное в машоб тред
Аноним 31/05/21 Пнд 14:54:13 2050515337
image.png 7Кб, 877x38
877x38
>>2050498
Не-не-не, пока все просто. Конкретный вопрос по телеграм апи, который я не смог нагуглить. Слушайте.
Я отправляю картинки по URL. Проблема в том, что когда картинка узкая и длинная, как мой пикрил (не мой код, просто пример из соседнего треда), то телеграм отправляет его не как файл, а как документ.
Соответственно, когда я вызываю bot.send_photo, оно валится с ошибкой
>A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: wrong file identifier/HTTP URL specified

Мне нужен какой-то способ проверить, что картинку можно отправить как фото, а не как документ.
Проблема еще и в том, что в идеале я хочу отправлять картинки не поштучно, а через send_media_group, то есть о том, что все упало, я узнаю только при попытке отправки группы.
Аноним 31/05/21 Пнд 15:03:54 2050549338
image.png 11Кб, 295x80
295x80
>>2050515
>не как картинку, а как документ.
Аноним 31/05/21 Пнд 15:10:03 2050563339
>>2046655
Все эти фриленс биржи бесполезны без прокачанных годами аков с высоким рейтингом и портфолио. Думать что там ноунеймов будут заваливать заказами ужас наивность на грани детства.
Собственно поэтому в сети зарабатывают те кто успел вкачать аки за 10е, а остальные сосут банан. Особенно после пандемии.
Аноним 31/05/21 Пнд 15:28:32 2050607340
bf6.jpg 19Кб, 340x527
340x527
image.png 9Кб, 424x30
424x30
Аноним 31/05/21 Пнд 15:35:13 2050625341
15409261667890.png 1501Кб, 1920x1080
1920x1080
Аноним 31/05/21 Пнд 16:14:42 2050703342
11.jpg 55Кб, 581x567
581x567
Даров, двач.
Перекатываюсь к вам с плюсов, ибо хер с ними найдёш работу в Беларуси. Записался на тренинг, там финальный таск -- консальный рсс ридер. Вот вроде просто всё, хотя объём данных которые надо быстренько выучить запредельный. Написал прогу, что-то стартовое, за 3 дня, а как тестить не понимаю. Вот просто в голову не приходит как эту хуйню тестить, уже 4 часа просто смотрю/читаю гайды по unittest/pytest/nosetest/zalupatest, а идеи чё делать нету.

Не знаю насколько адекватно просить помощи в интернете, вроде задание то самому надо делать, но буду думать что это считается как поиск решения в интернете :)

Если вам не впадлу, гляньте код: https://github.com/UrekMazin0/PythonFinalTask/tree/main/rss_reader
Можете посмотреть откуда форнулся, мне не зазорно вообщем то, питон полтора месяца учу.

Основной вопрос, как это тестировать, чем подробнее, тем лучше. Ну и если напишите, почему я говно, и код мой не лучше, буду благодарен
Аноним 31/05/21 Пнд 16:22:26 2050721343
>>2050703
нда, забыл, комменты там хуета хуетой, сделаны что б я после попойки не забыл что писал, вот в кратце:

app_logger -- пару функций, вызываю в других модулях getLogger и по идее получаю ссылку на один и тот же логгер. К нему пернаментно привязан один streamhandler и один filehandler

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

parser_debug -- класс где сделал что-то для парсинга параметров терминала

reader -- main откуда всё за ниточки дёргается

debug -- УБОЖЕСТВО, ЗАКОМПЛЕКСОВАННЫЙ НЕДОНОСОК - БУКВОЕД. надо удалить нахуй, не помню зачем создал и что проверял

Ещё разок, я понимаю как тестить ебаную функцию add(a+b), но я не понимаю как тестить приватные методы класса, вот вообще не доходит что-то. Мб туплю, мб тупой, мб сложно. В общем буду благодарен за любую помощь
Аноним 31/05/21 Пнд 16:24:35 2050727344
>>2050703
>Перекатываюсь к вам с плюсов, ибо хер с ними найдёш работу в Беларуси

а как же варгейминг
Аноним 31/05/21 Пнд 16:30:25 2050748345
>>2050721
Ты зачем бухаешь, алкоголь же аргонизм разрушает...
Аноним 31/05/21 Пнд 16:43:32 2050771346
>>2050748
Уже давно не пью, это там скорее был речевой оборот.
Аноним 31/05/21 Пнд 16:45:03 2050774347
>>2050727
Хз, плюсовики, начиная от Милла, везде нужны, по крайней мере мне так видится. Джунику тяжелее, намного тяжелее чем в других языках. А в Беларуси темболее
Аноним 31/05/21 Пнд 17:20:55 2050839348
Screenshot from[...].png 19Кб, 579x216
579x216
>>2050721
Неохота вникать. А почему бы код на картинке не написать как
def news(self, limit):
____return [<asterisk>islice(self.channel_items, limit)]

где <astrerisk> это звезда, которую имиджборды съедают?

А с учётом того, что у тебя channel_items это список и только список, можно сделать
____return self.channel_items[0:limit]
Аноним 31/05/21 Пнд 17:23:51 2050848349
Screenshot from[...].png 28Кб, 582x216
582x216
>>2050703
А вот здесь ты специально в цикле 100500 раз создаёшь файл, а потом его перезаписываешь? Не жалко свой диск насиловать?
Аноним 31/05/21 Пнд 17:50:22 2050915350
>>2050839
Хм, а вот не подумал, спасибо, попробую щяс
Аноним 31/05/21 Пнд 17:51:32 2050919351
>>2050848
Ссд жалко :( А если серьезно , то да, очень нубская хуйня, 100 лет назад ушел от этой ловушки, но вот снова попался на питоне. Спасибо
Аноним 31/05/21 Пнд 18:01:41 2050930352
Аноним 31/05/21 Пнд 21:42:34 2051240353
>>2050848
>>2050919
Объясните в чем здесь ошибка, как перестать здесь создавать в цикле сотни раз файл?

мимо нуб
Аноним 31/05/21 Пнд 21:58:35 2051260354
>>2051240
Конструкция file>>2051240
Конструкция open("name", "mode") as file
Создаёт объект класса, работающего с файлом, и возвращает ссылку на него в переменную file. Здесь в цикле создавался этот объект, что в общем то считается залупой, и так работать не должно.
Мимо автор этой херни, написал то что подумал, в Гугле мб правильнее оасскажут
Аноним 31/05/21 Пнд 21:59:33 2051263355
>>2050848
Бля, если я ещё и файл не закрывал, вот это я конч. Писал ночью усталый
Аноним 31/05/21 Пнд 22:03:02 2051270356
>>2051263
Он же сам закрывает если ты "with" прописал, только без with нужно явно прописывать закрывать файла
Аноним 31/05/21 Пнд 22:06:25 2051275357
>>2051260
А как нужно? Еще до цикла файл открывать? Или в цикле назначать нужные данные в какую-то переменную, а после цикла уже добавлять в файл?
Аноним 31/05/21 Пнд 22:12:08 2051283358
>>2051270
Ну тада норм, значит где-то я это скомуниздил
>>2051275
Ну на абстрактном языке:
Открыть файл
В цикле:
Взять нужный item, записать в конец файла
Закрыть файл.

Как альтернатива
Открыть файл
В цикле:
Взять item, добавить его в массив Array
Записать весь Array в файл
Закрыть файл

Ну это все упрощённо
Аноним 31/05/21 Пнд 22:14:45 2051286359
>>2051275
Естественно, надо вне цикла файл открывать. Просто подумай, зачем тебе файл писать, и тут же переписывать его?

делай
news = self.channel_items[:limit]
with open("news.json", 'w') as file:
____file.write(json.dumps(news, indent=4))

или вариант

news = self.channel_items[:limit]
data = json.dumps(news, indent=4)
with open("news.json", 'w') as file:
____file.write(data)

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

Разница между двумя вариантами в том, что если по какой-то причине при json.dumps будет исключение, то файл создан не будет. В первом случае будет создан пустой файл, а если был до этого какой-то, то он уничтожится.

Иногда эти вещи важно контролировать, хотя надо смотреть, возможна ли такая ситуация в принципе, или нет. Чаще невозможна.
Аноним 31/05/21 Пнд 22:21:04 2051293360
>>2051286
О, надо разобраться в методе json.dumps. Вообще питон радует разнообразием конструкций
Спасибо, мимо автор ориг кода, не парень, спрашивающий про файл
Аноним 31/05/21 Пнд 22:24:49 2051298361
Пиздос, ждем обсуждения хелловорлдов.
Аноним 31/05/21 Пнд 22:30:52 2051304362
>>2051298
Что лучше, attr+cattr или pydantic?
Аноним 31/05/21 Пнд 22:40:47 2051310363
>>2051293
А на каком языке ты до этого писал? НА каком уровне его освоил? Почему на пистон решил перейти?
Аноним 31/05/21 Пнд 22:42:23 2051313364
>>2051298
Покажи в название треда строчку "Только для сеньеров помидоров". Если такая есть, то хорошо, мы все уйдем и оставим вас профессионалов тут одних, будете восторгаться друг другом и задавать только умные вопросы
Аноним 31/05/21 Пнд 22:48:43 2051321365
>>2051310
Хз зачем тебе это
С++, иногда, когда стоило подергать за ниточки низкоуровневость(да, прям ниже чем плюсы), писал на С, подключая к плюсовым программам и вызывая функции. А, ещё когда для микроконтроллеров писал, тоже С юзал, правда там своя атмосфера.
Ну QT, хотя это и фреймворк, но там свой язык по сути, это вообще не плюсы в их базовом или типичном понимании. ООП во всей красе. Довольно приятный фреймворк, к слову

Хз на каком уровне освоил. Наверное на том самом уровне, с которого видно всю необъятность материала, то понимание, что я в мире плюсов букашка заморенная и знаю примерно нихуя. И никогда в общем то всеп лбсы не пойму

Перехожу потому что универ заканчивается, в Беларуси плюсы нахуй никому не всрались, практически, а сидеть на шее у родителей не хочу. Был выбор между шарпом, джавой и питоном, нравились все яп, но я тогда opencv увлекался и решил вот месяца 2 назад вкатиться а питон
Аноним 31/05/21 Пнд 23:02:21 2051335366
>>2051310
>А на каком языке ты до этого писал?
Он, кстати, написал:
>>2050703
>Перекатываюсь к вам с плюсов,

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

Ремарка сразу - в таком стиле классы по-моему ни на каких платформах не принято называть, в том числе на питоне.
Даже pep8 рекомендует функции и методы называть как
def feed_container():
а классы в стиле
class FeedContainer:

глаз режет.

Не то, чтобы прямо совсем ужасно, снаружи смотрится как функция-фабрика, которая возвращает объект
feed = feed_container(url=parser.args_Space.source, args=parser.args_Space)

Тестировать сети довольно сложно, слишком много зависит от сети. Вообще мне кажется, что лучше разделять часть, что отвечает за сеть/транспорт, и часть, что отвечает за логику приложения. Логику уже можно при желании обложить тестами. А транспорт можно использовать разный. Хотя это актуально для больших приложений.
Аноним 31/05/21 Пнд 23:11:28 2051342367
>>2051335
У меня просят тесты на курсах, поэтому хочу их сделать, ну хотя бы для вида.
Класс я в начале так и назвал, потом переименовал, прочитав что-то где-то :) Вообще, к слову, тяжко это. В плюсах есть общепринятые практики, но нигде не найдёшь мануала, принятого офф. комиссией, как pep8. До сих пор привыкаю, хотя это и удобнее.

Хм, да, тут ты прав, я уже после того как написал понял, что было бы лучше разделить логику сети и хранения данных. А что ты под транспортом подразумеваешь? Способ вывода в консоль/файл?
Аноним 31/05/21 Пнд 23:15:57 2051346368
>>2042426
Pro можно "поломать" на линухе, если пошаманить файлы в /home/~
Сейчас уже не пользуюсь жидбрейнс, но раньше так и делал
Аноним 31/05/21 Пнд 23:19:51 2051350369
>>2051335
Ещё одно, у меня в целом то вопрос был скорее про тесты методов класса.
Есть у меня скажем
class Foo:
__init__(self):
raise Exception

__boo(self):
raise Exception

и как должен выглядеть, скажем, тест, отлавливающий эти эксепшены.
Аноним 31/05/21 Пнд 23:24:37 2051353370
>>2051321
> Хз зачем тебе это
Просто интересно
> Был выбор между шарпом, джавой и питоном, нравились все яп, но я тогда opencv увлекался и решил вот месяца 2 назад вкатиться а питон
Я вот в сторону шарпа поглядываю, сейчас кажется, что это в принципе неплохой и вроде даже несложный язык, но уже пайтон надо добить хоть до какого-то вменяемого уровня, а не перескакивать на что-то другое, так что на будущее оставлю си#
Аноним 31/05/21 Пнд 23:24:41 2051354371
>>2051350
def проебал?

Берешь и без задней мысли отлавливаешь
Только это должно быть не Exception а MyAwesomeExceptionClass
Аноним 31/05/21 Пнд 23:50:10 2051377372
>>2051354
да, def проебал
Да просто непонятно, как мне проверять эксепшены, вызванные неправильными аргументами командной строки. (Да, при вызове с неправильными параметрами я генерю исключение, хз насколько это правильно)
Типа, класс не принимает никаких входных параметров. Параметры CL берет с помощью инструментов argparse. Внутренние методы, та же валидация, в которой львиная доля всех моих проверок, тоже не принимают параметры. Тобишь я не очень понимаю как написать для этого тест

Эх, если бы можно было просто написать тест, который бы вызывал мою прогу с разными параметрами.
ТАК БЛЯТЬ СТОП. А насколько адекватно будет, если я буду вызывать свою функцию main() в тестах, но вводя в неё тестовые параметры, и отлавливать исключения из модуля, которых подлючался к main файлу?
Аноним 31/05/21 Пнд 23:55:48 2051386373
>>2051377
>проверять эксепшены
В этом и есть суть отладки, але
Благо в Пистоне продвинутое семейство эксепшнов, да и свои можно и нужно определять

>неправильными аргументами командной строки
Только вот что значит "неправильный" в курсе только ты. Ни я, ни прога этого не знаем
Аноним 01/06/21 Втр 00:01:39 2051393374
>>2051386
Да не, она всё вполне может знать.
К примеру, если в параметр записать
-limit "govno"
Я вполне могу проверить тип, что он не int , и кинуть говно эксепшн. У меня ж вопрос насколько это бы было вообше адекватно, генерить эксепшн вместо обычного
print("ti govno")
sys.exit

И если это адекватно, как мне такое протестить, если класс получает всю инфу не аргументами, а долбаным argparse
Аноним 01/06/21 Втр 00:04:52 2051394375
>>2051393
Извечный вопрос, что ты хочешь: бросать эксепшн или возвращать None из функции (1е кстати везде предпочтительнее)? Хочешь оставлять Traceback? Лог об ошибке? Это все на твой выбор

>если класс получает всю инфу не аргументами
Так argparse и конвертируется в эти самые аргументы. Интерфейс ебана
Аноним 01/06/21 Втр 00:21:49 2051410376
Петян, я всегда обходил эту тему стороной, меня просто воротило от этой хуйни, но сейчас придётся занятся. Короче, надо прочитать несколько аттрибутов из одного элемента xml файла, потом надо добавить один элемент в одно определённое место в этом xml, а затем записать xml на диск.

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

Какую ебанину лучше использовать ElementTree vs. Minidom если оставаться только в рамках стандартной библиотеки? Во что вкатываться? Плюсы, минусы, подводные камни?


Аноним 01/06/21 Втр 00:22:02 2051411377
>>2051394
блеа, не понимаю, у меня ощущение что ты просто на более высоком уровне и я не могу донести мысль

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

Вот смотри, есть у меня метод
def Foo(x)
___try:
______if type(x) == str
______raise SomeCoolException
___except SomeCoolException:
______print("jopa")
___else:
______return x

И вот такой тестик

class MyTestCase(unittest.TestCase):
def test1(self):
self.assertRaises(SomeCoolException, Foo("govno")

Вот, всё нормально вроде, должен тест норм сработать.

Но хуета в том, что мой класс работает с аргументами командной строки, которые просто берутся при инициализации argparse.parseArgs(). И я не понимаю как мне написать тест, которые проверяет, не ёбнется ли моя прога введя пользователь --limit 90000000. Просто потому что как мне это число вообще бля запихнуть в тест, мой класс не принимает аргументов.




Аноним 01/06/21 Втр 00:25:47 2051415378
изображение.png 38Кб, 576x547
576x547
Делаю задание по книжке и немного запутался в коде. Откуда в нижней функции берется event.key? Меня смущает то, что он без "pygame.", а значит должен где-то в моем коде быть указан по идее, раз он не из библиотеки. Или он берется из цикла for верхней функции где всё делается через переменную "event"?
Аноним 01/06/21 Втр 00:29:37 2051416379
>>2051415
ну ты кидаешь объект event, и в нём есть метод key. Вот и всё. Кинешь объект, у которого нет такого метода, будет бобо.
Аноним 01/06/21 Втр 00:33:56 2051418380
>>2051411
Запихнуть ты можешь через sys.argv
Сделать
sys.argv = ['my_prog.py', '--limit', '900000000']
и твой парсер будет думать, что ты вызвал прогу с параметрами --limit 900000000
Потому что парсер читает по-умолчанию sys.argv, который от перезаписи не защищён.

Насколько вот это именно для тестирования через фреймворки корректно - вопрос. pytest вроде глотает.
Аноним 01/06/21 Втр 00:37:01 2051421381
>>2051410
Ещё есть lxml, вроде очень быстрая. Я ей пользуюсь, но правда только для парсинга. Насколько ей удобно править документы не скажу, не пробовал. Вроде должна уметь.
Аноним 01/06/21 Втр 00:37:57 2051424382
16224963482180.png 54Кб, 576x392
576x392
>>2051415
можешь не благодарить
Аноним 01/06/21 Втр 00:38:16 2051425383
>>2051342
>У меня просят тесты на курсах,
А какой фреймворк у тебя просят? unittest, pytest, или что-то ещё, может тупо руками через assert?

Аноним 01/06/21 Втр 00:38:17 2051426384
>>2051418
ага, вот про этот способ не знал. Попробую на нём написать костылики, уж это я люблю и умею, спасибо
Аноним 01/06/21 Втр 00:38:20 2051427385
>>2051416
Может у меня совсем голова не работает к ночи, но я до конца понять не могу этот момент. Этот метод взят получается из библиотеки pygame?

Или раз это вспомогательная функция, то event ей вернет та функция что вызовет ее (то есть _check_events)? Она получается автоматически имеющееся у нее значение вкладывает во второй аргумент?

Ой, ладно, спать пойду, завтра попробую разобраться откуда этот .key берется
Аноним 01/06/21 Втр 00:39:02 2051428386
>>2051425
Не, тут никакой конкретики, по моему. Русское поле экспериментов в общем, бери что хочешь
Аноним 01/06/21 Втр 00:39:14 2051429387
>>2051421
Про lxml помню, но надо б без лишних зависимостей.
Аноним 01/06/21 Втр 00:40:31 2051431388
>>2051424
Спасибо, ну я и затупил
Аноним 01/06/21 Втр 00:43:03 2051433389
>>2051427
Я недавно на питоне, поэтому так и предположил.

В плюсах с этим проще,
void Foo(type ClassObject)
{
___ClassObject.Boo();
}

И если у объекта класса с данным типом нет такого метода, ты пойдёшь нахуй глубоко и надолго.

В питоне, насколько я всё это понял, ты по сути идёшь на соглашение с интерпритатором, что вот я сюда кину объект, назовём его условно event, и вызову внутри его метод .key. Если вдруг где то вызовешь эту функцию и кинешь место event что-то другое, у него не будет метода key, будем бобо. Скорее всего умная IDE найдёт ошибку на стадии написания оной.

Я так предпологаю, как реально это работает хз, меня напрягает динамическая типизация
Аноним 01/06/21 Втр 00:44:49 2051434390
>>2051431
пожалуйста, обращайся.

>>2051427
ну тут да, чувствуется, что ночью уже притупляется восприятие. этот key просто поле в event скорей всего. можешь посмотреть, что тебе pygame там возвращает. так просто я не могу понять, что ты под вторым аргументом понимаешь.
Аноним 01/06/21 Втр 00:49:42 2051438391
>>2051346
почему жидбрейнс и почему перестал юзать?
Аноним 01/06/21 Втр 00:50:11 2051440392
>>2051427
завязывай. хули ты так долго дрочишь? это вредно
Аноним 01/06/21 Втр 00:53:33 2051442393
>>2051438
да весь евойный хак и шаманство с "файлами в /homo/" было подставление лицензионного ключа, который прилетал на университетскую почту. лицензия кончилась потому что из университета отчислили и почту забрали, а теперь заберут на осеннем призыве.
Аноним 01/06/21 Втр 00:56:27 2051445394
>>2051429
pytest это тоже "лишняя зависимость"

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

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

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

Глянь, кстати, на оператор assert. Он в принципе как раз вот для таких целей и предназначен.

assert parsed_data < 1000
assert parsed_data < 10000, "Number is too big"

несоответствие будет вызывать AssertionError

Мне кажется, сейчас скорее это требуется от тебя.
Аноним 01/06/21 Втр 01:02:59 2051446395
>>2051433
>Скорее всего умная IDE найдёт ошибку на стадии написания оной.
Сделай так:
https://ideone.com/S64HlW
def func(obj):
____assert isinstance(obj, Base)
____print("func passed")

И можешь обходиться без IDE и typing/mypy.
Аноним 01/06/21 Втр 01:07:57 2051451396
>>2051433
Любая динамическая утиная типизация так работает
Весь жс построен на ивентах и коллобеках. В каждый хендлер будет проброшены аргументы а через них переданы коллбеки и объекты

const handler = (event) => {console.log(event.key)}
Аноним 01/06/21 Втр 01:08:07 2051452397
>>2051433
Ты за тредом то следи, неужели ты думаешь, что это я ищу event тут весь вечер?
Аноним 01/06/21 Втр 01:09:33 2051454398
>>2051438
Потому что все разы когда моя убунту крашилась были из-за ебаного жидбрейнса - графическая оболочка просто умирала нахуй
Сейчас на vscode, полет нормальный
Аноним 01/06/21 Втр 01:15:04 2051458399
>>2051451
really nigga так работает? Лол, я только предположил. Динамическая типизация -- хуета, имхо
>>2051452
та хуй за ним уследишь, борда то анонимная. Ну не ты и не ты, чё обижаться то.
Аноним 01/06/21 Втр 01:20:19 2051462400
>>2051458
>Динамическая типизация -- хуета, имхо
Заебал. Пиздуй на своём любимом Го писать.

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

Аноним 01/06/21 Втр 01:27:29 2051465401
>>2051462
а коим образом это делается только в динамически типизированных яп? Без шуток, интересно. Буду благодарен хотя бы ссылочкой
Аноним 01/06/21 Втр 01:32:28 2051467402
>>2051458
Да блять так и не понял, минидоминировать или элементарно трепать xml
Аноним 01/06/21 Втр 01:38:51 2051473403
>>2051465
да что сразу динамически типизированные яп? поинтер на функцию в си? не так красиво, конечно, но тоже работает.
Аноним 01/06/21 Втр 01:39:38 2051475404
Пайтонист-сама, подскажи заблудшему возможно ли реализовать на пайтоне нормальное десктопное приложение для окон и пинукса (ахуенно если с заделом под мобилки). Если возможно, то подскажи технологии/фреймворк. Заранее благодарю!
Аноним 01/06/21 Втр 01:42:28 2051477405
kivy.jpg 190Кб, 1920x1201
1920x1201
Аноним 01/06/21 Втр 01:42:42 2051478406
>>2051475
Для десктопа лучше Electron js
Однако: десктоп подыхает сам по себе. Не шкварься об это
Аноним 01/06/21 Втр 01:44:49 2051480407
>>2051477
Киви разве не для веб-приложений, деесу?
>>2051478
Я не хочу веб-огрызок нерационально расходующий ресурсы, десу.

>десктоп подыхает сам по себе. Не шкварься об это
Почему ты так думаешь, десу?
Аноним 01/06/21 Втр 01:52:30 2051481408
>>2051473
>не так красиво, конечно, но тоже работает
Очень ограничено работает. Тогда как в динамических языках у тебя утиная типизация и ты можешь не только функцию, но и метод объекта передавать, просто класс и др.

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

Ну блин, если не понимаешь, откуда берутся проблемы и преимущества разных подходов, то и похуй, твои проблемы.
Аноним 01/06/21 Втр 01:54:27 2051483409
>>2051480
ты хочешь универсальную палку, которая была бы не говном мамонта, выглядела более или менее нормально, и тебе бы не хотелось пырнуть случайного человека ножом, когда ты б писал код?

я не знаю, какие другие технологии под питон ещё остаются.
Аноним 01/06/21 Втр 01:55:43 2051484410
>>2051462
С динамической типизацией у тебя есть потрясающий выбор: потеребить яички пока будешь делать минет или нет, сосать медленно или быстро, проглотить или сплюнуть
Аноним 01/06/21 Втр 01:57:27 2051486411
>>2051481
утиная типизация - божественна. двадцать лет назад ещё в универе я запрыгнул на жабу, и моя жизнь подкосилась. десять лет назад, я попробовал змею, и всё наладилось. жаль лишь только то, что волосы выпадать начали. но это генетическое, наука говорит, что по материнской линии передаётся.
Аноним 01/06/21 Втр 01:59:15 2051487412
>>2051484
Хорошо, когда есть выбор, а не просто разорванное бутылкой шампанского кровавое очко.
Аноним 01/06/21 Втр 02:00:08 2051488413
>>2051480
>Почему ты так думаешь, десу?
Другой анон. Такое ощущение есть, потому что всё уходит в браузеры как в универсальные платформы.

Правда история движется по спирали. Ещё в махровые 60-е и 70-е, когда ещё летали на Луну, а по улицам ходили мамонты, были маинфремы и тяжёлые юникс-машины, где большая основная машина, и терминалы проще. Потом акцент сместился на дектопы. Текущий уход в веб-облака это как виток спирали, вновь у нас мейнфремы и центральные хранилища данных, и терминалы к ним.

Однако чувствуется и следующий виток. Браузеры утяжеляются, внутри браузеров огромные хранилища данных, на гигабайны, код, зачастую бинарный (WebAsm), SPA с фоновыми процессами, когда у тебя страница может работать автономно очень долго без интернета вообще.

Но по части GUI мне кажется всё уж очень уверенно идёт в сторону html/css/js
Аноним 01/06/21 Втр 02:10:01 2051490414
Самое смешное, когда-то в середине нулевых писал я какой-то софт на плюсах и винапи. Сначала руками форматировал кнопки и текст, потом вдруг кто-то подсказал, что можно использовать компонент IE для этого. И интерфейс стало делать очень легко, рисуешь всё в HTML, даже динамику на JS добавляешь, насколько тот ИЭ позволял, работаешь с перехватом сообщений от компонента, и счастье.

Прошло сколько лет, эпоха сменилась, а полноценно этот подход так и не поддержали. В питоне точно нет, электрон какой-нибудь про это как раз.

Аноним 01/06/21 Втр 02:11:01 2051491415
>>2051483
Понимаешь, программист-сама я совсем еще не смешарик кодер, а хокаге стать хочется хочу написать написать свое приложение, так как опыта нет я обращаюсь к опыту людей чего-то понимающих в сфере, а большинство плюётся от веб-приложений, десу.

>>2051488
Меня это пугает, программист-сама. Наверное мне стоит пересмотреть свой страх веб-приложений, к тому же как я понимаю сие творение будет работать везде, а потом на его почве можно легко еще дополнительно в виде сайтика поднять. Это все же огромный плюс. Спасибо программист-сама.
Аноним 01/06/21 Втр 02:25:52 2051498416
>>2051491
бери киви, иначе закончишь жизнь и карьеру с ткинкером ебаным
Аноним 01/06/21 Втр 02:42:27 2051502417
>>2051498
Что есть ткинкер, десу?
Аноним 01/06/21 Втр 08:34:28 2051566418
>>2051415
Там же написано
>Respond to keypress and mouse events
event это объект, которые генерируется при каждом событии нажатия кнопки или мыши, функции у тебя его обрабатывают эти события, поэтому дожны получать именно его, а не какой-то абстрактный event
Сам способ вызова гарантирует, что ты получаешь именно такой event
Свойства этого event смотри в описании pygame
Аноним 01/06/21 Втр 11:02:18 2051665419
Аноним 01/06/21 Втр 13:19:04 2051787420
>>2051502
Встроенный питоновский интерфейсник, не рекомендую.
Аноним 01/06/21 Втр 13:39:17 2051825421
Аноны а как прочить из фала без вского говна типа переносов и так далее? А начинаю читать там целая пачка \n \r \b, я прорастаю их парсить. Как получить сразу строку?
Аноним 01/06/21 Втр 13:51:21 2051841422
Аноним 01/06/21 Втр 13:58:21 2051845423
>>2051841
Сначала не понял что они только в конце, а потом как понял. Спасибо.
Аноним 01/06/21 Втр 14:00:36 2051853424
Нашёл годноту для вкатывальщиков желающих порешать задачки

https://adventofcode.com/
Аноним 01/06/21 Втр 15:17:53 2051937425
>>2051853
Дизайн - мое почтение.
Аноним 01/06/21 Втр 15:33:04 2051958426
Аноним 01/06/21 Втр 15:34:16 2051960427
>>2051958
Мы с аноном из поста №2051853 разные люди если что, я его пост увидел уже после отправки своего
Аноним 01/06/21 Втр 16:07:59 2051988428
>>2051960
Ещё бы все эти находки таки смотреть, а не только находить и складировать.
Аноним 01/06/21 Втр 18:09:25 2052191429
>>2051988
Ну я по своей ссылке на freecodecamp почти прочитал статью по питону, там просто кратко основы изложены. И пару видео посмотрел из видео-курса по питону. Мужик в принципе интересно рассказывает, и субтитры нормальные английские есть (не автоматические), так что вообще ляпота
Аноним 01/06/21 Втр 21:00:46 2052452430
bopytest.jpg 530Кб, 2250x2700
2250x2700
>>2046052
>Аноны, держатель SYNC-библиотеки книг по питону(и не только) итт.
Хранитель книг, вот это вот у тебя в оригинале есть? На хабре перевод есть, но ужасный какой-то.
Аноним 01/06/21 Втр 21:05:58 2052459431
Цените хохму.

На одном сайте прохожу курс по Питону. Там дали такого вида задание:

В 1769 году Леонард Эйлер сформулировал обобщенную версию Великой теоремы Ферма, предполагая, что по крайней мере nn энных степеней необходимо для получения суммы, которая сама является энной степенью для n > 2n>2. Напишите программу для опровержения гипотезы Эйлера (продержавшейся до 1967 года), и найдите четыре положительных целых числа, сумма 5-х степеней которых равна 5-й степени другого положительного целого числа.

Таким образом, найдите пять натуральных чисел a, b, c, d, e, удовлетворяющих условию:

a^5+b^5+c^5+d^5=e^5.

В ответе укажите сумму a+b+c+d+e

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

Но есть один момент. Скорость выполнения кода.

1 способ решения - мой, нубский, вообще не думал когда код писал:

from datetime import datetime
start_time = datetime.now()

total = 0
for a in range(1, 151):
for b in range(1, 151):
for c in range(1, 151):
for d in range(1, 151):
for e in range(1, 151):
if pow(a, 5) + pow(b, 5) + pow(c, 5) + pow(d, 5) == pow(e, 5):
total += 1
print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'e =', e)
print('общее количество натуральных решений =', total)

end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))

## Duration: 2+ hours

2 способ, парня, который тоже только проходит курс, но уже включил голову:

from datetime import datetime
start_time = datetime.now()

e = 0
f = 0
for a in range(1, 151):
for b in range(1, 151):
for c in range(1, 151):
for d in range(1, 151):
e = (a 5 + b 5 + c 5 + d 5) (1 / 5)
if int(e)
5 == a 5 + b 5 + c 5 + d 5:
print(a, b, c, d, int(e), 'sum =', a + b + c + d + e)
f = 1
break
if f == 1:
break
if f == 1:
break
if f == 1:
break
if f == 1:
break

end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))

## Duration: 0:04:30.087448

3 способ уже от какого-то опытного парня, который ил с других языков перекатывается или просто опытный в Питоне (или матеше/логике):

from datetime import datetime
start_time = datetime.now()

arr5 = [i 5 for i in range(2, 150)] # массив пятых степеней
abc = set(a + b + c for a in arr5 for b in arr5 for c in arr5) # варианты сумм а^5+b^5+ c^5
de = set(e - d for e in arr5 for d in arr5 if e - d > 0) # варианты разности е^5 - d^5
res = abc & de # пересечение вариантов

# находим a b c для верных ответов
abc_res = [[a + b + c, a, b, c] for a in arr5 for b in arr5 for c in arr5 if a + b + c in res]

# находим d e для верных ответов
de_res = [[e - d, e , d] for e in arr5 for d in arr5 if (e - d in res) ]

elist = []
for i_res in res: # исключаем повторения
for i_abc in abc_res:
if i_res == i_abc[0]:
aa, bb, cc = i_abc[1:]
for i_de in de_res:
if i_res == i_de[0]:
ee, dd = i_de[1:]
if ee not in elist:
elist.append(ee)
aa, bb, cc, dd, ee = sorted([round(aa
0.2), round(bb0.2), round(cc0.2), round(dd0.2), round(ee0.2)])
print(aa, bb, cc, dd, ee,'a+b+c+d+e=',aa + bb + cc + dd + ee)

end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))

## Duration: 0:00:01.048060


Мой способ не выполнился на моем компе даже за 2+ часа. Второй выполнился за 4,5 минуты. Третий - за секунду.

Так что не гоните на Питон, что он медленный, если у вас код кривой (Питон понятное дело медленный, но кривой код ролляет сильнее)

Аноним 01/06/21 Втр 21:13:05 2052468432
Аноним 01/06/21 Втр 21:37:34 2052507433
>>2052468
Не знаю, что тут делать, типичная medium задача для литкода.
Не смотрел твоё решение, делал своё, вывод чуть другой, чем надо
https://ideone.com/BClUU0
>Success #stdin #stdout 0.33s 10696KB
Аноним 01/06/21 Втр 21:45:24 2052521434
>>2052507
Я больше анонам притащил посмотреть чтобы новички (как я) лишний раз удивились от того, насколько время выполнения кода зависит от скилла того, кто этот код пишет.
Аноним 01/06/21 Втр 21:48:09 2052525435
>>2052507
>>2052459
>Так что не гоните на Питон, что он медленный, если у вас код кривой
Но вот с этим поддерживаю. Вот понимая питон, даже без математики можно довольно эффективно писать и компактно.

Обычно тормоза из-за того, что кривой код и элементарного понимания, что он делает, нет.
Аноним 01/06/21 Втр 21:50:05 2052529436
>>2052525
И разница в скорости выполнения кривого и скилованного кода выше разницы в скорости выполнения кода между Питоном и С++ например.

Хотя, разумеется, скилованный плюсовик напишет более быстрый код, чем примерно настолько же скилованный питонист.
Аноним 01/06/21 Втр 21:51:04 2052531437
>>2052521
Ну это всё-таки классическая алгоритмическая задача под литкод. Подозреваю, что оттуда примерно.

Просто при кодировании тоже элементарно налажать. Классика, это проверки вроде
some_value in list
где список довольно большой, и всё это в цикле. Что работает медленно, элементарное преобразование в множество-словарь, и код разгоняется. Куча других таких моментов.

Аноним 01/06/21 Втр 21:56:16 2052546438
>>2052529
Главная особенность в том, что в питоне словари-списки это родные структуры, а как раз они позволяют оптимизации делать.

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

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

Само собой компилируемый код обычно можно более быстрым сделать. JIT не всегда поможет, вот в этом случае numba не помогает, поскольку оптимизировать построение словарей не умеет.

Но и в целом питон не для байтоёбства, где надо короткие циклы очень быстрыми делать. Обычно питон для сложной логики больше.
Аноним 01/06/21 Втр 22:00:35 2052564439
Аноним 01/06/21 Втр 22:07:35 2052583440
Аноним 01/06/21 Втр 22:53:38 2052651441
12408451.gif 668Кб, 480x259
480x259
>>2052459
Ты серьезно просто вбросил стену кода без табуляции вот так сюда на двач? Думаешь кто-то прочитал его?
Аноним 01/06/21 Втр 23:03:44