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

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

 Аноним 17/10/21 Вск 00:17:05 #1 №2185611 
135937807-fd3e0fd2-a31a-47a4-90c6-b0bb1d0704d4.png
imagematch.png
imagematch2.png
Встречаем в треде, посвящённому языку программирования Питон, новую версию 3.10, вышедшую уже 2 недели назад, 5 октября 2021
Тред номер #129

Предыдущий: >>2165167 (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
Аноним 17/10/21 Вск 00:23:49 #2 №2185616 
Шо там, свитчеподъебщики соснули?
Аноним 17/10/21 Вск 00:33:27 #3 №2185629 
>>2185616
Питон-отцы устали от хайпа вокруг языка и решили довести его до такого уровня, чтобы C++ показался детским лепетом, а вкатуны скупали верёвки и мыло.
Аноним 17/10/21 Вск 01:25:50 #4 №2185664 
На сколько процентов алгоритм инверсии большой матрицы на питоне будет медленнее, чем на си?
Аноним 17/10/21 Вск 02:40:58 #5 №2185686 
>>2185664
На дохуя, в питоне все плохо с математикой из-за реализации чисел. Или пиши на си или юзай cython, что бы хоть как-то приблизится
Аноним 17/10/21 Вск 03:07:37 #6 №2185693 
return mapToResponse(service.getObject(id))
Аноним 17/10/21 Вск 03:09:27 #7 №2185695 
>>2185686
На дохуя это на 30% или на 3000%? Просто чтобы понимать глубину задницы, если я решу в неё залезть.
Аноним 17/10/21 Вск 03:11:58 #8 №2185696 
>>2185695
минимум 2x
Аноним 17/10/21 Вск 03:20:05 #9 №2185698 
>>2185695
>>2185696
Для всяких матриц-хуятриц есть специализированные нампаи-нумбы, которые едва ли сильно отстанут от си. На чистом питоне это делать нет смысла.
Аноним 17/10/21 Вск 03:34:38 #10 №2185699 
>>2185698
да там для любой вычислительной хуйни минимум 2х если делать на сайтоне. чаще всего 10х+
Аноним 17/10/21 Вск 03:38:35 #11 №2185701 
image.png
>>2185693
Аноним 17/10/21 Вск 09:37:55 #12 №2185746 
>>2185686
>>2185696
>>2185699
Печально. А я хотел освоить питон, чтобы делать иллюстрации для примеров цифровой обработки сигналов. А то на си код получается громоздкий и нечелевекочитаемый.
Аноним 17/10/21 Вск 11:22:06 #13 №2185769 
>>2185746
просто ты не там спрашиваешь.
тут не питонисты а долбоебы какие-то.

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

вот я погуглил твою задачу и нашел функцию https://numpy.org/doc/stable/reference/generated/numpy.linalg.inv.html
Аноним 17/10/21 Вск 11:46:49 #14 №2185778 
>>2185769
Нумпаедебил, спок. Нумпай это кал говна, нарушающий питоний дзен и превращающий питон в сраный матлаб.

Алсо, дата сососисты в этом итт не приветствуются.
Аноним 17/10/21 Вск 12:05:03 #15 №2185789 
>>2185611 (OP)
>https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6
Книго-анон в теред.
Если есть новые книги\видеокурсы и т.п., что стоило бы залить в файлопомойку нашу - пишите ссылки в реплаи или на новую (живую) почту - [email protected]

p.s. supermegawifi, чекни почту, я наконец тебе ответил.
Аноним 17/10/21 Вск 12:34:52 #16 №2185801 
>>2185746
>А я хотел
Ты хотел придти понабрасывать, не первый раз скорее всего.

С матрицами на питоне работают через специальные библиотеки. Они считают тоже очень быстро, написаны на Си обычно.

Какие-то вычисления может ускорять Numba, причём код может работать даже быстрее, чем аналогичный код на Си, за счёт того, что Numba это jit и больше возможностей динамической оптимизации, чем при компиляции. Но это костыль, и не всегда он работает, далеко не всегда.

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

Аноним 17/10/21 Вск 15:39:31 #17 №2185904 
У меня есть массив, в нём есть none, как мне это пофиксить в массиве, если я for использовать не могу?
Уже час гуглю, если бы можно было использовать for, можно было бы по массиву пройтись и обновить поменять nonetype а какую-нить '-'. А как это сделать без него?
Аноним 17/10/21 Вск 15:44:52 #18 №2185909 
>>2185904
>for использовать не могу
Скорее всего ты занимаешься какой-то хуйней. Давай ты еще срать себе запретишь и пойдешь на двач спрашивать как тебе жить дальше...
Аноним 17/10/21 Вск 15:49:42 #19 №2185912 
>>2185909
так наличие none в массиве делает его не итериблом
Аноним 17/10/21 Вск 15:52:42 #20 №2185914 
image.png
>>2185912
Тогда хз чел...
Аноним 17/10/21 Вск 16:12:19 #21 №2185936 
>>2185746
На numpy математика очень быстрая, питон силен своими библами.
Аноним 17/10/21 Вск 16:15:08 #22 №2185937 
https://mail.python.org/archives/list/[email protected]/thread/ABR2L6BENNA6UPSPKV474HCS4LWT26GY/
Что думаете, питонисты?
Аноним 17/10/21 Вск 16:38:53 #23 №2185950 
>>2185778
Нельзя ли более развëрнутый ответ?
Аноним 17/10/21 Вск 16:44:26 #24 №2185955 
>>2185801
>Ты хотел придти понабрасывать, не первый раз скорее всего.
Нет-нет. Я хотел именно то, о чем написал. Мой первый пост в треде >>2185746. Ты лучше расскажи, какие профиты мне можно ожидать от питона под мои задачки. Не хотелось бы примеры иллюстраций давать на матлабе - он несвободный.
Аноним 17/10/21 Вск 17:01:50 #25 №2185964 
>>2185937
коммент оттуда
> Guido van Rossum 5:09 p.m.
> To be clear, Sam’s basic approach is a bit slower for single-threaded code,
> and he admits that. But to sweeten the pot he has also applied a bunch of
> unrelated speedups that make it faster in general, so that overall it’s
> always a win. But presumably we could upstream the latter easily,
> separately from the GIL-freeing part.

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

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

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

Но у меня слишком шапочное знакомство с Python internals.

Кстати, есть и альтернативные решения. Например, Stackless python. Давно в него не смотрел, но проект до сих пор живёт (русская вики не обновляется)
https://github.com/stackless-dev/stackless/wiki/
версия 3.8 питона поддержана. Гляну, в каком сейчас состоянии. Но проблема с альтернативами в плохой поддержки библиотек, что в бинарном виде распространяются.
Аноним 17/10/21 Вск 17:10:48 #26 №2185969 
>>2185955
Я сто лет не трогал матрицы, а когда трогал, делал это на C/C++.

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

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

Постановка вопроса "насколько дольше инверсия матрицы" не имеет ПРАКТИЧЕСКОГО смысла вообще. Ты даже на Си не должен реализовывать инверсию. Ты этим занимаешься только на курсах по вычислительным методам в универе, чтобы понимать, как это работает и мозги тренировать.

В питоне же ты получаешь, что не просто можешь вычислить что-то с матрицами, но и дальше с этими данными что-то делать. И возможно это сильно проще, чем в Си. Экосистема лучше, вот здесь может быть.
Аноним 17/10/21 Вск 17:35:43 #27 №2185987 
>>2185969
Про инверсию матриц спрашивал не тот, кому ты отвечаешь, а я. И я думаю над инверсией потому, что размер матрицы может легко быть 10000х10000, было бы странно если бы я не задумался над скоростью инверсии в таком случае. Алсо я прочитал про numpy и numba, вроде последний как раз то и делает, что конвертирует код в С и запускает скомпилированную функцию JITером в нужном месте, так что скорость должно быть почти нативно сишная. Но это в теории, если все сработает правильно.

Аноним 17/10/21 Вск 18:05:03 #28 №2186002 
>>2185987
Я сколько помню численные методы, есть масса алгоритмов извращённых для инверсии матриц. И есть разные виды матриц, тебе возможно стоит приводить всё к каким-то особым видам и работать.

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

Если честно, слова про 10000x10000 воспринимаются как флуд, выдуманная задача. Откуда эта матрица взялась, зачем её инвертировать, а точно ли нужна такая матрица и нужно её инвертировать, либо же задача иначе представляется, и т.п. И какие ещё операции требуются помимо инверсии. И многое, многое другое.

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

Но когда твоя цель набросить, тогда да, проще придти на доску и просто спросить.
Аноним 17/10/21 Вск 18:10:55 #29 №2186006 
>>2186002
Я не читал твой роман целиком, матрица жесткости в FEM для двумерных задач. И нет, инвертировать аналитически необязательно, можно считать приблизительно чисельними методами, которые внезапно тоже не мгновенные для таких задач.
Аноним 17/10/21 Вск 18:29:19 #30 №2186020 
>>2185801
>по мне они и на Си делаются удобно
Ну, вот, гляди. Я начинаю показывать какое-нибудь ДКП на libfft3w. На си я должен добавить заголовок библиотечки и добавить саму библиотечку. Если у меня прыщи и gnu-toolchain, то всë просто - остаëтся сообщить компоновщику что-то вроде «-l fft3w». И исполняшка соберëтся. Если у меня игровая прошивка windows и у меня накачена, например vs (потому как, ну, что ещë за позëрство - накатывать альтернативные IDE), то я начинаю вчитываться в readme, поставляемый с бинарниками libfft3w, нахожу, как подключить эти бинарники к студии, к проекту, дописываю строчку в исходник, собираю. Слишком много возни в обоих случаях. Если писать в промышленных условиях, то никаких проблем. А если в учебных материалах, то уже не годится вся эта чехарда.
Можно ли при помощи интерпретатора питона избавиться от этой чехарды?
Аноним 17/10/21 Вск 20:26:24 #31 №2186181 
>>2185611 (OP)
Привет двачик миленький
Помоги погуглить (сформулировать, как гуглить)!
Пишу скрипт, который для использования требует некоторое значение. Хочу, чтобы при запуске этого скрипта была возможность посредством нажатия кнопки "вверх" поставить предыдущее значение.
Как это называется по-научному?
Аноним 17/10/21 Вск 20:43:30 #32 №2186213 
>>2186181
В линупсах этим занимается либа readline, в питоне есть биндинги https://docs.python.org/3/library/readline.html
Аноним 17/10/21 Вск 20:56:30 #33 №2186240 
Анальники тут?
Аноним 17/10/21 Вск 21:05:37 #34 №2186248 
>>2186020
посмотри ЛЮБОЙ говнокурс по датасаенсу.
конечно, ты там ничего не поймешь, но поймешь что вопросы обработки данных решаются довольно быстро.
Аноним 17/10/21 Вск 21:07:31 #35 №2186250 
>>2185964
>В общем если огрублять, автору возражают, что его идея конкретно замедляет однопоточные
А, понятно.
У меня дежавю. Я кажется 15 лет назад это читал и каждые 5 лет заново читаю?
Аноним 17/10/21 Вск 23:34:41 #36 №2186358 
>>2186250
Постоянно говорят. Но питон серьёзные разрабы пилят, раз не выпилили GIL, значит есть объективные причины.

На самом деле GIL это частная второстепенная проблема. Серьёзная проблема это тормоза на многих однопоточных операциях, медленные циклы и т.п. Скорее из-за этого стоит вопрос, что может не стоит что-то на питоне делать. А не из-за многопотока.
Аноним 18/10/21 Пнд 01:25:14 #37 №2186423 
image.png
>>2185611 (OP)
Есть класс и в нем метод addmit (часть я обрезал). почему компилятор говорит:
AttributeError: type object 'meetlist' has no attribute 'meets'?
Аноним 18/10/21 Пнд 01:30:27 #38 №2186425 
>>2186423
Тебе надо понять что такое экземпляр класса и ключевое слово self
В частности вместо названия класса нужно и в ините и здесь использовать его
Аноним 18/10/21 Пнд 01:33:37 #39 №2186426 
>>2186425
Я бы рад, но класс meetlist вызывается из экземпляра другого класса, и self ассоциируется с ним.
Аноним 18/10/21 Пнд 01:45:46 #40 №2186431 
>>2186425
>>2186426
Нет, правда, что с этим делать?
Аноним 18/10/21 Пнд 01:47:35 #41 №2186433 
>>2186426
>>2186425
Кстати, я заменил на self, раз уж наружний объект и внутренний оба вызываются только раз, это ничегошеньки не изменило.
Аноним 18/10/21 Пнд 05:28:40 #42 №2186477 
>>2186423
Что за хуйню я читаю? Блядь, ты даже self добавил в методы и один хуй забил на него.
Аноним 18/10/21 Пнд 05:53:03 #43 №2186480 
>>2186433
Что-то ты недоговариваешь.
https://ideone.com/iPc6kW
Аноним 18/10/21 Пнд 10:23:07 #44 №2186523 
image.png
image.png
image.png
image.png
Всем привет!
Подскажите, пожалуйста, про генерацию словарей!
Ну почти на 100% уверен, что делаю это неправильно(

Во вложениях присоединяю то, какая структура должна быть и то как я это делаю.
То есть для каждого нового ключа - у меня отдельный цикл!
Как это делать правильно?
Аноним 18/10/21 Пнд 10:44:00 #45 №2186526 
>>2186523
Ты просто зачем-то повторяешься на каждом витке вложенности, надо за раз хуярить.
https://ideone.com/yEZrzT
Аноним 18/10/21 Пнд 11:08:11 #46 №2186537 
>>2186526
Спасибо большое!! Все оказалось проще, чем я думал..
https://ideone.com/ESx4JZ

Видимо, когда впервые пытался так делать я опечатался, из-за чего у меня словарь всегда перезаписывал сам себя и в конце имел только 1 значение.
Не обнаружив опечатки, я подумал что так и должно быть, стал каждый ключ делать в новом цикле)
Аноним 18/10/21 Пнд 11:18:30 #47 №2186539 
IMG3188.MP4
>>2186477
Анон-знаток создания ботов для телеграма, как заделать такое меню библиотека не важна, или хотя бы по каким словам это искать?
Аноним 18/10/21 Пнд 11:23:04 #48 №2186543 
>>2185964
>Хотя мне было бы интересно, если бы выпускали две ветки
А кто вторую поддерживать будет? Ты?)
Аноним 18/10/21 Пнд 11:50:29 #49 №2186560 
>>2186539
https://stackoverflow.com/questions/34457568/how-to-show-options-in-telegram-bot
Аноним 18/10/21 Пнд 13:15:56 #50 №2186644 
>>2186480
А, кажется, я пункты в список прямо из класса добавляю, а не снаружи, в объект
Аноним 18/10/21 Пнд 13:23:34 #51 №2186654 
>>2186358
это по сути единственная причина. и обсуждение раз за разом повторятся.
Аноним 18/10/21 Пнд 13:49:53 #52 №2186680 
>>2186480
https://ideone.com/gXTXTX
Ок, вот полный код. Ошибка возникает в при попытке обращения к meetlist.meets
Аноним 18/10/21 Пнд 13:52:58 #53 №2186684 
>>2186680
Ты обращаешься к классу до его определения, о чем тебе интерпретатор и сообщает.
Дальше даже не смотрел, иди читай книгу блять.
Аноним 18/10/21 Пнд 14:17:22 #54 №2186718 
>>2186684
А, ну по факту все, что в начале было в другом файле и оттуда класс вызывался через библиотеку. Я просто для примера все в одно место запихнул, сейчас поменяю.
https://ideone.com/LtzBKd
Аноним 18/10/21 Пнд 14:26:26 #55 №2186723 
>>2186718
Ну я посмотрел немного, там пиздец на пиздеце, ты совершенно не отдупляешь что такое классы, объекты и проч, а хуяришь наугад.
И как ты вообще все это высрал без тестирования? Просто писал простыню и не запускал ни разу?
Или ты где-то это спиздил и подгоняешь под свою задачку?
Аноним 18/10/21 Пнд 14:34:59 #56 №2186725 
>>2186718
https://proglib.io/p/python-oop
Аноним 18/10/21 Пнд 14:52:41 #57 №2186731 
Может кто знает, как в selenuim сделать следующее:
ЛКМ удерживать
переместить курсор
отпустить?
Аноним 18/10/21 Пнд 14:56:28 #58 №2186733 
>>2186731
Это называется drag and drop, а теперь пиздуй в гугл.
Аноним 18/10/21 Пнд 14:57:49 #59 №2186735 
>>2186731
Подозреваю, что-то типо:
click_and_hold()
move()
release()

