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

Ответить в тред Ответить в тред
Питон тред №109 /python/ Аноним 31/12/20 Чтв 15:11:50 18967981
1099916.jpg 39Кб, 1000x991
1000x991
python-man24702[...].jpeg 99Кб, 858x536
858x536
9532.jpeg 207Кб, 893x902
893x902
Вкатываемся в 2021 в треде, посвящённому языку программирования Питон, #109

Предыдущий: >>1883441 (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
Аноним 31/12/20 Чтв 15:52:34 18968572
Подскажите для пайчарма плагин, который будет выделять табы пробелы, чтобы было сразу видно, где их сколько
Аноним 31/12/20 Чтв 17:01:54 18969233
image.png 70Кб, 743x457
743x457
image.png 38Кб, 737x220
737x220
image.png 11Кб, 417x105
417x105
image.png 9Кб, 389x155
389x155
Я туплю нереально, что делаю не так в коде? Учу джанго и ни в какую не грузится изображение для товара. При этом если грузить со страницы админки - проблем нет, грузит в медиарут и все хорошо.
Аноним 31/12/20 Чтв 17:14:23 18969444
Аноним 01/01/21 Птн 03:35:44 18975285
15664205356560.jpg 237Кб, 1000x1000
1000x1000
Сейчас наступает 2021 год, я решил начать свой вкат в питон (преимущественно в нейросети, может ещё потом веб) начиная с первого дня нового года упорно заниматся изучением темы.

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

Всё что имею при себе - базовые знания питона и программирования (переменные, циклы, ветвления, списки, словари, исключения вот это всё).

Если кому интересно пишите на фейкомыло
johntitor47@yandex.ru
Аноним 01/01/21 Птн 03:40:19 18975326
77958433p1.jpg 1537Кб, 1584x2112
1584x2112
Сейчас наступает 2021 год, я решил начать свой вкат в питон (преимущественно в нейросети, может ещё потом веб) начиная с первого дня нового года упорно заниматся изучением темы.

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

Всё что имею при себе - базовые знания питона и программирования (переменные, циклы, ветвления, списки, словари, исключения вот это всё).

Если кому интересно пишите на фейкомыло
johntitor47@yandex.ru
Аноним 01/01/21 Птн 03:41:48 18975357
Аноним 01/01/21 Птн 14:25:47 18976898
В чем принципиальная разница питоновской асинхронной asyncio и асинхронности в js?
Аноним 01/01/21 Птн 16:06:49 18978159
норм ли в питоне считать статистику с очень маленькими числами (там типа 1.23*10^(-456) )
не наебнется ли сильно ничего, не зачмырят ли вообще за использование питона а не R какого-нибудь?
Аноним 01/01/21 Птн 16:10:15 189782010
>>1897815
Чиво? Что тебе мешает считать в нормальных числах а после манипуляций с ними перевести в "очень маленькие"?
Аноним 01/01/21 Птн 17:03:04 189787611
>>1897815
И ещё вариант - извращаться с модулем decimal, но лучше всё-таки так >>1897820
Аноним 01/01/21 Птн 18:21:50 189794312
image.png 49Кб, 695x515
695x515
>>1896798 (OP)
Что-то я не врубаюсь, каким именно образом в Пистоне реализована асинхронность на коллбэках? Вот скрин из одной небольшой проги-примера которая ходит по нескольким url которые заданы у нас в списке. Я конечно понимаю что на верхнем уровне у нас пиздато исполняется функция http_client.fetch которая ничего не блокирует и ждет получения результата чтобы "выстрелить" коллбек но... как это блин происходит? Если я захочу написать такую же функцию которая работает на коллбеках я тут же упрусь в том что моя функция после вызова заблокируется, "застрянет" и будет ждать исполнения кода прежде чем задействовать коллбек
Как это блин работает?
Аноним 01/01/21 Птн 18:24:57 189794513
>>1897943
Нахуй ты это легаси раскопал?
Аноним 01/01/21 Птн 18:37:40 189795414
image.png 10Кб, 527x148
527x148
>>1897945
Какое блять "легаси"? Асинхронка на коллбеках это основа основ. Вся асинхронность жс тоже восходит к ним, только вот там ивенты и коллбеки нативно вписаны в движок, поэтому вопросов к работе кода на пикриле не возникает
Аноним 01/01/21 Птн 18:41:29 189795715
>>1897943
Хз что там в этом торнадо. Скорее всего fetch ничего не ждёт вообще, эта функция регистрирует коллбэк для соответствующего url
А дальше запускается цикл обработки сообщений, который принимает входящее соединение, парсит его, и как распарсит, так вызывает соответствующий URL.

Тут вообще такого настоящего асинхронного нет, асинхронное если есть, то в функции обработки и парсинга входящих соединений.

ps: и да, тебе надо смотреть на асинхронность в asyncio и фреймворки, на нём основанные. Торнадо это уже легаси.
Аноним 01/01/21 Птн 18:42:55 189795816
>>1897954
Основа основ это посмотреть исходники твоей легаси либы и понять как она работает. Тебе дали нативный async/await бери и пользуйся.
Аноним 01/01/21 Птн 18:45:40 189796217
>>1897958
>Тебе дали нативный async/await
Ммм, тебе бы на жопаскрипте писать. Дохрена макак сейчас развелось, которые про Промисы не слыхали нинужно жи!, но зато async/await вовсю юзают, правда чуть чего несутся роняя говно к своему сеньору-помидору чтобы пояснил почему их дерьмо вдруг плюется ошибками
Аноним 01/01/21 Птн 18:46:51 189796318
Аноним 01/01/21 Птн 18:50:15 189796419
>>1897957
Почему торнадо легаси, а джанго не легаси?
Аноним 01/01/21 Птн 18:51:03 189796620
а чо такое коллбэк?
Аноним 01/01/21 Птн 18:51:59 189796721
>>1897966
коллбэк - хуй в рот бэк
Аноним 01/01/21 Птн 18:52:03 189796822
>>1897964
Потому что джанга может в async await.
Аноним 01/01/21 Птн 18:55:13 189797023
>>1897968
>джанга может в async await
Норм посмешил. async-await уровня /b просто
ты щас кекнешь, но Торнадо асинхронный by design, и поддержка async-await там подрублена начиная с 2015
Аноним 01/01/21 Птн 18:56:07 189797124
>>1897966
Обратный звонок, звонок назад
Аноним 01/01/21 Птн 18:56:39 189797225
>>1897970
Норм люди юзают fastapi, а джанга актуальная за счет кучи готовых фич из коробки.
Аноним 01/01/21 Птн 18:58:56 189797626
>>1897964
Джанго это очень серьёзный фреймворк для CRUD серверов. Немного легаси, так как его проектировали синхронным, пытаются добавить асинхронность, но с болью. Но замены ему нет, он единственный в своей нише.

Торнадо асинхронный фреймворк, сделанный ещё до asyncio. Имел своё велосипедное решение для асинхронности. Но вроде поддерживает как-то не очень прямо и asyncio. Тем не менее это тормоз, фреймворк не даёт дополнительных возможностей относительно более новых, которые проектировались под asyncio, при этом проигрывает им в производительности. В общем классическое legacy.

Аноним 01/01/21 Птн 20:04:37 189801027
В чем разница между Future и Task? И что из них больше похоже на Promise из жс?
Аноним 01/01/21 Птн 21:19:43 189810728
>>1898010
Future это аналог промисов. Это некоторый объект, который может быть в нескольких состояниях, хранит список коллбэков, которые надо вызвать, когда объект будет исполнен.

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

Менее очевидная разница между корутиной и задачей. Корутина сама по себе в цикле не зарегистрирована и передачи управления на неё не происходит. И если ты в коде напишешь
await my_coro()
и внутри корутины явно регистрации задачи не происходит, то у тебя выполнение останется полностью синхронным.
Аноним 01/01/21 Птн 23:14:09 189818929
С Новым Годом, двач
Достали сайты, которые меня отвлекают. При этом, например хочу заблокировать /b/, но оставить тематику.

И хочу это сделать с помощью питона. Подскажите в каком направлении копать.
linux, firefox
Аноним 02/01/21 Суб 01:06:14 189826030
Screenshot20210[...].png 57Кб, 1044x754
1044x754
А как сделать, чтобы выводились лишь значения массива, без скобок и прочей фигни
Аноним 02/01/21 Суб 01:48:16 189830331
>>1898260
тупанул и массив не правильно создал, вопрос снят
Аноним 02/01/21 Суб 02:14:23 189832832
>>1898189
>И хочу это сделать с помощью питона.
Сложно или невозможно. Просто настрой адблок и будет тебе счастье. Только ты же его сам постоянно отключать будешь.

Иначе тебе нужно делать прокси. Причём или веб прокси, который будет качать сайт и подменять URL, или тебе придётся возиться с сертификатами, делать подмену сертификатов httsp, прописывать в браузер свой сертификат и т.п.

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

Короче единственный разумный вариант это адблок настроить.
Аноним 02/01/21 Суб 08:58:51 189841633
>>1897689
Ни в чем, это общий подход для отказа от callback hell, вся суть в синтаксическом сахаре и необходимости loop в питухоне
Аноним 02/01/21 Суб 09:02:48 189841734
Задам вопрос в этом году. Как с помощью pydantic разобрать такое дерьмо:
TaxVAT. Если TaxVat ещё могу превратить в tax_vat, то как быть в первом случае? Даже в headings не превратить
Аноним 02/01/21 Суб 13:55:37 189856735
Зачем нужен for когда есть map()? 
Аноним 02/01/21 Суб 15:46:09 189867436
>>1898567
map и другие подобные фичи подходят для прогнать какую-то небольшую операцию для коллекции и получить результат.
Ты можешь изъебнуться и заменить ими вообще все форы, но это будет громоздко и неочевидно.
Аноним 02/01/21 Суб 18:54:50 189883037
160754286213357[...].png 1705Кб, 2048x2148
2048x2148
>>1898674
Давайте теперь все говорить как умственно отсталые потому что васе орку который питается стекломоем непонятно. И считать на пальцах и счета с костяшками тоже. Так?
Аноним 02/01/21 Суб 19:41:09 189888438
>>1898567
В жс-треде буквально недавно был очередной срач на тему. Какой-то пизданутый ФПшник верещал что обычные циклы нинужны и по возможности надо всего городить map-reduce-filter парашу ибо "так пиздатее"
Только вот цикл for максимально нативен и понятен и часто нет нужды городить конструкции из хуй пойми чего лишь бы ублажить ФПшника
Аноним 02/01/21 Суб 19:42:38 189888739
>>1898830
Но мап действительно не даёт никаких преимуществ. Давал бы, если бы бы лучше поддержан в языке, если бы можно было бы цепочки вызовов делать
my_array.map(foo).map(fuzz).filter(buzz)
но в питоне этого нет.

В питоне реализовано так, что никаких преимуществ относительно генераторов списка или генераторных выражений нет. Причём генераторы списков куда более понятные и читаемые.
Аноним 02/01/21 Суб 19:52:31 189890840
Screenshot from[...].png 15Кб, 395x440
395x440
>>1898884
Цикл целиком слишком громоздкий, map может сократить код.

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

Если бы в питоне можно было нативно цепочки из map и других функций делать, был бы смысл. Но этого нет.
Аноним 02/01/21 Суб 19:57:27 189892341
>>1898908
А теперь пишем
for t in range(1, 10):
print(tt)
В сто раз чище, но не повыебываться, да.
Аноним 02/01/21 Суб 19:58:26 189892742
>>1898923
>for t in range(1, 10):
>print(tt)
Как ты это делаешь, Шайтан? КАК?
Аноним 02/01/21 Суб 20:00:07 189892943
>>1898923
В случае если ты один раз в теле цикла используешь t-квадрат да. Но если несколько раз, то в цикле придётся или делать дублирование кода, перемножать каждый раз, или вводить дополнительную переменную.

Аноним 02/01/21 Суб 20:05:21 189894344
>>1898929
И в чем проблема? Если у тебя какая-то простая трансформация, то можно обойтись однострочником без переменных, а в форе можно и развернуться.
Аноним 02/01/21 Суб 20:29:32 189897845
>>1898943
Для map да, большого профита нет. Одна дополнительная строчка в теле цикла читаемости добавит.

filter может дать куда больше профита, потому что его придётся заменять тем, что в теле цикла вставлять if-continue, что усложняет логику кода и не очень красиво.

А filter дополнительно можно обернуть в enumerate, и тогда уже эквивалентную логику сильно сложнее реализовать.

Вообще смысл в том, что map-filter и т.п. операции по-настоящему стреляют, когда объединяются в цепочки. Но в питоне это не поддержано как следует, а потому неудобно и смысл теряется.

Аноним 02/01/21 Суб 20:40:35 189899646
>>1898978
Не знаю, не проглотит ли двач что-нибудь. Пример:
with open('file.txt', 'rt', encoding='utf-8') as ff:
____for index, line in enumerate(map(str.rstrip, filter(str.strip, ff))):
________print (index, line)

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

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

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

На практике ограничения на map-filter довольно большие, приучаешься поэтому ими не пользоваться даже тогда, когда было бы с ними лучше.
Аноним 02/01/21 Суб 20:41:50 189899847
Аноним 02/01/21 Суб 20:43:10 189899948
>>1898998
Куда торопишься? Серьезно, питон не про скорость.
Аноним 02/01/21 Суб 21:03:16 189902649
Screenshot from[...].png 25Кб, 518x332
518x332
>>1898998
Да не очень

python3.8 p.py
result: 333332833333500000, worktime: 0.183s
result: 333332833333500000, worktime: 0.236s

Разница есть, но треть. И это только потому, что очень примитивные операции, на которых скорость точно не про питон. Под pypy при этом работает раз в 30 быстрее где-то, там другие соотношения, в зависимости от версии, но для объективного результата надо тест-платформу переделывать.
Аноним 02/01/21 Суб 21:25:13 189905450
>>1898996
Ну я так понял мапы-фильтры хватанули где-то на старте из других языков, а потом уже допилили свои нативные и более выразительные компрехенсы и генераторные выражения, а эти остались как легаси. Иногда можно ввернуть красиво, не более.
Но с условиями реально коряво, ждем когда морж пойдет в люди, уже хоть что-то.
Аноним 02/01/21 Суб 22:48:50 189911451
хочу сделать, чтобы на сайте при выборе дат выгружалась таблица из БД. Например, выбираю с 1 по 15 число, выгружается визуально на HTML/CSS таблица с 1 по 15 число с количеством отработанных часов сотрудников. Следовательно, будет 15 столбцов
Если выберу с 1 по 10, то 10 столбов. Как это реализовать?
Аноним 02/01/21 Суб 22:54:22 189912052
>>1899114
Епт, что за фреймворк у тебя?
Не говоря уже о том что это элементарная хуйня уровня sql и postgresql (если выберешь ее), которая трснаслируется в sqlaclhecmy, в пистон и в json
Аноним 02/01/21 Суб 22:55:26 189912253
>>1899120
Все, понял куда посмотреть, в sqlaclhecmy. Спасибо, мне это и надо было
Аноним 03/01/21 Вск 05:59:47 189934354
>>1897954
короткий ответ: нахуй иди.
развёрнутый ответ: смотри что происходит в фетч, а потом иди нахуй с калбеками.
Аноним 03/01/21 Вск 06:12:15 189934755
>>1898887
это на джаву парашу походит. ведь нет ничего читабельней чем my_array = list(filter(buzz, map(fuzz, map(foo, my_array))))
Аноним 03/01/21 Вск 12:38:29 189943956
Как билтин ексепшну запретить вызываться? Например мне нужно чтобы TypeError вообще не участвовал в одном блоке, а были только кастомные мои исключения, но в некоторых ситуациях эта хуйня поднимается
Аноним 03/01/21 Вск 12:40:54 189944057
>>1899439
Через варнинг? Но они все ровно будут вызываться но скипаться.
Аноним 03/01/21 Вск 12:42:23 189944258
>>1899440
Поясни плиз, я просто джавист)
Аноним 03/01/21 Вск 12:44:51 189944359
>>1899442
Читай про эксепшны и варнинги.
Аноним 03/01/21 Вск 15:42:53 189954860
1608653062943.jpg 437Кб, 1396x700
1396x700
Назрел вопрос: насколько важно учить алгоритмы при изучении Питона? Я вот уже какое-то время учу, и вообще ничего по этой теме не смотрел пока. Насколько оно нужно и полезно? Какие есть хорошие книги?
Аноним 03/01/21 Вск 15:55:09 189955661
>>1899548
Для изучения не важны, а для практического применения важны.
Книжек несколько классических ходовых есть, найти несложно.
Аноним 03/01/21 Вск 18:54:56 189967762
>>1898923
>>1898927
у меня не сработало. выдает name 'tt' is not defined.
Аноним 03/01/21 Вск 19:27:58 189971463
А що, пацаны, без линуха и пердолинга Питона не приручить никак?
Аноним 03/01/21 Вск 19:55:44 189974864
>>1899714
wsl есть если тебе нужен софт под линух, редис или какая какая нибудь бд типа постгресса
Аноним 03/01/21 Вск 19:58:30 189975365
Аноним 03/01/21 Вск 20:25:01 189977566
>>1899753
>for t in range(1, 10):
>print(tt)
>Как ты это делаешь, Шайтан? КАК?