>>2186733
Злой ты :(
Аноним 18/10/21 Пнд 15:08:52 #60 №2186741 
>>2186735
Спасибо, вот это сработало)
actions = ActionChains(driver)
actions.move_by_offset(500, 500).perform()
actions.click_and_hold()
actions.move_by_offset(500, 0).perform()
actions.release()
actions.perform()
Аноним 18/10/21 Пнд 16:11:48 #61 №2186800 
сап двач
есть много чисел (19999999, 2939999412 и т.д.) и нужно их выводить с пробелом внутри после каждых 3-х знаков
типа 19999999 = 19 999 999
помоги, плизки
Аноним 18/10/21 Пнд 17:56:01 #62 №2186890 
kek.PNG
>>2186800
3 секунды в паинте
Аноним 18/10/21 Пнд 18:12:03 #63 №2186900 
Пришло очень странное тестовое задание. На питон позицию хотят чтобы я сделал сингл пэйдж апликейшен, которое использует апи гитхаба и позволяет там залогиниться в аккаунт и посмотреть список репозиториев, имя пользователя и аватарку со всеми ссылками кликабельными. Мне очевидно, что это всё нужно делать на фронте в одном простом приложении на реакте. Просто пару компонентов сверстать и объединить. Деплоить можно даже серверлес. Никакой возни с микросервисами, доступностью, деплоем в кубер и прочей фигнеё, которая появляется когда бэк на питоне пишешь. Но как такое делать на бэке на питоне и зачем? Можете рассказать как вы бы взялись за задачу?
Аноним 18/10/21 Пнд 18:21:28 #64 №2186906 
>>2186900
ты нас спрашиваешь почему тестовые задания бывают бессмысленны с практической точки зрения?
Ну вот бывают.
А ты бы хотел получить 200мб документации по API какого-нибудь банковского сервиса?

у гитхаба просто все api открыты и куски кода легко гуглятся. Программисты все знают что такое гитхаб. Не нужно объяснять предметную область.
Нормальное задание.
Аноним 18/10/21 Пнд 18:25:51 #65 №2186914 
>>2186900
вот полезный пример этой проги (реально полезной, пользуйтесь, пидоры)
https://github.com/AndreMiras/gitpop2
а вот он по приколу переписал ее на js https://github.com/AndreMiras/gitpop3
Аноним 18/10/21 Пнд 18:31:51 #66 №2186921 
>>2186906
>ты нас спрашиваешь почему тестовые задания бывают бессмысленны с практической точки зрения?
Я искал скрытый смысл в этом задании и думал, что что-то не понимаю. Типа может на бэке писать выгоднее если кэшировать результаты т.к. серверлесс дорогой.

>>2186914
Проекту 8 лет.Уверен, что он годный?
Аноним 18/10/21 Пнд 18:39:09 #67 №2186930 
>>2186921
так надо на дату последнего коммита смотреть.

Ты, походу, в предметной области не разбираешься. Тестовое не сдал.
Аноним 18/10/21 Пнд 18:49:46 #68 №2186936 
>>2186930
То что новые коммиты есть не значит, что старые не нужно прорефакторить. Поэтому на всякий случай уточнил
Аноним 18/10/21 Пнд 19:25:27 #69 №2186958 
>>2186906
>А ты бы хотел получить 200мб документации по API какого-нибудь банковского сервиса?

Я думаю, что он имеет ввиду, что его на позицию фулстека хотят
Аноним 18/10/21 Пнд 19:37:37 #70 №2186971 
>>2186958
Нет. Я сейчас невольный фулстек, который пришёл как бэкендера и почти всё время занимаюсь реактом т.к. один из немногих его на проекте его знаю. Хотел на бэкендера перекатиться и предлагают на бэк с небольшим уклоном во вью на фронте, с которым не работал. Думаю будет супер тупо писать тестовое на реакте, а как красиво на питоне сделать не понимаю
Аноним 18/10/21 Пнд 23:57:28 #71 №2187235 
Есть ли возможность пойти к какому-нибудь спецу на практику за бесплатно? в качестве макаки, что делает простые вещи или которые лень делать самому спецу
И будет ли он обучать зелень?
И если да, то где искать таких людей?
Аноним 19/10/21 Втр 00:05:33 #72 №2187247 
>>2187235
Иди ремонтировать обувь или изучать ещё какие-то актуальные услуги к спецу.
Не может любой хуйлован в программирование. Можно его учить за деньги, но он не научится.
Аноним 19/10/21 Втр 01:20:07 #73 №2187284 
>>2187235
Ебать, да мне делать нехуй, только сидеть обучать. Вам и так уже запилили ютуб, лайв кодинг сессии на твичах, книги сделали. Но нет, этого всего мало! Нужен ЖИВОЙ тичер, чтобы только сидел, и только меня исправлял! А не многого ли вы хотите?
Аноним 19/10/21 Втр 10:14:48 #74 №2187373 
>>2186900
Логиниться как будешь в реакте?
oauth
Аноним 19/10/21 Втр 10:29:05 #75 №2187379 
>>2187373
ну вот там же проект каким-то образом логинится.
Аноним 19/10/21 Втр 11:03:28 #76 №2187401 
>>2187379
Ты делаешь отдельный апликейшн. Что там у тебя "каким-то образом" будет логиниться?
Аноним 19/10/21 Втр 23:49:06 #77 №2188188 
https://ideone.com/xnijrY
Сап, змеяч, пришел с медленно работающим кодом (медленно при вводе 250к символов), по вводу создаю и дополняю (дублирую еще для обоюдности связей) словарик со списком смежности, затем DFS. Это делается быстрее (и скорее всего проще)?

Задача - определить соединены ли две точки, связи задаются попарно, старт и финиш в конце, связи двунаправленны:
point1 point2
point2 point3
point1
point3
YES

point2 point1
point2 point3
point1
point3
YES

point1 point2
point3 point4
point1
point4
NO

Аноним 20/10/21 Срд 00:41:24 #78 №2188214 
>>2187373
Не знаю что там с гитхаб апи, но я попрошу у юзера имя с паролем и получу у гитовохо бэка сессию или токен какой-нибудь, а хранить его буду в локал стередже. Не очень вариант т.к. сам страничку логина делать буду. Поэтому если гит поддерживает, то редиректну на sso страничку, а когда пользователь там аутентифицируется, то заберу токен от sso и дальше как в предыдущем варианте.
Аноним 20/10/21 Срд 00:53:05 #79 №2188223 
>>2188188
О боже, что это?
> N[temp[0]]=eval('["'+str(temp[1])+'"]')
Зачем тебе eval?
Это в принципе очень грязно почти всегда, и кроме того это ещё медленно. Тебе надо в рантайме вызывать функцию, запускать компилятор питона и т.п.
Я не понимаю, как у тебя temp выглядит, но скорее всего можно нормальным образом список составить.

Главный тормоз скорее всего вот здесь, классика просто. Отавляю ключевые строки
>path=[]
>____while q:
>____if v not in path:
>________path = path +[v]
Проверка на вхождение в список работает за O(N). Поэтому если список растёт постоянно, у тебя считай квадратичная сложность получается.

Тебе надо делать множества
path = set()
и дальше просто делать path.add(v)
Тебе же ведь на самом деле путь не нужен, тебе нужно знать, есть путь или нет.

Если бы нужен был путь, то тоже можно было бы быстро сделать.
Аноним 20/10/21 Срд 12:17:01 #80 №2188408 
У меня есть список, есть переменная. Как создать список из пар (элемент списка, переменная) без цикла?
У меня хватило ума только на
some_dict = dict.fromkeys(список, переменная)
zip(some_dict .keys(), some_dict .values())

Но наверняка как-то элегантнее можно
Аноним 20/10/21 Срд 12:22:16 #81 №2188415 
Можно ли реализовать статический полиморфизм в питоне как в плюсах?

def foo(i: int)
def foo(i: str)
Аноним 20/10/21 Срд 12:27:36 #82 №2188420 
есть кто вебом в основном занимается при этом пользуется маком на м1? Есть ли какие то нерешаемые проблемы при использовании или все норм?
Аноним 20/10/21 Срд 12:42:57 #83 №2188438 
>>2188408
>>2188415
>>2188420
Иди на хуй.
Аноним 20/10/21 Срд 13:58:26 #84 №2188506 
>>2188223
спасибо, вначале чет смутило append к словарику тыкать, утонул в eval. А вот со второй частью не совсем ясно. тут я косоруко назвал переменную, path это все точки куда я могу прийти из стартовой (переименовал), не совсем путь, сделал множеством, но без проверки на не вхождение там же зацикливается.

visited=set()
q=[start]
while q:
___v=q.pop()
___if fin==v: return 'YES' (перенес условие сюда, ускоряет время если YES, но большие тесты для 'NO' все еще медленные.)
___if v not in visited:
______visited.add(v)
______q=q+N[v]
return 'NO'
Аноним 20/10/21 Срд 14:05:02 #85 №2188511 
image.png
>>2185611 (OP)
Почему python такой душный? Там перегрузка аргументов вообще работает только за счет модулей.

Например есть такой код.
def test(a: int) -> None:
pass

test(1, 2)

Будет ошибка типа наличие второго аргумента в функции.

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

Lua божественный язык и во всем лучше Питоныча и есть ООП.
Аноним 20/10/21 Срд 14:07:03 #86 №2188513 
>>2188415
> статический полиморфизм в питоне
попробуй библиотеку plum или multimethod
Аноним 20/10/21 Срд 14:14:11 #87 №2188518 
>>2188511
args, kwargs
Аноним 20/10/21 Срд 14:16:35 #88 №2188521 
>>2188518
не не, давай без этого, конкретно то что я описал мне нужно, чтобы оно мне не высирало ни каких ошибок.
test(1, 2, 3, 4)
даже если по логике функции она принимает лишь 1 аргумент.
Аноним 20/10/21 Срд 14:25:25 #89 №2188528 
>>2188511
> есть ООП
С ума сошёл?
Аноним 20/10/21 Срд 14:26:16 #90 №2188530 
>>2188513
Супер, спасибо
Аноним 20/10/21 Срд 14:26:43 #91 №2188531 
>>2188521
Епт, тебе только что пояснили что да как
Хули ты очком вертишь?
Аноним 20/10/21 Срд 15:37:22 #92 №2188585 
>>2188408
Генераторное выражение.
https://ideone.com/7DeACf
Аноним 20/10/21 Срд 16:30:37 #93 №2188667 
>>2188585
Спасибо за потраченное время на ответ, но и генераторами я умею пользоваться, под без цикла я имел в виду и без цикла в генераторе тоже.
Аноним 20/10/21 Срд 16:32:11 #94 №2188670 
>>2188521
Ты долбаеб нахуй или чо, пишешь *args в функции и не будет никаких ошибок, можешь хоть сикстилион аргументов передать.
Аноним 20/10/21 Срд 16:32:57 #95 №2188672 
>>2188667
У тебя в любом случае будет цикл, как ты себе перебор без него представляешь?
Аноним 20/10/21 Срд 16:36:07 #96 №2188676 
>>2188667
В данном случае профит в ленивости, в отличие от твоего же варианта.
Аноним 20/10/21 Срд 17:24:07 #97 №2188719 
>>2188672
>>2188676
Да меня на работе ебут, чтоб я при работе с querysetами не использовал циклы, генераторы в том числе. Другой вопрос задам тогда, как получить из джанго кверисета кверисета с уникальными годами в поле даты. То есть табличка хуйня1 15.10.2021, хуйня2 5.06.2021, хуйня3 07.07.2007, оставить только хуйня1 и хуйня 3, или хуйня 2 и хуйня 3, не важно. Тоже без циклов собственно.
Аноним 20/10/21 Срд 17:30:29 #98 №2188735 
>>2188719
При этом не только года, нужен сам объект, года через dates я умею.
Аноним 20/10/21 Срд 17:53:05 #99 №2188771 
>>2188719
Сделал <QuerySet [(2005, 1), (2021, 1), (2005, 1), (2005, 1)]>
делаю к этому объекту метод .distinct(), возвращается тот же самый кверисет. ЧЯДНТ?
Аноним 20/10/21 Срд 18:14:02 #100 №2188801 
>>2188506
Ты пытаешься реализовать алгоритм поиска/проверки пути в графе, так?

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

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

Ты строишь цикл по проверке, какие вершины можно достичь на длине пути N
Для N=1 это вершины, в которые можно попасть из точки старта
Кладёшь все эти вершины в буфер, который надо проверить на следующем этапе. Это множество. В этом буфере только вершины, которые пока не достижимы.

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

И всё, так ты довольно быстро строишь путь.

В твоём цикле как минимум затык вот здесь
>q=q+N[v]
У тебя получается очень большой список с кучей дублирования элементов, ты делаешь в результате очень много лишних проходов. Представь, что у тебя 1000 вершин, из каждой можно попасть в 100 других. Ты за один проход получаешь список из 100 тысяч вершин, которые надо проверить.

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



Аноним 20/10/21 Срд 18:15:16 #101 №2188804 
>>2188771
order_by не хватало оказывается.
Аноним 20/10/21 Срд 19:46:57 #102 №2188937 
>>2188670
>>2188531
Соси хуй быдло и спасибо.

>>2188528
Ну мета-таблицы, не сильный ооп, но можно запилить за счет расширение луа благо исходный код имеется. Будет полноценный ООП, но луа не об этом, это уже чисто извращение имхо.
Аноним 21/10/21 Чтв 09:53:28 #103 №2189235 
Стикер
>>2188937
>Ну мета-таблицы, не сильный ооп, но можно запилить за счет расширение луа благо исходный код имеется. Будет полноценный ООП, но луа не об этом
Аноним 21/10/21 Чтв 10:07:05 #104 №2189243 
>>2188511
Что за луа? какой то ноунейм язык
Аноним 21/10/21 Чтв 14:43:38 #105 №2189419 
Мужики, помогите, записался на Курсере на курс "Погружение в Питон", а там какими-то виртуальными окружениями, Юпитерами и запусками скриптов из консоли мозги ябут.

Это такая особенность Курсеры? Почему не могли сделать автопроверку кода в окне, как в Кодеварс? Или это меня так учат полезным для работы навыкам?

А там еще пидр пишет на виме в Юникс-системе, а авторы такие "ну если вы на Винде, то НЕКОТОРЫЕ команды могут различаться, но вот вам статья с соответствиями". Пиздец.
Аноним 21/10/21 Чтв 15:52:31 #106 №2189499 
>>2188511
> и есть ООП
Питон весь ООП, даже если ты просто две переменных складываешь. У каждой запятой есть методы-хуетоды.

Подскажите пожалуйста. На днях я заглянул в библиотеку, в особую секцию, и прочел нечто весьма необычное об одном редком заклятии. встретил задачу.
https://ru.stackoverflow.com/questions/1042769/%D0%94%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD-%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F-%D0%BF%D0%BE-%D0%B2%D1%81%D0%B5%D0%BC%D1%83-%D1%81%D1%80%D0%BE%D0%BA%D1%83-python-pandas

Можно ли её как то без циклов решить?
Аноним 21/10/21 Чтв 16:51:52 #107 №2189545 
Сколько можно тредов создавать? Почему их так много?
Аноним 21/10/21 Чтв 16:57:02 #108 №2189546 
>>2189419
>Мужики, помогите, записался на Курсере на курс "Погружение в Питон", а там какими-то виртуальными окружениями, Юпитерами и запусками скриптов из консоли мозги ябут.
Это абсолютно нормально, даже необходимо. Ну, насчет жупитера не знаю, если тебе питон для дата саенс нужен, то норм.
Аноним 21/10/21 Чтв 16:59:39 #109 №2189547 
0000551636.png
Решил поробовать как эти ваши паттерн матчинги работают. Всё заебись но вот чзнх с пикрелетед? Хули пайлинт ругается, хотя всё правильно работает? Его просто не обновили для 3.10 или я что-то неправильно написал?
Аноним 21/10/21 Чтв 17:08:22 #110 №2189554 
>>2189546
какой ему датасаенс? ты что, не видишь, что он даун?
Аноним 21/10/21 Чтв 17:20:34 #111 №2189561 
>>2189419
>Или это меня так учат полезным для работы навыкам?
Тебя учат полезными для работы навыками. В первую очередь надо разобраться с тем, что такое виртуальные окружения, и как с pip работать на пользовательском уровне.

Это на самом деле довольно просто, но это надо понять и к этому привыкнуть.

По итогу очень большой прирост в понимании питон-экосистемы будет.

Питон не только язык, это экосистема тоже. Без экосистемы питона питон уже не совсем питон.

Надо просто отвлечься, взять и разобраться с этим.
Аноним 21/10/21 Чтв 17:24:35 #112 №2189565 
>>2189554
Почему сразу даун?
Видно, что чувак просто не дружит с инфраструктурой, хочет программировать, а не "админством" заниматься. Довольно обычная вещь.

Совет тут один, надо взять себя в руки и разобраться с инфраструктурой. Отдача будет очень большой. Без этого никак.
Аноним 21/10/21 Чтв 17:25:25 #113 №2189568 
>>2189561
>>2189546

А как люди жили до виртуальных окружений? Как люди писали код на 1 машине, чтобы было 2 проекта с разными версиями одной и той же либы?
Аноним 21/10/21 Чтв 17:28:16 #114 №2189572 
>>2189568
Ну пиши, кто ж тебе мешает. А лучше сразу съеби жить в пещеру.
Аноним 21/10/21 Чтв 17:31:43 #115 №2189577 
>>2189568
В питоне виртуальные окружения с самого начала.

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

Но полноценная разработка на питоне как-то с этим не увязывается. Надо просто разобраться с этим и потом будет намного проще жить.
Аноним 21/10/21 Чтв 17:56:58 #116 №2189598 
Аноны, начал учить пайтон, пока что читаю SICP из шапки.
Есть вопрос, в чем лучше пистаь для обучения, есть шелл, есть терминал, или какой-то сторонний софт тоже есть? Разницы же никакой нет?
И поставил версию 3.10, в обучалке версия питона не важна же, там все актуально будет? Спасибо
Аноним 21/10/21 Чтв 18:05:59 #117 №2189606 
>>2189598
Пока можешь писать хоть в блокноте или idle'e.
А так попробуй разные ide (pycharm, atom, vscode, spyder, sublime) и jupyter. Когда будешь писать что-то похожее на проекты писать, поймешь, что тебе больше нравится.
Аноним 21/10/21 Чтв 18:08:36 #118 №2189610 
>>2189598
Разницы нет.
Шелл удобен для всяких однострочников и прочих секундных экспериментов, для >3 строчек полезно иметь что-то с линтером, чтобы оно тебе бухтело сразу по стилю и ошибках, тот же вс код или прочий редактор на стероидах норм.
Аноним 21/10/21 Чтв 18:10:19 #119 №2189612 
>>2189606
>>2189610
Спасибо!
Аноним 21/10/21 Чтв 18:10:48 #120 №2189614 
>>2189610
Кстати, вместо простого шелла лучше поставь себе ipython, это та же сосноль, но с всякими плюшками, оно же используется в жупитере.
Аноним 21/10/21 Чтв 18:47:56 #121 №2189676 
LarryWallperl.gif
>>2189568
Нормально жили. Шли в секцию AUTHOR в модуле, находили email автора и писали ему какой он мудак и тот поправлял конфликты.
Ну и айти было не таким сложным и потогонным. Можно было за выходные поправить
Аноним 21/10/21 Чтв 18:57:36 #122 №2189689 
>>2189676
ладно, шучу.
export PERL5LIB=/home/user/perl5lib/ и в cpan все инсталлишь.
Поводом создания virtualenv явилось необходимость писать сразу на python2 и python3 одновременно.
А в perl только одна версия языка доминирующей всегда была.

какой же все таки йоба-фейс хитрый у него.
Аноним 21/10/21 Чтв 18:58:12 #123 №2189690 
>>2189676
А че у мужика над клавой? Это шоколадные батончики?
Аноним 21/10/21 Чтв 20:31:01 #124 №2189792 
Ананасы, подскажите по реквестам кое-что.
Вот такая ситуация - есть чужой спагетти-код, который очень не хочется (и нет времени) переписывать, и он в разных потоках шлёт реквесты из общей очереди на одни и те же 10 уникальных хостов(балансеров) через requests.get() и у каждого такого запроса соответственно тратится лишнее время на создание-закрытие сессии.
Вопрос такой - а можно ли каким-то образом завести на эти хосты отдельные сессии одновременно, чтоб с ними эти потоки-воркеры могли ходить запросами без пересоздания подключений? Я читал, что Session не потокобезопасно, но мб есть какие-нибдь воркэараунды или более здравые решения?
Аноним 21/10/21 Чтв 22:51:26 #125 №2189882 
>>2189235
>пук
Аноним 21/10/21 Чтв 22:56:02 #126 №2189885 
>>2189243
Это такой способ троллинга? Lua применим во многих играх, я заебусь его перечислять, но вот два популярных проекта.

WoW, Garry's mod, Stalker.
https://ru.wikipedia.org/wiki/Категория:Игры,_использующие_язык_Lua

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

Так же Lua имеет исходный код, что позволяет добавить что пожелаешь, даже тот же switch.
Аноним 21/10/21 Чтв 23:04:51 #127 №2189893 
>>2185611 (OP)
Поясните за работу декораторов через точку, например у фласка:
@app.route
Вроде как я понял вызывается класс flask(Scaffold), а в скаффолде есть фунекция route, которую можно дернуть через этот app. Вообщем интересует вот это взаимодействие.
Аноним 22/10/21 Птн 00:14:58 #128 №2189955 
>>2185611 (OP)
>https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
КАК ЭТУ ХУЙНЮ ТО СКАЧАТЬ ВСЮ СРАЗУ? Я ЖЕ ЕБАНУСЬ РУЧКАМИ.
Аноним 22/10/21 Птн 00:39:48 #129 №2189963 
f3f5c59f573d4c32c6c5e68b40f628ef.jpeg
>>2189885
Просто не позорься. Толстяк влез с луа, мимотолстяк метнул какашкой, а ты тупо вышел на сцену и позоришься.
Это называется КРИНЖ по вашему. Ты нихуя не знаешь и полез что-то обосновывать.
Аноним 22/10/21 Птн 00:56:13 #130 №2189967 
>>2189955
Скачай одну, наиболее интересную. Ты же даже одну не прочитаешь, говно.
Аноним 22/10/21 Птн 01:22:10 #131 №2189981 
>>2189893
Всё, что делает декоратор типа
>@decorator
>def func(): pass
это:
>func = decorator(func)

Точки там или нет — не важно. app.route — это просто путь к функции-декоратору. Типа вот так — https://ideone.com/VVeaJk Метод route имеется у твоего объекта app. В каких он там фреймворках/либах/родительских классах имеется уж не знаю.
Аноним 22/10/21 Птн 01:31:32 #132 №2189992 
>>2189981
А, это путь, ок.
Аноним 22/10/21 Птн 02:44:02 #133 №2190035 
>>2185912
Пиздец, просто пиздец.
миморубибог
Аноним 22/10/21 Птн 04:49:35 #134 №2190057 
>>2185778
>Датасатанисты не приветствуются
А также веб-макаки и..ой? А где все?
Аноним 22/10/21 Птн 10:14:27 #135 №2190122 
>>2185778
Клоун, лучше рот не раскрывай, если что-то спиздауть решил. Ты кроме как шутом больше ни на что не годен
и да, я с нумпаем даже и не работаю в основном, я веб-макака
Аноним 22/10/21 Птн 10:41:54 #136 №2190133 
вы здесь бычитесь?
Аноним 22/10/21 Птн 13:46:42 #137 №2190264 
image.png
Так блэт, не понял. Что именно такое асинхронная корутина? Я работал с асинхронщиной но не в курсе именно питоновской терминологии
В доках сказано https://docs.python.org/3/library/asyncio-task.html что асинхронная корутина это собственно сама функция объявленная через async, но блять сам Питон же говорит что это просто function, а вот ее результат это уже корутина. Чему верить?
Аноним 22/10/21 Птн 13:59:04 #138 №2190276 
python3-venv : Depends: python3 (= 3.6.5-3) but 3.6.7-1~18.04 is to be installed

Линух блять, я твою мать топтал. Че это за хуйня? Ну вот че это за хуйня? Элементарная установка для питон крашится к хуям из-за микронесоблюдения версии. Система чистая нахуй
Аноним 22/10/21 Птн 14:00:33 #139 №2190278 
>>2188408
import itertools
zip(mylist, itertools.cycle(myconst))
Аноним 22/10/21 Птн 14:07:31 #140 №2190283 
image.png
>>2190264
>В доках сказано https://docs.python.org/3/library/asyncio-task.html что асинхронная корутина это собственно сама функция объявленная через async,
Где ты это нашел?
Аноним 22/10/21 Птн 16:19:45 #141 №2190385 
1.png
Аноним 22/10/21 Птн 17:36:34 #142 №2190450 
>>2190385
Все по делу базари(л)
Аноним 22/10/21 Птн 17:53:56 #143 №2190474 
class donbass(object): <- родительский
----attribute: ... <- хочу сюда передать тип дочернего

это вообще в принципе возможно?

class donbass(object):
----@classmethod
----def get_attribute(cls: Type[TypeVar]) -> TypeVar: ...

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

@classmethod
@property
def ...
блять вообще в пайчарме не работает
Аноним 22/10/21 Птн 19:55:42 #144 №2190647 
>>2190264
В доках есть специальная оговорка:
> Important
> In this documentation the term “coroutine” can be used for two closely related concepts:
> a coroutine function: an async def function;
> a coroutine object: an object returned by calling a coroutine function.

То есть где-то корутинами могут называть фунции async def, для удобства.

В целом да, непрозрачный момент, но ты понимаешь всё правильно:
> сам Питон же говорит что это просто function, а вот ее результат это уже корутина. Чему верить?
Вот этому и верить.

Схожая непрозначная история с генераторами, на них логика тоже даёт сбой. Впрочем это близкие вещи, корутины и генераторы
Аноним 22/10/21 Птн 21:19:54 #145 №2190734 
Программирует кто-то в докере? Как делаете?
Аноним 22/10/21 Птн 22:04:13 #146 №2190786 
>>2190734
Берешь образ, прописываешь порты и делаешь
Аноним 22/10/21 Птн 22:34:14 #147 №2190839 
>>2185611 (OP)
А я повторю вопрос.
Как скачать изшапки все книги СРАЗУ?
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Аноним 22/10/21 Птн 22:34:41 #148 №2190840 
>>2190839
Из шапки
быстрофикс
Аноним 23/10/21 Суб 01:01:52 #149 №2191075 
>>2189963
Не знаю в чем? У меня стаж луа 7 лет, я о нем знаю все что только можно знать. Даже как выебать твою мать тернарным условным оператором.
Аноним 23/10/21 Суб 06:59:46 #150 №2191172 
>>2191075
Вах, баюс-баюс!
> тернарным условным оператором
Ебать у вас там КОМПУТЕР САЕНС в луа.
Аноним 23/10/21 Суб 12:31:14 #151 №2191304 
>>2190786
Ну это понятно, а вот разве тогда будет автодополнение тоже самое работать? В контейнере же будет другой питон с другими библиотеками
Аноним 23/10/21 Суб 13:40:44 #152 №2191350 
>>2191304
Указываешь интрепретатор, который находится в докере и тебе только установленные либы показывает
Аноним 23/10/21 Суб 13:43:05 #153 №2191353 
>>2191350
>Указываешь интрепретатор, который находится в докере
Звучит просто, но как именно доступится?
Аноним 23/10/21 Суб 13:56:52 #154 №2191365 
>>2186539
Ебать, так это же просто команды для бота
Аноним 23/10/21 Суб 14:27:15 #155 №2191398 
>>2190839
>почти все на английском
>Маккини про pandas вообще из 2015