А что за восторги тогда?
Аноним 03/01/21 Вск 21:37:41 189987367
Всем добрый вечер.

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

https://ideone.com/fMWaMZ
Аноним 03/01/21 Вск 21:40:17 189988368
>>1899556

А есть какая-нибудь ультимативная книга на русском языке типа: "Все алгоритмы для конченых даунов за 3 часа"? Чтобы прочитал её и обрёл дзен?
Аноним 03/01/21 Вск 21:40:54 189988469
>>1899873
Зачем это когда есть with?
Аноним 03/01/21 Вск 21:42:06 189988970
>>1899884

Да я только третий день по книжке учусь. Там написали, типа попробуйте сократить код.
Аноним 03/01/21 Вск 21:42:11 189989171
Аноним 03/01/21 Вск 21:43:15 189989672
>>1899891

Ах ты хитрый какой. Название её сообщи пожалуйста.
Аноним 03/01/21 Вск 21:49:29 189991573
>>1899896
Ты че гугл во мне спалил?
Аноним 03/01/21 Вск 22:02:56 189992974
>>1899915

Значит ты просто поболтать пришёл.
Аноним 03/01/21 Вск 22:07:56 189993675
>>1899677
А на табуляцию у тебя не ругалось, не? А почему? В примере выше же табуляции нет
Аноним 03/01/21 Вск 22:08:06 189993776
>>1899929
Значит ты быдло не способное пользоваться поиском.
Аноним 03/01/21 Вск 22:09:07 189993977
>>1899937

У вас тут так принято, или ты просто отсталый?
Аноним 03/01/21 Вск 22:52:41 189997578
>>1899439
>Например мне нужно чтобы TypeError вообще не участвовал в одном блоке
...
Просто не лови его в try-catch try-except блоке вот и все
Аноним 03/01/21 Вск 23:24:20 189999379
image.png 1Кб, 177x96
177x96
>>1899975
Вернее лови вот так
Аноним 04/01/21 Пнд 04:41:47 190013280
Двощане, я щас минут 30 ебался с pinax потому что понадобилось сделать сайтик с подтверждением по почте, но последнее обновление там было еще в 2016 году и приходится некоторые моменты самому править, типа вместо {% load staticfiles %} писать {% load static %} в файах модуля, хотел поинтересоваться что щас актуально для этой задачи, чтобы костыли не писать свои, а взять отлаженный модуль, либо забить на это и надеяться что позже не встречу критических ошибок в модуле(как я понял он не обновлялся после джанги 1.7)
Аноним 04/01/21 Пнд 09:13:47 190020481
Приветствую, анон.

Не кидайте палками, я только спросить: очередной вкатыш, появилась потребность вывода уведомлений-напоминаний на рабочий стол win 10.

На чем можно реализовать данную вещь без говна и палок? Уровень около-нулевой, поэтому и спрашиваю. Была идея попробовать сделать бота в Телеге для этих целей, но может, есть что-то лучше?
Аноним 04/01/21 Пнд 10:59:14 190025682
Аноним 04/01/21 Пнд 11:03:55 190025783
>>1900256

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

Сама идея в том - чтобы написать это все с нуля, дабы понять что и как работает.
Аноним 04/01/21 Пнд 11:08:33 190026084
15282055081560.mp4 1704Кб, 854x480, 00:00:16
854x480
>>1900204
>появилась потребность вывода уведомлений-напоминаний на рабочий стол win 10
Сначала хотел серьезно что-то написать но потом увидел
>>1900204
>Уровень около-нулевой
>>1900257
>написать это все с нуля
Аноним 04/01/21 Пнд 13:36:22 190041285
>>1900257
ну и зачем? я бы лучше задрачивал типовые задачи из практикума по программированию.
Аноним 04/01/21 Пнд 14:21:35 190046986
>>1900132
Неужели за ночь здесь не пробегало ни одниго человека, которому приходилось прикручивать к джанго сайту типовую регистрацию?
Аноним 04/01/21 Пнд 14:40:00 190049687
>>1900412
А почему? Мне как-то говорили, что будет логичнее и правильнее взять пет-проект и хуячить, собственно. Практика там, все дела.

Практикум - это те задачи, которые будут встречаться и в работе?
https://stepik.org/course/56240/promo Ты про это?
Аноним 04/01/21 Пнд 15:50:54 190060288
>>1900496
у меня просто такое мнение, что сначала надо фундамент выучить, а потом свой пет-проект хуе-муе.
Аноним 04/01/21 Пнд 17:01:46 190069489
Когда запускаю программу через subprocess в винде, то спавнится черное окно с консолечкой на пол экрана. Это можно пофиксить как-то? Когда делаю то же самое в GNU/Linux, то ничего подобного не происходит. Мне надо сделать, чтобы пользователи моей проги на винде не пугались.
Мой код:

args = [параметры]
try:
subprocess.check_output(args, shell=False, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as ex:
return False

Пробовал Popen и check_call, но разницы нет.
Подозреваю, что опция startupinfo может помочь, но не знаю пока что в нее писать.
Аноним 04/01/21 Пнд 17:06:27 190070490
Аноним 04/01/21 Пнд 17:16:34 190072291
>>1900704
Да, это работает. Но это костыль.

Получше нашел кое-что:
передать в Popen аргумент startupinfo=si, а перед этим выставить
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW

Тогда консолечка не возникает, но фокус у окна куда-то пропадает (как и в случае с shell=True, собственно)
Попробую фокус обратно вернуть через какой-нибудь дополнительный вызов.
Аноним 04/01/21 Пнд 19:42:29 190085992
Как отправить через requests вот такой curl запрос с файлом?
curl -u username:password -T path_to_file "https://my-cloud.com"
Аноним 04/01/21 Пнд 20:16:00 190091693
Аноним 04/01/21 Пнд 22:09:31 190102094
2.PNG 105Кб, 1484x740
1484x740
1.PNG 84Кб, 1356x759
1356x759
Двач, подскажи, пожалуйста, почему так? Почему при elif он выдает ошибку синтаксиса, а при else - нет?

У Мэтиза про это не написано, в гугле говорят по поводу пустой строки, но я не понимаю.

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

Аноним 04/01/21 Пнд 22:12:00 190102295
>>1901020
Потому что елиф ставится в середине блока условий
Иф>Елиф>Элсе
У тебя всего два условия, значит закрываться все должно Элсе
Аноним 04/01/21 Пнд 22:12:55 190102396
>>1901020
Потому что елиф идет после иф, у тебя табуляции не хватает.
Аноним 04/01/21 Пнд 22:17:25 190102797
>>1901020
у елиф должно быть ещё своё условие, а ты его пытаешься использовать как элсе
Аноним 04/01/21 Пнд 22:19:46 190103198
Бля я обьебался >>1901023 тут. >>1901027 этот хуй прав, у елиф должно быть свое условие как у иф.
Аноним 04/01/21 Пнд 22:19:47 190103299
>>1901022
>>1901023
>>1901027

Понял, принял, спасибо.

Может, еще натолкнете на мысль почему continue (в моем понимании) работает не так, как я этого хочу?

Написав строчку if sandwich_order == 'sandwich_pastrami': continue
, я предполагал, что цикл начнется по новой и не будет включать сандвичи с пастрами. Что я сделал не так?
Аноним 04/01/21 Пнд 22:22:43 1901034100
есть вопрос по поводу клавиатуры бота в телеграме
пишу с помощью telebot, да, знаю, python-telegram-bot или как там его вроде лучше, но этот проще, а я совсем новичок

примерно такой кусочек кода:
if message.text == 'сап двач':
bot.send_message(message.chat.id, 'пошел нахуй', reply_markup=keyboard_russian)

и если этот бот находится в беседе, то при написании "сап двач" русская клавиатура открывается у всех кто находится в беседе
а мне надо чтоб открывалась только у того кто написал "сап двач"
как это сделать?
Аноним 04/01/21 Пнд 22:23:30 1901036101
>>1901032
При этом, он не выводит первое значение (sandwich_tuna), а сразу выводит второе.
Аноним 04/01/21 Пнд 22:24:10 1901038102
>>1901032
Потому что твой цикл работает на pop.
При continue ничего не меняется.
Аноним 04/01/21 Пнд 22:27:21 1901041103
>>1901038
Эм, а где об этом можно подробнее почитать?
pop же убирает последнее значение словаря, но я не совсем понимаю, как это связанно с continue.
Аноним 04/01/21 Пнд 22:42:59 1901057104
1.PNG 96Кб, 1341x661
1341x661
Собственно, переписал, задача выполнена, но я все равно не понимаю, почему continue как приказ к началу нового прохода не работает при .pop
Аноним 04/01/21 Пнд 22:44:55 1901064105
ВСМ.png 33Кб, 878x624
878x624
Не
понял
А что, так низзя?
Как мне матчить вот хз какие цифры в ключах словарей?
Я конечно понимаю что можно startswith но так получаются длинные конструкции
Аноним 04/01/21 Пнд 22:45:34 1901066106
>>1901041
>>1901057
У тебя неправильно сделано и сравниваешь не то.
Надо первой строчкой внутри while сделать pop
и результат сравнивать уже, а ты сравниваешь сам список со строкой.
Аноним 04/01/21 Пнд 22:49:31 1901071107
>>1901064
Суть словарей в том, что ты должен знать ключи и использовать их для извлечения значений.
В случае твоего наркоманского кейса надо итерировать по наличным ключам и матчить. Но в целом так быть не должно, значит, что ты делаешь что-то не так.
Аноним 04/01/21 Пнд 22:54:55 1901077108
Аноним 04/01/21 Пнд 22:55:14 1901078109
Аноним 04/01/21 Пнд 22:57:06 1901081110
Аноним 04/01/21 Пнд 22:59:06 1901083111
Аноним 04/01/21 Пнд 23:21:21 1901101112
Смех испанца Хо[...].mp4 472Кб, 720x480, 00:00:05
720x480
Аноним 04/01/21 Пнд 23:28:06 1901105113
>>1901034
я уже вроде сам разобрался, клавиатурам добавил selective=True а сообщениям, вызывающим эти клавиатуры, добавил reply_to_message_id=message.id
надо было просто полистать документацию к апи телегиhttps://core.telegram.org/bots/api
Аноним 05/01/21 Втр 05:10:10 1901256114
16097242343482.png 57Кб, 540x960
540x960
Аноним 05/01/21 Втр 06:55:38 1901273115
>>1901064
тебе этот словарь уже откуда-то выдан или ты его сам генерируешь? чел >>1901071 четко объяснил.
Аноним 05/01/21 Втр 08:07:52 1901281116
>>1901064
Ты так не только ключи, но и значения не выберешь.

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

>Я конечно понимаю что можно startswith но так получаются длинные конструкции
Добавлятся всего одна строчка.


Аноним 05/01/21 Втр 12:05:25 1901363117
Подскажите, решил я воспользоваться модулем allauth для джанги и мне нужно добавить свои поля, поменять формы и т.д для регистрации пользователей, есть ли какое-то правильное решение для этого, чтобы все остальное работало как прежде или нужно лезть в модуль и там вручную менять код, чтобы мои поля были в бд, отображались в формах и т.д? Единственное решение кроме правки кода мне кажется это делать свою модель и коннектить ее один к одному к модели из модуля allauth, но ведь вероятно есть более правильное решение, подскажите плиз
Аноним 05/01/21 Втр 12:08:14 1901365118
>>1901363
Я полагаю что как-то через наследование можно сделать, но не пойму в каком моменте и как его применять, например я наследуюсь полностью от моделей из модуля, добавляю свои поля, тоже и с формами, как мне потом сделать так, чтобы при запросах у меня отображалась не стандартная форма, а моя кастомная
Аноним 05/01/21 Втр 12:11:45 1901370119
>>1901363
Использовать методы языка? Декораторы, наследование?
Аноним 05/01/21 Втр 12:25:48 1901389120
Аноним 05/01/21 Втр 13:12:35 1901416121
>>1899775
это не я восторгался
Аноним 05/01/21 Втр 13:13:57 1901418122
>>1901389
сильно, вообще то 7мб
Аноним 05/01/21 Втр 13:16:27 1901424123
Аноним 05/01/21 Втр 15:23:00 1901521124
>>1901281
ты про что-то такое?

from collections import namedtuple

Data = (Data, ['name', 'age', 'city_n'])
my_data = Data('Vasya', 23, 'Hongkong')
Аноним 05/01/21 Втр 15:27:50 1901528125
Аноним 05/01/21 Втр 15:51:59 1901543126
>>1901418
Я попробовал создать файл, в котором кроме print("hello world") ничего нет. Потом собрал его с помощью pyinstaller. Действительно 20мб получается. Есть ли способы уменьшить размер? Хотя бы до 7 было бы уже классно.
Аноним 05/01/21 Втр 15:58:28 1901557127
>>1901543
У меня 5 получается.
Аноним 05/01/21 Втр 16:00:39 1901566128
>>1901557
Подозреваю, что это зависит от системы.
Аноним 05/01/21 Втр 16:08:02 1901580129
>>1901566
При старте оно распаковывается в TEMP, добавь в конце time.sleep(1000) и можно посмотреть, что оно там за говна насобирало у тебя.
Аноним 05/01/21 Втр 16:17:58 1901595130
1452469679556.png 273Кб, 954x1159
954x1159
1532890613202.png 285Кб, 954x1159
954x1159
>>1901580
53 мб в /tmp лол
тут много всякого
Аноним 05/01/21 Втр 16:19:44 1901599131
>>1901580
>>1901595
самый большой файл после распаковки называется libopenblasp-r0-ae94cfde.3.9.dev.so и весит 30М
Аноним 05/01/21 Втр 16:24:44 1901603132
>>1901599
Вроде как-то связано с numpy.
Попробуй запилить venv и уже в нем захуярить инсталлер.
Аноним 05/01/21 Втр 16:30:54 1901611133
>>1901595
какой командой получить такой шикарный вид?
Аноним 05/01/21 Втр 16:53:25 1901625134
>>1901543
Попробовал собрать с nuitka, после чего запускать под докером для проверки переносимости. Всё под линуксом
--standalone --onefile
как следует не заработал, то есть собрал в один файл, выкачав какую-то библиотеку appimage с чьего-то гитхаба, локально файл запустился, под докером отказался, хочет библиотеки, как я понимаю, с того же гитхаба. То есть не переносится. А так файл был размером 12.5 Мб.

Если просто --standalone, то создаёт каталог dist размером 30 Мб. Но тоже не идеальная версия.
Если я под докером делаю сборку на базе убунты, то в ней нормально всё работает. Если же делаю сборку на базе alpine или scratch, то почему-то не хочет, видимо не хватает библиотек, по ldd много зависимостей.

Попробую минимальную докер scratch сборку сделать со всеми зависимостями, интересно, сколько займёт. И под виндой тоже надо бы потестировать.

Попозже.


Аноним 05/01/21 Втр 17:04:30 1901643135
Хочу написать программу, которая будет проверять наличие товара в интернет магазине (озон). Первая мысль, которая пришла в глову - просто парсить страницу и смотреть когда продукт появится в наличии, но уверен, что есть более изящный способ. Предполагаю, что можно куда-то отправить запрос и получить необходимые данные. Что можно почитать, чтобы понять откуда сайт узнает сток и как решить мою проблему
Аноним 05/01/21 Втр 17:29:23 1901687136
Аноним 05/01/21 Втр 17:36:23 1901694137
Знімок екрана 2[...].png 84Кб, 1054x762
1054x762
Знімок екрана 2[...].png 206Кб, 2208x750
2208x750
Нужна помощь шарящих людей в DRF
Пишу тесты, эндпоинт принимает некоторые данные и файл через form-data. В данных есть nested вложенности, которые я обрабатываю в сериализаторе. Но проблема в том что из-за того что реквест идет через format="multipart", вложенности прилетают не как dict, а как str. Сталкивался кто-то с таким, и как можно это пофиксить?
Для обработки данных использую MultiPartParser и FormParser парсеры
Аноним 05/01/21 Втр 17:59:56 1901722138
>>1901625
Пока короткие извращения. Собираю hello world в докер контейнер, кладу только то, без чего не запускается.

Сборка
~/virtualenvs/python_38/bin/nuitka3 --standalone tst.py

FROM scratch
COPY . /
CMD ["/tst.dist/tst"]

Файлы в контейнере:
./Dockerfile # это не нужно очевидно
./tst.dist
./tst.dist/libexpat.so.1
./tst.dist/libpython3.8.so.1.0
./tst.dist/libz.so.1
./tst.dist/tst
./lib
./lib/x86_64-linux-gnu
./lib/x86_64-linux-gnu/libdl.so.2
./lib/x86_64-linux-gnu/libc.so.6
./lib/x86_64-linux-gnu/libpthread.so.0
./lib/x86_64-linux-gnu/libm.so.6
./lib/x86_64-linux-gnu/libutil.so.1
./lib64
./lib64/ld-linux-x86-64.so.2

du --max-depth=1
13384 ./tst.dist
3828 ./lib
180 ./lib64
17400 .

Итого 17 мегабайт. Это минимум, без лишних библиотек, которые не используются, если их добавить, то будет больше, примерно до 30-35 мегабайт.

Часть библиотек заведомо лишние, которые для GUI.

Надо ещё под винду потестировать, но это не сегодня скорее всего. Но возможно под виндой проще и там всё соберётся в один файл без зависимостей.
Аноним 05/01/21 Втр 18:05:34 1901735139
>>1901722
Я вообще подозреваю, что от системных зависимостей от /lib и /lib64 можно избавиться, пронести каким-то образом флаг -static в gcc, которым всё реально собирается.

Пока не вникал особо, в реальной практике пока nuitka не использовал, ХЗ сколько там подводных камней и какие реальные возможности.

Аноним 05/01/21 Втр 19:55:22 1901835140
Пожалуйста, кто-нибудь может сгенерить пайтон код из xsd файлика при помощи generadeDS или pyxb?
Аноним 05/01/21 Втр 21:15:20 1901899141
>>1901370
Таки декоратором придется оборачивать код из модуля, т.е модифицировать его, но ведь это неправильно
Аноним 06/01/21 Срд 01:13:00 1902097142
Всем драсте, у меня встал вопрос.
Я значит решил с помощью питона связать два компа, чтобы на них можно было играть в пинг понг, ну чтобы мячи через экраны летал. И при попытке передать координаты мяча у меня буфер сокета на сервере забивается из-за того, что на нём висят старые координаты мяча и не удаляюются. Как собственно мне удалить старые координаты мяча из буфера сервера?
https://pastebin.com/1hhJ9Hdr - Это правый кусок программы, у левого логика идентична
https://pastebin.com/cNVCvWiX - Это сам сервер
Аноним 06/01/21 Срд 02:23:39 1902165143
>>1902097
Не вникал в твой код, но ошибок там немало.

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

Это актуально, если ты большие пакеты получаешь, которые в один ip пакет не влезают, 1400 байт условно. На пакетах в 500 байт в реальности скорее всего проблему никогда не словишь.

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

Если так, то это грубо и примитивно, но в первом приближении можно.

Попробуй другую схему. В месте, где ты читаешь данные из сокета, читаешь данные до упора в какой-нибудь буфер, может быть там будет один пакет, может ни одного, может пять. Как прочитаешь, игнорируешь все, кроме последнего.
Аноним 06/01/21 Срд 02:32:43 1902179144
1609889563079.jpg 30Кб, 512x410
512x410
короч, сидел такой в админах, погромировал на пятоне автоматизашку, держал прод в онлайне и тут такое бац, "хош демопс, четко жестко" и дернуло пофлексить немного.
ну чё добился, ммм?
Аноним 06/01/21 Срд 02:38:37 1902182145
1609889917422.png 169Кб, 236x418
236x418
>>1902097
знаешь, это типо классно что ты пытаешься понять чому и куда, но правда это не в таком объеме нужно ирл.
лучше учи какой-нибудь веб фреймворк, типо классического джанго, либо анинхронщины фласка.
больше опыта принесет реального.
Аноним 06/01/21 Срд 02:44:24 1902190146
1609890263927.png 140Кб, 495x279
495x279
>>1901694
>не как dict, а как str
json.loads(string)
Аноним 06/01/21 Срд 03:16:09 1902204147
Объясните что делает аргумент -m для py в cmd?
Почему py pip istall zalupa не работает, а py -m pip istall zulapa работает?
Аноним 06/01/21 Срд 03:37:05 1902207148
>>1902204
В доках всё есть

When called with -m module-name, the given module is located on the Python module path and executed as a script.

Питон в этом случае вызывает модуль как программу. И соответственно переменная __nam__ имеет значение "__main__", в скрипте активируется код, который не запускается, когда этот скрип подключаешь как модуль.

>Почему py pip istall zalupa не работает
ХЗ как там у тебя всё установлено и настроено, ХЗ какая система.
Но чтобы работал pip как программа, как минимум он должен быть в системе установлен и доступен не только как модуль, но и как вызываемый скрипт. Что не всегда так, насколько я помню.

команда выглядит как
pip install xxxxx
или pip3, или может быть pip3.8, но без python
Надо при этом проверить, какая версия, соответствует ли версии питона.
Аноним 06/01/21 Срд 10:21:53 1902275149
Аноним 06/01/21 Срд 11:44:47 1902311150
>>1902275
Идешь на stepik и проходишь в порядке:
биггикс "поколение python"
биоинформатика "программирование на python"
биоинформатика "Python: основы и применение"

Потом, для закрепления и углубления, идешь в youtube и ищешь Тимофея Хирьянова. Смотришь и выполняешь практику: http://judge.mipt.ru/mipt_cs_on_python3/
Аноним 06/01/21 Срд 11:51:21 1902317151
>>1901899
Это правильней чем шатать модуль по идее.
Аноним 06/01/21 Срд 12:23:40 1902334152
>>1902311
Пс. добавлю что это с моей точки зрения (с точки зрения нищего) и курс по твоей ссылке вполне возможно может быть нормальным, так что это был не ответ на вопрос а просто доп. информация к размышлению.
Аноним 06/01/21 Срд 13:57:47 1902377153
День добрый, аноним.
Кто-нибудь что-нибудь слышал за хекселт?
Аноним 06/01/21 Срд 14:18:05 1902388154
Аноним 06/01/21 Срд 14:29:50 1902404155
>>1902388
Я помню хекслет, когда он был простым каналом на ютубе.
Аноним 06/01/21 Срд 14:34:24 1902414156
Смищно с этих искателей идеальных курсов.
Везде хуево, а там-то за деньги пояснят по-хардкору, ага.
Аноним 06/01/21 Срд 14:37:06 1902418157
>>1902414
Для питоновкатунов есть официальный тутор написанный лично фюрером, остальное ненужно.
Аноним 06/01/21 Срд 14:43:09 1902425158
>>1902418
Лутц?

>>1902414
Не совсем. Скорее за ментором, которого можно и нужно заебывать вопросами и ревью кода.
Аноним 06/01/21 Срд 14:46:05 1902430159
photogvido.jpg 69Кб, 510x511
510x511
Аноним 06/01/21 Срд 15:08:18 1902483160
>>1902430
Я просто пытаюсь понять - ты про "ЯП Python"?
Аноним 06/01/21 Срд 15:14:22 1902492161
Аноним 06/01/21 Срд 17:19:37 1902768162
Как в lxml2 достать определенных потомков из xmlNode?

В xml нашел с помощью xpathEval интересующие меня ноды.
Теперь в списке этих нод я хочу найти их потомков по определенному названию. Не могу понять какую команду использовать. Если я использую:

xmlNodeNmae.xpathEval('запрос')

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

если что мой уровень: вчера закончил бесплатный курс на степике, т.е. никакой, поэтому сильно не поливайте.
Аноним 06/01/21 Срд 17:37:18 1902795163
>>1902768
Отбой, просто написал функцию перебора из элементов, которые получил от get_children
Аноним 06/01/21 Срд 20:51:33 1903010164
1.png 707Кб, 3360x2100
3360x2100
2.png 523Кб, 3360x2100
3360x2100
Читаю книгу "Погружение в паттерны проектирования" и столкнулся с непониманием
В книге все примеры на псевдокоде. В прикрепленных картинках, говорится о таком понятии как "интерфейс" и я не могу понять, как бы на пайтоне выглядела реализация примера с летательными аппаратами и аэродромом.
Что есть интерфейс в данном случае и как это все будет выглядеть в коде?
Можно пример пожалуйста
Аноним 06/01/21 Срд 21:00:09 1903020165
1.png 82Кб, 1354x360
1354x360
>>1902768
На днях делал нечто подобное.
Почему тебе стандартной xml.etree.ElementTree не хватает?

У меня это выглядит так
Аноним 06/01/21 Срд 21:03:11 1903025166
>>1896798 (OP)
Хочу с помощью питона сделать лабу, там надо проверить зависимость времени запроса от размера пакета

Скачал либу icmplib, использую там ping но как только размер пакеты превышает 1000 байт он мне выдает: "[WinError 10040] Сообщение, отправленное на сокет датаграмм, было больше, чем буфер внутренних сообщений или был превышен иной сетевой параметр. Также возможно, что буфер для принятия сообщения был меньше, чем размер сообщения" (в обычном терминале все работает нормально)

Есть еще какие-то способы послать icmp-запросы и прочитать метаданные ответа? В терминале ответ он печатает на экране что не очень-то удобно
Аноним 06/01/21 Срд 21:25:49 1903043167
Пистоны, помогите с такой тривиальной задачей, как сделать диапазон дробных чисел, пожалуйста.
Есть ли какая-то встроенная функция, чтобы получить нужное [0, 0.1, 0.2, 0.3, ...]?
Использовал list(np.linspace(0,1,11)), так он мне показывает:
[0.0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6000000000000001,
0.7000000000000001,
0.8,
0.9,
1.0]

Откуда там эти крохи берутся?

Инб4 [x//10 for x in range(1,11,1)]
Аноним 06/01/21 Срд 21:32:50 1903049168
Аноним 06/01/21 Срд 21:33:57 1903050169
1.png 20Кб, 952x138
952x138
Аноним 06/01/21 Срд 21:39:49 1903054170
>>1903025
Тогда встречный вопрос: как в питоне выполнить команду в терминале (ну допустим это subprocess.call) и что главное - прочитать и сохранить вывод из этого терминала?
Аноним 06/01/21 Срд 21:44:38 1903059171
1.png 110Кб, 1072x1288
1072x1288
>>1903050
Я ньюфак и не понял твоего вопроса.
Я в треде жду ответ на свой вопрос >>1903010


Аноним 06/01/21 Срд 21:53:25 1903068172
>>1903049
А так можно было?! Где мне прокачать мышление с уровня пятилетнего? =(
Аноним 06/01/21 Срд 21:58:42 1903077173
Я меня глупый вопрос, прошу не закидывать ссаными тряпками: если я научусь создавать сайты на Django, я смогу зарабатывать на фрилансе?
Или для более быстрого вкатывания надо что-то другое учить?
Аноним 06/01/21 Срд 22:00:20 1903080174
>>1903077
Двачую, сам написал за 70 даларов вебсервис и было предложение для сайта интересного, но потом дядя забил на свою идею, но я хз все еще это мне так повезло или реально в этом потребноть нужна
Аноним 06/01/21 Срд 22:06:22 1903092175
Такая тема, строю последовательность подобного плана:

Сначала там идут значения (100,200 ... 600) с шагом 100
Затем идут (1000, 3500 ... 11000) с шагом 2500
И потом (20000, 30000 ... 100000) с шагом 10000

Очевидно что это можно вбить и руками, но хотелось бы адекватный алгоритм для подобного. Да, я знаю что можно написать функцию в которой последовательно вызывается несколько циклов for где мы создаем эти значения, но хотелось бы придумать общий итератор, который выдавал бы пары multiplier (множитель, он же "шаг"), count (сколько раз надо пройтись по циклу), start (начальное значение) и который помог бы уменьшить объем кода
Аноним 06/01/21 Срд 22:07:00 1903093176
Аноним 06/01/21 Срд 22:14:29 1903099177
>>1903092
А range для кого придумали, ебать тебя в сраку.
Аноним 06/01/21 Срд 22:25:33 1903112178
1.png 20Кб, 788x134
788x134
Аноним 06/01/21 Срд 22:48:23 1903145179
>>1903010
Для питона это нетипичный подход, из-а его динамической природы. Создавать отдельную сущность для интерфейса объекта больше подходит для java или C#, потому что у них статическая типизация, т.е. если ты в джаве создашь переменную строкового типа и попробуешь присвоить ей число, компилятор пошлет тебя нахуй, потому что это переменная строкового типа, и она навсегда останется переменной строкового типа, а в питоне пожалуйста, напишешь сначала x = "qwerty", а потом x = 5, питон все схавает. Поэтому в питоне больше в ходу так называемая "утиная типизация", т.е. если что-то выглядит как утка, плавает как утка, и даже крякает как утка, то, скорее всего это и есть утка, ну по крайней мере если надо плавать и крякать она с этим справиться.
На практике это выглядит так: если мы ждем, что на вход функции foo подадут объект aircraft, который имеет метод fly(), мы просто берем и без задней мысли вызываем в теле функции aircraft.fly()

def foo(aircraft):
  ...
  aircraft.fly()
  ...

если вдруг, по какой-то причине в функцию подадут объект, у которого нет такого метода, то вылитит исключение, задача тех, кто будет использовать эту функцию проверять, чтобы в функцию попадали нужные объекты, либо обрабатывать соответствующее исключение. При таком подходе не важно, кто родитель используемого класса, важно, что у него есть требуемый метод fly().
Если хочется создать именно интерфейс, как отдельную сущность, как в твоей книжке, это тоже возможно. Можно создать класс FlyingTranspot с одним единственным методом fly(), и не делать для него никаккой реализации, типа

class FlyingTranspot:
  def fly(self):
  ...

или даже выбрасывать исключение:

class FlyingTranspot:
  def fly(self):
  raise NotImplementedError

Потом все классы, которые будут использовать как летательные средства, делать наследниками FlyingTranspot, и пропиывать свою реализацию fly(). Такой подход, наверное, лучше совмещать с аннотацями типов, аннотации опять таки не к чему не обязывают, их можно проверять с помощью статических анализаторов, чтобы находить потенциальные ощибки у себя, также среды разработки, вроде PyCharm, умеют их анализировать, ну и как дополнительная документация для кода, чтобы лучше понимать, что происходит, но это все актульно для больших проектов.

def foo(aircraft: FlyingTranspot):
  ...
  aircraft.fly()
  ...

Можно еще для пущей строгости использовать https://docs.python.org/3/library/abc.html
Аноним 06/01/21 Срд 23:15:49 1903187180
>>1903020
Да я хотел амбициозно с наскока написать консольную fb2 читалку в качестве практики, с дальнейшими перспективами дальнейшего наращивания функционала.
В libxml2 (соответственно и lxml) вроде как есть проверка схемы xsd, что может быть полезным будущем.
Пока что у меня получилось написать простенькую косенькую программу, которая выпукивает в консоль текст из текстовых тегов.
Аноним 06/01/21 Срд 23:50:43 1903219181
>>1903145
Раньше греб в фирме где интерфейсы в пистоне были хорошим тоном (наверно потому что их притащили с фронта фуллстек-разрабы, которые писали на ангуляре и TypeScript)
Аноним 07/01/21 Чтв 00:03:30 1903230182
>>1903145
Интерфейсы в пистоне удобно в тайпинге юзать, в дженериках тех же или в DI. Например:

self.ds: IBaseService[Department] = department_service

этот анон -> >>1903219
Аноним 07/01/21 Чтв 02:13:41 1903276183
Это снова я, парень с пинг-понгом, и у меня еще один вопрос
Значит у меня два устройства подключаются по s.accept(), как мне обратится к ним по отдельности?
Типо выглядит это как conn, addr = s.accept(), и вот как мне обратится к каждому конн по отдельности?
Аноним 07/01/21 Чтв 03:06:59 1903314184
>>1903276
s.accept тебе нужен для того, чтобы принимать входящие соединения. Если ты подключаешься к другому компьютеру, то accept не нужен.

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

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

Возможны и более хитрые схемы.

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

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

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

Иначе ты просто предсказуемо утонешь в проблемах и напорешься просто на лес граблей.
Аноним 07/01/21 Чтв 03:16:53 1903321185
Двощ, я вот уже 3 месяца учу пайтон.
И меня заинтересовало следующее: какие библиотеки вы посоветуете посмотреть. Просто чтобы знать, что они.

Начал учить для вката, но сейчас учу чтобы подняться в codewars.

Я могу сказать, что regular expr и collections - важны всем. А что ещё?
Аноним 07/01/21 Чтв 03:37:46 1903326186
>>1903321
Хочется услышать именно must know либы
Аноним 07/01/21 Чтв 04:09:33 1903331187
>>1903321
>>1903326
Ну ХЗ, сложно ответить так сразу.

Есть базовые системные либы, про которые надо знать
json, pickle
os, os.path, sys, time, glob
re, itertools, random
argparse какой-нибудь

Есть либы, за которыми стоят целые технологии программирования, то есть тут вопрос не либу изучить, а именно с технологиями разобраться
threading, asyncio

Есть индустриальные либы, для промышленного программирования
typing
logging
dataclasses
pytest (последняя сторонняя либа, вместо штатной unittest)

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

Что-то там какая-то экзотика, что-то легаси, что-то просто развлекуха.
Аноним 07/01/21 Чтв 09:21:12 1903367188
Аноним 07/01/21 Чтв 09:22:14 1903368189
>>1903326
>>1903321
>>1903331
Смысл учить либы если их достаточно регулярно переписывают?
Аноним 07/01/21 Чтв 11:18:21 1903418190
Объясните нубасу для чего нужны декораторы (сценарии их использования).
Аноним 07/01/21 Чтв 12:25:41 1903447191
>>1903418
1. актёрам трудно на сцене без декораций. они могут заблудиться
2. зрители не поймут, почему билет так дорого стоит. разве ты пришёл посмотреть на нихуя? а тут - хуяк! и декорации
Аноним 07/01/21 Чтв 12:26:50 1903448192
Аноним 07/01/21 Чтв 13:33:51 1903502193
>>1898567
current_h, pad = 5, 3
for line in win_text:
____w, h = draw.textsize(line, font=TEXT_FONT)
____draw.text(((MAX_W - w) / 2, current_h), line, fill=TEXT_COLOR, font=TEXT_FONT)
____current_h += h + pad

Дерзай, сучка.
Аноним 07/01/21 Чтв 13:38:25 1903511194
>>1903502
Ну и к чему ты это высрал? Думаешь мне реально всралось рефакторить твой говнокод?
Аноним 07/01/21 Чтв 14:17:05 1903562195
>>1903511
Чепуха из-под ногтей слилась мгновенно. Ну вот и молчи в тряпочку со своим "for нинужын, map ришаит".
Аноним 07/01/21 Чтв 14:18:15 1903564196
>>1903562
>слилась
Щас бы тратить время на объяснение чего-то быдлу из интернета.
Аноним 07/01/21 Чтв 14:20:03 1903566197
>>1903564
Нах мне объяснять? Я и сам тебе объясню, сопляку. Ты за слова свои ответь. То есть, приведи аналог на своём map для такого цикла for, как я привёл.
Аноним 07/01/21 Чтв 14:21:53 1903569198
>>1903566
>сопляку
Проиграл в голос с великовозрастного быдла.
Аноним 07/01/21 Чтв 14:29:09 1903574199
>>1903314
Ты не понял, у меня есть сервер, к которому подключается два компа, оба компа к серверу подключаются по conn, addr = s.accept(), как мне обратится к одному из этих компов?
Аноним 07/01/21 Чтв 14:43:40 1903586200
Хочу отрисовать график "свечек", только это не обычный финансовый график где показано открытие/закрытие торгов, минимум и максимум, а свечка где есть только: минимум, максимум и среднее значение. Как такое сделать с помощью matplotlib?
Аноним 07/01/21 Чтв 14:52:52 1903596201
>>1903321
Всяких разных библиртек и фреймворков просто дохуя, и они плодятся и развиваются, что конкретно учить, это все сильно зависит от твоих интересов. Для веба будет свой список актуальных либ, для датасайнса свой, и так далее. Есть много разных списков популярных либ. Например,
https://github.com/vinta/awesome-python

У меня такое чувство, что тебе рановато о таком думать.
Аноним 07/01/21 Чтв 15:33:10 1903636202
>>1903145
Спасибо большое за твоё разъяснение. Но увы я его не могу понять в полной мере. Это из-за отсутствия опыта ООП
Аноним 07/01/21 Чтв 15:40:46 1903645203
Аноны, никто не видел, где можно курсы с learn python спиздить?
Аноним 07/01/21 Чтв 15:44:11 1903648204
Аноним 07/01/21 Чтв 15:50:16 1903659205
>>1903648
Наебался. Real Python конечно же
Аноним 07/01/21 Чтв 15:51:08 1903661206
>>1897532
как думаешь, не слишком ли поздно вкатываться в питон? просто начитался об этом тут и аж даже страшно стало за своё будущее
Аноним 07/01/21 Чтв 15:52:27 1903665207
>>1903661
Поздно, поезд ушел, иди dart учи
Аноним 07/01/21 Чтв 16:04:01 1903679208
А у кого-нибудь есть опыт коммерческого использования монги с джангой? Мне нужно с геоданными работать, монга из коробки это имеет охуенно, и с помощью mongoengine я уже весь функционал запилил. Но не кринжово ли монгу с жангой использовать?
Аноним 07/01/21 Чтв 16:09:56 1903685209
>>1903659
На трекере наблюдаю штук 20, есть интересные, скачаю. Потом скину сюда ссылку.
Странно, что все не слили.
Аноним 07/01/21 Чтв 16:33:11 1903703210
>>1903679
А постгрес типо не умеет это делать?
Аноним 07/01/21 Чтв 16:37:11 1903706211
image.png 43Кб, 464x517
464x517
Аноним 07/01/21 Чтв 17:39:43 1903747212
>>1896798 (OP)
а книги не старые? я смотрю там 11 год, 14
Аноним 07/01/21 Чтв 18:06:58 1903755213
Немного не по теме но думаю питон мастера по умолчанию могут в регулярки.
Есть куча информации вида:

<tag value="to4tomnenyjno_so_skobkami"/>

Есть регулярное выражение:

(<tag value=)(".*")
1 2

1, 2 это, как вы поняли группы
которое мне возвращает через re.findall список кортежей вида [(1, 2)...(1, 2)]
Можно через регулярки сделать чтобы оно сразу мне выдавало только вторую группу? Что-то вроде ^(начало слова), но в качестве начала слова принимать то что в первой группе.
Аноним 07/01/21 Чтв 18:15:53 1903765214
>>1903755
Так убери скобки из первой части.
Но лучше сразу катись в бьютифул суп.
Аноним 07/01/21 Чтв 18:23:04 1903773215
>>1903765
>Так убери скобки из первой части.
Спасибо, не знал что это так работает.
На regex101.com подсвечивалось все и я думал оно мне будет засылать fullmatch т.е. и все вместе.
Аноним 07/01/21 Чтв 18:29:20 1903778216
>>1903665
а почему именно он?
Аноним 07/01/21 Чтв 18:45:42 1903791217
>>1903331
Спасибо, интересно было узнать именно базовые системные либы. Хороший, развернутый ответ.
Что значит промышленное, индустриальное программирование? Я просто программист АСУТП (на заводах программирую)

>>1903367
Во, я это и хотел. Только думал мне накидают либы, а я буду документацию смотреть бегло

>>1903368
Не учить. Знать что и где лежит.

>>1903596
>У меня такое чувство, что тебе рановато о таком думать.



Аноним 07/01/21 Чтв 18:46:26 1903792218
>>1903791
>У меня такое чувство, что тебе рановато о таком думать.
Так я пока для себя. Мне интересны именно самые базовые либы. Типа itertools
Аноним 07/01/21 Чтв 18:49:07 1903795219
Ну и сразу еще вопрос, если я отложу вопрос вката на пол года. Я не пропущу последний вагон уходящего поезда?
Аноним 07/01/21 Чтв 19:12:01 1903821220
>>1903791
>Не учить. Знать что и где лежит.
Задачи то какие?
>а я буду документацию смотреть бегло
Открываешь пипи и смотришь что там в топе.
Аноним 07/01/21 Чтв 19:23:19 1903833221
Аноним 07/01/21 Чтв 19:23:46 1903834222
Аноним 07/01/21 Чтв 19:30:24 1903841223
>>1903834
Среди школьников зафорсили мемасы с Фреско, а дебичи подыгрывают. Даже время на просмотр тратить не буду.
Аноним 07/01/21 Чтв 19:32:14 1903843224
>>1903791
>Что значит промышленное, индустриальное программирование? Я просто программист АСУТП (на заводах программирую)
Индустриальное, значит в индустрии программирования, когда ты работаешь над большими программами, с большим кодом, с долгим циклом поддержки, когда ты сам забываешь, что и зачем писал, когда несколько человек работает над кодом и т.п.

Когда ты делаешь лабы, олимпиады, литкод и т.п., это одна история, там тебе надо знать библиотеки вот для этого, всякие re, itertools, collections, может понадобиться что-нибудь вроде heapq и др. Чтобы компактно реализовывать разные алгоритмы.

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

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

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

Ну и дальше есть масса библиотек и модулей для конкретных задач. Если ты ими занимаешься, они нужны. Если это задачи не трогаешь, то совсем не нужны.
Аноним 07/01/21 Чтв 19:40:31 1903850225
>>1903821
поддвачну>>1903833

>>1903843
Как я понимаю python это не про индустриальное программирование. На нем же QA-макаки, дата саентологи, девопсы с небольшим вкраплением джанго пишут. А это все не про долгоиграющие/тяжелые проекты.
Аноним 07/01/21 Чтв 19:40:58 1903851226
Есть список кортежей. Типичный кортеж состоит из четырёх элементов. [(2, 4.3, 0.5), (1, 5.66, 9), (3, 0.4, 0)...]
Самих же элементов в списке сотни.
Как выбрать 5 элементов-кортежей, где второе значение кортежа, например, минимально?
Аноним 07/01/21 Чтв 19:46:06 1903854227
Аноним 07/01/21 Чтв 19:47:25 1903855228
>>1903850
На питоне куча бэка написано, например openstack это мелкий проект?
Аноним 07/01/21 Чтв 19:47:51 1903856229
>>1903851
>Как выбрать 5 элементов-кортежей, где второе значение кортежа, например, минимально?
Проясни подробней о чем ты.
Аноним 07/01/21 Чтв 19:50:32 1903861230
>>1903856
Если мне нужен 1 элемент, у которого второе значение минимально, я просто делаю min(data, key = lambda t: t[1])
А мне надо 5 элементов выбрать, у которых вторые значения минимальны во всём списке.
Аноним 07/01/21 Чтв 19:52:55 1903864231
>>1903851
sorted(lst, key=lambda x:x[1])[:5]
Аноним 07/01/21 Чтв 19:58:25 1903870232
>>1903855
>>1903854
У меня после it-бороды сложилось впечатление, что если писать что-то неимоверно сложное, то берут java, для среднего node.js, а для остальной херни wordpress
Аноним 07/01/21 Чтв 19:58:34 1903871233
Аноним 07/01/21 Чтв 19:59:23 1903873234
Аноним 07/01/21 Чтв 20:06:47 1903883235
>>1903861
Попробуй отсортировать по вторым элементам
Аноним 07/01/21 Чтв 20:10:44 1903893236
>>1903870
Глупости, на питоне 3.6+ версии очень легко писать крупные и средние проекты. Есть нормальная асинхронность, проверка типов и интерфейсов, легко подключить библиотеки на С или С++. Если нужна максимальная производительность, то лучше брать раст или го, они будут производительней джавы. Сейчас же монолиты не пишут, все дробят на сервисы.
Аноним 07/01/21 Чтв 20:10:52 1903894237
>>1903706
Спасибо брат! Хотел конечно по DRF, и кстати ты на каком трекере смотрел?
Аноним 07/01/21 Чтв 20:11:55 1903897238
>>1903703
Умеет, но очень заебисто. Плюс не умею раскалывать модули к нему на aws-ках.
Аноним 07/01/21 Чтв 20:13:45 1903900239
Аноним 07/01/21 Чтв 20:14:29 1903903240
>>1903897
Там же куча функций в постгис + у джанги есть модуль с gdal.
Аноним 07/01/21 Чтв 20:18:15 1903916241
>>1903903
Да знаю я. У меня в монгаклауде премиум сторейдж на дохулион гигов. Короче все за то, чтобы монгу использовать
Аноним 07/01/21 Чтв 20:20:02 1903927242
>>1903916
Если использовать, то не через джанго орм, а написать свое апи и модели для монги.
Аноним 07/01/21 Чтв 22:06:36 1904048243
>>1903870
В энтерпрайз секторе своя логика, там правят бал Java/C++/C#, это и традиции, и кодовая база, и куча разных решений, и разработчики с нужным опытом.

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

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

Начиная с 3.5 ситуация стала меняться. Появляются asyncio, typing и другое. На третью ветку уже все библиотеки перекатили.

В то время как нода стала тонуть в болоте. Сам JS как язык жутко кривой и напрочь сливает питону во всём, по структурам данных, языковым конструкциям и т.п. Только callback функции удобнее писать, на что питон не рассчитан из-за отступов.

Помимо JS, в ноде смешиваются парадигмы, основные библиотеки построены на callback-based подходе, против современных async-await, основанных на промисах. Нужно криво стыковать. npm превратился в откровенное болото, с хипстерскими поделками, троянами и кодом, который должен работать и на морально устраревших браузерах, когда тебе реально нужна только работа на современных версиях ноды.

В общем сейчас выбор ноды для бэкенда не очень разумен. Он был понятен и разумен 5+ лет назад, но не сейчас.
Аноним 08/01/21 Птн 00:20:03 1904165244
>>1904048
Спасибо!
А то почитал интернеты, и сложилось впечатление, что нода - лучший язык для бэкэнда в средних проектах.
Питон ванлав, всё равно.
Аноним 08/01/21 Птн 15:40:10 1904551245
>>1904165
Это ты где такой высер прочитал? Пыхтон пыхтит как пых на бэкэнде, нода говно. На бэке из скриптовых perl пиздец с какой натяжкой и изъёбкой, либо на FastCGI писать апликуху — c, c++, java, c#, но последнее весьма спорно.

Пыхтон на бэкэ это как та пикча про буханку-троллейбус.
Аноним 08/01/21 Птн 17:38:46 1904732246
Двач, а что делает эта стрелка и лист?
def Multy(R1, R2) -> List:
Аноним 08/01/21 Птн 17:47:18 1904740247
image.png 40Кб, 742x257
742x257
>>1904732
И расскажите, пожалуйста, зачем здесь or, если здесь нет if, по сути, всегда же должно быть присвоение Res[j]
Аноним 08/01/21 Птн 17:47:39 1904741248
Аноним 08/01/21 Птн 17:51:15 1904744249
>>1904740
a = a or b
Если а не фолс, то оставить, иначе присвоить с.
В чем смысл конструкции с and не совсем понятно.
Аноним 08/01/21 Птн 18:03:41 1904754250
>>1904744
Никак не пойму, как там может быть тру или фолс, если там нет никаких сравнений
Аноним 08/01/21 Птн 18:08:58 1904760251
>>1904754
В булевом контексте оно кастуется в булеан.
То же самое, что
hui = 1
if hui:
Можем делать
hui = 0 or 1
получим 1, и т.д.

Аноним 08/01/21 Птн 18:10:53 1904762252
>>1904760
А, всё, 0 и 1 за тру и фолс, спасибо, дошло
Аноним 08/01/21 Птн 19:43:44 1904880253
А чо все недолюбливают Flask?
Аноним 08/01/21 Птн 20:15:15 1904929254
Аноним 08/01/21 Птн 22:19:50 1905053255
Посмотрел базовый туториал по Си.
https://youtu.be/oF6gZG6rFmQ?t=511
И что-то охуел от наличия УКАЗАТЕЛЕЙ.
Неужели нельзя было реализовать язык с дефолтным поведением, чтобы любое повторное действие с переменными было бы через указатели?
Аноним 08/01/21 Птн 23:04:31 1905098256
>>1905053
указатели в си это такой кал, от которого в с++ поспешили избавиться путем ООП+RAII. Каждый класс в STL держит свои указатели при себе и не выдает это дерьмо наружу. А в си оно торчит и вызывает только одни проблемы.
Аноним 08/01/21 Птн 23:08:30 1905104257
>>1905053
Алсо, когда ты в пистоне передаешь объекты в функцию, они фактически тоже по ссылке/указателю передаются. Там нет копирования, пока ты сам не попросишь, сделав что-то вроде new = Obj(old)
Аноним 08/01/21 Птн 23:30:10 1905120258
Сортировка по самым зарплатным. Таки да, хуево что C-ки в одну кучу смешались

[('git', 659),
('java', 618),
('c', 609),
('sql', 507),
('api', 463),
('javascript', 438),
('js', 401),
('web', 401),
('it', 394),
('docker', 383),
('postgresql', 378),
('react', 373),
('senior', 372),
('developer', 370),
('kotlin', 366),
('code', 358),
('rest', 328),
('android', 317),
('ios', 311),
('css', 304),
('backend', 294),
('and', 294),
('php', 290),
('html', 285),
('team', 283),
('a', 281),
('for', 274),
('in', 274),
('to', 273),
('linux', 272),
('of', 271),
('ci', 269),
('typescript', 264),
('core', 263),
('net', 259),
('with', 258),
('unit', 257),
('experience', 255),
('on', 254),
('redis', 254),
('the', 253),
('python', 251),
('mysql', 250),
('agile', 245),
('frontend', 241),
('development', 238),
('work', 234),
('is', 234),
('we', 231),
('swift', 230),
('ui', 227),
('review', 227),
('jira', 220),
('scrum', 217),
('rabbitmq', 208),
('full', 203),
('google', 201),
('or', 198),
('spring', 197),
('sdk', 197),
('angular', 193),
('framework', 193),
('data', 193),
('english', 191),
('our', 191),
('s', 189),
('design', 187),
('requirements', 186),
('as', 184),
('solid', 182),
('end', 179),
('kubernetes', 178),
('years', 177),
('cd', 174),
('be', 173),
('node', 169),
('are', 168),
('working', 168),
('looking', 164),
('an', 163),
('remote', 161),
('time', 160),
('server', 157),
('etc', 155),
('you', 153),
('mongodb', 153),
('devops', 152),
('go', 151),
('skills', 149),
('software', 148),
('knowledge', 148),
('ms', 148),
('stack', 147),
('open', 147),
('webpack', 147),
('middle', 147),
('github', 146),
('company', 146),
('mvc', 146),
('objective', 146),
('aws', 145),
('redux', 145),
('your', 143),
('kafka', 143),
('technologies', 140),
('apple', 139),
('new', 138),
('nosql', 137),
('elasticsearch', 133),
('vue', 133),
('gitlab', 132),
('understanding', 130),
('http', 130),
('play', 129),
('high', 127),
('services', 127),
('store', 127),
('professional', 126),
('e', 125),
('performance', 125),
('xml', 123),
('flexible', 123),
('strong', 121),
('will', 120),
('es', 120),
('b', 119),
('unity', 118),
('firebase', 117),
('cloud', 116),
('have', 115),
('integration', 115),
('architecture', 115),
('salary', 114),
('from', 113),
('us', 113),
('build', 112),
('intermediate', 110),
('asp', 110),
('com', 110),
('at', 109),
('best', 108),
('offer', 107),
('platform', 107),
('back', 107),
('part', 106),
('product', 106),
('front', 106),
('ru', 106),
('project', 105),
('application', 105),
('develop', 105),
('maven', 105),
('responsibilities', 104),
('hours', 103),
('based', 102),
('competitive', 102),
('ux', 100),
('that', 99),
('projects', 99),
('good', 99),
('d', 99),
('mvvm', 98),
('games', 96),
('symfony', 96),
('level', 95),
('developing', 95),
('applications', 94),
('world', 94),
('json', 94),
('other', 93),
('life', 93),
('boot', 93),
('this', 91),
('oracle', 91),
('all', 90),
('support', 90),
('hibernate', 90),
('jenkins', 90),
('appsflyer', 90),
('management', 88),
('using', 88),
('confluence', 88),
('ability', 87),
('language', 87),
('source', 86),
('office', 86),
('ads', 86),
('join', 85),
('technical', 84),
('environment', 84),
('kanban', 84),
('appmetrica', 84),
('admob', 84),
('lafa', 83),
('startapp', 83),
('native', 82),
('plus', 82),
('insurance', 82),
('database', 82),
('laravel', 81),
('mobile', 81),
('erp', 81),
('growth', 81),
('tools', 80),
('https', 80),
('highload', 80),
('next', 79),
('systems', 79),
('products', 79),
('ruby', 79),
('clickhouse', 79),
('testing', 78),
('django', 77),
('help', 77),
('use', 77),
('soap', 77),
('job', 76),
('sass', 76),
('mvp', 76),
('teamcity', 76),
('x', 75),
('which', 75),
('distributed', 75),
('crm', 75),
('qa', 74),
('app', 73),
('technology', 73),
('opportunities', 73),
('t', 72),
('solutions', 72),
('lead', 72),
('developers', 72),
('service', 72),
('unix', 72),
('system', 72),
('jetbrains', 72),
('if', 71),
('user', 71),
('nginx', 70),
('less', 70),
('up', 70),
('flow', 70),
('client', 69),
('well', 69),
('azure', 69),
('about', 68),
('position', 68),
('apache', 68),
('spa', 68),
('their', 67),
('more', 66),
('self', 66),
('including', 66),
('golang', 66),
('science', 66),
('jquery', 66),
('interesting', 65),
('orm', 65),
('components', 65),
('security', 64),
('pro', 64),
('ide', 64),
('building', 63),
('industry', 63),
('able', 63),
('can', 63),
('by', 63),
('classes', 63),
('relational', 63),
('process', 62),
('make', 62),
('business', 62),
('employees', 62),
('not', 62),
('but', 62),
('practices', 61),
('communication', 61),
('tasks', 61),
('leading', 61),
('fast', 60),
('clean', 60),
('features', 60),
('commerce', 60),
('do', 59),
('after', 59),
('problems', 59),
('customers', 58),
('growing', 58),
('fintech', 58),
('medical', 58),
('postgres', 58),
('big', 57),
('free', 57),
('successful', 57),
('computer', 57),
('oop', 57),
('graphql', 57),
('test', 56),
('deep', 56),
('apis', 56),
('success', 56),
('macbook', 56),
('slack', 55),
('complex', 55),
('restful', 55),
('windows', 55),
('culture', 55),
('reactjs', 55),
('written', 54),
('write', 54),
('experienced', 54),
('programming', 54),
('such', 54),
('jest', 54),
('pay', 53),
('schedule', 53),
('teams', 53),
('digital', 53),
('youtrack', 53),
('clients', 52),
('great', 52),
('value', 52),
('take', 52),
('driven', 52),
('friendly', 52),
('what', 52),
('studio', 52),
('nodejs', 52),
('frameworks', 51),
('customer', 51),
('generation', 51),
('people', 51),
('intellij', 51),
('tests', 50),
('patterns', 50),
('idea', 50),
('jpa', 50),
('low', 50),
('market', 50),
('search', 49),
('designing', 49),
('tcp', 49),
('within', 49),
('tdd', 49),
('russia', 49),
('paid', 48),
('guidelines', 48),
('welcome', 48),
('related', 48),
('platforms', 48),
('apply', 48),
('create', 48),
('results', 48),
('legacy', 48),
('should', 48),
('smart', 48),
('spoken', 47),
('engineering', 47),
('real', 47),
('description', 47),
('saas', 47),
('highly', 47),
('across', 47),
('international', 47),
('required', 47),
('writing', 47),
('no', 47),
('both', 47),
('grpc', 47),
('control', 46),
('least', 46),
('would', 45),
('infrastructure', 45),
('dynamic', 45),
('scala', 45),
('one', 45),
('modern', 44),
('grafana', 44),
('iot', 44),
('implement', 44),
('available', 44),
('scalable', 44),
('bootstrap', 44),
('junit', 44),
('latest', 44),
('tech', 43),
('candidate', 43),
('who', 43),
('npm', 43),
('cassandra', 43),
('blockchain', 43),
('labs', 43),
('websockets', 43),
('interview', 42),
('so', 42),
('companies', 42),
('over', 42),
('continuous', 42),
('gradle', 42),
('them', 42),
('training', 42),
('yii', 42),
('websocket', 42),
('swagger', 41),
('top', 41),
('has', 41),
('comfortable', 41),
('challenging', 41),
('any', 41),
('lot', 41),
('hr', 41),
('material', 40),
('u', 40),
('like', 40),
('microsoft', 40),
('designs', 40),
('during', 40),
('dagger', 40),
('mssql', 39),
('some', 39),
('works', 39),
('ddd', 39),
('own', 39),
('rxjava', 39),
('bitbucket', 39),
('key', 39),
('home', 39),
('databases', 39),
('financial', 39),
('di', 39),
('ar', 39),
('webapi', 39),
('role', 38),
('degree', 38),
('quality', 38),
('minimum', 38),
('ee', 38),
('visual', 38),
('young', 38),
('solving', 38),
('period', 38),
('now', 38),
('most', 37),
('automation', 37),
('fluent', 37),
('k', 37),
('elastic', 37),
('only', 37),
('algorithms', 37),
('private', 37),
('engine', 37),
('gulp', 37),
('room', 37),
('fullstack', 37),
('responsibility', 37),
('get', 36),
('viper', 36),
('cross', 36),
('principles', 36),
('bonus', 36),
('dev', 36),
('re', 36),
('users', 36),
('retrofit', 36),
('these', 36),
('why', 36),
('prometheus', 36),
('vuejs', 35),
('opportunity', 35),
('planning', 35),
('how', 35),
('learn', 35),
('each', 35),
('event', 35),
('base', 35),
('sick', 35),
('latency', 35),
('health', 35),
('vacation', 35),
('hard', 35),
('express', 35),
('labor', 35),
('defined', 35),
('se', 35),
('first', 34),
('g', 34),
('engineers', 34),
('small', 34),
('apps', 34),
('europe', 34),
('db', 34),
('its', 34),
('nix', 34),
('enterprise', 34),
('network', 34),
('ajax', 34),
('must', 34),
('moscow', 34),
('outsourcing', 34),
('want', 34),
('mail', 34),
('online', 33),
('realm', 33),
('responsible', 33),
('problem', 33),
('processes', 33),
('multi', 33),
('coding', 33),
('ideas', 33),
('ai', 33),
('soft', 33),
('uikit', 33),
('group', 33),
('excellent', 33),
('manage', 33),
('need', 33),
('wpf', 33),
('further', 33),
('compliance', 33),
('trading', 33),
('bash', 33),
('travel', 33),
('implementing', 32),
('than', 32),
('fit', 32),
('passionate', 32),
('learning', 32),
('maintenance', 32),
('upon', 32),
('oriented', 32),
('future', 32),
('desktop', 32),
('skype', 32),
('place', 32),
('communicate', 32),
('extensive', 32),
('mongo', 32),
('pre', 32),
('marketing', 32),
('bigdata', 32),
('remotely', 31),
('talent', 31),
('participate', 31),
('cqrs', 31),
('fulltime', 31),
('r', 31),
('days', 31),
('bring', 31),
('helping', 31),
('annual', 31),
('v', 31),
('trial', 31),
('flask', 31),
('even', 30),
('angularjs', 30),
('professionals', 30),
('machine', 30),
('ml', 30),
('library', 30),
('rxjs', 30),
('main', 30),
('coroutines', 30),
('pl', 30),
('amazon', 30),
('better', 30),
('completion', 30),
('ontarget', 30),
('backlog', 30),
('queue', 30),
('tfs', 30),
('year', 29),
('contract', 29),
('ll', 29),
('entity', 29),
('advanced', 29),
('implementation', 29),
('large', 29),
('functional', 29),
('xcode', 29),
('passion', 29),
('component', 29),
('zone', 29),
('rails', 29),
('worldwide', 29),
('under', 29),
('targeted', 29),
('jax', 29),
('upper', 28),
('members', 28),
('maintain', 28),
('weeks', 28),
('around', 28),
('load', 28),
('day', 28),
('jdbc', 28),
('conferences', 28),
('set', 28),
('into', 28),
('engineer', 28),
('io', 28),
('space', 28),
('groovy', 28),
('relocation', 28),
('balance', 28),
('member', 28),
('opengl', 28),
('structure', 28),
('babel', 28),
('forms', 28),
('seo', 28),
('skyeng', 28),
('term', 27),
('kibana', 27),
('offering', 27),
('responsive', 27),
('running', 27),
('compensation', 27),
('global', 27),
('scss', 27),
('career', 27),
('cycle', 27),
('rxswift', 27),
('reporting', 27),
('webrtc', 27),
('long', 26),
('cv', 26),
('gitflow', 26),
('out', 26),
('provide', 26),
('please', 26),
('interfaces', 26),
('custom', 26),
('bi', 26),
('usd', 26),
('community', 26),
('figma', 26),
('internet', 26),
('manager', 26),
('game', 26),
('bonuses', 26),
('research', 26),
('storage', 26),
('j', 26),
('mission', 26),
('forward', 26),
('documented', 26),
('ansible', 26),
('production', 26),
('mq', 26),
('memcached', 26),
('jvm', 26),
('ip', 26),
('ws', 26),
('snacks', 26),
('message', 26),
('rs', 26),
('through', 25),
('week', 25),
('payments', 25),
('lifecycle', 25),
('microservices', 25),
('whole', 25),
('access', 25),
('memory', 25),
('leave', 25),
('fixing', 25),
('boost', 25),
('improvements', 25),
('stories', 25),
('rust', 25),
('terms', 25),
('ps', 25),
('elk', 25),
('petersburg', 25),
('find', 24),
('usability', 24),
('highest', 24),
('grow', 24),
('m', 24),
('deployment', 24),
('benefits', 24),
('fun', 24),
('above', 24),
('cocoapods', 24),
('foundation', 24),
('colleagues', 24),
('used', 24),
('offices', 24),
('analysis', 24),
('tomcat', 24),
('verbal', 24),
('european', 24),
('volume', 24),
('methodologies', 24),
('single', 24),
('soa', 24),
('jms', 24),
('activemq', 24),
('spark', 24),
('discipline', 24),
('transfer', 24),
('styled', 24),
('upsource', 24),
('age', 24),
('appstore', 23),
('external', 23),
('they', 23),
('startups', 23),
('side', 23),
('candidates', 23),
('feature', 23),
('existing', 23),
('mac', 23),
('includes', 23),
('largest', 23),
('exchange', 23),
('background', 23),
('daily', 23),
('bugs', 23),
('location', 23),
('sockets', 23),
('atlassian', 23),
('reviews', 23),
('wcf', 23),
('percona', 23),
('celery', 23),
('reliable', 22),
('freedom', 22),
('hands', 22),
('collaborate', 22),
('expertise', 22),
('wide', 22),
('solution', 22),
('countries', 22),
('usa', 22),
('expects', 22),
('inc', 22),
('i', 22),
('motivated', 22),
('expect', 22),
('prototyping', 22),
('stock', 22),
('structures', 22),
('gym', 22),
('also', 22),
('saga', 22),
('ensuring', 22),
('hot', 22),
('put', 22),
('feel', 22),
('excel', 22),
('children', 22),
('hadoop', 22),
('course', 22),
('rabbit', 22),
('crypto', 22),
('mobx', 22),
('sap', 22),
('zennolab', 22),
('many', 21),
('variety', 21),
('there', 21),
('qualifications', 21),
('ambitious', 21),
('delivery', 21),
('serverless', 21),
('information', 21),
('diverse', 21),
('creating', 21),
('center', 21),
('facebook', 21),
('directly', 21),
('modules', 21),
('healthy', 21),
('here', 21),

Аноним 08/01/21 Птн 23:30:51 1905122259
>>1905120
Бля, не тот трэд, сорян.
Аноним 09/01/21 Суб 01:37:27 1905232260
>>1905104
Ты путаешь разные вещи.

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

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

Но указатели в Си прикольная тема.
Там кстати записи
m[a] и a[m] эквивалентны, как и
m[1] и 1[m]
и другая подобная магия встречается.
Аноним 09/01/21 Суб 02:11:35 1905262261
def count(func):
__def wrapper(args, kwargs):
____wrapper.count += 1 <<<
____ func(
args, kwargs)
__wrapper.count = 0 <<<
__return wrapper

@count
def foo(): pass

for i in range(10):
__foo()

print(foo.count) <<<

Как это работает? И почему можно писать wrapper.count не ловя ошибок (ведь инициализация "wrapper.count" находится-то после изменения) ?
Аноним 09/01/21 Суб 02:31:57 1905266262
>>1905262
Схуяли после изменения, внутренний def исполняется как определение объекта функции, код внутри не исполняется при этом.
Аноним 09/01/21 Суб 03:05:56 1905275263
>>1905266

ладно, хуй с ним
Почему тогда можно писать .count? Вообще не отрезаю

Где можно почитать про такие приколы?
Аноним 09/01/21 Суб 03:12:23 1905279264
>>1905275
Просто подумай, как происходит исполнение >>1905262

Ты когда пишешь
@count
def foo: pass

уже в момент условно парсинга происходит исполнение вида
foo = count(foo)
декоратор именно это значит. В этом момент вызывается функция foo, которая создаёт функцию wrapper, но не исполняет её. Но объект-функция уже есть. Дальше своёство count этого объекта создаётся и присваивается значение 0, и этот объект-функция возвращается

после чего foo это объект-функция wrapper со свойством count=0. А уже когда ты его вызываешь, счётчик увеличивается.
Аноним 09/01/21 Суб 03:13:03 1905280265
>>1905279
>вызывается функция foo
fix, вызывается функция count с параметром foo
Аноним 09/01/21 Суб 03:15:29 1905282266
>>1905275
Функции это объекты, у которых можно читать и писать аттрибуты. Хранятся в __dict__. Хуй знает, зачем это нужно, конкретных применений я не знаю. В случае с твоим примером это могло быть сделано замыканием вместо этой фичи.
Аноним 09/01/21 Суб 03:30:47 1905290267
>>1905282
>В случае с твоим примером это могло быть сделано замыканием вместо этой фичи
Если подумать, то тут тоже замыкания, в примере связывание идёт с переменной wrapper, которая снаружи не существует.

Аноним 09/01/21 Суб 03:30:52 1905291268
>>1905279
Теперь андерстуд, более менее
Аноним 09/01/21 Суб 03:31:20 1905292269
>>1905282
А как тогда это сделать через замыкания?
Аноним 09/01/21 Суб 03:50:13 1905303270
>>1905292
В принципе, через замыкание не совсем так получится, потому что извне не достанешь потом. Точнее достанешь, но через жопу.
Так что таки вот одно из применений.
09/01/21 Суб 04:00:22 1905313271
Аноним 09/01/21 Суб 06:23:08 1905329272
Screenshot from[...].png 18Кб, 348x245
348x245
>>1905303
Замыкание есть и в этом примере, можно сделать
print(foo.__closure__),
там будет два значения, их можно посмотреть

for x in foo.__closure__:
____print(x.cell_contents)

Это будет функция func и wrapper. Здесь используется wrapper, код замкнут на него.

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

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

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

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

И ради интереса посмотрел, вариант с замыканием работает быстрее, чем вариант с классом, примерно на 20% разница.
Аноним 09/01/21 Суб 09:59:58 1905353273
Screenshot 2021[...].png 17Кб, 544x214
544x214
Как эта хуйня работает?
Аноним 09/01/21 Суб 10:05:12 1905355274
>>1905353
По законам формальной логики, мань.
Аноним 09/01/21 Суб 10:05:44 1905356275
Аноним 09/01/21 Суб 10:11:49 1905357276
>>1905353
Ты только что бутылку кока колы.
Аноним 09/01/21 Суб 11:27:16 1905380277
>>1905353
>>1905355
>>1905356

1 and 2

Python смотрит на and
Потом смотрит на 1,
Потом смотрит на 2
Ну и думает почему бы не вернуть просто 2, ведь так можно сэкономить на операции bool
Я прав?
Аноним 09/01/21 Суб 11:33:10 1905381278
>>1897528
Глубочайше надеюсь, что питон это не первый твой язык программирования, ибо если ты хочешь вкатиться с нуля в питон и прыгаешь сразу в самую огромную, блять, бездну под названием нейросети, то ты очень и очень глуп и безнадежен.
Аноним 09/01/21 Суб 12:21:36 1905390279
>>1905381
а я так начал вкат, обосрался в итоге с МЛчиком вкатился в джанго и жабускрипт(вуе.жс)
Аноним 09/01/21 Суб 12:30:39 1905399280
>>1905355
Ну давай покажи закон логики по которому логическое и возвращает первое ложное утверждение или последнее истинное, а логическое или возвращает первое истинное или последнее ложное
Аноним 09/01/21 Суб 13:31:15 1905437281
>>1905329
> можно сделать print(foo.__closure__),
Я и говорю, через жопу. Концептуально не совсем правильно туда лезть.
Аноним 09/01/21 Суб 13:57:49 1905460282
>>1905279
Вот как раз с исполнением не могу понять
Ломает мозг то что мы сначала изменяем wrapper.count и лишь потом мы только его пишем что он равен нулю
Аноним 09/01/21 Суб 15:00:00 1905502283
>>1905460
Да это только определение функции, она сразу не выполняется.
Добавь там принты и смотри в каком порядке выводится.
Аноним 09/01/21 Суб 15:52:32 1905541284
>>1905502
>Добавь там принты
д-е-б-а-г же есть в нормальном иде
Аноним 09/01/21 Суб 16:14:43 1905572285
>>1905541
Для обучения нормальное иде нахуй не нужно.
Аноним 09/01/21 Суб 16:15:31 1905575286
15016819844810.webm 689Кб, 400x300, 00:00:10
400x300
Аноним 09/01/21 Суб 16:41:24 1905605287
>>1905502
окей, где можно прочитать про такие приколы? Очень интересно что еще есть

Ps собес скоро, вот и решил вспоминать пихтон
Аноним 09/01/21 Суб 17:01:07 1905621288
>>1905605
Какие такие? Это в общем базовая фича.
Можешь полистать fluent python.
Аноним 09/01/21 Суб 17:16:28 1905630289
Аноним 09/01/21 Суб 17:18:38 1905631290
>>1905232
>адресная арифметика, когда ты указатель можешь двигать вперёд-назад, когда ты можешь передать в функцию указатель не на массив целиком, а на произвольную часть внутри. Причём можешь выбраться и за пределы, попав в соседний массив (хрен отловишь) или вообще в левую область памяти (это проще ловится).
Это есть. Но можно, например, передать вектор по ссылке и получить все те же плюсы. От ошибок ты защищен, все инкапсулировано, но работает так же быстро.

>Вторая специфика в отсутствии контроля, в питоне у тебя у каждого объекта есть счётчик ссылок, то есть если ты где-то сохранил ссылку на объект, то об этом будет известно. А в Си такого контроля нет, и ты тупо не знаешь, используется объект или нет, можно его удалять или нет.
Да, поэтому придуман RAII. Объект внутри себя занимается своей памятью, а пользователю об этом думать не нужно.
Аноним 09/01/21 Суб 17:21:46 1905633291
>>1905621
>fluent python
Норм книга? В первый раз слышу про неё, но до этого читал книгу про реактивный двигатель (пистон краш курс).
Аноним 09/01/21 Суб 17:25:14 1905641292
>>1905633
Хорошая. Но если читал только краш курс, то может быть сложновато.
09/01/21 Суб 18:35:34 1905705293
Аноним 09/01/21 Суб 22:00:18 1906043294
>>1896798 (OP)
Посоветуйте какие-нибудь advanced курсы/уроки по Django/DRF. Основными штуками умею пользоваться, а вот если нужно что-то выходящее за туториал начинаю писать какой-то придуманный костыльный код, не зная что тоже самое можно было написать готовыми способами. Можно даже платные
Аноним 09/01/21 Суб 22:03:15 1906045295
Аноним 10/01/21 Вск 03:10:43 1906285296
Сап двач, есть массив с кучей чисел. Нужно пройтись по каждому элементу, но последовательно. [0][0], [1][0] [2][0] [0][1] [1][1] и тд.
Как это можно сделать? А то уже голова не варит совсем
Аноним 10/01/21 Вск 03:37:51 1906295297
Аноним 10/01/21 Вск 06:00:33 1906322298
>>1906285
смотри модуль itertools
и итератор
itertools.chain.from_iterable(m)

Но смотря что тебе надо. Если тебе надо менять значения или индексы использовать, то проще всего в лоб.
Аноним 10/01/21 Вск 11:24:33 1906370299
>>1905380
Почему ты пишешь слова энд, питон и т.п. на английском языке?
Они же понятны и на русском если их написать.
Аноним 10/01/21 Вск 13:29:24 1906401300
Аноним 10/01/21 Вск 14:25:00 1906434301
>>1905353
Не слушай дегенерата выше. Питон просто кривой язык с кучей тупых моментов. Начинается все с единицы. Путхон видит AND (если не знаешь - тру только когда оба значения равны), соответственно единица (любое число кроме 0) это true, поэтому путхон идёт проверять второй оператор (2 OR 3). OR это когда хоть один из них тру. Путхон видит, что 2 - тру и не идёт дальше проверять ибо нахуй надо, выражение и так тру. Соответственно возвращает последнее на котором путхон понял, что все выражение тру(2).
Аноним 10/01/21 Вск 14:48:21 1906454302
>>1906434
Спасибо за обьяснение. Как батюшка пояснил. Я ещё поэкспериментировал и все понял.
Аноним 10/01/21 Вск 14:55:28 1906459303
Посоны.
Слова:
with as
def
class
итд
Являются ОПЕРАТОРАМИ такими же как +-;/. Я правильно понимаю?
Аноним 10/01/21 Вск 15:06:26 1906465304
>>1906459
Ключевые слова. Операторы они оперируют с чем-то.
Аноним 10/01/21 Вск 15:11:18 1906473305
>>1906465
Почему тогда можно задать свое поведение для with as через __enter__ и __exit__ также как и задать свое поведение операторам через свои дандер методы?
Аноним 10/01/21 Вск 15:58:05 1906512306
>>1906473
Потому что можно, это стандартный способ реализации всяких кастомных штук в питоне. Или ты хотел чтобы везде всё разное было для интересности?
Аноним 10/01/21 Вск 16:17:23 1906520307
image.png 12Кб, 586x228
586x228
подскажите что тут не так если что я башмак 2 дня изучаю питон
Аноним 10/01/21 Вск 16:18:30 1906522308
>>1906520
IDE нормальную поставь. Обосрался с этого окошка
Аноним 10/01/21 Вск 16:19:48 1906524309
>>1906522
если закрыть глаза на то что окошко гавно что в этом не так?
Аноним 10/01/21 Вск 16:21:11 1906526310
>>1906524
Не знаю, вроде все так
Аноним 10/01/21 Вск 16:21:35 1906527311
>>1906524
Скобку добавь на второй строчке
Аноним 10/01/21 Вск 16:21:57 1906528312
Аноним 10/01/21 Вск 16:22:52 1906529313
>>1906524
Скобочку не закрыл. Иди нах отседа
Аноним 10/01/21 Вск 16:24:06 1906531314
о я не закрыл скобочку реально ебать я ишак слепой спс всем за помощь
Аноним 10/01/21 Вск 16:25:59 1906533315
>>1906531
Боже, поставь ты VSCode, он тебе прямо подчеркнёт красным эту скобку. В каком говне ты код пишешь? Что это за доисторическое говно, нотепад++?
Аноним 10/01/21 Вск 16:27:45 1906535316
Что это за (int) вообще? В пхп вроде такое приведение типов, ты оттуда прикатился?
Аноним 10/01/21 Вск 16:31:49 1906540317
image.png 1355Кб, 1187x1043
1187x1043
>>1906535
Ты его IDE видел, ну ты видел? Он к нам прямиком из 97го года в тред закатился. А ты еще спрашиваешь такие сложности, лол.
Аноним 10/01/21 Вск 16:33:39 1906544318
>>1906540
Это вроде idle, её почти в всех нубских книжках рекомендуют, т.к. она поставляется искаропки с бидоном.
Аноним 10/01/21 Вск 16:35:31 1906547319
>>1906544
> она поставляется искаропки с бидоном
Пиздец, какие же питонисты дегенераты
Аноним 10/01/21 Вск 16:35:56 1906548320
я скачал питон, в комплекте скачался этот блокнотик ну я им и пользуюсь. Щас уже скачал VS хз мне наоборот менее удобно стало ну буду тут
Аноним 10/01/21 Вск 16:36:00 1906549321
>>1906535
> Что это за (int) вообще? В пхп вроде такое приведение типов, ты оттуда прикатился?
Вебмакака не слышавшая о С/С++ спалилась.
Аноним 10/01/21 Вск 16:36:49 1906550322
>>1906549
Нихуя, ты слышал про с++? Дашь автограф?
Аноним 10/01/21 Вск 16:39:10 1906554323
>>1906550
Я на чистом си, не говоря о плюсах, написал больше кода чем ты читал за всю жизнь, сынок.
Аноним 10/01/21 Вск 16:40:34 1906556324
>>1906554
А тут ты хули забыл?
Стал старый беззубый и тебя прогнали альфачи? Теперь будешь тут бомжевать на пенсии?
Аноним 10/01/21 Вск 16:47:17 1906562325
>>1906549
>>1906554
Хуя как у крестоеба жопа то горит. Жалеешь, что вовремя не перекатился в нормальный язык?
Аноним 10/01/21 Вск 16:50:37 1906564326
image.png 962Кб, 960x640
960x640
>>1906562
>питухон
>нормальный язык
Аноним 10/01/21 Вск 17:05:30 1906584327
>>1906562
Тот момент, когда интерпретатор питона насисан на сях..
Аноним 10/01/21 Вск 17:06:09 1906585328
>>1906584
>>1906564
Но я не пишу на питоне, питон это дополнительный язык для скриптинга. Ну вы сосямбы, конечно.
Аноним 10/01/21 Вск 17:55:55 1906664329
>>1906520
Скобочки стоят неправильно там где инт.
Аноним 10/01/21 Вск 18:10:01 1906688330
>>1906520
скобки убери перед инт, чел
Аноним 10/01/21 Вск 20:04:30 1906796331
Помогите позязя, дают задания по пайтону, вроде понимаю что и к чему, но код не пишется, вообще не пойму что к чему. def, while
Создать цикл, который будет делать следующую операцию:

До тех пор, пока А меньше Б, прибавлять к а В и сравнивать с Б. Если после прибавления, А все еще меньше Б - повторить предыдущее действие. Результат каждого сравнения должен выводиться в консоль в формате "Значение А" + "Пока что нет".

В момент, когда А станет больше Б - вывести "Дождались!" + "Финальный А"



Все это заворачиваем в функцию!
Аноним 10/01/21 Вск 20:07:26 1906801332
наверное 100 раз спрашивают тут, но я повторюсь. А с чего собственно лучше начинать обучение? я тут в книгу залип про укус питона, но чем дальше тем меньше я понимаю, откуда отталкиваться подскажите.
Аноним 10/01/21 Вск 20:15:58 1906806333
>>1906796
Ну вот что собьственно получилось, правильно?

def func():
print("сравнение закончили")
a=1
b=10

while a < b:
print("a все еще не равно b")
a = a+ 1
print("A + 1 =", a)
if a >= b:
print('a больше b')
func()
Аноним 10/01/21 Вск 20:15:59 1906807334
>>1906801
С понимания а нужен ли тебе именно питон, может пыха или ява...
Аноним 10/01/21 Вск 20:28:17 1906832335
Аноним 10/01/21 Вск 22:23:36 1906896336
>>1906520
tip = int(input('Введите выражение= '))
Аноним 10/01/21 Вск 22:31:13 1906901337
>>1906806

Неправильно. А что тебе нужно сообщать когда А == Б? У тебя while выйдет после тога как А станет равным Б, если надо именно больше, то переделай условие на меньше или равно.

def func():
����a=1
����b=10

����while a <= b:
��������print("a все еще не равно b")
��������a = a+ 1
��������print("A + 1 =", a)
����print("сравнение закончили")
����print('a больше b')

func()
Аноним 11/01/21 Пнд 00:04:34 1906950338
>>1906901
> разметка
Как же обосрался с питонодауна с его отступами ебаными
Аноним 11/01/21 Пнд 00:22:17 1906966339
>>1906950
>Питонодауна
>Сидит в питонотреде
Аноним 11/01/21 Пнд 01:11:19 1906979340
>>1906966
А что, у нас уже нельзя обзывать коллег даунами? Мы в свободной стране живем. Питонодауны порвались прям, хыы
Аноним 11/01/21 Пнд 01:11:22 1906980341
>>1906806
Пиздец у тебя задачки простые, напиши мне лучше код под сабж
В одну транспортную компанию поступил заказ на перевозку двух ящиков из одного города в другой. Для перевозки ящики решено было упаковать в специальный контейнер.

Ящики и контейнер имеют вид прямоугольных параллелепипедов. Длина, ширина и высота первого ящика — l₁,w₁ и h₁, соответствующие размеры второго ящика – l₂,w₂ и h₂. Контейнер имеет длину, ширину и высоту lc,wc и hc.

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

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

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

Формат ввода

Во входных данных записаны числа l₁, w₁, h₁, l₂,w₂, h₂, lc, wc и hc. Все размеры — целые положительные числа, не превышающие 1000. Числа в строках разделены пробелами.
Аноним 11/01/21 Пнд 01:36:17 1906988342
>>1906980
Это вообще не имеет отношения к программированию.
Аноним 11/01/21 Пнд 01:43:33 1906993343
>>1906980
Это или перебирать вручную все комбинации, или есть какая-то формула сосницкого, которую надо знать для элегентного решения.
Аноним 11/01/21 Пнд 02:08:33 1907009344
>>1906980
всего два ящика? Тупо перебор.

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

Писать неохота, сам свою entry level лабу делай.
Аноним 11/01/21 Пнд 02:10:17 1907011345
>>1906980
>Длина, ширина и высота первого ящика — l₁,w₁
Не получается
____l₁ = 123
____ ^
SyntaxError: invalid character in identifier
Аноним 11/01/21 Пнд 02:20:42 1907013346
>>1906980
А вообще, если ты хочешь научиться программировать, то представь, как ты бы решал эту задачу сам, руками. Вот тебе дали конкретные числа, на бумажке, и спросили бы, помещаются ящики или нет.

А потом всю эту логику просто надо закодировать на питоне.
Аноним 11/01/21 Пнд 06:02:37 1907035347
>>1906801
Если вообще не сталкивался с программированием, то найди учебник Турбопаскаля и делай оттуда лабораторки.
Аноним 11/01/21 Пнд 09:33:15 1907059348
>>1906801
hard way to learn python 3

Для самых дебичей книжка по питону. Можешь её глянуть, точно справишься
Аноним 11/01/21 Пнд 10:05:44 1907064349
Аноним 11/01/21 Пнд 10:26:11 1907069350
image.png 2Кб, 291x52
291x52
Почему так?
Аноним 11/01/21 Пнд 10:59:20 1907088351
>>1906988
Брат, я это понимаю.
Кстати скажи, почему такие задачи часто дают решать на курсах?
Например дается задача где нужно написать всего несколько переменных и принт, но блядь для правильного вывода нужно запидорить эти переменные в лютую формулу.
Это же чистая математика, нахуй это задавать?
То есть такие задачи можно решить, но нужно тратить время и навыку программирования это слабо поможет
Аноним 11/01/21 Пнд 11:01:32 1907090352
>>1906993
Вроде да, есть формула даже на вики статья есть про такого рода задачи.
формула фибодроччи - дристунни
>>1907013
Это можно, это классика. Нужно представить в голове и если что написать на бумаге. Придется заморочиться.
Аноним 11/01/21 Пнд 11:05:48 1907093353
>>1907088
Какая это математика? Тут только операции сложения двух чисел и сравнение. Это где-то 3-5 класс, так как числа дробные.

Задачка исключительно на то, чтобы закодировать эту тривиальную логику сравнений. Нормальная для тех, кто только начинает разбираться с программированием, на первую неделю.
Аноним 11/01/21 Пнд 11:07:45 1907094354
>>1907090
>Вроде да, есть формула даже на вики статья есть про такого рода задачи.
>формула фибодроччи - дристунни
Друзья, ну вы чего? Какой в жопу фибоначи?

Сказано, всего два (!) ящика. Не два типа ящиков, а просто два ящика. Которые могут быть повёрнутыми двумя способами. Всё, 4 варианта расположения в один уровень.
Аноним 11/01/21 Пнд 11:12:40 1907096355
>>1906980
Ты специально так уебищно отформатировал и спрятал под спойлер чтобы читать было как можно сложней?
Аноним 11/01/21 Пнд 11:28:03 1907105356
Аноним 11/01/21 Пнд 11:36:41 1907107357
>>1907069
у машин двоичная система счисления и там точно так же почему у человека в десятичкой системе счисления 1 / 3 = 3.333333333(3) , короче ну ты понял надеюсь
Аноним 11/01/21 Пнд 11:57:19 1907114358
>>1907105
>>1907107
Понял-принял. Верх живи-век учись, оказывается бывает разное округление.
Аноним 11/01/21 Пнд 11:58:44 1907116359
>>1907094
Программа получает на ввод совершенно разные размеры ящиков каждый раз .они произвольные.
как и размеры контейнера
так что там может быть не два ящика, а 100500 вариантов

l1 = int(input())
w1 = int(input())
h1 = int(input())
l1 = max(l1, w1)
w1 = min(l1, w1)
l2 = int(input())
w2 = int(input())
h2 = int(input())
l2 = max(l2, w2)
w2 = min(l2, w2)
lc = int(input())
wc = int(input())
hc = int(input())
lc = max(lc, wc)
wc = min(lc, wc)
if h1 + h2 <= hc and l1 <= lc and w1 <= wc \
and l2 <= lc and w2 <= wc:
print("YES")
elif l1 <= lc and w1 <= wc and l2 <= lc \
and w2 <= wc and h1 <= hc and h2 <= hc:
if l1 <= lc and w1 <= wc:
if (l2 <= wc - w1 and w2 <= lc) \
or (w2 <= wc - w1 and l2 <= lc) \
or (l2 <= lc - l1 and w2 <= wc) \
or (w2 <= lc - l1 and l2 <= wc):
print("YES")
elif w1 <= lc and l1 <= wc:
if (l2 <= wc - l1 and w2 <= lc) \
or (l2 <= lc and w2 <= wc - l1) \
or (l2 <= lc - w1 and w2 <= wc) \
or (w2 <= lc - w1 and l2 <= wc):
print("YES")
else:
print("NO")
else:
print("NO")
else:
print("NO")
else:
print("NO")


Аноним 11/01/21 Пнд 12:22:41 1907140360
>>1907116
>так что там может быть не два ящика, а 100500 вариантов
Нет, ящика только два.

Зачем ты так код постишь? Во-первых зачем под спойлером, во-вторых используй сервисы для расшаривания, ссылки есть в шапке. Разбираться со съехавшими пробелами желания нет.

Но тут всего два ящика. Хотя аналогичная задача может быть на много ящиков. Например N ящиков, но двух типов. Либо N ящиков произвольного вида. Но это уже реально сложные задачи, особенно 3d вариант, когда все ящики разные.

Аноним 11/01/21 Пнд 13:04:23 1907197361
>>1907069
попробуй так
print('{0:.2f}'.format(0.3+0.3+0.3+0.1))
Аноним 11/01/21 Пнд 13:08:08 1907201362
>>1907197
Да это все понятно, можно и round использоваться.
Аноним 11/01/21 Пнд 14:48:17 1907331363
Возможно вопрос чуть не по теме но все же.... Кароче я хочу написать программу маленькую так как я заебался только обучаться, что можно сделать интересное, но не особо сложное чтоб еще и заодно закрепить умения знания и все такое?
Аноним 11/01/21 Пнд 14:49:49 1907332364
>>1907331
Что интересно то и пиши, очевидно.
Аноним 11/01/21 Пнд 15:13:25 1907390365
>>1907331
пиши игру на pygame. самый простой жанр это scroller типо игроком уворачиваться от предметов, или арканоид но это посложнее
Аноним 11/01/21 Пнд 18:21:35 1907603366
почему 5 строчка не работает так как нужно? реально нельзя переводить математические выражения из str в int ?
https://pastebin.com/PzhNEtBL
если что я 3 дня изучаю питон я дурак не оскорбляйте пж
Аноним 11/01/21 Пнд 20:10:41 1907740367
>>1907603
Вместо int(res) используй eval(res)
Аноним 11/01/21 Пнд 20:49:48 1907789368
>>1907740
Оооо спасибо огромное
Аноним 12/01/21 Втр 02:48:03 1907999369
Нужна помощь. Что я делаю не так? Почему парсер не хочет собирать почты?
https://ideone.com/QI9lNx
Аноним 12/01/21 Втр 06:37:11 1908051370
>>1907740
а это хорошая практика использовать eval или лучше максимально воздерживаться от использования?
Аноним 12/01/21 Втр 08:30:15 1908055371
>>1908051
Можно использовать когда пользователь точно никак не может влиять на объект который евалят, ну максимум можно чтобы пользователь выбирал из списка, но никак не мог выбрать что-то что не задумано программистом, т.е нет в этом списке
Аноним 12/01/21 Втр 09:57:04 1908083372
>>1907999
У тебя как-то дохуя нахуеверчено и без комментариев даже. Нихуя непонятно.
Аноним 12/01/21 Втр 14:58:15 1908275373
>>1908083
Это какая-то спамерская хуйня, вполне возможно что там намеренно добавлены простенькие ошибки, чтобы вот такие левые хуи просто так не пользовались, лол.
Да и смысла ему что-то подсказывать нет.
Аноним 12/01/21 Втр 16:17:50 1908309374
Смотрю тут один курс который я честно купил в магазине доминика торетте. Вроде теория нормаль - функции там, библиотеки. Теория начинается нормально, но внезапно начинается логика бота с кучей илиесли которую препод быстро фигачит с минмальными пояснениями. Код с классами, обращениями, словарями, препод такой каноничный ботан в очках и рубашке, видно что опытный прогер. Голова лопается. Поэтому вопрос. Как разумить неразумимое? Наливать кофе-чай и по частям разбирать код ? Есть ли какие-то лайвхаки помимо подсветки синтаксиса? Может какой-то софт или библиотеки облегчающие понимание чужого кода? Знаю что в иде есть проверка грамматики, и есть бибилиотеки проверяющие пеп8 но это не совсем то что нужно.
Аноним 12/01/21 Втр 16:26:05 1908312375
>>1908309
Ни разу не видел в курсах сложный код, в большинстве случаев наоборот упрощенный.
Вкатываешься третий день?
Аноним 12/01/21 Втр 16:40:29 1908320376
>>1908312
Там достаточно сложный бот, с апи, со стейтами, с контекстом. Для нуба сложный. Вкатываюсь 3ий месяц.
Аноним 12/01/21 Втр 17:58:47 1908362377
Что это под собой подразумевает?
if current_field[y][x]:
count -= 1
Аноним 12/01/21 Втр 18:12:45 1908385378
>>1908362
А что именно не ясно?
Аноним 12/01/21 Втр 18:21:45 1908400379
>>1908385
первая строчка
>if current_field[y][x]:
"если массив ( то что?)" не понимаю что за условие тут
Аноним 12/01/21 Втр 18:23:48 1908402380
>>1908400
Если там 0 или пустая структура, то фолс, иначе тру.
Аноним 12/01/21 Втр 18:30:45 1908418381
Аноним 12/01/21 Втр 18:43:44 1908437382
Screenshot 2021[...].png 14Кб, 460x134
460x134
Зачем импортировать 1 модуль 2 раза, разными путями?
Аноним 12/01/21 Втр 18:44:16 1908439383
>>1908320
что за курс? может он подразумевает, что ты уже знаком с питоном и вкатывает тебя только в телеграм?
Аноним 12/01/21 Втр 18:49:42 1908444384
>>1908439
Скилбоксовский. Апи вкудахта.
>может он подразумевает, что ты уже знаком с питоном
Поясню. Вот ты знаешь про свеклу, про мясо, про лук, про овощи там тебе рассказали про них по отдельности. И тут тебе показывают как с этого можно сварить борщ при этом быстро и с минимальными пояснениями.
Там это называется курсовая работа, пишут её какие-то опытный челики.
Аноним 12/01/21 Втр 18:52:08 1908445385
>>1908437
Заменяет некоторые имплементации сишными в текущем неймспейсе, но всё остальное доступно через _.
Аноним 12/01/21 Втр 18:55:48 1908452386
image.png 20Кб, 569x153
569x153
Анонсы, кто разбирался с отправкой геолокации в aiogram? Не могу понять, какой фильтр надо поставить, чтобы отловить эту геолокацию. Сорян за скриншот.
Аноним 12/01/21 Втр 19:12:02 1908467387
>>1908445
Извини, а можешь подробней. Как это происходит?
Аноним 12/01/21 Втр 19:58:26 1908518388
Кто-нибудь знает pygame? Нужна помощь по меню.
Аноним 13/01/21 Срд 01:50:29 1908799389
Как помочь IDE чтобы она поняла какой в функцию будет передан тип переменной и она включила автодополнение, когда я пишу код внутри этой функции?
Аноним 13/01/21 Срд 02:09:35 1908805390
>>1908799
Лол, отбой, увидел на скриншоте выше.
Аноним 13/01/21 Срд 04:57:34 1908839391
Аноним 13/01/21 Срд 05:02:01 1908840392
>>1906548
Рекомендую скачать vim, прекрасный консольный редактор. Может поначалу сложновато будет, но как привыкнешь, будешь кайфовать
Аноним 13/01/21 Срд 06:50:24 1908859393
image 5Кб, 403x127
403x127
Расскажите, пожалусто, как найти все возможные произведения в массиве из n элементов...

Сейчас вот поставил себе задачу, вдохновляясь первым заданием с "Project Euler" https://projecteuler.net/problem=1 , найти сумму всех чисел, меньших X, которые делятся на хотя-бы одно из введенного набора чисел <X.

Как посчитать сумму чисел, меньших Х и кратных определенному числу, я придумал, пикрил (не берите в голову, наверное можно было менее запутанно придумать). Пользуясь этим, решить для двух, например, делителей достаточно легко - f(делитель1) + f(делитель2) - f(делитель1*делитель2). Для 3 тоже несложно, ручками. И так далее. А вот как решить эту задачу для ЛЮБЫХ Х и для любого набора делителей (меньших Х конечно) - хз. На ум приходит только найти все возможные произведения среди делителей (вроде 2^z - (z+1) произведений получится, где z - число делителей) и вычесть сумму f от каждого из этих произведений из суммы f(делитель1) + ... f(делитель z).
Аноним 13/01/21 Срд 06:56:08 1908860394
>>1908859
Забыл кринжовые инты убрать. тут есть тред, где просто задачи решают от скуки, с нулевым знанием синтаксиса и проч., а не вкатываются? а то я тут лишний наверное
Аноним 13/01/21 Срд 06:57:56 1908861395
qMICofy.jpeg 12Кб, 318x263
318x263
>>1908860
тебе на codewars надо скорее
Аноним 13/01/21 Срд 07:51:32 1908871396
>>1908859
Кстати, задачу стоит упростить таким образом, чтобы речь шла только о делителях, являющихся простыми числами. Иначе вообще муть какая-то, и логика, представленная в моем посте, не очень работает. никто не желает решить с любыми делителями? было бы интересно посмотреть...
Аноним 13/01/21 Срд 08:22:54 1908872397
>>1908871
>>1908860
>>1908859
Так, я пошёл спать, давно пора ха-ха. Тут и с простыми делителями эта логика не работает. Так что попытка сэкономить время не удалась - наверное надо просто в лоб сделать. Но узнать, как > найти все возможные произведения в массиве из n элементов, всё равно хотелось бы.
Аноним 13/01/21 Срд 10:50:28 1908900398
Стоит ли начинать читать про Flask/Django (я даже хз если они одного сорта фреймворки) если я вообще не разбираюсь во всех этих портах, серверах, протоколах и прочем? Или стоит с каких-то книг про эти основы начинать?
Аноним 13/01/21 Срд 12:27:12 1908937399
Как запускать какую-то функцию периодически по таймеру? Например каждые 5 секунд?
Аноним 13/01/21 Срд 12:46:03 1908945400
>>1908937
while True:
.... my_function()
.... sleep(5)
Аноним 13/01/21 Срд 12:58:27 1908953401
>>1908945
...
1. Как мне в этот event loop добавить любой произвольный коллбек?
2. Это че на тредах пилить придется? Потому что иначе все будет блокировать к херам
3. Без создания кастомного говноняного event loop не работает что ли? В asyncio этого нет?
Аноним 13/01/21 Срд 13:11:18 1908960402
tavr.jpg 75Кб, 700x404
700x404
>>1908900
Вот куда ты лезешь в програмерство если у тебя базовых знаний нет?
Аноним 13/01/21 Срд 13:31:13 1908962403
>>1908960
Не знал что все программирование состоит из веб-макакинга.
Аноним 13/01/21 Срд 14:33:12 1908988404
>>1908962
Ну так сейчас везде интернет, как ты хотел?
Аноним 13/01/21 Срд 15:35:14 1909049405
image 4Кб, 403x89
403x89
Аноны, на вход - последовательность N + 1 чисел у1, у2, ... yN, X ; строкой. Нужно найти сумму всех чисел, меньших X, которые делятся на любой из y. Сделал спросонья в лоб (https://pastebin.com/9z0eqgap) - и теперь интересно, нельзя ли сделать решение более экономным по времени? Может есть какие-то полезные математические факты/теоремы? У меня есть функция, которая быренько ищет сумму чисел, меньших с и делящихся на а, пикрил, но от неё толку мало, когда слишком много делителей - много чисел от 2 до Х посчитается повторно, а как их исключить - не очень понятно.
Аноним 13/01/21 Срд 15:37:29 1909051406
>>1909049
>делятся на любой из y
Имеется в виду "хотя бы на один из у1, ... yN".
Аноним 13/01/21 Срд 15:37:30 1909052407
Аноним 13/01/21 Срд 15:40:01 1909055408
Аноним 13/01/21 Срд 15:43:22 1909057409
Аноним 13/01/21 Срд 15:47:12 1909060410
>>1909057
Ну что ты начинаешь... Мне просто интересно, как именно математически можно увеличить скорость вычисления, в рамках одного и того же языка, в данном случае - питона.
Аноним 13/01/21 Срд 16:36:02 1909092411
>>1909049
Так, мне пока что лень что-то писать, я не выспался нихрена, но есть одна идея, правда не принципиальная - надо сначала проверить все делители (у1, ... yN) на взаимную простоту, если НЕ взаимно просты, то большее число можно просто отбросить.
Аноним 13/01/21 Срд 16:39:09 1909095412
>>1909092
Подождите, не на взаимную простоту, а на наличие общих кратных. Если, например, есть число 63 и число 3, то большее, 63, надо отбросить. Вот.
Аноним 13/01/21 Срд 16:45:32 1909106413
>>1909095
>>1909092
Не-не, глупость. Контрпример сразу придумал - 57 и 63, ни одно из них не надо отбрасывать. По-другому - если один делитель нацело делится на другой делитель, то больший надо отбросить, вот.
Аноним 13/01/21 Срд 18:05:26 1909168414
>>1909049
Поясни на примере, я чота условие понять не могу.
Допустим, на входе (2, 5, 8, 14, 20), где Х = 20.
Аноним 13/01/21 Срд 18:12:50 1909173415
>>1908953
Слова какие-то незнакомые говоришь.
asyncio.run(my_function()) не подходит?
Аноним 13/01/21 Срд 18:49:27 1909213416
>>1909168
Ну вот, нужно найти сумму чисел, которые меньше 20 и делятся на хотя-бы один из (2, 5, 8, 14). То есть, 2 + 4 + 5 + 6 + 8 + 10 + 12 + 14 + 15 + 16 + 18.
Аноним 13/01/21 Срд 19:09:34 1909233417
Посоветуйте какой-нибудь учебник по статистике, можно англоязычный. Почему заинтересовало - сейчас наткнулся на разговоры об избыточной смертности от короны - и чисто интуитивно понятно, что если мы посмотрим среднюю смертность за последние несколько лет, а после на смертность в этом году, и увидим разницу в 300к чел., то скорее всего примерно столько, плюс-минус несколько тыщ, смертей и обусловлено короной. Вот хотелось бы увидеть математическое доказательство работоспособности подобных методов.
Аноним 13/01/21 Срд 19:19:46 1909243418
>>1908861
Я кстати решил вместо дроча задачек, изучить основу работы интернетов и прочие фундаментальные принципы.
Думаю это будет полезней чем решать задачи которые можно нагуглить.
Конечно это качает моск, но нахуя мне тратить на это время, если я могу изучать основы!
Аноним 13/01/21 Срд 19:21:02 1909245419
>>1908962
Проще без дроча запилить приложение в браузере чем ебстись с портированием на все устройства.
Аноним 13/01/21 Срд 19:23:57 1909256420
Аноним 13/01/21 Срд 20:00:59 1909281421
Как реализовать баны в джанге*
Аноним 13/01/21 Срд 20:35:35 1909301422
Привет я занимаюсь питоном 5 день я даун дурачок у меня есть вопрос. Кароче я заебался от просто питона слегка и решил освоить tkinter вот для первой программы я решил выбрать калькулятор, а теперь сам вопрос: возможно ли сделать так чтоб человек нажал на кнопку и в поле ввода добавился текст?
Аноним 13/01/21 Срд 20:36:19 1909302423
>>1896798 (OP)
Анон, посоветуй виртуалку линуксовскую чтоб с винды запускать. На работе не дают накатить другую ОС.
Аноним 13/01/21 Срд 21:02:17 1909320424
Аноны, хелп
Не могу никак найти источник, где объясняют ВСЁ ПОДРОБНО, почему-то все каналы для начинающих рассчитаны на тех, у кого уже есть какие-то знания, а вся литература даёт только слишком базовые знания.
Ещё нужно понять, что именно и в каком порядке изучать в питоне, я уже знаю:
- переменные и их типы
- if/else
- списки и циклы
- буфером обмена
- файлы, запись, чтение
- функции
- регулярные выражения
ВСЁ, дальше хотел разобраться в библиотеке requests и ОХУЕЛ ОТ ТОГО, ЧТО НИКТО НЕ МОЖЕТ ОБЪЯСНИТЬ ВНЯТНО И ПОДРОБНО, а рассказывают так, как будто я блять всю жизнь писал на С++ и решил освоить питон. Перебрал уже 50+ источников.
СУКА, помогите, умоляю, двач - последний рубеж надежды
Аноним 13/01/21 Срд 21:05:25 1909325425
>>1909320
Зачем ты решил НАЧИНАТЬ с питона? Это очень сложный язык.
Аноним 13/01/21 Срд 21:05:37 1909327426
>>1909320
Что конкретно тебе не понятно?
Аноним 13/01/21 Срд 21:13:23 1909334427
>>1896798 (OP)
Всем здравия. Порекомендуйте книжку для вкатывания в питон. Лучше на английском.

Опыт программирования у меня есть, закончил колледж на программиста, писал активно на C++ да и на Python тоже. Но давно уже не программировал(месяца три может), так как не могу сейчас работать по профилю. Хочу структурировать свои знания по питону. Когда писал на нём, изучал его по принципу хочу сделать N, запрос в гугл "How to do N in Python".

Почитал шапку, но гайд 2015, кидает на статью на хабре 2012, которая кидает на книгу 2010, 2010, Карл!. А в превой ссылке на книжки просто свалка книг. Поэтому что читать не понятно.
Аноним 13/01/21 Срд 21:14:02 1909335428
image.png 119Кб, 420x317
420x317
>>1909327
Ну, вот, например:
5-я строка непонятна вообще, что такое search_query? Это ключ и значение?
6-я строка, непонятна конструкция url,data=query, что она делает? Почему именно так?
Что такое response? Когда применяется?
13-я строка: что конкретно он хочет получить этим?
Аноним 13/01/21 Срд 21:16:35 1909339429
>>1909335
Ты не понимаешь не питон, а программирование в целом, включая сетевые протоколы. Иди учи, как работает HTTP.
Аноним 13/01/21 Срд 21:18:49 1909342430
>>1909335
Анон, тут дело не в питоне, у тебя убито мышление, нужное для программирования. Иди кури математику школьную.
Аноним 13/01/21 Срд 21:19:37 1909344431
>>1909339
Блять, боже, иди нахуй
Аноним 13/01/21 Срд 21:20:14 1909345432
>>1909344
Дай угадаю, очередной ВОЙТИВАЙТИ безработный мамкин хуй?
Аноним 13/01/21 Срд 21:24:58 1909351433
>>1909335
Это не ты тут выше постил какого-то спамбота?
Аноним 13/01/21 Срд 21:43:22 1909378434
Аноним 13/01/21 Срд 21:43:47 1909379435
>>1909339
Что конкретно я должен об этом знать? Что такое get-запросы?
Аноним 13/01/21 Срд 21:44:31 1909381436
>>1909378
Чому тогда ты пишешь что знаешь что такое списки и спрашиваешь что такое куери?
Аноним 13/01/21 Срд 21:55:07 1909391437
>>1909379
Напиши функцию для отправления гет и пост запросов на чистых сокетах, потом добавь заголовки и хендлинг печенек.
Для начала этого хватит.
Аноним 13/01/21 Срд 23:58:26 1909481438
Немного не по теме
Есть люди которые пользуются Atom IDE?

В последнее время он начал жадно кушать систему (проц грузит до 50%)
Есть идеи как исправить?
Аноним 14/01/21 Чтв 02:17:13 1909594439
Пиздец, в институте где работаю требуют учить питон или АР (хуй знает что это даже) от всего химбио штата, типа будет перепрофилирование. В связи с этим вопрос – мне нахуй увольняться сразу или это не так страшно?
Аноним 14/01/21 Чтв 03:44:13 1909623440
>>1909594
С такой манерой речи и подходу к новому, надеюсь тебя под жопу выпнут из образования.
Аноним 14/01/21 Чтв 04:03:21 1909626441
>>1909594
Увольняйся сразу, такие дебилы как ты нахуй не нужны.
Аноним 14/01/21 Чтв 05:44:10 1909644442
>>1909302
WSL чем не устраивает?
Аноним 14/01/21 Чтв 09:56:23 1909695443
Блять, почему нет никакой реализации приватных чатов на джанге? Вообще нихуя не гуглится
Аноним 14/01/21 Чтв 12:12:00 1909759444
Аноним 14/01/21 Чтв 12:37:48 1909776445
Посоны, а каково мнение русских реперов по данному вопросу?

raise Fault(self._stack[0]) xmlrpc.client.Fault: <Fault -32500: "RuntimeError: PyPI's XMLRPC API has been temporarily disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.">

Заебало. Весь pip теперь не работает из дудоса? и это навсегда?
Аноним 14/01/21 Чтв 12:38:06 1909777446
>>1909695
пошол нахуй, наркоторговец.
Аноним 14/01/21 Чтв 12:38:46 1909780447
>>1909695
>Блять, почему нет никакой реализации приватных чатов на джанге?
троллейбус из буханки хлеба.жпг
Аноним 14/01/21 Чтв 12:39:12 1909781448