не качай их. иди сам к пиратам.
Аноним 23/10/21 Суб 14:34:33 #156 №2191408 
>>2191353
Tools | Deployment | Browse Remote Host
Если надо редактировать файлы внутри контейнера
А если нужен интрепретатор, то при добавлении окружения выбираешь докер
Аноним 23/10/21 Суб 15:21:03 #157 №2191461 
>>2185611 (OP)
На убунту у меня в питонокрите номально отображабся цвета , а на винде \033[32m такая фингня

Гуглил ничего не понял.

И у меня только с python main.py запускается. а не как на уьунту python3 main.py
Аноним 23/10/21 Суб 15:25:20 #158 №2191466 
>>2191461
Это анси эскейп коды, шиндовый каличный терминал в такое не может. Есть всякие сторонние решения вроде conemu, там будет работать.
Аноним 23/10/21 Суб 15:32:49 #159 №2191473 
>>2191466
Что за тупость, это же компиляторы верно? почему они не видят одинаково? как будто разные языки програмирования м разным синтаксисом

Короче, я просто на убунту запускал скрит, он делал дела и красиво показывал, и в конце писал в файл
Запускал правым кликом терминал python3 main.py и все

сейчас на винде start.cmd
с кодом
python main.py
pause

Запускаю двойным кликом. Как мне сделать что бы я кликал была клнсоль с цветами и записовало в файл? Короче жаст ит воркс
Аноним 23/10/21 Суб 15:38:43 #160 №2191482 
>>2191473
Это связано не с питоном, а с ОС.
Например, ты сделал сайт, и он нормально работает в файрфоксе, а в интернет эксплорере нихуя. Вот тут то же самое.
Посмотри модуль colorama, там вроде есть какие-то костыли для решения этой проблемы.
Аноним 23/10/21 Суб 18:21:53 #161 №2191611 
Господа, а как деплоить приложение? Ну вот я меня есть мокрописька в venv, я хочу ее распространять. Как?

Я попробовал написать шелл-скрипт вида:

#!/bin/sh

./venv/bin/python3 bot/echobot.py

И внезапно оно работает без venv/bin/activate. Так может так и распространять? Эту директорию в архив, пускай пользователь куда-то там разархивирует и запускает bot.sh?

Как правильно?
Аноним 23/10/21 Суб 18:44:31 #162 №2191636 
1635003870888.PNG
ЧЕ ЗА ХУЙНЯ
Аноним 23/10/21 Суб 18:47:47 #163 №2191642 
Аноны, уже 4 часа не могу решить задачу. Помогите пожалуйста.
https://stepik.org/lesson/488831/step/6?unit=480067 - сама задача.

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

a = [['79184219577', 'Женя'], ['79194249271', 'Руслан'], ['79281234567', 'Женя']]

таким образом, чтобы в нем в итоге вышло 2 номера Жени и 1 номер Руслана?

Я уже кучу всего перепробовал, едет крыша, заранее спасибо
Аноним 23/10/21 Суб 18:48:00 #164 №2191644 
>>2191636
Магия флоатов вестимо.
Аноним 23/10/21 Суб 18:49:43 #165 №2191646 
>>2191644
Ок как мне получить ровно 6.4, чтобы я мог умножить на тысячу и получить инт 6400?
Аноним 23/10/21 Суб 18:50:25 #166 №2191649 
>>2191642
Хуйню сделал. Нужно проверять есть ли ключ в словаре или нет. Если нет - загоняешь ключ и значение в словарь. Если есть - добавляешь значение к старому значению по ключу.
Аноним 23/10/21 Суб 18:51:39 #167 №2191651 
>>2191646
Гугли что такое decimal в питоне.
Аноним 23/10/21 Суб 18:57:00 #168 №2191657 
>>2191651
Я не кодер и не собираюсь изучать язык в деталях и почему создатели этой хуйни обосралить и не смогли осилить нормальный флоат. Понимаешь, мне похую. Вот что не похую так это то, что мне нужно написать скрипт на питоне для универа.

Как делать в этом случае? Округлять до определенного знака или есть нормальный способ?
Аноним 23/10/21 Суб 18:59:13 #169 №2191662 
c7ac3960dade13411e418.jpg
>>2191657

А еще спрашивают почему питон вреден в качестве первого языка. Чтобы не плодить вот таких животных. Оно -- кодер, оно не собирается изучать язык в деталях.
Аноним 23/10/21 Суб 19:00:23 #170 №2191664 
>>2191657
Подключи децимал и оберни ответ в него перед принтом. И все. В децимал как раз укажешь до какого знака округление.

Хотя нет - хуйня будет. Надо все числа в децимал преобразовывать.
Аноним 23/10/21 Суб 19:01:04 #171 №2191665 
>>2191662
> Оно -- кодер
У вас все дегенераты итт не умеют читать?

Я тебе повторяю еще раз - мне поебать на ваши выкрутасы, стоит прикладная задача и питон рекламируется как прикладной язык для инженеров. Либо соответсвуй, либо иди нахуй и я делаю на с++
Аноним 23/10/21 Суб 19:01:58 #172 №2191668 
>>2191664
Попробую, спасибо.
Аноним 23/10/21 Суб 19:02:58 #173 №2191669 
>>2191665
Питон - язык для ученых, датасаентистов, визуализаторов всяких исследований и метрик, экономистов (не ученые) и прочих.

Для инженеров все же лучше что-то другое.
Аноним 23/10/21 Суб 19:12:01 #174 №2191678 
>>2191669
> Для инженеров все же лучше что-то другое.
Например?
Аноним 23/10/21 Суб 19:26:40 #175 №2191684 
>>2191665
В c++ такая же хрень должна быть.
во всяком случае, в некоторых случаях .

Ты хоть в школу ходил? Что такое иррациональное число понимаешь?
Аноним 23/10/21 Суб 19:26:56 #176 №2191685 
>>2191678
Ну если Питон реализован на С, то очевидно, что например С (если ты йоба-инженер) или С# (если ты тоже-инженер). Или кресты, если в геймдев охота.
Аноним 23/10/21 Суб 19:43:42 #177 №2191693 
>>2191649
Спасибо, анон
Аноним 23/10/21 Суб 19:45:10 #178 №2191695 
1635007509439.PNG
>>2191684
> В c++ такая же хрень должна быть.
> Ты хоть в школу ходил? Что такое иррациональное число понимаешь?
Oh rly? Что с ебалом?
Аноним 23/10/21 Суб 20:12:46 #179 №2191707 
>>2191636
Лол, а почему так сделали в питоне? В чем профит?
Аноним 23/10/21 Суб 20:35:32 #180 №2191719 
>>2191695
>>2191707
https://en.wikipedia.org/wiki/Round-off_error
Аноним 23/10/21 Суб 20:36:54 #181 №2191720 
>>2191719
https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems
Аноним 23/10/21 Суб 20:43:28 #182 №2191724 
>>2191695
Ну надо разобраться.
Я знаю ты сможешь. Это где-то тут : numpy/numpy/core/src/umath/fast_loop_macros.h
Аноним 23/10/21 Суб 20:45:50 #183 №2191728 
Screenshot27.jpg
>>2191636
УВР
питон обнови.
виндовс переустанови.
Аноним 23/10/21 Суб 20:46:30 #184 №2191729 
>>2191728
А ввести те же значения не пробовал?
Аноним 23/10/21 Суб 20:51:48 #185 №2191731 
>>2191729
нет. ведь это правильный код.
А твой неправильный.
Аноним 23/10/21 Суб 21:22:50 #186 №2191750 
помогите непросвящённому, как мне
curl -i -F files[][email protected] https://uguu.se/upload.php
сделать в python3 с помощью библиотеки requests?
Аноним 23/10/21 Суб 21:23:30 #187 №2191752 
>>2191720
Как сравнивать флоаты чтобы не было такого (0.1 + 0.2) != 0.3 ?
Аноним 23/10/21 Суб 21:25:01 #188 №2191755 
Аноны, помогите
Установил vscode - как сделать подсветку стилистических ошибок PEP8?
Аноним 23/10/21 Суб 21:30:09 #189 №2191764 
>>2191752
а зачем ты их сравниваешь?
померь три раза свой хуй и запиши в табличку.
расскажи о результатах.
сделай выводы.
Аноним 23/10/21 Суб 21:39:53 #190 №2191769 
Сап, двач, а цепи маркова для трёх слов расширяются, или там что то принципиально другое юзается? Учу питон, пишу генератор текста, но с тремя словами.

И вот думаю технически можно ли рассматривать цепи Маркова с звеном из двух слов (и парой звеньев в 4 слова) или лучше через словарь множеств вложенный в словарь писать или вообще чет другое.
Аноним 23/10/21 Суб 21:46:02 #191 №2191771 
Screenshot1.png
>>2191752
округлять?
Аноним 23/10/21 Суб 21:52:15 #192 №2191772 
>>2191752
Писать в Decimal можна
Аноним 23/10/21 Суб 21:52:40 #193 №2191773 
>>2191771
Можешь еще показать округление 1.5 и 2.5 по тому же принципу, что у тебя на скрине?
Аноним 23/10/21 Суб 21:55:48 #194 №2191775 
Screenshot2.png
>>2191773
м?
Аноним 23/10/21 Суб 22:01:06 #195 №2191777 
1635015665805.PNG
>>2191775
ммм у тебя результат на одних и тех же числах меняется в зависимости от выбраного количества нулей

неудивительно что про вас рисуют картинки уровня ПОГРУЖЕНИЯ В ПИТОН
Аноним 23/10/21 Суб 22:04:04 #196 №2191781 
>>2191777
эээм...
Аноним 23/10/21 Суб 22:05:12 #197 №2191782 
>>2191777
Ты дурачок? Почитай, что такое round. В любом языке так.
Аноним 23/10/21 Суб 22:09:17 #198 №2191786 
1635016156932.PNG
>>2191782
>>2191781
sad pythonist screeching
Аноним 23/10/21 Суб 22:13:59 #199 №2191790 
>>2191786
Есть такое - жс это неиссякаемый источник всякого странного и упоротого говна.
Аноним 23/10/21 Суб 22:18:11 #200 №2191792 
1635016691610.PNG
>>2191790
мог бы просто признать что питон не может в числа
Аноним 23/10/21 Суб 22:28:25 #201 №2191795 
14792.jpg
>>2191792
Ладно, ты меня затраллел.
Аноним 23/10/21 Суб 22:30:10 #202 №2191797 
>>2191795
а ведь я даже не старался просто пришел уточнить насчет чисел для скрипта язык сам себя затраллел
Как вы на нем кодите?
Аноним 23/10/21 Суб 22:31:14 #203 №2191798 
>>2191797
Комьюнити, библиотеки, смузи, и иногда, в качестве разнообразия, гетеросексуальный секс.
Аноним 23/10/21 Суб 22:41:01 #204 №2191802 
>>2191707
Это везде, юзай decimal
https://0.30000000000000004.com/
Аноним 23/10/21 Суб 22:46:58 #205 №2191805 
>>2191707
Я в одном месте читал, что флоаты реализованы аппаратно и поэтому оч быстрые в вычислениях, а для точных расчетов прикрутили децимал, которые точные, но реализованы программно и поэтому более медленные.
Аноним 24/10/21 Вск 00:46:49 #206 №2191889 
>>2191805
decimal примерно такие же точные как их float.
просто у них база - 10. а float у - 2 .

То есть, число 1.1 = 1 целых и 1/10 = нет точного представления в рамках двоичных дробей. возможно, что-то путаю касательно стандартна, но идея такая. Программисту обычно ничего знать не надо кроме того, что float нельзя сравнивать.

из документации:
> In contrast, numbers like 1.1 and 2.2 do not have exact representations in binary floating point.
Аноним 24/10/21 Вск 00:55:45 #207 №2191892 
1635026145458.PNG
Пока вы тут выясняли что по децималам я дописал свой скрипт почти до конца

РАКИ САСАТ
Аноним 24/10/21 Вск 00:59:23 #208 №2191894 
1635026363577.PNG
Алсо вот как я поборол неточный подсчет длины моей балки - просто нахуй перевожу в инт с каменным ебалом. В рот ебал тех, кто придумал, что если оставить неточности во флоатах это будет хорошей идеей
Аноним 24/10/21 Вск 01:04:30 #209 №2191897 
>>2191892
>element length in cm
ты кодомакака если у тебя имя переменной L а в комменте высрал что она означает
Аноним 24/10/21 Вск 01:05:36 #210 №2191898 
>>2191897
Я вообще не кодер. Нормальный комент хуле ты приебалсяю
Аноним 24/10/21 Вск 01:09:09 #211 №2191900 
>>2191898
комента воще быть не должно еси переманная названа как lengthCm
Аноним 24/10/21 Вск 01:11:59 #212 №2191903 
>>2191900
А если у меня три разных длины в сантиметрах, то эта должна называться lengthOfElementCm, да?
Аноним 24/10/21 Вск 02:39:31 #213 №2191924 
>>2185904
Что значит for использовать не можешь? https://ideone.com/PMmMSi
Аноним 24/10/21 Вск 02:57:15 #214 №2191925 
>>2190474
Если родительский класс что-то знает о дочерних, то это какая-то хуйня у тебя получается: в строго типизированном языке создание родительского класса зависело бы от наличия дочернего, который в свою оченеь зависит от родительского. Запуститься там через всякие forward declaration'ы может и смогло бы, но это всё равно фигня какая-то.

>>2191695
https://ideone.com/d6Z6bu
Аноним 24/10/21 Вск 03:49:05 #215 №2191931 
>>2190474
Возможно тебе вот это вот надо:
https://docs.python.org/3/reference/datamodel.html#object.__init_subclass__

>>2191925
>Если родительский класс что-то знает о дочерних, то это какая-то хуйня у тебя получается
Не всегда, потому что иногда родительскому классу полезно знать, какие наследники есть. Это полезно для каких-то библиотек, ORM, реализаций разных протоколов и т.п. Вот в этих задачах вроде ORM используется.

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

>в строго типизированном языке создание родительского класса зависело бы от наличия дочернего, который в свою оченеь зависит от родительского.
Скорее всего что-нибудь есть в современных версиях. Потому что востребовано. Питон просто более ООП язык, в питоне класс это тоже объект, тогда как в компилируемых типизируемых класс это просто класс. Соответственно возможностей меньше.
Аноним 24/10/21 Вск 13:28:43 #216 №2192089 
>>2191802
достаточно простое объяснение.
но в чем именно здесь поведение C++ и Python отличается?

Интуитивно C++ выглядит лучше.
Аноним 24/10/21 Вск 13:52:59 #217 №2192096 
>>2191889
В Python тип данных float реализован по стандарту IEEE-754 как число с плавающей точкой двойной точности (6464 бита) с основанием экспоненты равным 22. Реализация таких чисел заложена прямо в железо любого современного процессора. Поэтому float в Python работает как аналогичный тип данных double в таких языках программирования как С#, С++, Java и т.д. И имеет такие же ограничения и «странности». Так как float поддерживается аппаратно, быстродействие при использовании этого типа данных сравнительно велико.

Тип данных Decimal – число с плавающей точкой с основанием экспоненты 1010. Он реализован по стандарту IBM: General Decimal Arithmetic Specification, в свою очередь основанному на стандартах IEEE.

Тип данных Decimal реализован программно, поэтому он в разы медленнее типа данных float, реализованного аппаратно. Сам тип данных Decimal написан на языке С.

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

Тип данных Decimal неизменяемый. Операции над ним приводят к созданию новых объектов, при этом старые не меняются.

Еще одно следствие того, что Decimal реализован программно – его можно на ходу настраивать, как угодно программисту. Для этого есть контекст – объект, содержащий настройки для выполнения операций. Операции, выполняемые в контексте, следуют заданным в нем правилам. Для float все правила фиксированы на аппаратном уровне.

https://stepik.org/lesson/360941/step/1?unit=345464
Аноним 24/10/21 Вск 14:09:08 #218 №2192107 
>>2192096
>Поэтому float в Python работает как аналогичный тип данных double в таких языках программирования как С#, С++

Давай-ка поманеврируй.
Почему та >>2191695 программа суммирует как бы точно?
Там тоже double
Аноним 24/10/21 Вск 14:15:53 #219 №2192111 
>>2192107
Просто старинный язык с++ может проделать все манипуляции по округлению под капотом, тогда как питонист обязан страдать хуйней в 2021 и писать все ручками.
мимо автор скрина
Аноним 24/10/21 Вск 14:25:00 #220 №2192114 
>>2192111
ты то вообще дебил залетный, мы это поняли.

Мне интересно мнение специалистов.
Аноним 24/10/21 Вск 14:29:27 #221 №2192120 
>>2192114
Залетный обоссал местных знатоков, у которых флоат в С++ такой же, как в Питоне. Всё что нужно знать о местных долбоебах, точнее специалистах.
Аноним 24/10/21 Вск 14:38:30 #222 №2192129 
>>2192107
Языки разные. Что ты хочешь услышать? Сишка для своего, Питон - для своего. Хочешь - пиши на сишке или крестах, никто не запрещает.
Аноним 24/10/21 Вск 14:52:31 #223 №2192140 
>>2192129
Так написано что типы данных одинаковые используются и в c++ и питоне. вот уже лет 40 какъ.

6/10 нельзя точно разложить на конечные двоичные дроби .

То есть, эта ошибка всегда должна возникать в данном наборе чисел в любом языке. но в c++ почему-то не возникает. округление при вводе или sum по-разному работают.
Аноним 24/10/21 Вск 14:53:57 #224 №2192142 
>>2192120
И дураку дано столкнуться с метеоритом. Нет в том большой заслуги.
Аноним 24/10/21 Вск 14:55:47 #225 №2192145 
>>2192089
Для apl такое объяснение:
APL has a default printing precision of 10 significant digits. Setting ⎕PP to 17 shows the error, however 0.3 = 0.1 + 0.2 is still true
Полагаю, что в C++ то же самое
Аноним 24/10/21 Вск 14:57:49 #226 №2192149 
>>2192145
То есть он тебе не показывает, что под капотом.
Аноним 24/10/21 Вск 15:00:45 #227 №2192151 
LarryWallperl.gif
>>2192145
а, точно.
Объявляю C++ говноедским неточным языком в этом ИТТ треде.
Аноним 24/10/21 Вск 15:02:36 #228 №2192153 
11111.png
>>2192111
Он их округляет только для вывода
Аноним 24/10/21 Вск 15:03:44 #229 №2192154 
>>2192153
И это правильно.
Аноним 24/10/21 Вск 15:04:28 #230 №2192157 
>>2192154
Ок
Аноним 24/10/21 Вск 15:15:32 #231 №2192174 
>>2192140
Ну посмотри как в С++ это работает под капотом и как это в Питоне работает под капотом. У Питона под капотом С.
Аноним 24/10/21 Вск 15:26:52 #232 №2192191 
>>2192174
я что сюда объяснять пришел? я за ответами.
Аноним 24/10/21 Вск 15:28:57 #233 №2192193 
>>2192191
Вот и выросло поколение "квалифицированных пользователей".
Аноним 24/10/21 Вск 21:12:30 #234 №2192544 
Чому первая ссылка на литературу не работает?
Аноним 24/10/21 Вск 23:20:53 #235 №2192631 
>>2192544
Имплаинг в 2к21 в пидорахии остались люди умеющие читать, ну ты прям совсем.
Аноним 25/10/21 Пнд 04:23:40 #236 №2192804 
>>2191750
бамп вопросу
Аноним 25/10/21 Пнд 04:45:18 #237 №2192806 
>>2192804
всем спасибо, я сам разобрался
Аноним 25/10/21 Пнд 05:04:25 #238 №2192807 
>>2192806
Молодец, не зассал перед трудностями и потратил целых пять сек.
Аноним 25/10/21 Пнд 10:17:01 #239 №2192857 
Стикер
>>2191075
>У меня стаж луа 7 лет
Аноним 25/10/21 Пнд 10:19:33 #240 №2192858 
image.png
>>2191707
Аноним 25/10/21 Пнд 12:11:25 #241 №2192975 
>>2185611 (OP)
Ребят, как я понял те кто JS учат идут во фронт или бек, а как питонисты зарабатывают? Сккрипты просто пишут? Я не троллю, просто тупой. Объясните плиз.
Аноним 25/10/21 Пнд 12:34:31 #242 №2193010 
>>2192975
Бек и машоб
Аноним 25/10/21 Пнд 13:28:32 #243 №2193065 
>>2192975
>как питонисты зарабатывают
жопа и рот
Аноним 25/10/21 Пнд 13:33:00 #244 №2193071 
>>2193065
Рот - фронтэнд
Жопа - бэкенд

Не путай
Аноним 25/10/21 Пнд 13:40:28 #245 №2193080 
В пистоне в itertools есть такая ебень как product, ей передаешь набор iterbale он она проходится по всем значениям из них будто во вложенном цикле

Например это:
product([1,2,3], ['a', 'b', 'c'])

Эквивалетно вот этому:
for num in [1,2,3]:
----for char in ['a', 'b', 'c']:
--------yield (num, char)

И таких вложенных циклов for может быть столько, сколько аргументов передаешь в product.
Как это под капотом работает блин?
Аноним 25/10/21 Пнд 13:43:37 #246 №2193085 
>>2193071
Стесняюсь спросить, а вагина это что тогда?
Аноним 25/10/21 Пнд 13:45:52 #247 №2193087 
>>2193085
Я такого слова не знаю
Аноним 25/10/21 Пнд 13:47:07 #248 №2193089 
>>2193087
Я читал в доках Питона, что это какая-то штука у женщин между ног.
Аноним 25/10/21 Пнд 13:59:18 #249 №2193097 
>>2193080
В доке есть описание.
Аноним 25/10/21 Пнд 15:06:24 #250 №2193140 
>>2193097
Скорость эквивалентна этому двухэтажному циклу? Для матриц/дф можно использовать, если ничего "векторного" найти не можешь?
Мимо новичок.
Аноним 25/10/21 Пнд 15:14:21 #251 №2193146 
>>2193140
Там просто пример реализации. В самом модуле оно реализовано на си, так что сравнивать неуместно.
Аноним 25/10/21 Пнд 15:17:23 #252 №2193147 
>>2193140
>Скорость эквивалентна этому двухэтажному циклу?
Что за странные и глупые вопросы?
По-моему в таких случаях надо просто взять и написать тест, посмотреть на результат. Заодно посмотреть, сколько это в секундах и устраивают ли тебя эти цифры.

А потом уже вопрос поднимать, что и как.
Аноним 25/10/21 Пнд 15:34:16 #253 №2193159 
>>2193146
Ради интереса проверил, скорость реализации itertools.product практически эквивалентна скорости своей реализации с функцией-генератором из двухэтажного цикла и yield.
Аноним 25/10/21 Пнд 15:34:27 #254 №2193160 
>>2193010
>>2193065
Понятно, значит не зарабатывают, пойду тогда в JS вкатываться.
Аноним 25/10/21 Пнд 15:34:51 #255 №2193161 
>>2193089
Я питонист, а стало быть эксперт по анусам
Аноним 25/10/21 Пнд 15:35:44 #256 №2193163 
>>2193160
Ты вакансии по своей деревне пробей, а не здесь спрашивай, але
Аноним 25/10/21 Пнд 15:37:33 #257 №2193166 
>>2193147
Спасибо за критику, учту.
>>2193159
Спасибо за информацию.
Аноним 25/10/21 Пнд 15:37:35 #258 №2193167 
Как проверить что объект pickable? Высирать pickle в dev/null и ловить эксепшны?
Аноним 25/10/21 Пнд 16:04:46 #259 №2193180 
Как реализовать HashMap в Питоне, не используя dict и его производные?
Очевидно что надо так же хешировать результаты при помощи функции hash() но как это все хранить блин?

спросили недавно на собесе и я обосрался
Аноним 25/10/21 Пнд 16:11:15 #260 №2193184 
>>2193180
Так же как и везде https://habr.com/ru/post/128017/
Только хз что использовать вместо массива с ограниченным размером. [None] * cap в голову сразу приходит.
Аноним 25/10/21 Пнд 16:23:01 #261 №2193190 
01.png
02.png
Как лучше делать?
Пик 1 / 2?
Аноним 25/10/21 Пнд 16:26:49 #262 №2193195 
>>2193190
Почему у тебя там двойной пробел? Пидор што ле?
Аноним 25/10/21 Пнд 16:28:57 #263 №2193200 
>>2193190
Лучше первый, но нужно пробел последний убрать при отсутствии имени
Аноним 25/10/21 Пнд 16:32:55 #264 №2193204 
>>2193190
Второй вариант лучше. При этом логически более корректно делать не '', а None
Аноним 25/10/21 Пнд 19:40:24 #265 №2193385 
image.png
image.png
image.png
Почему код из книжки не работает?
Меня обманули? ;c
Хотя если добавить параметр age при объявлении функции и задать ему значение None, то все работает..
Аноним 25/10/21 Пнд 20:52:37 #266 №2193439 
16344569940260.jpg
>>2193385
что за книжка такая, щто автар ошибки в функциях на три слова делает?
Аноним 25/10/21 Пнд 20:57:46 #267 №2193454 
image.png
>>2193439
стр 154
Аноним 25/10/21 Пнд 21:22:26 #268 №2193474 
>>2193385
Аргументы либо должны быть заданы яв>но, то есть как ты написал
>Хотя если добавить параметр age при объявлении функции и задать ему значение None, то все работает..
Либо можешь упаковать их в словарь,

def build_person(first_name, last_name, kwargs):
____age = kwargs.get("age")
____if age и т.д.

Пример из книжки не работает, видимо это как всегда охуительный перевод, либо хуй знает как она 3 издания-то прошла без редактуры, лол. Чекни оригинал и читай лучше всегда на нём.
Аноним 25/10/21 Пнд 21:23:28 #269 №2193475 
>>2193474
>def build_person(first_name, last_name, kwargs):
Фикс хотя возможно это форматирование и снова звёздочки пропадут
Аноним 25/10/21 Пнд 21:24:09 #270 №2193476 
>>2193475
Пиздец Абу иди нахуй со своими свистоперделками.
Аноним 25/10/21 Пнд 21:50:32 #271 №2193489 
image.png
>>2193454
>>2193474
Я хз почему, но в пахомии пишут что это 3е издание, хотя по факту есть всего 2. Даже в этой книге >>2193454 написано что это второе издание. Хуй его знает почему переводчики решили накинуть +1 к цифре издания, но это факт
Аноним 25/10/21 Пнд 23:07:27 #272 №2193551 
Только вкатываюсь. В какой проге на пк лучше учиться питонить?
Аноним 25/10/21 Пнд 23:33:12 #273 №2193571 
>>2193551
>>2189606
Аноним 26/10/21 Втр 02:02:45 #274 №2193629 
Про перспективы удаления gil'а
https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/
Аноним 26/10/21 Втр 06:32:27 #275 №2193653 
>>2193190
def user_info(*names):
return " ".join(names)
Аноним 26/10/21 Втр 10:33:06 #276 №2193710 
>>2193629
Я че-то не въехал: единственное препятствие для убирания GIL это питоновский Ref count, где объекты удалятся на основании числа ссылок на них. Почему б его просто бля не отключить? Помимо него существует еще один сборщик мусора, который запускается периодичски и также способен удалять даже объекты с циклическими ссылками
Аноним 26/10/21 Втр 11:34:31 #277 №2193749 
>>2193710
Потому что получается GC из джавы, который стопает систему на неопределенный срок.
Аноним 26/10/21 Втр 13:48:53 #278 №2193874 
image.png
>>2188511
>Lua
a.b.c.d.num = a.b.c.d.num + 1
Аноним 26/10/21 Втр 15:43:22 #279 №2193975 
Двачик, помоги плиз. Не могу решить задачу. Решается в одну строку при помощи генератора словарей, а я ебанат.
https://stepik.org/lesson/446698/step/14?unit=437004

Максимум смог выделить нужные значения. result = {i for i in students.values() if i[0] > 167 and i[1] < 75}
Аноним 26/10/21 Втр 15:43:38 #280 №2193976 
Двачик, помоги плиз. Не могу решить задачу. Решается в одну строку при помощи генератора словарей, а я ебанат.
https://stepik.org/lesson/446698/step/14?unit=437004

Максимум смог выделить нужные значения. result = {i for i in students.values() if i[0] > 167 and i[1] < 75}
Аноним 26/10/21 Втр 15:57:49 #281 №2193989 
image.png
>>2193975
Аноним 26/10/21 Втр 15:58:28 #282 №2193990 
>>2193976
https://ideone.com/aC7agh
Аноним 26/10/21 Втр 16:09:35 #283 №2194000 
>>2193989
>>2193990

Спасибо, очень выручили. Я как олень джва часа сидел
Аноним 26/10/21 Втр 16:11:44 #284 №2194001 
23424242157673.png
>>2194000
>джва часа сидел
чел....
Аноним 26/10/21 Втр 16:18:26 #285 №2194008 
>>2193975
О, все больше челиксов в треде, кто по Степику вкатывается.
Аноним 26/10/21 Втр 16:45:56 #286 №2194039 
>>2193160
В маш обе нужно очень много питонистов.
Бэк на питоне не меньше, чем на ЖС
Прототипирование
Аноним 26/10/21 Втр 16:50:55 #287 №2194045 
датасаенс проще для вката, чем машоб?
Аноним 26/10/21 Втр 17:00:29 #288 №2194059 
>>2194045
Они сами не определились с терминологией и кто должен чистить данные (спойлер : это в любом случае будет делать самый омежка - то есть, ты)
Аноним 26/10/21 Втр 17:00:46 #289 №2194060 
>>2194001
Да, тупой. Но меня успокаивает лишь то, что я до этого решал задачи несколько часов и просто устал, и тот факт, что это "продвинутый" курс. Изначально, на курсе для новичков от этого автора было 150к человек. Сейчас примерно 2к осталось. Я дошел и не отвалился. В конце концов, если долго бить стену, то она когда-нибудь треснет. Один хуй, мне либо в течении года учить питон и идти джуном за 30к, либо всю жизнь работать учителем в школе за 20к
Аноним 26/10/21 Втр 17:07:19 #290 №2194069 
>>2194045
это одно и тоже
Аноним 26/10/21 Втр 17:10:53 #291 №2194074 
Тут за просьбы помочь с лабой нахуй не посылают? Я сразу признаю, что тупой в плане математике и никогода не программировал.

>Декодирование методом контроля четности.
>Вводится k – число символов в блоке и последовательность двоичных символов, длина которой кратна k.
>Если кратность нарушается, то последние символы последовательности игнорируются.
Окей, две переменных. Но вторая же бинарная, её как массив использовать? Тогда как на кратность проверять?
>В каждой комбинации из k символов осуществляется проверка четности: если четность не нарушена, то первые (k-1) символов данной комбинации добавляются в результирующую последовательность, если же четность нарушается, то счетчик количества ошибок увеличивается на единицу.
Тут типо должно быть ?
for i in X
if магия
array + array2.pop(1)
else
error_count++
>По окончании декодирования всей входной последовательности символов результирующая последовательность, а также значение счетчика ошибок выводятся на экран.
Аноним 26/10/21 Втр 17:12:45 #292 №2194076 
>>2194074
>Тут за просьбы помочь с лабой нахуй не посылают?
Посылают, прости
Аноним 26/10/21 Втр 17:13:11 #293 №2194077 
>>2194060
А сколько ты уже учишь?
Аноним 26/10/21 Втр 17:20:02 #294 №2194084 
>>2194077
месяца 2. В среднем по 6 часов в день. Когда-то 9 получается, когда-то 4, но стабильно. Делаю 2 выходных в неделю чтобы кукуха не поплыла
Аноним 26/10/21 Втр 17:20:19 #295 №2194085 
>>2194060
Алексей, ты?
Аноним 26/10/21 Втр 17:20:28 #296 №2194086 
43535353454.PNG
3453453353.png
>>2194060
пиздос, на этом вашем степике
дешевле учится где-нибудь в Мичигане чем в рашке
чому так? отсутствие конкуренции?
Аноним 26/10/21 Втр 17:21:04 #297 №2194089 
>>2194086
Кабанчики бизнес делают.
Аноним 26/10/21 Втр 17:24:41 #298 №2194096 
>>2194085
Нет

>>2194086
Есть платные, я сижу на годном бесплатном. Вроде какая-то благотворительная организация проспонсировала
Аноним 26/10/21 Втр 17:27:32 #299 №2194100 
345345354345.PNG
>>2194086
бле, то же самый курс стоит 4,296 р на курсере
хоть бы значки сменили
Аноним 26/10/21 Втр 17:29:26 #300 №2194103 
>>2194100
На Курсере нужно ебаться с файликами через консоль. Ты зацени как все на Степике организовано.
Аноним 26/10/21 Втр 17:30:54 #301 №2194106 
>>2194103
ну хуй знает, у меня все файлики загружались с первого-третьего раза
и это не повод переплачивать 12к
Аноним 26/10/21 Втр 17:35:59 #302 №2194114 
>>2194106
Курсы от Бигик бесплатны. А загрузка файликов... Еба, это конечно ценный опыт (как я догадываюсь), но какой же это прошлый век на фоне Реплит или Степика.
Аноним 26/10/21 Втр 19:02:14 #303 №2194232 
>>2185611 (OP)
ГЛАЗА РАЗБЕГАЮТСЯ ОТ ОБУЧЛОК!

Владею рус и англ.
Если вбить в поисковики ПИТОН УРОК 1, то глаза разбегутся. Онлайн курсы, ютуб курсы, edx, coursera, материалы МФТИ, школа Яндекса...

Что выбрать? Хочу овладеть питоном в мастерстве, нейросети и дата саенс пилить, делать автоматизацию на моем телефоне и ноуте, и смарт-часах
хочу запилит стартапы и стать мультимиллиардером тоже
Аноним 26/10/21 Втр 19:30:21 #304 №2194263 
>>2194232
Если совсем ноль можешь начаь с этого
https://automatetheboringstuff.com/
А так гугли что-то типа data science roadmap
Аноним 26/10/21 Втр 19:48:55 #305 №2194281 
>>2194263
Я не совсем 0. В вузе был с++, чуть на голанге обучалки проходил. Что такое циклы, массивы, поинтеры, слайсы, ну хеллоу ворлид или соритвроку массива могу сдеалть

Я автоматизацию скучного стаффа читал уже месяц назад, не зашло(хотя автоматизация процессов на моего телеофне и пк мне как раз интересна). долгая книга
Аноним 26/10/21 Втр 20:14:58 #306 №2194302 
>>2193489
>Мы понимаем, что многих удивляет то, что мы выпустили третье издание книги, а оригинальная книга 2ed. Причина такого казуса проста. Через полгода после выхода первого издания на русском языке автор внес в книгу значительные, но мелкие изменения, исправил многие коды. Посмотрев на количество изменений, мы приняли решение назвать новую книгу «второе издание». Так что второе русскоязычное издание вышло еще 30 мая 2017 года.
А теперь 2-е международное издание пришлось выпустить как
«Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.»
Аноним 26/10/21 Втр 21:23:49 #307 №2194377 
image.png
Вот код для небольшой пиксельной картинки, сделанной с помощью matplotlib. Однако, тут только желто-сине-зеленая цветовая гамма. Можно ли поменять это по-быстрому и использовать другие цвета?
Аноним 26/10/21 Втр 21:35:30 #308 №2194383 
>>2194377
https://matplotlib.org/stable/tutorials/colors/colormaps.html
с тебя чай
Аноним 26/10/21 Втр 21:44:42 #309 №2194388 
>>2194383
Я это уже видел.
Спасибо, конечно, но я надеялся на какого-нибудь спеца, который допишет строчку и все встанет на свои места.
А иначе придется разбираться с тем, как все это рабтает, очень долго и муторно.
Аноним 27/10/21 Срд 01:13:58 #310 №2194492 
Нашел работу в беке на питон. Язык ужасный, но уж куда взяли, хотелось бы на го.
Есть начатый апи с примерно штук 20 методов, написанных на джанго. Я тут вкуривать начал в тематику и понял что код написан не очень. Есть один маршрут, который принимает параметры и в соответсвии с этим вызывается обработка. Т.е это одна функция и куча if с кусками кода. Причём все запросы идут через get. Работа с бд идёт напрямую, без всяких темплейтов и тд.

Так вот. Стоит ли заморачиваться и переписать всё по общим рекомендациям? С развязкой роутов, использования post и тд. Просто не знаю, может это нормально так писать.
Аноним 27/10/21 Срд 02:12:22 #311 №2194504 
>>2194492
А че рекомендации есть как писать надо? У меня было так, посадили за комплюхтер, примерно структуру проекта обсудили, а дальше крутись как хочешь. Ты еще скажи тебе техзадания давали.
Аноним 27/10/21 Срд 03:28:45 #312 №2194524 
Стоит ли заморачиваться с tkinker'ом ради небольшого приложения для работы с локальной БД или сразу ебашить на чем-то вроде C#?
Аноним 27/10/21 Срд 08:18:11 #313 №2194572 
>>2194388
да хуль тут разбираться
сгенерил необходимую колормапу, да подставляй в функцию
Аноним 27/10/21 Срд 09:56:25 #314 №2194598 
image.png
Скажите мне пожалуйста, какого хуя в вашем этом питоне, переменные вылезают за пределы тела?
Аноним 27/10/21 Срд 10:05:25 #315 №2194602 
>>2194598
Какого "тела"?)

за пределы функции/метода они не вылезут, блочной области видимости нет, но когда это б мешало не припомню
Аноним 27/10/21 Срд 10:19:43 #316 №2194610 
>>2194492
>Так вот. Стоит ли заморачиваться и переписать всё по общим рекомендациям?
Конечно нет, ведь ты нарушаешь open–closed principle и заставляешь QA отдел ебаться с твоими переделками, сделай лучше api/v2/
Аноним 27/10/21 Срд 10:22:56 #317 №2194612 
image.png
>>2194492
>Работа с бд идёт напрямую, без всяких темплейтов
Че?
Аноним 27/10/21 Срд 10:31:36 #318 №2194620 
>>2194612
Бля, помню это видео. Тупа комит в мастер ветку на прод.
Аноним 27/10/21 Срд 10:49:29 #319 №2194648 
>>2194610
Я там сам себе qa. В команде девопс-кабанчик, фронт и пара на других проектах
Аноним 27/10/21 Срд 10:51:18 #320 №2194651 
>>2194648
Ну тогда сам и готовь анус, если после твоих ахуенных правок половина эндпоинтов пойдет по пизде
Аноним 27/10/21 Срд 11:50:55 #321 №2194694 
Хелп с комбинатрикой
В Питоне в itertools есть: permutations, combinations и combinations_with_replacement. Сколько комббинаций он выведет в каждом случае в зависимости от аргументов? Для permutations это очевидно - n! (где n - длина последовательности), но что в других случаях?
Аноним 27/10/21 Срд 12:05:07 #322 №2194716 
В чем разница между multiprocessing.Pool и concurrent.futures.ProcessPoolExecutor. То же самое ж ведь?
Аноним 27/10/21 Срд 13:41:30 #323 №2194840 
Может мне кто нибудь пояснить за асинхронность?
У меня есть два скрипта которые работают в цикле while true
Я думал что их можно объеденить, написал скрипт, но
await foo()
await bar()
запускает только foo
ЧТО ДЕЛАТЬ ТААА??
Аноним 27/10/21 Срд 13:52:58 #324 №2194860 
>>2194840
asyncio.gather
жопаскриптерский Promise.all

Штудируй доки, смотри видосики. Сейчас тебе тут "по фасту" никто не пояснит если ты ноль
Аноним 27/10/21 Срд 15:21:10 #325 №2195012 
изображение.png
изображение.png
Ононы, суть программы в том, что я беру из файла строку, подставляю ее в скулевый запрос и выдаю некоторые данные из этого запроса принтом.
Если в файле значения адекватные, то и данные адекватные. Но если в строке внезапно попадается значение, которое приводит к тому, что скулевый запрос возвращает 0 строк, то процессинг все равно продолжается, просто подставляются значения из предыдущего

Из программы первого курса я вспомнил, что можно обнулять переменные через del либо присваивая им None.
Но почему-то Node_id = None работает, а Node_id, Node_uri = None уже нет

1. Если вы поняли, что делает моя программа, то мб подскажете как иначе обрабатывать пустые результаты?
2. Если похуй, то просто скажите в чем я наебался при одновременном обнулении нескольких переменных
Аноним 27/10/21 Срд 15:24:07 #326 №2195019 
изображение.png
>>2195012
На выводе первого скрина например 5-ая строка была с говноданными, которые вернули 0 строк по запросу. Но переменная Node_CurrentCP все равно пропечаталась (просто из более верхней строки)
Аноним 27/10/21 Срд 15:41:31 #327 №2195061 
изображение.png
>>2195019
Ну и fn_results у меня как бы пустой получается, выводится как []
Но по фильтру is None он не отбивается. Почему?
Аноним 27/10/21 Срд 15:46:04 #328 №2195071 
>>2195061
Потому что None - это None, Это не пустой список, не False, не пустая строка. Это None. Понимаешь?
Аноним 27/10/21 Срд 15:52:28 #329 №2195086 
>>2195071
Теперь понял, спс, заменил на if not fn_results
Остальные вопросы актуальны
Аноним 27/10/21 Срд 15:53:08 #330 №2195087 
>>2195019
>>2195086
Смари. У тебя пустой список на пятой строчке. Значит, все занчения переменных сохранились с предыдущей итерации. Потому у тебя происходит то, что происходит.
Если тебе нужно опускать пустые массивы, то просто напиши
if fn_results:
Аноним 27/10/21 Срд 15:53:08 #331 №2195088 
>>2195071
Значит ли это что
a = 100500
b = 100500
a is b == True

?
Аноним 27/10/21 Срд 15:58:28 #332 №2195097 
>>2195088
Не значит. Это разные объекты.
Хотя если ты попробуешь сделать это для чисел от -5 до 256, то увидишь, что
a is b == True
Это потому, что числа из этого диапозона заранее хранятся в сишке
https://docs.python.org/3/c-api/long.html#c.PyLong_FromLong
Аноним 27/10/21 Срд 16:00:19 #333 №2195102 
image.png
>>2195097
А не пиздишь ли?
Аноним 27/10/21 Срд 16:03:01 #334 №2195111 
>>2195102
А как это опровергает его тезис о том, что
>если ты попробуешь сделать это для чисел от -5 до 256, то увидишь, что a is b == True
?
Аноним 27/10/21 Срд 16:05:13 #335 №2195119 
>>2195111
Но ведь тут никакие не -5...256. А все равно true
Аноним 27/10/21 Срд 16:11:16 #336 №2195132 
image.png
>А не пиздишь ли?
Не пизжю
Аноним 27/10/21 Срд 16:12:35 #337 №2195135 
image.png
>>2195132
Ну и для сравнения
Аноним 27/10/21 Срд 16:20:07 #338 №2195150 
>>2195119
И что?
Аноним 27/10/21 Срд 16:25:56 #339 №2195161 
image.png
>>2195150
Я не байтоёб и не знаю, почему твоя ";" меняет поведение. Я вообще ею никогда не пользовался в питоне и не знаю, что она даёт. Можешь сам поискать ответ. Гугл у всех есть пока что
Для распаковки, кстати, аналогичный эффект.
Аноним 27/10/21 Срд 16:31:01 #340 №2195172 
>>2195161
Дело не в байтоебстве. Мужик должен отвечать за свои слова, а ты не вывозишь
Аноним 27/10/21 Срд 16:34:00 #341 №2195177 
>>2195172
Ладно, извини пожалуйста. Ты доказал мне, что можешь сравнивать инты через 'is', а я был не прав. Если ещё какое открытие в области питона сделаешь, приноси сюда. Мы всем тредом похлопаем твоей охуенности
Аноним 27/10/21 Срд 16:39:05 #342 №2195186 
>>2194598
Блять, как же у меня полыхала жопа с этой хуйни, переписывал старый чужой проэкт (мне нужна была его функциональность, но немного надо было переписать), на питоне я никогда не писал, пришёл с си подобных языков. Хуярил лямбду в цикле, расчитывая, что для каждого обьекта захватятся свои переменные, какое же моё удивление было, когда захватился один и тот же объект для всех. Так как проэкт чужой, то пошёл по миру перепроверять цепочку вызовов, переполошил весь проэкт. После того как жопа уже потухла, так как я тупо устал. Подумал, а вдруг скоупы в питоне "как не у всех", вбив в гугл "weird python scoping" моё лицо раздалось широкой улыбка, так как первая страница с заголовками ответа поиска, намекала, что я точно понял в чём проблема.

Но если коротко, то в питоне скоупами являются только функции и глобальный скоуп (по крайне мере, что я запомнил, может что ещё есть), на практик правда забавно, что можно обьявить переменную в ифе и потом её использовать ниже вне ифа, экономит 1 строчку.
Аноним 27/10/21 Срд 16:41:03 #343 №2195188 
>>2195186
У меня знакомый сишник тоже с этого бугуртил, ему не нравилось, что в контекстных менеджерах можно данные из блока вытаскивать.
Аноним 27/10/21 Срд 16:50:27 #344 №2195202 
>>2195186
В питоне есть мнемонические правила, как он работает.
LEGB для скоупов - local, enclosing, global, builtin
ICPO для объектов - instance, class, parent, object
Легко запоминается. А ходить со своими привычками в чужой язык это рисковое занятие.
Аноним 27/10/21 Срд 16:59:17 #345 №2195210 
>>2195202
> Легко запоминается. А ходить со своими привычками в чужой язык это рисковое занятие.
Кажется мы стали забывать, что такое риск...

Потратить один раз лишние минуты, на выяснение проблемы, и нахождение решения, это риск? Вот на двач зайти - это риск, так как лишние минуты (часы) будут потрачены не раз.
Аноним 27/10/21 Срд 17:02:15 #346 №2195214 
>>2195210
Надо хотеть потратить, а не не получить желаемое и бухтеть, как всё хуёво.
Аноним 27/10/21 Срд 17:44:44 #347 №2195272 
>>2195186
Сишник - не человек
Погугли хоть про скоупы, ебана, хотя бы того же жс. Так ведь и будешь своими сями с калом обмазываться
Аноним 27/10/21 Срд 20:37:07 #348 №2195416 
Всем привет, описываю БД через django ORM. Вопрос, есть у, допустим, CharField, я могу задать ограничение на максимальную длину для БД (max_length), стоит ли добавлять сюда джанговскую валидацию Validators?

Какие плюсы в этом есть? Если у меня на фронте идет валидация на длину?
Аноним 27/10/21 Срд 21:25:26 #349 №2195449 
>>2195416
Никаких плюсов, джанга не даст сохранить превышающее значение в этом случае. Валидаторы для более сложной логики.
Аноним 27/10/21 Срд 22:11:16 #350 №2195505 
>>2195449
А оптимизации по дефрагментации/буферам как в сиквеле там нету?
Мимопроходил
Аноним 28/10/21 Чтв 07:04:07 #351 №2195709 
>>2195416
>на фронте идет валидация
На фронте не может быть полноценной валидации, ты должен всегда учитывать, что тебе данные могут придти напрямую через апи фронта. Любые данные.

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

Кроме того, если у тебя не sqlite, а postgresql/mysql, то ещё на уровне БД валидация будет.
Аноним 28/10/21 Чтв 07:31:57 #352 №2195710 
image-py-36.png
image-py-37.png
>>2195097
Магии много. Очень много.
Работают ещё оптимизации на уровне питона, которые разные в зависимости от версии.

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

На уровне idle происходит подобная магия. Если ты одну строчку выполняешь, то компилятор видит, что константа одинаковая, и использует один объект. Если же ты используешь несколько команд idle, то каждая строка компилируется отдельно и переиспользования констант не происходит.
Аноним 28/10/21 Чтв 09:23:30 #353 №2195730 
>>2195449
>>2195709
Спасибо
Аноним 28/10/21 Чтв 10:57:09 #354 №2195784 
>>2195710
Выходит поэтому запись через ";" и присваивание через распаковку выдают True при сравнении?
Интересненько
Аноним 28/10/21 Чтв 12:16:53 #355 №2195871 
abc.png
Хотел заиспользовать одну питоновскую программу, но возникли какие-то ошибки с typing.Optional.
Короче, на скрине видно (закомментированная строка это была нижняя), как я пропатчил код в модуле, а вот ошибка, которая возникала без него:
fairseq-interactive: error: argument --path: invalid typing.Optional[str] value: 'wmt14.en-fr.fconv-py/model.pt'

Теперь-то всё работает, но так делать неправильно. Можете сказать, в чём могла быть проблема? Может в новой версии питона всё как-то поменялось?

При чём другие аргументы тоже строки, но они прошли без проблем:
fairseq-interactive --cpu --beam 5 --source-lang en --target-lang fr --tokenizer moses --bpe subword_nmt --bpe-codes wmt14.en-fr.fconv-py/bpecodes --path wmt14.en-fr.fconv-py/model.pt wmt14.en-fr.fconv-py

Менять строку на любую другую, со слешами, без слешов, кавычки, глобальные пути, всё это не помогало
Аноним 28/10/21 Чтв 12:42:24 #356 №2195914 
>>2195871
>какие-то ошибки с typing.Optional
"Какие-то ошибки" ты разумеется не приводишь. Збс

>одну питоновскую программу
Я ебу что ли что в твоей васянской проге происходит?

Не говоря уже о том что у тебя нет закрывающей скобки в закомменченной строке
Аноним 28/10/21 Чтв 12:45:10 #357 №2195918 
Блятб, идёт нахуй этот ваш asyncio
Хотел просто объеденить два/три скрипта в один, что бы мне не нужно было запускать их по отдельности
Была очередь, нужно было делать запрос (который длится 10 секунд) и добавлять ответ в очередь, снова делать запрос, а пока происходит запрос обрабатывать всё что в очереди, слать post методы, которые тоже сука приостанавливают главную программу
у меня бомбит, ебал я ваш питон, ебал я ваш asyncio, какого вооще хуя в питоне есть зарезервированные слова для использования которых нужно импортировать библиотеку?
Аноним 28/10/21 Чтв 12:47:21 #358 №2195924 
>>2195918
>Хотел просто объеденить два/три скрипта в один
Как именно ты это представляешь?
Как бы ты стал объединять например "два-три скрипта на жс" в один?
Делай multiprocessing, поднимай 3 процесса и гоняй между ними данные через Pipe (гугли)
Аноним 28/10/21 Чтв 12:51:15 #359 №2195928 
>>2195918
Ты свой говнокод-то покажи
Аноним 28/10/21 Чтв 12:51:35 #360 №2195929 
ПАЧАНЫ!

Насколько часто вы используете global и nonlocal для жонглирование локальными и глобальными переменными?
Аноним 28/10/21 Чтв 12:52:20 #361 №2195930 
>>2195924
У меня есть 2 скрипта, один принимает данные из телеграма,
Второй отправляет их в телеграм
Это допустим можно сделать в один цикл, да, но меня реально не устраивает то что пока идёт какой нибудь http запрос моя программа останавливается, а вдруг у меня будет 100 сообщений которые мне нужно будет перенаправить в телегу? каждое займёт ну допустим хоть по 100 мс, вместе дохуя
Я думал asyncio сделает что то вроде того что запустит отдельный процесс с выполнением функции который потом самоуничтожится хотя я даже не знаю как тогда данные то возвращать, но это допустим сейчас неважно
Аноним 28/10/21 Чтв 12:57:05 #362 №2195938 
>>2195930
Просто надо не наугад хуярить, а почитать и вникнуть. Это не простая тема, чтобы с наскоку что-то там насрать и заработало сразу.
Аноним 28/10/21 Чтв 12:58:30 #363 №2195940 
Всем доброго здравия, подскажите, а я могу доверять coverage? Если он показывает 100% у пакета моего покрытие тестами, то значит я ОТ всех ошибок в этом пакете защитился? Или он достаточно топорный и мне нужно еще придумывать чтобы сломать?
Аноним 28/10/21 Чтв 12:58:52 #364 №2195942 
Кстати, заметил, что в каждом треде обязательно 3-5 вопрсов именно про асинк и параллельные вычисления. По ходу эти темы это своеобразное "бутылочное горлышко" для вкатунов.
Аноним 28/10/21 Чтв 13:00:09 #365 №2195943 
>>2195930
>Я думал asyncio сделает что то вроде того что запустит отдельный процесс
Ты откуда? Из жавы? Асинхронка это про другое. У тебя event-loop в котором твои асинхронные корутины крутятся и ожидают завершения исполнения. Спасает только от IO-bound задач, но не от CPU-bound

>У меня есть 2 скрипта, один принимает данные из телеграма,
Второй отправляет их в телеграм
Не совсем понял что тебе нужно передать а что принять. И как именно ты передаешь их туда. Исполнение множество корутин/Future разом делается как тебе уже ранее подсказали: >>2194860
Можно попробовать юзать asyncio.Queue - кладешь в эту очередь данные по мере того как тебе приходят ответы а в другом месте через await вытаскиваешь оттуда данные и обрабатываешь как тебе нужно. Я хз что там именно у тебя творится
Аноним 28/10/21 Чтв 13:01:24 #366 №2195945 
>>2195942
Им и в синхронном коде обдристаться раз плюнуть.
А вопросы идут из-за идиотских современных хеловорлдов в виде телеграмных и прочих ботов, которые асинхронные бай дизайн.
Аноним 28/10/21 Чтв 13:13:31 #367 №2195965 
https://ideone.com/XL3D3r

На Future от f() вешается коллбек который создает асинхронный таск с cb() по ее исполнении. Может чем-то поможет. Может - нихуя
Аноним 28/10/21 Чтв 13:20:14 #368 №2195974 
>>2195965
Вот прокачанный вариант
https://ideone.com/Sgnk0Z
Аноним 28/10/21 Чтв 13:26:41 #369 №2195983 
>>2195974
Кек, только там в коллбеке всегда самое последнее имя отображается. Потому что пистон захватывает эту переменную
Аноним 28/10/21 Чтв 13:31:09 #370 №2195988 
>>2195983
https://ideone.com/BUnDOk
Так фиксится
Аноним 28/10/21 Чтв 14:47:38 #371 №2196053 
>>2195012
>a, b = None
Не работает, потому что это не равно
>a = None
>b = None

Каждой переменной слева должно соответствовать значение справа, т.е. тебе нужно было писать
>a, b = None, None

https://stackabuse.com/unpacking-in-python-beyond-parallel-assignment/
Аноним 28/10/21 Чтв 14:56:27 #372 №2196064 
>>2195918
>пока идёт какой нибудь http запрос
>которые тоже сука приостанавливают главную программу
А не делаешь ли ты этот запрос синхронно, случаем? Потому у тебя и корутины тормозят. Юзай aiohttp и будет всё хорошо. Ну или бери да треды запускай, раз уж eventloop не понимаешь.
Аноним 28/10/21 Чтв 14:58:22 #373 №2196066 
>>2195988
>Так фиксится
Не надо вот так писать. Просто не надо. Все эти add_done_callback не для этого, не для такого адского микса корутин и коллбэков.
Аноним 28/10/21 Чтв 14:59:13 #374 №2196068 
>>2196066
Перепиши так как надо
ШО, Я?
Аноним 28/10/21 Чтв 15:13:27 #375 №2196085 
>>2196068
https://ideone.com/LJNLbU
Аноним 28/10/21 Чтв 15:25:47 #376 №2196104 
image.png
сап, хотел написать парсер двача(осваиваю реквестс и бс), но что то не получилось, объясните что я сделал не так
Аноним 28/10/21 Чтв 15:44:10 #377 №2196124 
>>2196104
Блять, дебагер возьми
print на хуйдо конец
Откуда мы знаем почему он у тебя не принтит?
Аноним 28/10/21 Чтв 15:46:01 #378 №2196125 
>>2196104
Мне лень смотреть, но там скорее всего подгружается похже через апи.
Аноним 28/10/21 Чтв 15:52:09 #379 №2196132 
>>2196104
бля чел, впредь пожалуйста называй свои говноподелки на пендосском языке, прошу.
Аноним 28/10/21 Чтв 15:56:55 #380 №2196136 
>>2196132>>2196124
>>2196125

чо вы какие злые?
Аноним 28/10/21 Чтв 16:02:20 #381 №2196142 
>>2196104
Парси https://2ch.hk/pr/catalog.json и не выёбывайся, мамкин скрейпер.
Аноним 28/10/21 Чтв 16:36:46 #382 №2196179 
>>2196104
поставь jupyter и глянь где у тебя затыка по блокам

он получше подходит для таких целей
Аноним 28/10/21 Чтв 18:01:28 #383 №2196348 
image.png
Не понимаю где обосрался, выполняется всегда except
Аноним 28/10/21 Чтв 18:26:07 #384 №2196378 
>>2196348
Убери except: и прочитай, что за exception. Естественно ты не поймёшь, где обосрался, если ты всю информацию сам же от себя и спрятал.
Аноним 28/10/21 Чтв 18:30:20 #385 №2196386 
>>2196348
Пиздец ты придумал чтение и запись вложить, лол. Сделай через r+
Алсо, если оно у тебя наебнулось на операции с файлом, то вряд ли то же сработает в эксепте.
Аноним 28/10/21 Чтв 18:54:33 #386 №2196422 
>>2196386
>Сделай через r+
оке
>Убери except
Была проблема с типом данных при сравнении.

Спасибо вам.
Аноним 28/10/21 Чтв 19:31:58 #387 №2196466 
>>2196348
Не надо одновременно открывать один файл несколько раз. Скорее всего здесь стреляет.
Аноним 28/10/21 Чтв 19:35:21 #388 №2196468 
>>2196386
>Сделай через r+
У него другая логика, он перезатирает файл. А r+ изменяет файл. При этом с r+ тебе сложно будет очистить файл.
Аноним 28/10/21 Чтв 20:02:31 #389 №2196501 
>>2195929
Это плохая практика по крайней мере так говорят на моей галере
Аноним 28/10/21 Чтв 20:45:02 #390 №2196554 
>>2196468
fh.seek(0)
fh.truncate()
Аноним 29/10/21 Птн 00:22:37 #391 №2196773 
>>2194524
Бамп вопросу.
Аноним 29/10/21 Птн 00:58:12 #392 №2196786 
>>2194524
Смотря что лучше знаешь
Аноним 29/10/21 Птн 01:19:45 #393 №2196794 
>>2191752
abs(a - b) < 0.00001
Аноним 29/10/21 Птн 01:24:15 #394 №2196796 
>>2191903
>lengthOfElementCm
length_of_element_cm
Аноним 29/10/21 Птн 09:26:42 #395 №2196911 
>>2196794
>>2191752
Грамотно для этого использовать math.isclose()
https://docs.python.org/3/library/math.html#math.isclose

Аноним 29/10/21 Птн 10:44:28 #396 №2197000 
>>2196911
Продвинутый какой.
Аноним 29/10/21 Птн 15:17:31 #397 №2197264 
Пачаны! Как часто вы на работе используете замыкания, декораторы и генераторы функций?
Аноним 29/10/21 Птн 15:18:02 #398 №2197265 
>>2197264
Пидор?
Аноним 29/10/21 Птн 15:19:10 #399 №2197268 
>>2197265
Мы же в Питон-треде.
Аноним 29/10/21 Птн 15:23:21 #400 №2197274 
>>2197264
Постоянно
Аноним 29/10/21 Птн 20:01:03 #401 №2197590 
>>2197264
>замыкания
Редко
>декораторы и генераторы функций
Часто
Аноним 29/10/21 Птн 23:10:53 #402 №2197695 
image.png
Есть класс А и рядом лежащий класс B. Внутри B есть метод Bplus, который, по моей задумке, принимает на вход объект класса A.
Тем не менее, код не работает.
Очевидно, я проебался в чем-то очень фундаментальном, но кто-нибудь, объясните пожалуйста, как классы должны общаться друг с другом в таком случае?
Аноним 29/10/21 Птн 23:22:53 #403 №2197698 
>>2197695
У тебя Bex это не экземпляр класса, а сам класс, ты не инициализоровал объект. Скобки после B добавь просто в 22 строке.
Аноним 29/10/21 Птн 23:43:48 #404 №2197708 
>>2197698
Спасибо тебе. Это и self в паре мест все исправили
Аноним 30/10/21 Суб 05:50:01 #405 №2197820 
3242424.PNG
>>2197695
ну тут нет смысла создавать экземпляр класса
Аноним 30/10/21 Суб 07:42:25 #406 №2197828 DELETED
Аноним 30/10/21 Суб 09:10:35 #407 №2197862 
>>2197264
Разве второе и третье без первого вообще возможно?
Аноним 30/10/21 Суб 16:07:58 #408 №2198139 
Не понимаю, как использовать типы в апи телеги. Их указывать в параметрах запроса, как вложенный словарь, например
> params ={"chat_id": 12345678, "text": "qwerty", "InlineKeyboardButton": {"text": "qwerty"}}
?
Аноним 30/10/21 Суб 17:02:29 #409 №2198190 
>>2198139
Почитать документацию.
Аноним 31/10/21 Вск 05:19:33 #410 №2198669 
Подкиньте идей для пет-проекта в портфолио.
Из пожеланий только 2:
1. Не мелкоборда на джанге с 5к запросов/наносек.
2. Что-нибудь с датой (скрапинг, аналитика, тупо ETL но это скучно)
Аноним 31/10/21 Вск 09:52:03 #411 №2198713 
>>2198669
Сайт с мониторингом валют из нескольких источников. Потом можешь покупку/продажу прикрепить и будет настоящая форекс-биржа
Аноним 31/10/21 Вск 10:53:36 #412 №2198736 
15338780658490.jpg
Кому не сложно - поясните по алгоритму:
1) в папке http сервера появляется файл
2) для этого файла надо сформировать короткую ссылку
3) когда по короткой ссылке обратятся - надо декодировать ссылку и отдать файл с сервера

Как преобразовать полную ссылку в короткую для локального http сервера (нет доступа в интернет)?

Нашёл модуль https://pypi.org/project/short_url/
Но он принимает какой-то id в виде числа. А ссылка на скачивание строка же... Wtf?
Или надо устанавливать соответствие между id и полной ссылкой?
Например, запихнув полную ссылку в массив и отдавая номере элемента в массиве при кодировке?

Как обработать обращение по укороченной ссылке?
Аноним 31/10/21 Вск 13:19:57 #413 №2198857 
>>2198736
Берешь хеш от имени файла, если оно уникально. Обрезаешь до нужного размера, кладешь в словарь/бд. Со следующим файлом делаешь так же, только перед этим нужна проверка, что бы коллизий не было. Если получился такой же хеш, то рандомом генерируешь соль для имени и опять применяешь хеш функцию. Самая простая реализация.
Аноним 31/10/21 Вск 13:38:03 #414 №2198871 
14328741876180.png
>>2198857
>blah-blah-blah
Аноним 31/10/21 Вск 13:39:45 #415 №2198873 
Может ли питонист написать простейший алгоритм сортировки или он бежит искать либу под это дело?
Аноним 31/10/21 Вск 14:06:21 #416 №2198894 
>>2198873
И сколько раз тебе на практике приходилось писать сортировку, кроме случаев дрочильни "кто напишет сортировку"?
Ах да, никакой практики у тебя нет.
Аноним 31/10/21 Вск 14:10:53 #417 №2198899 
>>2198894
На вопрос прямо ответишь?
Аноним 31/10/21 Вск 14:19:23 #418 №2198911 
>>2198899
Я тебе и отвечаю - это чисто теоретический вопрос, который не нужен ни в питоне, ни в любом другом языке.
Некоторое количество людей может вспомнить простейшие способы типа вставок, потому что читали мимоходом и помнят принцип.
Но в целом это бесполезное знание в современных условиях.
Аноним 31/10/21 Вск 14:25:50 #419 №2198919 
>>2198911
А на мой вопрос ответить прямо можешь? Перечитай его.
Аноним 31/10/21 Вск 14:30:26 #420 №2198923 
>>2198919
Ладно, официально отвечаю от имени всех питонистов нашего региона - хуй знает.
Ну и как дополнительная информация к размышлению (хотя ты что-то слабо воспринимаешь) - всем похуй на это.
Аноним 31/10/21 Вск 14:36:04 #421 №2198931 
>>2198923
Ладно, не злись, я просто неделю писал инженерную программу по расчету конструкций, а сегодня ввел в поиске гитхаба пару ключевых слов и нашел десяток аналогичных реализаций. И че теперь делать?
Аноним 31/10/21 Вск 14:39:53 #422 №2198935 
>>2198931
Написал и молодец. Но можно было не писать, тут ты обосрался.
Я же говорю - практики нет.
Аноним 31/10/21 Вск 14:50:00 #423 №2198948 
>>2198873
Пузырек могу, так как он простой, остальное дрочил в вузе, но оно так и не пригодилось и я все забыл, так как уже реализовано в языке.
Аноним 31/10/21 Вск 15:46:39 #424 №2199017 
проблем.png
Сап, анончики. Пытался через pyinstaller скомпилировать код, выдаёт пикрил. Что посоветуете ?
Аноним 31/10/21 Вск 15:50:08 #425 №2199024 
>>2199017
>Что посоветуете ?
Не ешьте с пола.
Аноним 31/10/21 Вск 15:52:30 #426 №2199028 
>>2199024
практичный совет, а по ошибке что можешь сказать ?
Аноним 31/10/21 Вск 16:40:39 #427 №2199123 
>>2199017
Там же прямым текстом сказано, где ошибка.
Аноним 01/11/21 Пнд 10:25:49 #428 №2199568 
PyQt

Как из фенкции, вызванной ивентом, добраться до объектов моей модели? Каковы лучшие практики?

а) Делать свою модель глобальным синглтоном доступной из всех ивентов?

b) Принимать ивенты сразу в своей моделе. Но как же loose-copuling?..
Аноним 01/11/21 Пнд 12:18:43 #429 №2199651 
1369365465463412.png
>>2198736
Это снова я.

Получилось формировать короткие ссылки и распознавать GET запросы с ними.

Сейчас проблемы с отдачей искомого файла с расширением bin.
https://pastebin.com/tfUrjzvZ

Выдаёт ошибку: python memoryview: a bytes-like object is required, not '_io.BufferedReader

Может кто подскажет: как правильно выгрузить bin файл?
Аноним 01/11/21 Пнд 12:35:15 #430 №2199657 
>>2198873
>искать либу под это дело
Искать ничего не надо, эти функции уже встроены в платформу.
Аноним 01/11/21 Пнд 12:39:00 #431 №2199659 
>>2198931
Есть разница между программистом и айтишником.

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

Душа просит быть программистом, но бизнесу нужны айтишники.
Аноним 01/11/21 Пнд 12:41:12 #432 №2199662 
>>2199651
Ссылка нерабочая.

Но очевидно, что ты вместо данных передал куда-то объект, из которого каким-то методом надо читать данные.
Аноним 01/11/21 Пнд 14:26:34 #433 №2199713 
Использую целери.

from celery.app.task import Task
class MyTask(Task):
...

Логгирую всё через
handler = logging.FileHandler(path)
DEFAULT_LOG_FORMAT = '[%(asctime)s] %(processName)s %(moy_zagolovok)s %(task_id)s %(message)s'handler.setFormatter(CustomTaskFormatter(DEFAULT_LOG_FORMAT))
logger.addHandler(handler)

Мне в заголовок нужно пропихнуть параметр, moy_zagolovok. Как это сделать? Т.е. я могу прямо в момент вызова async_callback получить его значение. Можно как-то?
Аноним 01/11/21 Пнд 14:30:12 #434 №2199716 
>>2199713
>целери
bruh...

Аноним 01/11/21 Пнд 14:36:15 #435 №2199721 
py.png
Я правильно понимамаю, что
dll - это только интерпретатор+компилятор
zip - стандартная "библиотека"
Аноним 01/11/21 Пнд 14:40:38 #436 №2199725 
>>2199713
НУ просто возьми и передай его в message

за moy_zagolovok лови отдельный плевок в ебало
Аноним 01/11/21 Пнд 14:44:32 #437 №2199730 
>>2199725
Там порядок нужен определенный.
А что мне, перечислить все реальные заголовки которые я вывести хочу?
Аноним 01/11/21 Пнд 14:48:09 #438 №2199731 
>>2199730
О, все, допедрил.
from celery._state import get_current_task
Тут и выдерну что надо, прям в format
Аноним 01/11/21 Пнд 15:28:54 #439 №2199756 
Почему в переменной PATH винды добавил каталог с либами, os.environ['PATH'] тоже есть нужный, но либу не видит
Аноним 01/11/21 Пнд 15:43:00 #440 №2199762 
>>2199756
Это не тот path, это для бинарников уровня системы. Питоньи либы сидят в PYTHONPATH, но лучше прямо туда не лезть, а из самого питона манипулировать. https://ideone.com/gCj381
Аноним 01/11/21 Пнд 16:00:42 #441 №2199772 
>>2199756
Не слушай >>2199762
Лучше наоборот, добавить в PYTHONPATH
Если ты переменные окружения читаешь откуда-то, типа применяешь виртуальное окружение, то туда и добавь
export PYTHONPATH=$PYTHONPATH:/My/path
Аноним 01/11/21 Пнд 16:12:39 #442 №2199779 
image.png
>>2185611 (OP)
что це за хуйня
Аноним 01/11/21 Пнд 16:34:46 #443 №2199788 
>>2199779
Зумерье уже читать разучилось? Надо чтобы тиктоки показывало вместо ошибок.
Аноним 01/11/21 Пнд 16:37:39 #444 №2199789 
>>2199788
просто он Илья
Аноним 01/11/21 Пнд 16:53:32 #445 №2199799 
есть какой-то аналог numpy, чтобы просто скачать и пользоваться (ну или скомпилить предварительно из исходников C\C++ какие-то куски) ?
Аноним 01/11/21 Пнд 17:26:08 #446 №2199823 
>>2199799
матлаб
Аноним 01/11/21 Пнд 17:44:03 #447 №2199841 
>>2199823
не умеешь ты шутить
Аноним 01/11/21 Пнд 22:11:08 #448 №2200094 
Сап
Делаю свою веб-галерею на джанге
Столкнулся с такой проблемой: длинные видео не загружаются сразу, а как будто бы они с удалённого сервера, хотя они у меня лежат в статике.
В чём проблема? Из-за того что использую стандартный сервер для дебага?
Аноним 01/11/21 Пнд 22:40:59 #449 №2200120 
>>2199659
Нет, это ты просто в своей голове что то романтизировал. Программист это тот кто программы пишет.
Аноним 02/11/21 Втр 12:01:39 #450 №2200470 
>>2200094
И как ты отдаешь видео? Чанками или сразу всё?
Аноним 02/11/21 Втр 12:56:13 #451 №2200511 
Реализую алгоритм RSA. Хочу использовать ключи побольше, длиной в 64 бита, но тогда придется проводить миллиард операций.
Как это обычно делается? Какой e стоит брать
Аноним 02/11/21 Втр 12:58:53 #452 №2200512 
Про первый опыт работы

Не боялись ли вы обосраться на работе? Устроился пайтон джуном, работа стратует через неделю, все отлично по условиям, но вот я боюсь что мне дадут тяжелую задачу и я не смогу справиться, или потрачу больше времени чем надо и т.д.
Аноним 02/11/21 Втр 13:14:22 #453 №2200529 
>>2200512
Это жёстко!
Аноним 02/11/21 Втр 13:16:26 #454 №2200530 
>>2200512
Чел... Пытаешься сделать сам. Если тупишь - идешь к мидлу. Потом к сеньору. Потом честно признаешься, что не справляешься. Ловишь некст таску.
Аноним 02/11/21 Втр 13:36:33 #455 №2200551 
it-юмор-geek-Мемы-6256148.jpeg
>>2200512
скрючиваешь ебало, что так и было задуманно, не баг а фича
у нас так все руководство делает, это так называемое искусство переобуваться на лету
Аноним 02/11/21 Втр 13:47:32 #456 №2200565 
>>2200551
Смешно, что Питон и js выглядят похоже, но js при этом изображен как агрессивное быкующее быдло.
Аноним 02/11/21 Втр 13:48:43 #457 №2200568 
>>2200551
сразу видно утенок какого языка составлял эту картинку
Аноним 02/11/21 Втр 13:51:11 #458 №2200574 
>>2200568
Луа? что это такое воще
Аноним 02/11/21 Втр 13:52:23 #459 №2200578 
>>2200574
> что это такое воще
де факто скриптовый язык игровой индустрии
Аноним 02/11/21 Втр 14:31:36 #460 №2200630 
python.PNG
>>2200565
Аноним 02/11/21 Втр 15:15:07 #461 №2200678 
>>2200630
На скрине типичный Раджас Куртапали, коих половина Гугла.
Аноним 02/11/21 Втр 15:56:37 #462 №2200719 
Пацаны, на собесе спросили как лчше всего представлять графы, я сказал что либо матрицей смежности либо через словарь (ключ - Node, а значения это словарь где каждая связанная Node соотносится с весом ребра). Меня спросили в каком случае что лучше юзать, например для алгоритма Дейкстры, я усрался. Так что когда юзать?..
Аноним 02/11/21 Втр 16:19:41 #463 №2200743 
>>2200719
Для Дейкстры второе, но с нюансами, например, для разреженных графов. Нужно смотреть на смежные с данной вершины, вместо того, чтобы за О(V) просматривать всю строку матрицы, используя список (хз как твой словарь устроен), сделаешь это быстрее. Но если граф плотный, асимптотика будет одинаковой для обоих случаев.
Для Флойда-Уоршала лучше матрицы.
Если хочешь юзать кластеризацию, в ряде случаев лучше матрицы, иногда нужно смотреть на их свойства.
Короче, тут очень много особенностей.
Аноним 02/11/21 Втр 17:01:29 #464 №2200767 
>>2199568
Короче, остановился на пункте а. Сделал презентер (в контексте MVP) глобальным и вызываю его во вьюшке.
Аноним 02/11/21 Втр 17:52:49 #465 №2200820 
Посоны, есть один список списков. нужно убедится, что все списки в нем одинаковые.
Пока список маленький делаю l[0] == l[1] == l[2] == l[3]
Искал в гугле можно ли это сделать как то короче, но чет ничего интересного красивого однострочного не нашел.
Есть какие варианты или функцию с циклом пилить?
Аноним 02/11/21 Втр 18:00:17 #466 №2200828 
>>2200820
А почему нельзя каждый список после первого сравнивать с первым, и когда условие не выполнится, то возвращать False, а если все списки равны первому, то по выходу из цикла возвращать True?
Аноним 02/11/21 Втр 18:03:10 #467 №2200830 
>>2200828
Можно. Но как првило какую бы хуйню я не делал. потом выясняется что в питоне есть отдельная функция вот прям для того что я сам мастерил. Хочу узнать все такие фичи для общего развития.
Аноним 02/11/21 Втр 18:15:47 #468 №2200844 
>>2200830
Можешь через set упороться, если объекты хешируемые и тебе поебать на память

len(set(l)) == 1
Аноним 02/11/21 Втр 18:33:37 #469 №2200856 
>>2200844
Первое что пришло в голову. Но лист не хешебл.
Аноним 02/11/21 Втр 19:39:22 #470 №2200939 
>>2200856
lst.count(lst[0]) == len(lst)
Можно ещё генэксп завернуть в all, надо проверить, что будет пижже смотреться и эффективнее.
Аноним 02/11/21 Втр 20:25:12 #471 №2201027 
Вы все больные и не лечитесь.
lists[1:] == lists[:-1]
Аноним 02/11/21 Втр 20:28:06 #472 №2201030 
>>2201027
Съеби, не позорься.
Аноним 02/11/21 Втр 20:33:27 #473 №2201035 
>>2201030
Аргументировано.
Аноним 02/11/21 Втр 20:39:04 #474 №2201042 
>>2201035
Надо определить, все ли элементы списка одинаковые. Какое отношение к этому имеет твоя хуйня с слайсами?
Но пафосный камент надо влепить, да.
Аноним 02/11/21 Втр 20:41:47 #475 №2201050 
>>2201042
Может, потому что это и есть способ проверить
>все ли элементы списка одинаковые
, м?
Аноним 02/11/21 Втр 21:03:22 #476 №2201070 
>>2201042
Таки пошел лечиться видимо.
Аноним 02/11/21 Втр 21:19:31 #477 №2201087 
>>2201050
Ну давай посмотрим. Ты хочешь сравнить слайсы от второго до последнего элемента и от первого до предпоследнего. Каким боком это решает задачу?
Ты на шизу проверялся? Там вроде подобные методы тестирования.
Аноним 02/11/21 Втр 21:24:06 #478 №2201092 
>>2201087
Не, он типа взял список списков, отразил его порядок и сравнил с самим собой. Выглядит эффектно, но жопой чую, что здесь можно влепить какой-то хитрый тестик, который опрокинет это решение.
Аноним 02/11/21 Втр 21:26:40 #479 №2201097 
>>2201092
тогда надо сравнивать сам список как есть с [::-1]. Он же написал хуйню.
Но это тупое решение, потому что генерируется целый новый список в обратном порядке.
Аноним 02/11/21 Втр 21:27:54 #480 №2201099 
6d994978f4357df61ca023d721d4da74.jpg
>>2201087
Дамы и господа, перед вами живое воплощение пикрелейтеда.

Лол, ты смотришь на одну (!) строчку кода из трех операторов и уже не понимаешь, что происходит. И даже в голову не приходит банально запустить ее, чтобы посмотреть результат.
Аноним 02/11/21 Втр 21:29:11 #481 №2201101 
>>2201097
Бля, точно. Но вообще у меня есть ощущение, что в этом решении есть какое-то уязвимое место. Хз, может и правда бест практис.
Аноним 02/11/21 Втр 21:34:36 #482 №2201107 
>>2201092
>отразил его порядок
>[1:]
>[:-1]
>отразил его порядок
Боже, оно дает митостазы

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

>>2201097
>в обратном порядке
Иди синтаксис выучи, потом пиши сюда.

>тупое решение, потому что генерируется целый новый список
Взятие слайса реализовано на си. Ваши варианты - питоновые циклы. Память на слайсы расходуется по-минимому, так как это не deep copy.
Аноним 02/11/21 Втр 22:08:10 #483 №2201122 
>>2201107
По скорости всасывает печально, по памяти нет пятьсекового измерителя. https://ideone.com/rAUN4N
Аноним 02/11/21 Втр 22:10:58 #484 №2201123 
image.png
>>2201122
Всасываешь здесь только ты со своими охуительными наборами данных из одной строки.
Аноним 02/11/21 Втр 22:19:45 #485 №2201128 
>>2185611 (OP)
>Питон сам по себе очень хорошо задокументирован
Ложь. Документация непрактичная и потому бесполезная. Питон по сравнению с PHP выглядит как велосипедный набор сделай сам протиив люксового авто. Алсо, реквестую документацию на питон подобную php.
Аноним 02/11/21 Втр 22:19:52 #486 №2201130 
>>2201107
Не обратил внимание, чего ты. Я вообще Питухон 2 месяц грызу.
Аноним 02/11/21 Втр 22:20:39 #487 №2201131 
>>2201128
Это сейчас шутка такая что ли?
Аноним 02/11/21 Втр 22:22:19 #488 №2201134 
>>2201123
Что-то ты хитро нахувертил там, давай текстом, пощупаем.
Аноним 02/11/21 Втр 22:24:43 #489 №2201139 
>>2201027
А я правильно понимаю, что если например мы возьмем список списков из 7 элементов-списков и 3 первые и 3 последние будут одинаковые, а 4 по порядку (который по серединке) будет отличный, то такой метод вернет True?
Аноним 02/11/21 Втр 22:25:05 #490 №2201140 
>>2201128
Да такого люксового богатства нет
https://www.php.net/manual/en/ref.array.php
https://www.php.net/manual/en/ref.strings.php
Аноним 02/11/21 Втр 22:31:12 #491 №2201147 
image.png
>>2201139
И тебе лечиться.

>>2201134
Да, делать мне больше нечего, кроме как шизам с двачей фейковые бенчи клепать.
https://ideone.com/4zat3d

Блять, что с вами не так, люди, как вы вообще функционируете с таким уровнем когнитивных способностей. Слова там формируете, на клавиши нажимаете.
Аноним 02/11/21 Втр 22:33:24 #492 №2201151 
>>2201147
>И тебе лечиться.

Бля, как это работает. Оно же центр должно игнорить.
Аноним 02/11/21 Втр 22:41:45 #493 №2201167 
>>2201131
Нет.
Аноним 02/11/21 Втр 22:47:23 #494 №2201173 
image.png
>>2201151
Шутки про пятерочку в сторону, я бы на твоем месте серьезно опасался бы острых предметов у себя в руках.
Аноним 02/11/21 Втр 22:53:02 #495 №2201177 
А aiohttp вообще жив ещё? А что тогда у них такой не смузихлебский?
Аноним 02/11/21 Втр 23:03:33 #496 №2201196 
image.png
image.png
Привет, питоначеры. Для вката что выбрать: Пол Бэрри или Эрик Мэтиз? Мечу в бэкенд сейчас.
Аноним 02/11/21 Втр 23:15:08 #497 №2201212 
>>2201173
Так у тебя после обработки слайсами выходит список с четным числом элементов. 6 элементов, а в оригинальном списке было 7. Куда еще 1 элемент дел?

Кажется у нас тут мы вам перезвоним кейс нарисовался.
Аноним 02/11/21 Втр 23:23:32 #498 №2201225 
>>2201196
Нахуя читать такие книги, если для вкатывальщиков уже подвезли все на ютуб, особенно на инглише? Ладно бы сейчас был 2002 год и у тебя была на руках книга Страуструпа, но сейчас нахуя?
Аноним 02/11/21 Втр 23:30:56 #499 №2201232 
>>2201225
На ютубе может любой долбоеб выкладывать видео, и делает он это только для монетизации.
У книг другой уровень входа, другая традиция и другая финансовая составляющая.
Аноним 02/11/21 Втр 23:43:40 #500 №2201236 
>>2201212
Это уже слишком жирно.
Аноним 03/11/21 Срд 00:01:24 #501 №2201251 
>>2201196
Читай документацию
Аноним 03/11/21 Срд 00:02:46 #502 №2201252 
>>2201196
Курсы на Степике, че-е-ел.
Аноним 03/11/21 Срд 00:04:46 #503 №2201255 
>>2201252
Тебе хоть что-то платят за рекламу этой хуйни? Или ты как дурачок бегаешь и сам лепишь?
Аноним 03/11/21 Срд 00:06:57 #504 №2201256 
>>2201255
Просто я сам прошел 2 курса и в принципе доволен. Бесплатно. И еще 3 курса по касательной затронул.
Аноним 03/11/21 Срд 00:08:01 #505 №2201259 
>>2201256
Так-то всё бесплатно. Платят только долбоебы, которые думают, что за деньги их научат.
Аноним 03/11/21 Срд 00:16:13 #506 №2201262 
>>2201259
Если так подумать, то мы платим временем. Если бы были курсы, которые готовы сэкономить человеку время за деньги, то это ок, но есть ощущение, что курсы как раз набивают программу ненужной херью.
Аноним 03/11/21 Срд 00:23:13 #507 №2201268 
>>2201262
Это просто ответ на современную ситуацию, когда подсевшие на телевизор-ютубчик не могут сосредоточиться больше пяти минут на чтении. Плотность информации снижается, конечно.
Аноним 03/11/21 Срд 00:25:48 #508 №2201276 
1.png
2.png
Аноним 03/11/21 Срд 00:29:47 #509 №2201281 
Ну в общем-то вместо 600 страниц действительно можно сначала произвольный говноМОК посмотреть, а потом по необходимости обратиться сразу к Лутцу.
Аноним 03/11/21 Срд 00:40:13 #510 №2201291 
Анон, помоги разобраться. Я забираю из апи кучу типа жсонов (по факту словарей). Эти словари на уровне веб-запроса имеют везде двойные кавычки:
{
"key1":"value1",
"key2":"value2",
}
Но когда я продолжаю работать с ними дальше, ключи заворачиваются в одинарные кавычки. Из-за этого я не могу их нормально десереализировать - мне жизненно нужно сделать их жсонами (json.loads())), но я получаю ошибку из-за одинарных кавычек. Почему так?
Я уже думал реплейснуть одинарные кавычки двойными, но во многих значениях у меня уже есть одинарные кавычки (в значениях лежат всякие тексты с сокращениями типа I've, you're и т.д.), так что я не могу не задеть их реплейсом.
Аноним 03/11/21 Срд 01:11:54 #511 №2201316 
>>2201291
>ошибку из-за одинарных кавычек
Смелое заявление. Саму ошибку ты, конечно, не покажешь.

По факту: кавычек не существует, ты воюешь с ветряными мельницами. В жсонах это часть формата данных, ты на него не влияешь. Преобразованные в словари жсоны имеют ключи в виде готовых строк. Итого кавычки тебе могут встретиться только если они реально были внутри какой-то строки в жсоне, и они остаются нетронутыми при десериализации, и вряд ли требуют какого-то твоего вмешательства.
Аноним 03/11/21 Срд 01:26:20 #512 №2201321 
image.png
>>2201316
Аноним 03/11/21 Срд 01:30:24 #513 №2201325 
image.png
>>2201321
Что ты там десериализовывать пытаешься, наркоман? Уже десериализованный словарь? Кавычки ему, блять, мешают.
Аноним 03/11/21 Срд 01:31:19 #514 №2201327 
>>2201325
Мне нужен жсон.
Аноним 03/11/21 Срд 01:34:53 #515 №2201328 
>>2201327
Он у тебя уже есть в той переменной, которую ты пытаешься "десериализовать".

Дай угадаю, ты прочитал доку по requests одним местом, и сделал что-то вроде
str_value = response.json()
data = json.loads(str_value)

Метод json() возвращает уже десериализованный объект (словарь/список). Руками ничего лоадить не надо.
Аноним 03/11/21 Срд 01:43:04 #516 №2201329 
>>2201291
> мне жизненно нужно сделать их жсонами
юзай json5
Аноним 03/11/21 Срд 03:30:12 #517 №2201344 
В велосипедном наборе "Сделай сам" Питоне не хватает деталей: отсутствуют константы.
Аноним 03/11/21 Срд 03:32:13 #518 №2201345 
>>2201344
Просто возьми и не изменяй переменную. Вуаля, внутри твоей программы она константа.
Аноним 03/11/21 Срд 07:34:04 #519 №2201367 
>>2201344
Можешь в енум свои константы запихнуть.
Аноним 03/11/21 Срд 08:16:40 #520 №2201377 
>>2201345
Хитро придумано, прямо как с сокрытием
Аноним 03/11/21 Срд 11:33:23 #521 №2201509 
1.JPG
День третий, как начал изучать энто ваше погромирование. Не знал, что это может быть так весело. Можете обоссывать, но чем можно развить эту хуйню?
Аноним 03/11/21 Срд 11:35:12 #522 №2201512 
>>2201509
>но чем можно развить эту хуйню?
сразу начинай генерить извинения
Аноним 03/11/21 Срд 11:40:11 #523 №2201522 
>>2201509
random.choice, дурень.
Аноним 03/11/21 Срд 11:44:41 #524 №2201528 
1.JPG
>>2201522
Ну да. Намного лучше.
Аноним 03/11/21 Срд 11:45:47 #525 №2201531 
>>2201528
Иди ещё про f-strings почитай.
Аноним 03/11/21 Срд 11:46:29 #526 №2201532 
>>2201509
>День тґеты, как начал ызучац энто ваша погромырованне. Не знал, что это можат быц так весело. Можаця обоссывац, но цем можно развыц эту хуйню?
Сэйм шыт. Даж плугин для броузера написал. https://greasyfork.org/ru/scripts/432951-rufuker-2ch
Аноним 03/11/21 Срд 13:09:25 #527 №2201641 
>>2201522
Ты хоть в курсе что все эти рандомы работают на одном random.random() ?
Жаваскриптеру не нужны эти лишние обвязки, ему нужен только Math.random() и его громадный хуй. Все нахуй
Аноним 03/11/21 Срд 13:34:46 #528 №2201660 
>>2201531
Если бы ты в пул реквесте прислал что-то вроде
print(f'{random.choice(names)} {random.choice(surnames)}') я бы тебя уволил нахуй.
Аноним 03/11/21 Срд 13:42:33 #529 №2201664 
>>2201641
А на чем они должны работать, на нанотехнологиях?
Аноним 03/11/21 Срд 13:45:24 #530 №2201667 
>>2201660
С чего ты это взял, увольняка? Речь была про +.
Аноним 03/11/21 Срд 13:54:50 #531 №2201675 
>>2201667
print(random.choice(names), random.choice(surnames))
Аноним 03/11/21 Срд 14:41:24 #532 №2201720 
>>2201660
1. Хуй бы ты что мне сделал, пес
2. Переменные вычисляются заранее и потом вставляются в f-строку ебана, ты сам же туда их нахерачил а потом ноешь
Аноним 03/11/21 Срд 14:57:19 #533 №2201739 
ПЕРЕКАТ
>>2201736 (OP)
>>2201736 (OP)
>>2201736 (OP)
>>2201736 (OP)
Аноним 03/11/21 Срд 18:09:55 #534 №2202038 
Данил лох!
comments powered by Disqus

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