Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 мая 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №109 /python/ 1896798 В конец треда | Веб
Вкатываемся в 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
2 1896857
Подскажите для пайчарма плагин, который будет выделять табы пробелы, чтобы было сразу видно, где их сколько
3 1896923
Я туплю нереально, что делаю не так в коде? Учу джанго и ни в какую не грузится изображение для товара. При этом если грузить со страницы админки - проблем нет, грузит в медиарут и все хорошо.
4 1896944
>>896923
Уже решил, я еблан
15664205356560.jpg237 Кб, 1000x1000
5 1897528
Сейчас наступает 2021 год, я решил начать свой вкат в питон (преимущественно в нейросети, может ещё потом веб) начиная с первого дня нового года упорно заниматся изучением темы.

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

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

Если кому интересно пишите на фейкомыло
johnti0_utor47ANUSyande.t6xPUNCTUMrr6$u
77958433p1.jpg1,5 Мб, 1584x2112
6 1897532
Сейчас наступает 2021 год, я решил начать свой вкат в питон (преимущественно в нейросети, может ещё потом веб) начиная с первого дня нового года упорно заниматся изучением темы.

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

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

Если кому интересно пишите на фейкомыло
johntitor46#e7ANUSyand0,texPUNCTUMrcKju
7 1897535
>>897528
>>897532
Сори, задублировалось
8 1897689
В чем принципиальная разница питоновской асинхронной asyncio и асинхронности в js?
9 1897815
норм ли в питоне считать статистику с очень маленькими числами (там типа 1.23*10^(-456) )
не наебнется ли сильно ничего, не зачмырят ли вообще за использование питона а не R какого-нибудь?
10 1897820
>>897815
Чиво? Что тебе мешает считать в нормальных числах а после манипуляций с ними перевести в "очень маленькие"?
11 1897876
>>897815
И ещё вариант - извращаться с модулем decimal, но лучше всё-таки так >>897820
image.png49 Кб, 695x515
12 1897943
>>896798 (OP)
Что-то я не врубаюсь, каким именно образом в Пистоне реализована асинхронность на коллбэках? Вот скрин из одной небольшой проги-примера которая ходит по нескольким url которые заданы у нас в списке. Я конечно понимаю что на верхнем уровне у нас пиздато исполняется функция http_client.fetch которая ничего не блокирует и ждет получения результата чтобы "выстрелить" коллбек но... как это блин происходит? Если я захочу написать такую же функцию которая работает на коллбеках я тут же упрусь в том что моя функция после вызова заблокируется, "застрянет" и будет ждать исполнения кода прежде чем задействовать коллбек
Как это блин работает?
13 1897945
>>897943
Нахуй ты это легаси раскопал?
image.png10 Кб, 527x148
14 1897954
>>897945
Какое блять "легаси"? Асинхронка на коллбеках это основа основ. Вся асинхронность жс тоже восходит к ним, только вот там ивенты и коллбеки нативно вписаны в движок, поэтому вопросов к работе кода на пикриле не возникает
15 1897957
>>897943
Хз что там в этом торнадо. Скорее всего fetch ничего не ждёт вообще, эта функция регистрирует коллбэк для соответствующего url
А дальше запускается цикл обработки сообщений, который принимает входящее соединение, парсит его, и как распарсит, так вызывает соответствующий URL.

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

ps: и да, тебе надо смотреть на асинхронность в asyncio и фреймворки, на нём основанные. Торнадо это уже легаси.
16 1897958
>>897954
Основа основ это посмотреть исходники твоей легаси либы и понять как она работает. Тебе дали нативный async/await бери и пользуйся.
17 1897962
>>897958

>Тебе дали нативный async/await


Ммм, тебе бы на жопаскрипте писать. Дохрена макак сейчас развелось, которые про Промисы не слыхали нинужно жи!, но зато async/await вовсю юзают, правда чуть чего несутся роняя говно к своему сеньору-помидору чтобы пояснил почему их дерьмо вдруг плюется ошибками
18 1897963
>>897962
Сьеби в жс тред.
19 1897964
>>897957
Почему торнадо легаси, а джанго не легаси?
20 1897966
а чо такое коллбэк?
21 1897967
>>897966
коллбэк - хуй в рот бэк
22 1897968
>>897964
Потому что джанга может в async await.
23 1897970
>>897968

>джанга может в async await


Норм посмешил. async-await уровня /b просто
ты щас кекнешь, но Торнадо асинхронный by design, и поддержка async-await там подрублена начиная с 2015
24 1897971
>>897966
Обратный звонок, звонок назад
25 1897972
>>897970
Норм люди юзают fastapi, а джанга актуальная за счет кучи готовых фич из коробки.
26 1897976
>>897964
Джанго это очень серьёзный фреймворк для CRUD серверов. Немного легаси, так как его проектировали синхронным, пытаются добавить асинхронность, но с болью. Но замены ему нет, он единственный в своей нише.

Торнадо асинхронный фреймворк, сделанный ещё до asyncio. Имел своё велосипедное решение для асинхронности. Но вроде поддерживает как-то не очень прямо и asyncio. Тем не менее это тормоз, фреймворк не даёт дополнительных возможностей относительно более новых, которые проектировались под asyncio, при этом проигрывает им в производительности. В общем классическое legacy.
27 1898010
В чем разница между Future и Task? И что из них больше похоже на Promise из жс?
28 1898107
>>898010
Future это аналог промисов. Это некоторый объект, который может быть в нескольких состояниях, хранит список коллбэков, которые надо вызвать, когда объект будет исполнен.

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

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

И хочу это сделать с помощью питона. Подскажите в каком направлении копать.
linux, firefox
Screenshot20210102000416.png57 Кб, 1044x754
30 1898260
А как сделать, чтобы выводились лишь значения массива, без скобок и прочей фигни
31 1898303
>>898260
тупанул и массив не правильно создал, вопрос снят
32 1898328
>>898189

>И хочу это сделать с помощью питона.


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

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

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

Короче единственный разумный вариант это адблок настроить.
33 1898416
>>897689
Ни в чем, это общий подход для отказа от callback hell, вся суть в синтаксическом сахаре и необходимости loop в питухоне
34 1898417
Задам вопрос в этом году. Как с помощью pydantic разобрать такое дерьмо:
TaxVAT. Если TaxVat ещё могу превратить в tax_vat, то как быть в первом случае? Даже в headings не превратить
35 1898567
Зачем нужен for когда есть map()?
36 1898674
>>898567
map и другие подобные фичи подходят для прогнать какую-то небольшую операцию для коллекции и получить результат.
Ты можешь изъебнуться и заменить ими вообще все форы, но это будет громоздко и неочевидно.
1607542862133578545.png1,7 Мб, 2048x2148
37 1898830
>>898674
Давайте теперь все говорить как умственно отсталые потому что васе орку который питается стекломоем непонятно. И считать на пальцах и счета с костяшками тоже. Так?
38 1898884
>>898567
В жс-треде буквально недавно был очередной срач на тему. Какой-то пизданутый ФПшник верещал что обычные циклы нинужны и по возможности надо всего городить map-reduce-filter парашу ибо "так пиздатее"
Только вот цикл for максимально нативен и понятен и часто нет нужды городить конструкции из хуй пойми чего лишь бы ублажить ФПшника
39 1898887
>>898830
Но мап действительно не даёт никаких преимуществ. Давал бы, если бы бы лучше поддержан в языке, если бы можно было бы цепочки вызовов делать
my_array.map(foo).map(fuzz).filter(buzz)
но в питоне этого нет.

В питоне реализовано так, что никаких преимуществ относительно генераторов списка или генераторных выражений нет. Причём генераторы списков куда более понятные и читаемые.
Screenshot from 2021-01-02 19-47-09.png15 Кб, 395x440
40 1898908
>>898884
Цикл целиком слишком громоздкий, map может сократить код.

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

Если бы в питоне можно было нативно цепочки из map и других функций делать, был бы смысл. Но этого нет.
41 1898923
>>898908
А теперь пишем
for t in range(1, 10):
print(tt)
В сто раз чище, но не повыебываться, да.
42 1898927
>>898923

>for t in range(1, 10):


>print(tt)


Как ты это делаешь, Шайтан? КАК?
43 1898929
>>898923
В случае если ты один раз в теле цикла используешь t-квадрат да. Но если несколько раз, то в цикле придётся или делать дублирование кода, перемножать каждый раз, или вводить дополнительную переменную.
44 1898943
>>898929
И в чем проблема? Если у тебя какая-то простая трансформация, то можно обойтись однострочником без переменных, а в форе можно и развернуться.
45 1898978
>>898943
Для map да, большого профита нет. Одна дополнительная строчка в теле цикла читаемости добавит.

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

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

Вообще смысл в том, что map-filter и т.п. операции по-настоящему стреляют, когда объединяются в цепочки. Но в питоне это не поддержано как следует, а потому неудобно и смысл теряется.
46 1898996
>>898978
Не знаю, не проглотит ли двач что-нибудь. Пример:
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 довольно большие, приучаешься поэтому ими не пользоваться даже тогда, когда было бы с ними лучше.
47 1898998
>>898996
Map медленный
48 1898999
>>898998
Куда торопишься? Серьезно, питон не про скорость.
Screenshot from 2021-01-02 20-53-34.png25 Кб, 518x332
49 1899026
>>898998
Да не очень

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

Разница есть, но треть. И это только потому, что очень примитивные операции, на которых скорость точно не про питон. Под pypy при этом работает раз в 30 быстрее где-то, там другие соотношения, в зависимости от версии, но для объективного результата надо тест-платформу переделывать.
50 1899054
>>898996
Ну я так понял мапы-фильтры хватанули где-то на старте из других языков, а потом уже допилили свои нативные и более выразительные компрехенсы и генераторные выражения, а эти остались как легаси. Иногда можно ввернуть красиво, не более.
Но с условиями реально коряво, ждем когда морж пойдет в люди, уже хоть что-то.
51 1899114
хочу сделать, чтобы на сайте при выборе дат выгружалась таблица из БД. Например, выбираю с 1 по 15 число, выгружается визуально на HTML/CSS таблица с 1 по 15 число с количеством отработанных часов сотрудников. Следовательно, будет 15 столбцов
Если выберу с 1 по 10, то 10 столбов. Как это реализовать?
52 1899120
>>899114
Епт, что за фреймворк у тебя?
Не говоря уже о том что это элементарная хуйня уровня sql и postgresql (если выберешь ее), которая трснаслируется в sqlaclhecmy, в пистон и в json
53 1899122
>>899120
Все, понял куда посмотреть, в sqlaclhecmy. Спасибо, мне это и надо было
54 1899343
>>897954
короткий ответ: нахуй иди.
развёрнутый ответ: смотри что происходит в фетч, а потом иди нахуй с калбеками.
55 1899347
>>898887
это на джаву парашу походит. ведь нет ничего читабельней чем my_array = list(filter(buzz, map(fuzz, map(foo, my_array))))
56 1899439
Как билтин ексепшну запретить вызываться? Например мне нужно чтобы TypeError вообще не участвовал в одном блоке, а были только кастомные мои исключения, но в некоторых ситуациях эта хуйня поднимается
57 1899440
>>899439
Через варнинг? Но они все ровно будут вызываться но скипаться.
58 1899442
>>899440
Поясни плиз, я просто джавист)
59 1899443
>>899442
Читай про эксепшны и варнинги.
1608653062943.jpg437 Кб, 1396x700
60 1899548
Назрел вопрос: насколько важно учить алгоритмы при изучении Питона? Я вот уже какое-то время учу, и вообще ничего по этой теме не смотрел пока. Насколько оно нужно и полезно? Какие есть хорошие книги?
61 1899556
>>899548
Для изучения не важны, а для практического применения важны.
Книжек несколько классических ходовых есть, найти несложно.
62 1899677
>>898923
>>898927
у меня не сработало. выдает name 'tt' is not defined.
63 1899714
А що, пацаны, без линуха и пердолинга Питона не приручить никак?
64 1899748
>>899714
wsl есть если тебе нужен софт под линух, редис или какая какая нибудь бд типа постгресса
65 1899753
>>899677
t*t очевидно же
66 1899775
>>899753

>for t in range(1, 10):


>print(tt)


>Как ты это делаешь, Шайтан? КАК?



А что за восторги тогда?
67 1899873
Всем добрый вечер.

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

https://ideone.com/fMWaMZ
68 1899883
>>899556

А есть какая-нибудь ультимативная книга на русском языке типа: "Все алгоритмы для конченых даунов за 3 часа"? Чтобы прочитал её и обрёл дзен?
69 1899884
>>899873
Зачем это когда есть with?
70 1899889
>>899884

Да я только третий день по книжке учусь. Там написали, типа попробуйте сократить код.
71 1899891
>>899883
Есть.
72 1899896
>>899891

Ах ты хитрый какой. Название её сообщи пожалуйста.
73 1899915
>>899896
Ты че гугл во мне спалил?
74 1899929
>>899915

Значит ты просто поболтать пришёл.
75 1899936
>>899677
А на табуляцию у тебя не ругалось, не? А почему? В примере выше же табуляции нет
76 1899937
>>899929
Значит ты быдло не способное пользоваться поиском.
77 1899939
>>899937

У вас тут так принято, или ты просто отсталый?
78 1899975
>>899439

>Например мне нужно чтобы TypeError вообще не участвовал в одном блоке


...
Просто не лови его в try-catch try-except блоке вот и все
image.png1 Кб, 177x96
79 1899993
>>899975
Вернее лови вот так
80 1900132
Двощане, я щас минут 30 ебался с pinax потому что понадобилось сделать сайтик с подтверждением по почте, но последнее обновление там было еще в 2016 году и приходится некоторые моменты самому править, типа вместо {% load staticfiles %} писать {% load static %} в файах модуля, хотел поинтересоваться что щас актуально для этой задачи, чтобы костыли не писать свои, а взять отлаженный модуль, либо забить на это и надеяться что позже не встречу критических ошибок в модуле(как я понял он не обновлялся после джанги 1.7)
81 1900204
Приветствую, анон.

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

На чем можно реализовать данную вещь без говна и палок? Уровень около-нулевой, поэтому и спрашиваю. Была идея попробовать сделать бота в Телеге для этих целей, но может, есть что-то лучше?
82 1900256
>>900204
посмотри win10toast
83 1900257
>>900256

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

Сама идея в том - чтобы написать это все с нуля, дабы понять что и как работает.
15282055081560.mp41,7 Мб, mp4,
854x480, 0:16
84 1900260
>>900204

>появилась потребность вывода уведомлений-напоминаний на рабочий стол win 10


Сначала хотел серьезно что-то написать но потом увидел
>>900204

>Уровень около-нулевой


>>900257

>написать это все с нуля

85 1900412
>>900257
ну и зачем? я бы лучше задрачивал типовые задачи из практикума по программированию.
86 1900469
>>900132
Неужели за ночь здесь не пробегало ни одниго человека, которому приходилось прикручивать к джанго сайту типовую регистрацию?
87 1900496
>>900412
А почему? Мне как-то говорили, что будет логичнее и правильнее взять пет-проект и хуячить, собственно. Практика там, все дела.

Практикум - это те задачи, которые будут встречаться и в работе?
https://stepik.org/course/56240/promo Ты про это?
88 1900602
>>900496
у меня просто такое мнение, что сначала надо фундамент выучить, а потом свой пет-проект хуе-муе.
89 1900694
Когда запускаю программу через 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 может помочь, но не знаю пока что в нее писать.
90 1900704
>>900694
shell=True попробуй
91 1900722
>>900704
Да, это работает. Но это костыль.

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

Тогда консолечка не возникает, но фокус у окна куда-то пропадает (как и в случае с shell=True, собственно)
Попробую фокус обратно вернуть через какой-нибудь дополнительный вызов.
92 1900859
Как отправить через requests вот такой curl запрос с файлом?
curl -u username:password -T path_to_file "https://my-cloud.com"
94 1901020
Двач, подскажи, пожалуйста, почему так? Почему при elif он выдает ошибку синтаксиса, а при else - нет?

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

А вообще, я пытаюсь начать проход цикла поновой при нужном аргументе, но это уже другая история
95 1901022
>>901020
Потому что елиф ставится в середине блока условий
Иф>Елиф>Элсе
У тебя всего два условия, значит закрываться все должно Элсе
96 1901023
>>901020
Потому что елиф идет после иф, у тебя табуляции не хватает.
97 1901027
>>901020
у елиф должно быть ещё своё условие, а ты его пытаешься использовать как элсе
98 1901031
Бля я обьебался >>901023 тут. >>901027 этот хуй прав, у елиф должно быть свое условие как у иф.
99 1901032
>>901022
>>901023
>>901027

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

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

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

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

и если этот бот находится в беседе, то при написании "сап двач" русская клавиатура открывается у всех кто находится в беседе
а мне надо чтоб открывалась только у того кто написал "сап двач"
как это сделать?
101 1901036
>>901032
При этом, он не выводит первое значение (sandwich_tuna), а сразу выводит второе.
102 1901038
>>901032
Потому что твой цикл работает на pop.
При continue ничего не меняется.
103 1901041
>>901038
Эм, а где об этом можно подробнее почитать?
pop же убирает последнее значение словаря, но я не совсем понимаю, как это связанно с continue.
1.PNG96 Кб, 1341x661
104 1901057
Собственно, переписал, задача выполнена, но я все равно не понимаю, почему continue как приказ к началу нового прохода не работает при .pop
ВСМ.png33 Кб, 878x624
105 1901064
Не
понял
А что, так низзя?
Как мне матчить вот хз какие цифры в ключах словарей?
Я конечно понимаю что можно startswith но так получаются длинные конструкции
106 1901066
>>901041
>>901057
У тебя неправильно сделано и сравниваешь не то.
Надо первой строчкой внутри while сделать pop
и результат сравнивать уже, а ты сравниваешь сам список со строкой.
107 1901071
>>901064
Суть словарей в том, что ты должен знать ключи и использовать их для извлечения значений.
В случае твоего наркоманского кейса надо итерировать по наличным ключам и матчить. Но в целом так быть не должно, значит, что ты делаешь что-то не так.
108 1901077
>>901066
https://ideone.com/1k1ERk

Ты это имеешь в виду?
109 1901078
>>901077
ввиду

быстрофикс
110 1901081
111 1901083
>>901081
Спасибо, анон.
Смех испанца Хохотуна.mp4472 Кб, mp4,
720x480, 0:05
112 1901101
113 1901105
>>901034
я уже вроде сам разобрался, клавиатурам добавил selective=True а сообщениям, вызывающим эти клавиатуры, добавил reply_to_message_id=message.id
надо было просто полистать документацию к апи телегиhttps://core.telegram.org/bots/api
16097242343482.png57 Кб, 540x960
114 1901256
>>896798 (OP)
На что способен ваш язык?
115 1901273
>>901064
тебе этот словарь уже откуда-то выдан или ты его сам генерируешь? чел >>901071 четко объяснил.
116 1901281
>>901064
Ты так не только ключи, но и значения не выберешь.

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

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


Добавлятся всего одна строчка.
117 1901363
Подскажите, решил я воспользоваться модулем allauth для джанги и мне нужно добавить свои поля, поменять формы и т.д для регистрации пользователей, есть ли какое-то правильное решение для этого, чтобы все остальное работало как прежде или нужно лезть в модуль и там вручную менять код, чтобы мои поля были в бд, отображались в формах и т.д? Единственное решение кроме правки кода мне кажется это делать свою модель и коннектить ее один к одному к модели из модуля allauth, но ведь вероятно есть более правильное решение, подскажите плиз
118 1901365
>>901363
Я полагаю что как-то через наследование можно сделать, но не пойму в каком моменте и как его применять, например я наследуюсь полностью от моделей из модуля, добавляю свои поля, тоже и с формами, как мне потом сделать так, чтобы при запросах у меня отображалась не стандартная форма, а моя кастомная
119 1901370
>>901363
Использовать методы языка? Декораторы, наследование?
120 1901389
>>901256
hello world весит 20мб
121 1901416
>>899775
это не я восторгался
122 1901418
>>901389
сильно, вообще то 7мб
123 1901424
>>901273
Выдали офк
>>901071
Ок, понил
124 1901521
>>901281
ты про что-то такое?

from collections import namedtuple

Data = (Data, ['name', 'age', 'city_n'])
my_data = Data('Vasya', 23, 'Hongkong')
125 1901528
>>901418
20 байт же
126 1901543
>>901418
Я попробовал создать файл, в котором кроме print("hello world") ничего нет. Потом собрал его с помощью pyinstaller. Действительно 20мб получается. Есть ли способы уменьшить размер? Хотя бы до 7 было бы уже классно.
127 1901557
>>901543
У меня 5 получается.
128 1901566
>>901557
Подозреваю, что это зависит от системы.
129 1901580
>>901566
При старте оно распаковывается в TEMP, добавь в конце time.sleep(1000) и можно посмотреть, что оно там за говна насобирало у тебя.
130 1901595
>>901580
53 мб в /tmp лол
тут много всякого
131 1901599
>>901580
>>901595
самый большой файл после распаковки называется libopenblasp-r0-ae94cfde.3.9.dev.so и весит 30М
132 1901603
>>901599
Вроде как-то связано с numpy.
Попробуй запилить venv и уже в нем захуярить инсталлер.
133 1901611
>>901595
какой командой получить такой шикарный вид?
134 1901625
>>901543
Попробовал собрать с nuitka, после чего запускать под докером для проверки переносимости. Всё под линуксом
--standalone --onefile
как следует не заработал, то есть собрал в один файл, выкачав какую-то библиотеку appimage с чьего-то гитхаба, локально файл запустился, под докером отказался, хочет библиотеки, как я понимаю, с того же гитхаба. То есть не переносится. А так файл был размером 12.5 Мб.

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

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

Попозже.
135 1901643
Хочу написать программу, которая будет проверять наличие товара в интернет магазине (озон). Первая мысль, которая пришла в глову - просто парсить страницу и смотреть когда продукт появится в наличии, но уверен, что есть более изящный способ. Предполагаю, что можно куда-то отправить запрос и получить необходимые данные. Что можно почитать, чтобы понять откуда сайт узнает сток и как решить мою проблему
136 1901687
>>901611
это файловый менеджер lf
https://github.com/gokcehan/lf
137 1901694
Нужна помощь шарящих людей в DRF
Пишу тесты, эндпоинт принимает некоторые данные и файл через form-data. В данных есть nested вложенности, которые я обрабатываю в сериализаторе. Но проблема в том что из-за того что реквест идет через format="multipart", вложенности прилетают не как dict, а как str. Сталкивался кто-то с таким, и как можно это пофиксить?
Для обработки данных использую MultiPartParser и FormParser парсеры
138 1901722
>>901625
Пока короткие извращения. Собираю 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.

Надо ещё под винду потестировать, но это не сегодня скорее всего. Но возможно под виндой проще и там всё соберётся в один файл без зависимостей.
138 1901722
>>901625
Пока короткие извращения. Собираю 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.

Надо ещё под винду потестировать, но это не сегодня скорее всего. Но возможно под виндой проще и там всё соберётся в один файл без зависимостей.
139 1901735
>>901722
Я вообще подозреваю, что от системных зависимостей от /lib и /lib64 можно избавиться, пронести каким-то образом флаг -static в gcc, которым всё реально собирается.

Пока не вникал особо, в реальной практике пока nuitka не использовал, ХЗ сколько там подводных камней и какие реальные возможности.
140 1901835
Пожалуйста, кто-нибудь может сгенерить пайтон код из xsd файлика при помощи generadeDS или pyxb?
141 1901899
>>901370
Таки декоратором придется оборачивать код из модуля, т.е модифицировать его, но ведь это неправильно
142 1902097
Всем драсте, у меня встал вопрос.
Я значит решил с помощью питона связать два компа, чтобы на них можно было играть в пинг понг, ну чтобы мячи через экраны летал. И при попытке передать координаты мяча у меня буфер сокета на сервере забивается из-за того, что на нём висят старые координаты мяча и не удаляюются. Как собственно мне удалить старые координаты мяча из буфера сервера?
https://pastebin.com/1hhJ9Hdr - Это правый кусок программы, у левого логика идентична
https://pastebin.com/cNVCvWiX - Это сам сервер
143 1902165
>>902097
Не вникал в твой код, но ошибок там немало.

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

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

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

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

Попробуй другую схему. В месте, где ты читаешь данные из сокета, читаешь данные до упора в какой-нибудь буфер, может быть там будет один пакет, может ни одного, может пять. Как прочитаешь, игнорируешь все, кроме последнего.
1609889563079.jpg30 Кб, 512x410
144 1902179
короч, сидел такой в админах, погромировал на пятоне автоматизашку, держал прод в онлайне и тут такое бац, "хош демопс, четко жестко" и дернуло пофлексить немного.
ну чё добился, ммм?
1609889917422.png169 Кб, 236x418
145 1902182
>>902097
знаешь, это типо классно что ты пытаешься понять чому и куда, но правда это не в таком объеме нужно ирл.
лучше учи какой-нибудь веб фреймворк, типо классического джанго, либо анинхронщины фласка.
больше опыта принесет реального.
1609890263927.png140 Кб, 495x279
146 1902190
>>901694

>не как dict, а как str


json.loads(string)
147 1902204
Объясните что делает аргумент -m для py в cmd?
Почему py pip istall zalupa не работает, а py -m pip istall zulapa работает?
148 1902207
>>902204
В доках всё есть

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
Надо при этом проверить, какая версия, соответствует ли версии питона.
149 1902275
https://shultais.education/courses/python-3
Учился кто-нибудь по нему? Есть реальные отзывы?
150 1902311
>>902275
Идешь на stepik и проходишь в порядке:
биггикс "поколение python"
биоинформатика "программирование на python"
биоинформатика "Python: основы и применение"

Потом, для закрепления и углубления, идешь в youtube и ищешь Тимофея Хирьянова. Смотришь и выполняешь практику: http://judge.mipt.ru/mipt_cs_on_python3/
151 1902317
>>901899
Это правильней чем шатать модуль по идее.
152 1902334
>>902311
Пс. добавлю что это с моей точки зрения (с точки зрения нищего) и курс по твоей ссылке вполне возможно может быть нормальным, так что это был не ответ на вопрос а просто доп. информация к размышлению.
153 1902377
День добрый, аноним.
Кто-нибудь что-нибудь слышал за хекселт?
154 1902388
>>902377
ниразу
155 1902404
>>902388
Я помню хекслет, когда он был простым каналом на ютубе.
156 1902414
Смищно с этих искателей идеальных курсов.
Везде хуево, а там-то за деньги пояснят по-хардкору, ага.
157 1902418
>>902414
Для питоновкатунов есть официальный тутор написанный лично фюрером, остальное ненужно.
158 1902425
>>902418
Лутц?

>>902414
Не совсем. Скорее за ментором, которого можно и нужно заебывать вопросами и ревью кода.
photogvido.jpg69 Кб, 510x511
159 1902430
>>902425
Вот этот лутц
160 1902483
>>902430
Я просто пытаюсь понять - ты про "ЯП Python"?
162 1902768
Как в lxml2 достать определенных потомков из xmlNode?

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

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

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

если что мой уровень: вчера закончил бесплатный курс на степике, т.е. никакой, поэтому сильно не поливайте.
163 1902795
>>902768
Отбой, просто написал функцию перебора из элементов, которые получил от get_children
164 1903010
Читаю книгу "Погружение в паттерны проектирования" и столкнулся с непониманием
В книге все примеры на псевдокоде. В прикрепленных картинках, говорится о таком понятии как "интерфейс" и я не могу понять, как бы на пайтоне выглядела реализация примера с летательными аппаратами и аэродромом.
Что есть интерфейс в данном случае и как это все будет выглядеть в коде?
Можно пример пожалуйста
1.png82 Кб, 1354x360
165 1903020
>>902768
На днях делал нечто подобное.
Почему тебе стандартной xml.etree.ElementTree не хватает?

У меня это выглядит так
166 1903025
>>896798 (OP)
Хочу с помощью питона сделать лабу, там надо проверить зависимость времени запроса от размера пакета

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

Есть еще какие-то способы послать icmp-запросы и прочитать метаданные ответа? В терминале ответ он печатает на экране что не очень-то удобно
167 1903043
Пистоны, помогите с такой тривиальной задачей, как сделать диапазон дробных чисел, пожалуйста.
Есть ли какая-то встроенная функция, чтобы получить нужное [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)]
168 1903049
>>903043
[i/10 for i in range(0, 11, 1)]
1.png20 Кб, 952x138
169 1903050
170 1903054
>>903025
Тогда встречный вопрос: как в питоне выполнить команду в терминале (ну допустим это subprocess.call) и что главное - прочитать и сохранить вывод из этого терминала?
1.png110 Кб, 1072x1288
171 1903059
>>903050
Я ньюфак и не понял твоего вопроса.
Я в треде жду ответ на свой вопрос >>903010
172 1903068
>>903049
А так можно было?! Где мне прокачать мышление с уровня пятилетнего? =(
173 1903077
Я меня глупый вопрос, прошу не закидывать ссаными тряпками: если я научусь создавать сайты на Django, я смогу зарабатывать на фрилансе?
Или для более быстрого вкатывания надо что-то другое учить?
174 1903080
>>903077
Двачую, сам написал за 70 даларов вебсервис и было предложение для сайта интересного, но потом дядя забил на свою идею, но я хз все еще это мне так повезло или реально в этом потребноть нужна
175 1903092
Такая тема, строю последовательность подобного плана:

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

Очевидно что это можно вбить и руками, но хотелось бы адекватный алгоритм для подобного. Да, я знаю что можно написать функцию в которой последовательно вызывается несколько циклов for где мы создаем эти значения, но хотелось бы придумать общий итератор, который выдавал бы пары multiplier (множитель, он же "шаг"), count (сколько раз надо пройтись по циклу), start (начальное значение) и который помог бы уменьшить объем кода
176 1903093
177 1903099
>>903092
А range для кого придумали, ебать тебя в сраку.
1.png20 Кб, 788x134
178 1903112
179 1903145
>>903010
Для питона это нетипичный подход, из-а его динамической природы. Создавать отдельную сущность для интерфейса объекта больше подходит для 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
179 1903145
>>903010
Для питона это нетипичный подход, из-а его динамической природы. Создавать отдельную сущность для интерфейса объекта больше подходит для 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
180 1903187
>>903020
Да я хотел амбициозно с наскока написать консольную fb2 читалку в качестве практики, с дальнейшими перспективами дальнейшего наращивания функционала.
В libxml2 (соответственно и lxml) вроде как есть проверка схемы xsd, что может быть полезным будущем.
Пока что у меня получилось написать простенькую косенькую программу, которая выпукивает в консоль текст из текстовых тегов.
181 1903219
>>903145
Раньше греб в фирме где интерфейсы в пистоне были хорошим тоном (наверно потому что их притащили с фронта фуллстек-разрабы, которые писали на ангуляре и TypeScript)
182 1903230
>>903145
Интерфейсы в пистоне удобно в тайпинге юзать, в дженериках тех же или в DI. Например:

self.ds: IBaseService[Department] = department_service

этот анон -> >>903219
183 1903276
Это снова я, парень с пинг-понгом, и у меня еще один вопрос
Значит у меня два устройства подключаются по s.accept(), как мне обратится к ним по отдельности?
Типо выглядит это как conn, addr = s.accept(), и вот как мне обратится к каждому конн по отдельности?
184 1903314
>>903276
s.accept тебе нужен для того, чтобы принимать входящие соединения. Если ты подключаешься к другому компьютеру, то accept не нужен.

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

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

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

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

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

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

Иначе ты просто предсказуемо утонешь в проблемах и напорешься просто на лес граблей.
185 1903321
Двощ, я вот уже 3 месяца учу пайтон.
И меня заинтересовало следующее: какие библиотеки вы посоветуете посмотреть. Просто чтобы знать, что они.

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

Я могу сказать, что regular expr и collections - важны всем. А что ещё?
186 1903326
>>903321
Хочется услышать именно must know либы
187 1903331
>>903321
>>903326
Ну ХЗ, сложно ответить так сразу.

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

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

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

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

Что-то там какая-то экзотика, что-то легаси, что-то просто развлекуха.
188 1903367
>>903321
Есть годная книга по стандартной библиотеке https://www.amazon.com/Python-Standard-Library-Example-Developers/dp/0134291050/
Смотришь обзорные описания, что заинтересовало можно уже курить детально.
189 1903368
>>903326
>>903321
>>903331
Смысл учить либы если их достаточно регулярно переписывают?
190 1903418
Объясните нубасу для чего нужны декораторы (сценарии их использования).
191 1903447
>>903418
1. актёрам трудно на сцене без декораций. они могут заблудиться
2. зрители не поймут, почему билет так дорого стоит. разве ты пришёл посмотреть на нихуя? а тут - хуяк! и декорации
192 1903448
>>903447
мимо театрал
193 1903502
>>898567
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

Дерзай, сучка.
194 1903511
>>903502
Ну и к чему ты это высрал? Думаешь мне реально всралось рефакторить твой говнокод?
195 1903562
>>903511
Чепуха из-под ногтей слилась мгновенно. Ну вот и молчи в тряпочку со своим "for нинужын, map ришаит".
196 1903564
>>903562

>слилась


Щас бы тратить время на объяснение чего-то быдлу из интернета.
197 1903566
>>903564
Нах мне объяснять? Я и сам тебе объясню, сопляку. Ты за слова свои ответь. То есть, приведи аналог на своём map для такого цикла for, как я привёл.
198 1903569
>>903566

>сопляку


Проиграл в голос с великовозрастного быдла.
199 1903574
>>903314
Ты не понял, у меня есть сервер, к которому подключается два компа, оба компа к серверу подключаются по conn, addr = s.accept(), как мне обратится к одному из этих компов?
200 1903586
Хочу отрисовать график "свечек", только это не обычный финансовый график где показано открытие/закрытие торгов, минимум и максимум, а свечка где есть только: минимум, максимум и среднее значение. Как такое сделать с помощью matplotlib?
201 1903596
>>903321
Всяких разных библиртек и фреймворков просто дохуя, и они плодятся и развиваются, что конкретно учить, это все сильно зависит от твоих интересов. Для веба будет свой список актуальных либ, для датасайнса свой, и так далее. Есть много разных списков популярных либ. Например,
https://github.com/vinta/awesome-python

У меня такое чувство, что тебе рановато о таком думать.
202 1903636
>>903145
Спасибо большое за твоё разъяснение. Но увы я его не могу понять в полной мере. Это из-за отсутствия опыта ООП
203 1903645
Аноны, никто не видел, где можно курсы с learn python спиздить?
204 1903648
>>903645
Это где?
205 1903659
>>903648
Наебался. Real Python конечно же
206 1903661
>>897532
как думаешь, не слишком ли поздно вкатываться в питон? просто начитался об этом тут и аж даже страшно стало за своё будущее
207 1903665
>>903661
Поздно, поезд ушел, иди dart учи
208 1903679
А у кого-нибудь есть опыт коммерческого использования монги с джангой? Мне нужно с геоданными работать, монга из коробки это имеет охуенно, и с помощью mongoengine я уже весь функционал запилил. Но не кринжово ли монгу с жангой использовать?
209 1903685
>>903659
На трекере наблюдаю штук 20, есть интересные, скачаю. Потом скину сюда ссылку.
Странно, что все не слили.
210 1903703
>>903679
А постгрес типо не умеет это делать?
image.png43 Кб, 464x517
211 1903706
212 1903747
>>896798 (OP)
а книги не старые? я смотрю там 11 год, 14
213 1903755
Немного не по теме но думаю питон мастера по умолчанию могут в регулярки.
Есть куча информации вида:

<tag value="to4tomnenyjno_so_skobkami"/>

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

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

1, 2 это, как вы поняли группы
которое мне возвращает через re.findall список кортежей вида [(1, 2)...(1, 2)]
Можно через регулярки сделать чтобы оно сразу мне выдавало только вторую группу? Что-то вроде ^(начало слова), но в качестве начала слова принимать то что в первой группе.
214 1903765
>>903755
Так убери скобки из первой части.
Но лучше сразу катись в бьютифул суп.
215 1903773
>>903765

>Так убери скобки из первой части.


Спасибо, не знал что это так работает.
На regex101.com подсвечивалось все и я думал оно мне будет засылать fullmatch т.е. и все вместе.
216 1903778
>>903665
а почему именно он?
217 1903791
>>903331
Спасибо, интересно было узнать именно базовые системные либы. Хороший, развернутый ответ.
Что значит промышленное, индустриальное программирование? Я просто программист АСУТП (на заводах программирую)

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

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

>>903596

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

218 1903792
>>903791

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


Так я пока для себя. Мне интересны именно самые базовые либы. Типа itertools
219 1903795
Ну и сразу еще вопрос, если я отложу вопрос вката на пол года. Я не пропущу последний вагон уходящего поезда?
220 1903821
>>903791

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


Задачи то какие?

>а я буду документацию смотреть бегло


Открываешь пипи и смотришь что там в топе.
221 1903833
>>903821

>пипи



Это как?
223 1903841
>>903834
Среди школьников зафорсили мемасы с Фреско, а дебичи подыгрывают. Даже время на просмотр тратить не буду.
224 1903843
>>903791

>Что значит промышленное, индустриальное программирование? Я просто программист АСУТП (на заводах программирую)


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

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

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

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

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

Ну и дальше есть масса библиотек и модулей для конкретных задач. Если ты ими занимаешься, они нужны. Если это задачи не трогаешь, то совсем не нужны.
225 1903850
>>903821
поддвачну>>903833

>>903843
Как я понимаю python это не про индустриальное программирование. На нем же QA-макаки, дата саентологи, девопсы с небольшим вкраплением джанго пишут. А это все не про долгоиграющие/тяжелые проекты.
226 1903851
Есть список кортежей. Типичный кортеж состоит из четырёх элементов. [(2, 4.3, 0.5), (1, 5.66, 9), (3, 0.4, 0)...]
Самих же элементов в списке сотни.
Как выбрать 5 элементов-кортежей, где второе значение кортежа, например, минимально?
227 1903854
>>903850
Вот, послушай.
https://www.youtube.com/watch?v=VFBXx7O9BxU
Чувак рассказывает как он начал работать в промышленном программировании
228 1903855
>>903850
На питоне куча бэка написано, например openstack это мелкий проект?
229 1903856
>>903851

>Как выбрать 5 элементов-кортежей, где второе значение кортежа, например, минимально?


Проясни подробней о чем ты.
230 1903861
>>903856
Если мне нужен 1 элемент, у которого второе значение минимально, я просто делаю min(data, key = lambda t: t[1])
А мне надо 5 элементов выбрать, у которых вторые значения минимальны во всём списке.
231 1903864
>>903851
sorted(lst, key=lambda x:x[1])[:5]
232 1903870
>>903855
>>903854
У меня после it-бороды сложилось впечатление, что если писать что-то неимоверно сложное, то берут java, для среднего node.js, а для остальной херни wordpress
233 1903871
234 1903873
>>903864
Спасибо.
235 1903883
>>903861
Попробуй отсортировать по вторым элементам
236 1903893
>>903870
Глупости, на питоне 3.6+ версии очень легко писать крупные и средние проекты. Есть нормальная асинхронность, проверка типов и интерфейсов, легко подключить библиотеки на С или С++. Если нужна максимальная производительность, то лучше брать раст или го, они будут производительней джавы. Сейчас же монолиты не пишут, все дробят на сервисы.
237 1903894
>>903706
Спасибо брат! Хотел конечно по DRF, и кстати ты на каком трекере смотрел?
238 1903897
>>903703
Умеет, но очень заебисто. Плюс не умею раскалывать модули к нему на aws-ках.
239 1903900
>>903897
Раскатывать*
240 1903903
>>903897
Там же куча функций в постгис + у джанги есть модуль с gdal.
241 1903916
>>903903
Да знаю я. У меня в монгаклауде премиум сторейдж на дохулион гигов. Короче все за то, чтобы монгу использовать
242 1903927
>>903916
Если использовать, то не через джанго орм, а написать свое апи и модели для монги.
243 1904048
>>903870
В энтерпрайз секторе своя логика, там правят бал Java/C++/C#, это и традиции, и кодовая база, и куча разных решений, и разработчики с нужным опытом.

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

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

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

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

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

В общем сейчас выбор ноды для бэкенда не очень разумен. Он был понятен и разумен 5+ лет назад, но не сейчас.
244 1904165
>>904048
Спасибо!
А то почитал интернеты, и сложилось впечатление, что нода - лучший язык для бэкэнда в средних проектах.
Питон ванлав, всё равно.
245 1904551
>>904165
Это ты где такой высер прочитал? Пыхтон пыхтит как пых на бэкэнде, нода говно. На бэке из скриптовых perl пиздец с какой натяжкой и изъёбкой, либо на FastCGI писать апликуху — c, c++, java, c#, но последнее весьма спорно.

Пыхтон на бэкэ это как та пикча про буханку-троллейбус.
246 1904732
Двач, а что делает эта стрелка и лист?
def Multy(R1, R2) -> List:
image.png40 Кб, 742x257
247 1904740
>>904732
И расскажите, пожалуйста, зачем здесь or, если здесь нет if, по сути, всегда же должно быть присвоение Res[j]
249 1904744
>>904740
a = a or b
Если а не фолс, то оставить, иначе присвоить с.
В чем смысл конструкции с and не совсем понятно.
250 1904754
>>904744
Никак не пойму, как там может быть тру или фолс, если там нет никаких сравнений
251 1904760
>>904754
В булевом контексте оно кастуется в булеан.
То же самое, что
hui = 1
if hui:
Можем делать
hui = 0 or 1
получим 1, и т.д.
252 1904762
>>904760
А, всё, 0 и 1 за тру и фолс, спасибо, дошло
253 1904880
А чо все недолюбливают Flask?
254 1904929
>>904880
Он умер.
255 1905053
Посмотрел базовый туториал по Си.
https://youtu.be/oF6gZG6rFmQ?t=511
И что-то охуел от наличия УКАЗАТЕЛЕЙ.
Неужели нельзя было реализовать язык с дефолтным поведением, чтобы любое повторное действие с переменными было бы через указатели?
256 1905098
>>905053
указатели в си это такой кал, от которого в с++ поспешили избавиться путем ООП+RAII. Каждый класс в STL держит свои указатели при себе и не выдает это дерьмо наружу. А в си оно торчит и вызывает только одни проблемы.
257 1905104
>>905053
Алсо, когда ты в пистоне передаешь объекты в функцию, они фактически тоже по ссылке/указателю передаются. Там нет копирования, пока ты сам не попросишь, сделав что-то вроде new = Obj(old)
258 1905120
Сортировка по самым зарплатным. Таки да, хуево что 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),
258 1905120
Сортировка по самым зарплатным. Таки да, хуево что 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),
259 1905122
>>905120
Бля, не тот трэд, сорян.
260 1905232
>>905104
Ты путаешь разные вещи.

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

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

Но указатели в Си прикольная тема.
Там кстати записи
m[a] и a[m] эквивалентны, как и
m[1] и 1[m]
и другая подобная магия встречается.
261 1905262
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" находится-то после изменения) ?
262 1905266
>>905262
Схуяли после изменения, внутренний def исполняется как определение объекта функции, код внутри не исполняется при этом.
263 1905275
>>905266

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

Где можно почитать про такие приколы?
264 1905279
>>905275
Просто подумай, как происходит исполнение >>905262

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

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

после чего foo это объект-функция wrapper со свойством count=0. А уже когда ты его вызываешь, счётчик увеличивается.
265 1905280
>>905279

>вызывается функция foo


fix, вызывается функция count с параметром foo
266 1905282
>>905275
Функции это объекты, у которых можно читать и писать аттрибуты. Хранятся в __dict__. Хуй знает, зачем это нужно, конкретных применений я не знаю. В случае с твоим примером это могло быть сделано замыканием вместо этой фичи.
267 1905290
>>905282

>В случае с твоим примером это могло быть сделано замыканием вместо этой фичи


Если подумать, то тут тоже замыкания, в примере связывание идёт с переменной wrapper, которая снаружи не существует.
268 1905291
>>905279
Теперь андерстуд, более менее
269 1905292
>>905282
А как тогда это сделать через замыкания?
270 1905303
>>905292
В принципе, через замыкание не совсем так получится, потому что извне не достанешь потом. Точнее достанешь, но через жопу.
Так что таки вот одно из применений.
sage 271 1905313
>>905282
input = print
input("hello world")
Screenshot from 2021-01-09 06-16-30.png18 Кб, 348x245
272 1905329
>>905303
Замыкание есть и в этом примере, можно сделать
print(foo.__closure__),
там будет два значения, их можно посмотреть

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

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

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

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

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

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

И ради интереса посмотрел, вариант с замыканием работает быстрее, чем вариант с классом, примерно на 20% разница.
Screenshot 2021-01-09 at 11.59.18.png17 Кб, 544x214
273 1905353
Как эта хуйня работает?
274 1905355
>>905353
По законам формальной логики, мань.
275 1905356
>>905355
Это как, мань?
276 1905357
>>905353
Ты только что бутылку кока колы.
277 1905380
>>905353
>>905355
>>905356

1 and 2

Python смотрит на and
Потом смотрит на 1,
Потом смотрит на 2
Ну и думает почему бы не вернуть просто 2, ведь так можно сэкономить на операции bool
Я прав?
278 1905381
>>897528
Глубочайше надеюсь, что питон это не первый твой язык программирования, ибо если ты хочешь вкатиться с нуля в питон и прыгаешь сразу в самую огромную, блять, бездну под названием нейросети, то ты очень и очень глуп и безнадежен.
279 1905390
>>905381
а я так начал вкат, обосрался в итоге с МЛчиком вкатился в джанго и жабускрипт(вуе.жс)
280 1905399
>>905355
Ну давай покажи закон логики по которому логическое и возвращает первое ложное утверждение или последнее истинное, а логическое или возвращает первое истинное или последнее ложное
281 1905437
>>905329

> можно сделать print(foo.__closure__),


Я и говорю, через жопу. Концептуально не совсем правильно туда лезть.
282 1905460
>>905279
Вот как раз с исполнением не могу понять
Ломает мозг то что мы сначала изменяем wrapper.count и лишь потом мы только его пишем что он равен нулю
283 1905502
>>905460
Да это только определение функции, она сразу не выполняется.
Добавь там принты и смотри в каком порядке выводится.
284 1905541
>>905502

>Добавь там принты


д-е-б-а-г же есть в нормальном иде
285 1905572
>>905541
Для обучения нормальное иде нахуй не нужно.
15016819844810.webm689 Кб, webm,
400x300, 0:10
286 1905575
>>905572
Дело твое.
287 1905605
>>905502
окей, где можно прочитать про такие приколы? Очень интересно что еще есть

Ps собес скоро, вот и решил вспоминать пихтон
288 1905621
>>905605
Какие такие? Это в общем базовая фича.
Можешь полистать fluent python.
289 1905630
>>905621
Спасибо
290 1905631
>>905232

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


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

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


Да, поэтому придуман RAII. Объект внутри себя занимается своей памятью, а пользователю об этом думать не нужно.
291 1905633
>>905621

>fluent python


Норм книга? В первый раз слышу про неё, но до этого читал книгу про реактивный двигатель (пистон краш курс).
292 1905641
>>905633
Хорошая. Но если читал только краш курс, то может быть сложновато.
sage 293 1905705
>>905356
>>905355
>>905353

>1905380


Разве не логическое УМНОЖЕНИЕ, лел?
294 1906043
>>896798 (OP)
Посоветуйте какие-нибудь advanced курсы/уроки по Django/DRF. Основными штуками умею пользоваться, а вот если нужно что-то выходящее за туториал начинаю писать какой-то придуманный костыльный код, не зная что тоже самое можно было написать готовыми способами. Можно даже платные
296 1906285
Сап двач, есть массив с кучей чисел. Нужно пройтись по каждому элементу, но последовательно. [0][0], [1][0] [2][0] [0][1] [1][1] и тд.
Как это можно сделать? А то уже голова не варит совсем
298 1906322
>>906285
смотри модуль itertools
и итератор
itertools.chain.from_iterable(m)

Но смотря что тебе надо. Если тебе надо менять значения или индексы использовать, то проще всего в лоб.
299 1906370
>>905380
Почему ты пишешь слова энд, питон и т.п. на английском языке?
Они же понятны и на русском если их написать.
300 1906401
>>906370
Мне не сложно
301 1906434
>>905353
Не слушай дегенерата выше. Питон просто кривой язык с кучей тупых моментов. Начинается все с единицы. Путхон видит AND (если не знаешь - тру только когда оба значения равны), соответственно единица (любое число кроме 0) это true, поэтому путхон идёт проверять второй оператор (2 OR 3). OR это когда хоть один из них тру. Путхон видит, что 2 - тру и не идёт дальше проверять ибо нахуй надо, выражение и так тру. Соответственно возвращает последнее на котором путхон понял, что все выражение тру(2).
302 1906454
>>906434
Спасибо за обьяснение. Как батюшка пояснил. Я ещё поэкспериментировал и все понял.
303 1906459
Посоны.
Слова:
with as
def
class
итд
Являются ОПЕРАТОРАМИ такими же как +-;/. Я правильно понимаю?
304 1906465
>>906459
Ключевые слова. Операторы они оперируют с чем-то.
305 1906473
>>906465
Почему тогда можно задать свое поведение для with as через __enter__ и __exit__ также как и задать свое поведение операторам через свои дандер методы?
306 1906512
>>906473
Потому что можно, это стандартный способ реализации всяких кастомных штук в питоне. Или ты хотел чтобы везде всё разное было для интересности?
image.png12 Кб, 586x228
307 1906520
подскажите что тут не так если что я башмак 2 дня изучаю питон
308 1906522
>>906520
IDE нормальную поставь. Обосрался с этого окошка
309 1906524
>>906522
если закрыть глаза на то что окошко гавно что в этом не так?
310 1906526
>>906524
Не знаю, вроде все так
311 1906527
>>906524
Скобку добавь на второй строчке
312 1906528
>>906527
Ору
313 1906529
>>906524
Скобочку не закрыл. Иди нах отседа
314 1906531
о я не закрыл скобочку реально ебать я ишак слепой спс всем за помощь
315 1906533
>>906531
Боже, поставь ты VSCode, он тебе прямо подчеркнёт красным эту скобку. В каком говне ты код пишешь? Что это за доисторическое говно, нотепад++?
316 1906535
Что это за (int) вообще? В пхп вроде такое приведение типов, ты оттуда прикатился?
image.png1,3 Мб, 1187x1043
317 1906540
>>906535
Ты его IDE видел, ну ты видел? Он к нам прямиком из 97го года в тред закатился. А ты еще спрашиваешь такие сложности, лол.
318 1906544
>>906540
Это вроде idle, её почти в всех нубских книжках рекомендуют, т.к. она поставляется искаропки с бидоном.
319 1906547
>>906544

> она поставляется искаропки с бидоном


Пиздец, какие же питонисты дегенераты
320 1906548
я скачал питон, в комплекте скачался этот блокнотик ну я им и пользуюсь. Щас уже скачал VS хз мне наоборот менее удобно стало ну буду тут
321 1906549
>>906535

> Что это за (int) вообще? В пхп вроде такое приведение типов, ты оттуда прикатился?


Вебмакака не слышавшая о С/С++ спалилась.
322 1906550
>>906549
Нихуя, ты слышал про с++? Дашь автограф?
323 1906554
>>906550
Я на чистом си, не говоря о плюсах, написал больше кода чем ты читал за всю жизнь, сынок.
324 1906556
>>906554
А тут ты хули забыл?
Стал старый беззубый и тебя прогнали альфачи? Теперь будешь тут бомжевать на пенсии?
325 1906562
>>906549
>>906554
Хуя как у крестоеба жопа то горит. Жалеешь, что вовремя не перекатился в нормальный язык?
image.png962 Кб, 960x640
326 1906564
>>906562

>питухон


>нормальный язык

327 1906584
>>906562
Тот момент, когда интерпретатор питона насисан на сях..
328 1906585
>>906584
>>906564
Но я не пишу на питоне, питон это дополнительный язык для скриптинга. Ну вы сосямбы, конечно.
329 1906664
>>906520
Скобочки стоят неправильно там где инт.
330 1906688
>>906520
скобки убери перед инт, чел
331 1906796
Помогите позязя, дают задания по пайтону, вроде понимаю что и к чему, но код не пишется, вообще не пойму что к чему. def, while
Создать цикл, который будет делать следующую операцию:

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

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

Все это заворачиваем в функцию!
332 1906801
наверное 100 раз спрашивают тут, но я повторюсь. А с чего собственно лучше начинать обучение? я тут в книгу залип про укус питона, но чем дальше тем меньше я понимаю, откуда отталкиваться подскажите.
333 1906806
>>906796
Ну вот что собьственно получилось, правильно?

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()
334 1906807
>>906801
С понимания а нужен ли тебе именно питон, может пыха или ява...
335 1906832
>>906807
выбор сделан
336 1906896
>>906520
tip = int(input('Введите выражение= '))
337 1906901
>>906806

Неправильно. А что тебе нужно сообщать когда А == Б? У тебя 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()
338 1906950
>>906901

> разметка


Как же обосрался с питонодауна с его отступами ебаными
339 1906966
>>906950

>Питонодауна


>Сидит в питонотреде

340 1906979
>>906966
А что, у нас уже нельзя обзывать коллег даунами? Мы в свободной стране живем. Питонодауны порвались прям, хыы
341 1906980
>>906806
Пиздец у тебя задачки простые, напиши мне лучше код под сабж
В одну транспортную компанию поступил заказ на перевозку двух ящиков из одного города в другой. Для перевозки ящики решено было упаковать в специальный контейнер.

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

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

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

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

Формат ввода

Во входных данных записаны числа l₁, w₁, h₁, l₂,w₂, h₂, lc, wc и hc. Все размеры — целые положительные числа, не превышающие 1000. Числа в строках разделены пробелами.
342 1906988
>>906980
Это вообще не имеет отношения к программированию.
343 1906993
>>906980
Это или перебирать вручную все комбинации, или есть какая-то формула сосницкого, которую надо знать для элегентного решения.
344 1907009
>>906980
всего два ящика? Тупо перебор.

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

Писать неохота, сам свою entry level лабу делай.
345 1907011
>>906980

>Длина, ширина и высота первого ящика — l₁,w₁


Не получается
____l₁ = 123
____ ^
SyntaxError: invalid character in identifier
346 1907013
>>906980
А вообще, если ты хочешь научиться программировать, то представь, как ты бы решал эту задачу сам, руками. Вот тебе дали конкретные числа, на бумажке, и спросили бы, помещаются ящики или нет.

А потом всю эту логику просто надо закодировать на питоне.
347 1907035
>>906801
Если вообще не сталкивался с программированием, то найди учебник Турбопаскаля и делай оттуда лабораторки.
348 1907059
>>906801
hard way to learn python 3

Для самых дебичей книжка по питону. Можешь её глянуть, точно справишься
349 1907064
>>907059
спасибо.
image.png2 Кб, 291x52
350 1907069
Почему так?
351 1907088
>>906988
Брат, я это понимаю.
Кстати скажи, почему такие задачи часто дают решать на курсах?
Например дается задача где нужно написать всего несколько переменных и принт, но блядь для правильного вывода нужно запидорить эти переменные в лютую формулу.
Это же чистая математика, нахуй это задавать?
То есть такие задачи можно решить, но нужно тратить время и навыку программирования это слабо поможет
352 1907090
>>906993
Вроде да, есть формула даже на вики статья есть про такого рода задачи.
формула фибодроччи - дристунни
>>907013
Это можно, это классика. Нужно представить в голове и если что написать на бумаге. Придется заморочиться.
353 1907093
>>907088
Какая это математика? Тут только операции сложения двух чисел и сравнение. Это где-то 3-5 класс, так как числа дробные.

Задачка исключительно на то, чтобы закодировать эту тривиальную логику сравнений. Нормальная для тех, кто только начинает разбираться с программированием, на первую неделю.
354 1907094
>>907090

>Вроде да, есть формула даже на вики статья есть про такого рода задачи.


>формула фибодроччи - дристунни


Друзья, ну вы чего? Какой в жопу фибоначи?

Сказано, всего два (!) ящика. Не два типа ящиков, а просто два ящика. Которые могут быть повёрнутыми двумя способами. Всё, 4 варианта расположения в один уровень.
355 1907096
>>906980
Ты специально так уебищно отформатировал и спрятал под спойлер чтобы читать было как можно сложней?
356 1907105
>>907069
IEEE 754
357 1907107
>>907069
у машин двоичная система счисления и там точно так же почему у человека в десятичкой системе счисления 1 / 3 = 3.333333333(3) , короче ну ты понял надеюсь
358 1907114
>>907105
>>907107
Понял-принял. Верх живи-век учись, оказывается бывает разное округление.
359 1907116
>>907094
Программа получает на ввод совершенно разные размеры ящиков каждый раз .они произвольные.
как и размеры контейнера
так что там может быть не два ящика, а 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")
359 1907116
>>907094
Программа получает на ввод совершенно разные размеры ящиков каждый раз .они произвольные.
как и размеры контейнера
так что там может быть не два ящика, а 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")
360 1907140
>>907116

>так что там может быть не два ящика, а 100500 вариантов


Нет, ящика только два.

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

Но тут всего два ящика. Хотя аналогичная задача может быть на много ящиков. Например N ящиков, но двух типов. Либо N ящиков произвольного вида. Но это уже реально сложные задачи, особенно 3d вариант, когда все ящики разные.
361 1907197
>>907069
попробуй так
print('{0:.2f}'.format(0.3+0.3+0.3+0.1))
362 1907201
>>907197
Да это все понятно, можно и round использоваться.
363 1907331
Возможно вопрос чуть не по теме но все же.... Кароче я хочу написать программу маленькую так как я заебался только обучаться, что можно сделать интересное, но не особо сложное чтоб еще и заодно закрепить умения знания и все такое?
364 1907332
>>907331
Что интересно то и пиши, очевидно.
365 1907390
>>907331
пиши игру на pygame. самый простой жанр это scroller типо игроком уворачиваться от предметов, или арканоид но это посложнее
366 1907603
почему 5 строчка не работает так как нужно? реально нельзя переводить математические выражения из str в int ?
https://pastebin.com/PzhNEtBL
если что я 3 дня изучаю питон я дурак не оскорбляйте пж
367 1907740
>>907603
Вместо int(res) используй eval(res)
368 1907789
>>907740
Оооо спасибо огромное
369 1907999
Нужна помощь. Что я делаю не так? Почему парсер не хочет собирать почты?
https://ideone.com/QI9lNx
370 1908051
>>907740
а это хорошая практика использовать eval или лучше максимально воздерживаться от использования?
371 1908055
>>908051
Можно использовать когда пользователь точно никак не может влиять на объект который евалят, ну максимум можно чтобы пользователь выбирал из списка, но никак не мог выбрать что-то что не задумано программистом, т.е нет в этом списке
372 1908083
>>907999
У тебя как-то дохуя нахуеверчено и без комментариев даже. Нихуя непонятно.
373 1908275
>>908083
Это какая-то спамерская хуйня, вполне возможно что там намеренно добавлены простенькие ошибки, чтобы вот такие левые хуи просто так не пользовались, лол.
Да и смысла ему что-то подсказывать нет.
374 1908309
Смотрю тут один курс который я честно купил в магазине доминика торетте. Вроде теория нормаль - функции там, библиотеки. Теория начинается нормально, но внезапно начинается логика бота с кучей илиесли которую препод быстро фигачит с минмальными пояснениями. Код с классами, обращениями, словарями, препод такой каноничный ботан в очках и рубашке, видно что опытный прогер. Голова лопается. Поэтому вопрос. Как разумить неразумимое? Наливать кофе-чай и по частям разбирать код ? Есть ли какие-то лайвхаки помимо подсветки синтаксиса? Может какой-то софт или библиотеки облегчающие понимание чужого кода? Знаю что в иде есть проверка грамматики, и есть бибилиотеки проверяющие пеп8 но это не совсем то что нужно.
375 1908312
>>908309
Ни разу не видел в курсах сложный код, в большинстве случаев наоборот упрощенный.
Вкатываешься третий день?
376 1908320
>>908312
Там достаточно сложный бот, с апи, со стейтами, с контекстом. Для нуба сложный. Вкатываюсь 3ий месяц.
377 1908362
Что это под собой подразумевает?
if current_field[y][x]:
count -= 1
378 1908385
>>908362
А что именно не ясно?
379 1908400
>>908385
первая строчка

>if current_field[y][x]:


"если массив ( то что?)" не понимаю что за условие тут
380 1908402
>>908400
Если там 0 или пустая структура, то фолс, иначе тру.
381 1908418
>>908402
Спасибо большое!
Screenshot 2021-01-12 at 20.42.45.png14 Кб, 460x134
382 1908437
Зачем импортировать 1 модуль 2 раза, разными путями?
383 1908439
>>908320
что за курс? может он подразумевает, что ты уже знаком с питоном и вкатывает тебя только в телеграм?
384 1908444
>>908439
Скилбоксовский. Апи вкудахта.

>может он подразумевает, что ты уже знаком с питоном


Поясню. Вот ты знаешь про свеклу, про мясо, про лук, про овощи там тебе рассказали про них по отдельности. И тут тебе показывают как с этого можно сварить борщ при этом быстро и с минимальными пояснениями.
Там это называется курсовая работа, пишут её какие-то опытный челики.
385 1908445
>>908437
Заменяет некоторые имплементации сишными в текущем неймспейсе, но всё остальное доступно через _.
image.png20 Кб, 569x153
386 1908452
Анонсы, кто разбирался с отправкой геолокации в aiogram? Не могу понять, какой фильтр надо поставить, чтобы отловить эту геолокацию. Сорян за скриншот.
387 1908467
>>908445
Извини, а можешь подробней. Как это происходит?
388 1908518
Кто-нибудь знает pygame? Нужна помощь по меню.
389 1908799
Как помочь IDE чтобы она поняла какой в функцию будет передан тип переменной и она включила автодополнение, когда я пишу код внутри этой функции?
390 1908805
>>908799
Лол, отбой, увидел на скриншоте выше.
391 1908839
>>907331
Мессенджер
392 1908840
>>906548
Рекомендую скачать vim, прекрасный консольный редактор. Может поначалу сложновато будет, но как привыкнешь, будешь кайфовать
image5 Кб, 403x127
393 1908859
Расскажите, пожалусто, как найти все возможные произведения в массиве из 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).
394 1908860
>>908859
Забыл кринжовые инты убрать. тут есть тред, где просто задачи решают от скуки, с нулевым знанием синтаксиса и проч., а не вкатываются? а то я тут лишний наверное
qMICofy.jpeg12 Кб, 318x263
395 1908861
>>908860
тебе на codewars надо скорее
396 1908871
>>908859
Кстати, задачу стоит упростить таким образом, чтобы речь шла только о делителях, являющихся простыми числами. Иначе вообще муть какая-то, и логика, представленная в моем посте, не очень работает. никто не желает решить с любыми делителями? было бы интересно посмотреть...
397 1908872
>>908871
>>908860
>>908859
Так, я пошёл спать, давно пора ха-ха. Тут и с простыми делителями эта логика не работает. Так что попытка сэкономить время не удалась - наверное надо просто в лоб сделать. Но узнать, как > найти все возможные произведения в массиве из n элементов, всё равно хотелось бы.
398 1908900
Стоит ли начинать читать про Flask/Django (я даже хз если они одного сорта фреймворки) если я вообще не разбираюсь во всех этих портах, серверах, протоколах и прочем? Или стоит с каких-то книг про эти основы начинать?
399 1908937
Как запускать какую-то функцию периодически по таймеру? Например каждые 5 секунд?
400 1908945
>>908937
while True:
.... my_function()
.... sleep(5)
401 1908953
>>908945
...
1. Как мне в этот event loop добавить любой произвольный коллбек?
2. Это че на тредах пилить придется? Потому что иначе все будет блокировать к херам
3. Без создания кастомного говноняного event loop не работает что ли? В asyncio этого нет?
tavr.jpg75 Кб, 700x404
402 1908960
>>908900
Вот куда ты лезешь в програмерство если у тебя базовых знаний нет?
403 1908962
>>908960
Не знал что все программирование состоит из веб-макакинга.
404 1908988
>>908962
Ну так сейчас везде интернет, как ты хотел?
image4 Кб, 403x89
405 1909049
Аноны, на вход - последовательность N + 1 чисел у1, у2, ... yN, X ; строкой. Нужно найти сумму всех чисел, меньших X, которые делятся на любой из y. Сделал спросонья в лоб (https://pastebin.com/9z0eqgap) - и теперь интересно, нельзя ли сделать решение более экономным по времени? Может есть какие-то полезные математические факты/теоремы? У меня есть функция, которая быренько ищет сумму чисел, меньших с и делящихся на а, пикрил, но от неё толку мало, когда слишком много делителей - много чисел от 2 до Х посчитается повторно, а как их исключить - не очень понятно.
406 1909051
>>909049

>делятся на любой из y


Имеется в виду "хотя бы на один из у1, ... yN".
407 1909052
408 1909055
>>909052

>https://pastebin.com/9z0eqgap)


Сорян, скобочка попала. https://pastebin.com/9z0eqgap вот.
409 1909057
https://www.youtube.com/watch?v=VASalweD0KY
>>909049>>909055

>нельзя ли сделать решение более экономным по времени

410 1909060
>>909057
Ну что ты начинаешь... Мне просто интересно, как именно математически можно увеличить скорость вычисления, в рамках одного и того же языка, в данном случае - питона.
411 1909092
>>909049
Так, мне пока что лень что-то писать, я не выспался нихрена, но есть одна идея, правда не принципиальная - надо сначала проверить все делители (у1, ... yN) на взаимную простоту, если НЕ взаимно просты, то большее число можно просто отбросить.
412 1909095
>>909092
Подождите, не на взаимную простоту, а на наличие общих кратных. Если, например, есть число 63 и число 3, то большее, 63, надо отбросить. Вот.
413 1909106
>>909095
>>909092
Не-не, глупость. Контрпример сразу придумал - 57 и 63, ни одно из них не надо отбрасывать. По-другому - если один делитель нацело делится на другой делитель, то больший надо отбросить, вот.
414 1909168
>>909049
Поясни на примере, я чота условие понять не могу.
Допустим, на входе (2, 5, 8, 14, 20), где Х = 20.
415 1909173
>>908953
Слова какие-то незнакомые говоришь.
asyncio.run(my_function()) не подходит?
416 1909213
>>909168
Ну вот, нужно найти сумму чисел, которые меньше 20 и делятся на хотя-бы один из (2, 5, 8, 14). То есть, 2 + 4 + 5 + 6 + 8 + 10 + 12 + 14 + 15 + 16 + 18.
417 1909233
Посоветуйте какой-нибудь учебник по статистике, можно англоязычный. Почему заинтересовало - сейчас наткнулся на разговоры об избыточной смертности от короны - и чисто интуитивно понятно, что если мы посмотрим среднюю смертность за последние несколько лет, а после на смертность в этом году, и увидим разницу в 300к чел., то скорее всего примерно столько, плюс-минус несколько тыщ, смертей и обусловлено короной. Вот хотелось бы увидеть математическое доказательство работоспособности подобных методов.
418 1909243
>>908861
Я кстати решил вместо дроча задачек, изучить основу работы интернетов и прочие фундаментальные принципы.
Думаю это будет полезней чем решать задачи которые можно нагуглить.
Конечно это качает моск, но нахуя мне тратить на это время, если я могу изучать основы!
419 1909245
>>908962
Проще без дроча запилить приложение в браузере чем ебстись с портированием на все устройства.
420 1909256
>>909233
Вот основы https://www.udemy.com/course/statistics-probability/ (на торрентах есть этот курс)

Дальше уже ищи учебники
421 1909281
Как реализовать баны в джанге*
422 1909301
Привет я занимаюсь питоном 5 день я даун дурачок у меня есть вопрос. Кароче я заебался от просто питона слегка и решил освоить tkinter вот для первой программы я решил выбрать калькулятор, а теперь сам вопрос: возможно ли сделать так чтоб человек нажал на кнопку и в поле ввода добавился текст?
423 1909302
>>896798 (OP)
Анон, посоветуй виртуалку линуксовскую чтоб с винды запускать. На работе не дают накатить другую ОС.
424 1909320
Аноны, хелп
Не могу никак найти источник, где объясняют ВСЁ ПОДРОБНО, почему-то все каналы для начинающих рассчитаны на тех, у кого уже есть какие-то знания, а вся литература даёт только слишком базовые знания.
Ещё нужно понять, что именно и в каком порядке изучать в питоне, я уже знаю:
- переменные и их типы
- if/else
- списки и циклы
- буфером обмена
- файлы, запись, чтение
- функции
- регулярные выражения
ВСЁ, дальше хотел разобраться в библиотеке requests и ОХУЕЛ ОТ ТОГО, ЧТО НИКТО НЕ МОЖЕТ ОБЪЯСНИТЬ ВНЯТНО И ПОДРОБНО, а рассказывают так, как будто я блять всю жизнь писал на С++ и решил освоить питон. Перебрал уже 50+ источников.
СУКА, помогите, умоляю, двач - последний рубеж надежды
425 1909325
>>909320
Зачем ты решил НАЧИНАТЬ с питона? Это очень сложный язык.
426 1909327
>>909320
Что конкретно тебе не понятно?
427 1909334
>>896798 (OP)
Всем здравия. Порекомендуйте книжку для вкатывания в питон. Лучше на английском.

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

Почитал шапку, но гайд 2015, кидает на статью на хабре 2012, которая кидает на книгу 2010, 2010, Карл!. А в превой ссылке на книжки просто свалка книг. Поэтому что читать не понятно.
image.png119 Кб, 420x317
428 1909335
>>909327
Ну, вот, например:
5-я строка непонятна вообще, что такое search_query? Это ключ и значение?
6-я строка, непонятна конструкция url,data=query, что она делает? Почему именно так?
Что такое response? Когда применяется?
13-я строка: что конкретно он хочет получить этим?
429 1909339
>>909335
Ты не понимаешь не питон, а программирование в целом, включая сетевые протоколы. Иди учи, как работает HTTP.
430 1909342
>>909335
Анон, тут дело не в питоне, у тебя убито мышление, нужное для программирования. Иди кури математику школьную.
431 1909344
>>909339
Блять, боже, иди нахуй
432 1909345
>>909344
Дай угадаю, очередной ВОЙТИВАЙТИ безработный мамкин хуй?
433 1909351
>>909335
Это не ты тут выше постил какого-то спамбота?
434 1909378
>>909351
Нет
435 1909379
>>909339
Что конкретно я должен об этом знать? Что такое get-запросы?
436 1909381
>>909378
Чому тогда ты пишешь что знаешь что такое списки и спрашиваешь что такое куери?
437 1909391
>>909379
Напиши функцию для отправления гет и пост запросов на чистых сокетах, потом добавь заголовки и хендлинг печенек.
Для начала этого хватит.
438 1909481
Немного не по теме
Есть люди которые пользуются Atom IDE?

В последнее время он начал жадно кушать систему (проц грузит до 50%)
Есть идеи как исправить?
439 1909594
Пиздец, в институте где работаю требуют учить питон или АР (хуй знает что это даже) от всего химбио штата, типа будет перепрофилирование. В связи с этим вопрос – мне нахуй увольняться сразу или это не так страшно?
440 1909623
>>909594
С такой манерой речи и подходу к новому, надеюсь тебя под жопу выпнут из образования.
441 1909626
>>909594
Увольняйся сразу, такие дебилы как ты нахуй не нужны.
442 1909644
>>909302
WSL чем не устраивает?
443 1909695
Блять, почему нет никакой реализации приватных чатов на джанге? Вообще нихуя не гуглится
444 1909759
>>909695
Напиши сам.
445 1909776
Посоны, а каково мнение русских реперов по данному вопросу?

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 теперь не работает из дудоса? и это навсегда?
446 1909777
>>909695
пошол нахуй, наркоторговец.
447 1909780
>>909695

>Блять, почему нет никакой реализации приватных чатов на джанге?


троллейбус из буханки хлеба.жпг
448 1909781
>>909594

> АР (хуй знает что это даже)


это R. Programming language.
Полезно так то.
449 1909784
>>909623

>такой манерой


Какой?

>подходу к новому


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

>>909626
И тебе не хворать.

>>909781
Благодарю за ответ.
450 1909786
>>909784
да тебе не надо с алгеброй ней работать. R - высокоуровневый.
посмотри еще такую программу Orange.
Хотя в ML-треде ее регулярно обоссывают DL-зумеры, она представляет собой значительный прорыв в науке. Очень нравится таким как ты.

Потом, возможно созреешь до Knime.
451 1909788
>>909786
Большое спасибо, пойду посмотрю что она из себя представляет.
452 1909790
>>909245
Питон то и не требует ничего для портирования. Максимум закинуть в экзешник интерпретатор с исходниками.
453 1909791
>>909788
ютубе есть неплохой русскоязычный курc по Orange . Ученым он даже возможно слишком простым покажется.
Если вы в своем пердежном институте даже классический statistical learning не применяете, Orange - это пиздец, прорыв.
Но для использования актуальнейших алгоритмов там нет ничего. Вот тут нужен питон.
454 1909807
Есть какое-то простое решение для кеширования?
У меня на одну строчку внешний сервер возвращает большую структуру данных, я её просто складываю в словарь и по нужде проверяю.
Но надолго же не оставишь, память пожрётся, нужна какая-то ротация кэша с учётом частоты использования.
455 1909826
>>909786

>DL-зумеры


Покажи мне отдельный тред по R, дядя, потом ной.
456 1909898
>>908444
Так в чем проблема применить материал, который тебе дали? С такими аналогиями из тебя бы вышел отличный заказчик-еблан
457 1909905
>>909335
Ты еще здесь?
458 1909909
>>909898
Че агришься? Опять на фрилансе кинули?
459 1909910
Анон, поясни мне в чём я мудак, пожалуйста.
460 1909911
>>909807
lru_cache
461 1909913
>>909910
У тебя точка вместо ньюлайна. Сделай через f-строки.
462 1909916
>>909913
Спасибо
463 1909920
>>909909
Уже давно не фриланшу, да и не агрился а сказал как есть. Просто задетектил вкатуна 25+
464 1909923
>>909920

>задетектил вкатуна 25


17 лвл, лел.
16106037383943.jpg127 Кб, 952x1200
465 1909929
>>896798 (OP)
Кто из анонов в прошлом году вкатился на джанго, запилите кулсторей плиз про собесы и саму работу
466 1909944
Народ, кое-что в вашем языке пиздатом мне совершенно не ясно
В си-подобных языках совершенно понятно, как передается тип переменной в функцию (по значению или по ссылке)
В питоне, в целом то, тоже ок.Однако я не могу никак найти вразумительный ответ на тему того, как в функцию передается класс. Подскажите плес
467 1909978
>>909929
Веб на питоне не пишут, там процента два его на рынке. А итт сидят одни вкатыши безработные.
468 1909988
>>896798 (OP)
Какие посоветуете книги о Питоне на русском для новичка? Английский знаю хорошо, но русский, как мне кажется, запоминается получше.
469 1909989
>>909978
А что на нём пишут по твоему лол
470 1910003
>>909978
Ты ебанутый, джанго и фласк лишь едва уступают пыхо фреймворкам
471 1910010
>>909988
Совсем новичек?
472 1910011
>>910010
Я знаю как работает компьютер.
AnimeFignya3.png26 Кб, 560x521
473 1910019
>>910010
Помогите пожалуйста...
474 1910028
>>910019
https://younglinux.info/python.php

Вот тут на русском и СУПЕР доходчиво. Можешь даже авторку поддержать и купить книгу рублей 100 стоит может чуть больше, не помню
475 1910030
>>909989
>>910003
Это язык для скриптов, макросов и дата саенс. Про фреймворки это куски питона торчат в структуре проектов, но додики их тащат в свою стату
476 1910032
>>910028
Спасибо вам добрый сэр!
477 1910037
>>910032
И советую установить jupyter notebook
Это такая хуйня, которая будет в браузере запускаться и там ты можешь писать код. Но фишка в том, что можно всяко изучать переменные и данные без пердолинга(как это в специальных текстовых редакторах которые созданы для написания проектов).

Из минусов, это немного тормознутое автодополнение.
478 1910039
>>910030
Жирно чел
Screenshot.png110 Кб, 1439x859
479 1910043
>>910037
А у меня тут в VSCode уже выскочил какой-то...
480 1910045
>>909944
В питоне всё объект и передаётся по ссылке. Но есть объекты иммутабельные, а есть мутабельные.

Любая переменная в питоне - это всего лишь id объекта.
481 1910046
>>910043
Погугли как его установить, это не то. После установки будешь его из командной строки запускать и тебя будет направлять в браузер.
15887780752390.png234 Кб, 603x324
482 1910130
>>910043
не ставь. это вредно.
это испортит становление тебя как классического программиста и только лишь приведет тебя к запутанным багам из-за разного порядка выполнения

Ноутбуки нужны датасаентистам, потому что результат их работы - Решение Проблемы, а не макакичный код.
483 1910240
>>910037

>И советую установить jupyter notebook


>>910130

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


Автокомплит плохой, ошибки не подсвечиваются, разбить код на несколько файлов нельзя, использовать гит нельзя. Основную фишку - интерактивную консоль с возможностью запуска произвольных кусков кода - завезли в пайчарм (в VS код скорее всего тоже, но я не проверял). Изучать переменные и данные в жупитере можно только через print, что крайне неудобно. В общем, ноутбуки - хуйня без задач, включая датасаенс.
484 1910249
Анон, есть ли в питоне способ вывести одной переменной несколько объектов на разных строках? То есть чтобы при print(x) переменная выводила результаты не в строку, а каждый результат с новой строки?
Заранее спасибо.
485 1910251
>>910249
sep='\n'
486 1910253
>>910251

>sep='\n'


Ебать как же охуенно, нефти тебе
487 1910258
>>910045
ну ок
а как сделать кастомный класс иммутабельным?
488 1910266
Я хочу охуеть и сделать пробелы ПЕРЕД выводимым значением объекта. Но иде ругается PEP 8: E201 whitespace after '('. А как тогда? Сепарами?
489 1910280
Спустя три года работы я узнал, что в пайтоне можно писать несколько print подряд.
490 1910292
>>910280
Теперь синьйор?
491 1910294
Порылся в шапке по книгам, не нашел. Так вот есть у кого Two Scoops of Django 3.x: Best Practices пдф. Или сайт где сливают пиратские книги?
492 1910338
Пиздец, у меня в городе полторы вакансии на джуна на питоне. Ебаная корона+зима. Поэтому вопрос — реально ли выйти на фриланс джуну и если да, то на каких платформах? Чисто ради пары лишних тысяч в месяц и хоть какого-то опыта.
493 1910372
>>910338
Чтобы ты понял насколько всё хуёво - мне предлагали 8к + проездной за ведение полноценного дс проекта. Я конечно взлольнул, но призадумался.
БЛЯ.jpg100 Кб, 815x285
494 1910385
обясните дауну в двух словах если ввообще возможно.
Попробовал скачать с хаба готовый проект (так вроде лучше всего учить, не?), так вот когда пишет
Using the below command you can generate a video

>python3 __init__.py face ben.jpg morgan.jpg 5 25 example.mp4


Я хоть туда ввожу? Или как это вообще работает? Или я че-то не правильно установил...? или надо обратить внимание на warning вверзху?
495 1910391
>>910385
Чтобы ты понял уровень абсурда ситуации приведу аналогию. Вот есть такая строчка "Чтобы перезапустить роутер нажмите на кнопку On/Off, подождите 5 сек и нажмите на кнопку On/Off еще раз". Ты нашел кнопку на клавиатуре, написал на ней фломастером On/Off, жмякаешь на нее и спрашиваешь что пошло не так. Попробуй начать с чего-то более простого, скачай питон с офсайта, там идет IDLE в комплекте. Найди любую книжку по питону в интернете и там чисто все по порядку делай.
>>910372
Что такое дс проект? Ты тоже джун?
496 1910414
>>910385
ок уже разобрался
497 1910438
>>909213
Я подумал, что можно воспользоваться формулой вычисления членов арифметической прогрессии. Потом закинуть эти числа в множество, повторить на остальных элементах списка и проделать операцию объединения множеств.
Но! Почему-то у меня в множество попадает и последнее число. Например, из списка sample = [x for x in range(3, 21)] для 4 последнее число 20. Я не очень силен пока в кодинге и не могу побороть это.

def get_sum(a1: int, sample: list) -> set:
....limit = (sample[-1] // a1)
....s1 = [a1 + (i-1)*a1 for i in range(limit+1)]
....return set(s1)
498 1910457
Объясните тупому. Есть в меня ЕС2 сервак с обычным убунту на нем. Для того чтобы ранить авто тесты (ЮИ) на питоне, нужен ли мне докер контейнер или докер компос? Или можно просто ранить на этом сервере? В чем мулька иметь докер или нужен ли он в данном случае. Тестов очень много, будут гоняться раз в три дня кучей.
499 1910464
>>910457

>? В чем мулька иметь докер


Докер не нужен. Профиты от него:
1. Один раз собрал контейнер (имеется ввиду написание докер файла) и дальше используешь где хочешь. Без него тебе прийдется поддерживать твой ЕС2 сервак в определенном состоянии (установленые пакеты, версии пакетов, версия ОС), тогда как с докером тебе нужно только чтобы на твоем сервере работал докер и все.
2. Все гавно запускается и убивается одной командой. Без докера тебе нужно самому будет запускать и останавливать все нужные сервисы. Конечно это автоматизируется скриптами, но с локером как-то попроще.
3. Моджный, молодежный.
IMG20201115141531504.jpg15 Кб, 233x245
500 1910466
>>910457

>В чем мулька иметь докер


Можно пить смузи пока сервер под высокими нагрузками.
501 1910468
>>910372

>мне предлагали 8к + проездной за ведение полноценного дс проекта


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

В джанге есть модель пользователя, у пользователя есть атрибут is_blocked. Мне нужна кнопка в админке - "BAN", которая меняет это поле с Fasle на True. Как это реализовать?
503 1910477
>>910464
Ну вот мне нужно как и для моей машины только поставить гит, чтобы тянуть код оттуда или как я его закину с гитхаба в докер?
Потом мне нужная всякая ботва типа анаконды для среды в котором это все будет ранится.
Как мне все это организовать? Спасибо.
1366472109693.jpg11 Кб, 200x200
504 1910481
>>910472
if кнопка доун:
if is_banned ==True:
is banned == False.
photo2020-12-0313-26-34.jpg53 Кб, 811x608
505 1910498
>>910338
потому что "питон - самый популярный второй язык".
но если ты знаешь только один язык, то для тебя нет вакансий.
506 1910499
подскажите плиз какой нибудь способ / библиотеку чтоб сделать удобный cli для своего скрипта. click и fire дают только запустить. А я хочу в реальном времени писать команды.
507 1910501
>>910372

> полноценного дс проекта


трансформация данных из экселей это не дс-проект. Хотя многие в дс вынуждены этим заниматься, они то знают свою конечную цель.
тебе просто предложили простую и грязную часть DS.
508 1910509
>>909910
О, курсера.
Это какой курс, браток?
погружение в питон или основы питон? выглядит как основы питон, первая неделя вроде.
509 1910515
Можете подсказать, чем отличается raise от except? При except мы просто ловим исключения, а при raise сами прикручиваем описание?
raise тип исключения('<описание проблемы>') ?
510 1910516
>>910457
Докер нужен для изоляции сервисов от системы, чтобы ты мог поднимать много сервисов с разными настройками независимо друг от друга и т.п.

Он нужен, когда сервис занимает сетевые порты, прописывает себя в системные директории вроде /etc, /var и т.п.

Для тестов скорее всего докер не нужен, тебе нужно какое-нибудь виртуальное окружение питона, которое даёт достаточную изоляцию.

Если же тебе для тестов надо поднимать, например, копию своего веб сервера, то тогда уже пользая есть. Либо если твои тесты могут менять систему.
511 1910517
>>910515
raise - выбрасываешь исключение
except - перехват исключений
try:
#your code
except Exception as ex:
print(ex)
512 1910520
>>910517
То есть "перехват", это что делать при той или иной ошибке, а "выбрасывать" - показывать ту или иную ошибку?
513 1910523
514 1910524
>>910523
Спасибо!!!
515 1910525
>>910499
бамп вопросу
516 1910529
>>910525
Есть штатный модуль cmd, может это тебе надо?

https://docs.python.org/3/library/cmd.html#module-cmd
517 1910532
>>910529
Выглядит как то что нужно. Спасибо!
518 1910544
>>910498
а какой еще язык с ним надо знать?
519 1910568
>>910501
Вот это перемога
Снимок.PNG32 Кб, 615x568
520 1910590
>>910240

>только через print


С чего вдруг? В этом и суть что не фига не через принт.
Снимок.PNG6 Кб, 172x165
521 1910594
522 1910666
>>910544
С точки зрения вкатывальщика-работяги любой из трех: пхп, ява, дотнет.
Это не значит что они лучше, но таков рыночек легаси и грязной работы.
523 1910718
>>910666
а с точки зрения ПРО? плюсы?
524 1910724
>>909594
Так учи с радостью. Классные вещи, потом сможешь перекатиться если что.
525 1910911
>>910666
Самое говно перечислил, лучше знать вторым языком го если чистый бэк, либо тс + ангуляр если фулл стек. Самые жирные и интересные вакансии на таком стеке.
526 1910913
>>910911
И работу нужно искать в дс конторах, либо удаленка на запад.
527 1910954
>>910724
Уже начал курсы проходить, правда всё ещё колеблюсь между R и питоном, ибо мне про оранж выше сказали. Но по питону как-то в мириады раз выше информации будет. Про перекатиться не знаю, я математикой не владею на нужном уровне, а питон, как я понял, требует огромного знания высших математических дисциплин. Но вообще интересно.
output2.mp41,7 Мб, mp4,
1024x1024, 0:05
528 1910957
Мля кто шарит...
Что где надо поменять чтобы убрать ебаную сетку?
Там вроде всего 9 файлов но не могу найти. Это вообще здесь менять или где-то в ебенях opencv?
https://github.com/Azmarie/Face-Morphing/find/master
529 1910968
>>910957

>2021


>фейкайди и прочие фейстаймы


Уебывай из машоба продавать туфли на рынке.
530 1910970
>>910954
Ничего никто не требует. Они все элементарные языки.

Это конкретная отрасль/вакансия может требовать, и то не факт.
Школьников и первокурсников учат на питоне
531 1910979
>>910954
если ты знаешь математику в пределах школы, то этого хватит, если не собираешься нахуеверчивать научные мегабиблиотеки.
532 1910980
>>910970

>Ничего никто не требует


Кукарекнул джун с 10к зп в душном опенспейсе. А настоящие сеньоры-мужики естесна знают вообще всё, топологию, линал, функциональный анализ, теорию автоматов и так далее. Поэтому этот залетный долбоеб-вкатыш естесна не осилит.
533 1910982
>>910980
Ну это ты толстишь
534 1910986
>>910982
Разве что про 10к зп, всё ж даже у джунов она куда больше. А так нет.
535 1910998
Я ебал ваш питон и ваши курсы. Дана последовательность из 2020 натуральных чисел. Требуется возвести каждое из них в степень, после чего определить какие из полученных результатов кратны 4, не кратны 8, кратны 22 и не кратны 189. Выведите сумму этих чисел.
Вводится 2020 натуральных чисел.
536 1911007
Так, если нечет покупаю машоб сертификат на курсере, если чет делаю охотбилет и убиваю себя летом.
output.mp4588 Кб, mp4,
1024x1024, 0:05
537 1911056
>>910957
бля чето не то убрал...
>>910968
хуле ты такой злой, а?
538 1911058
>>910590

>С чего вдруг? В этом и суть что не фига не через принт.


>>910594
Это по сути тоже самое. В жупитере нет отдельного окошка с переменными, как в пайчарме и вс коде.
output2.mp4671 Кб, mp4,
1024x1024, 0:05
539 1911107
>>911056
ок сам нашел... спс блять
так наверное даже лучше, мозгами хоть поработал
540 1911108
>>911107
Так блять говно же, ну в самом деле говнище.
541 1911109
>>910986
полностю согласен
я пока докторскую по функциональному анализу и топологию не защитил, даже мидлом не брали
слава богу, поступил в мфти третий раз (ну третий дисерт же. конечно три высших еще маловато до сеньора, но все же) и взяли мидлом за 30к рублей - еще пару научных степеней - и можно будет попробовать пойти куда-то дальше технического писателя
output3.mp4566 Кб, mp4,
1024x1024, 0:05
542 1911186
>>911108
лучше чем ничего.
Плюс если фотки не шакальные то немного получше результат
543 1911190
>>911109

>я пока докторскую


колбасу?
>>911186
Нит.
Screenshot.png116 Кб, 680x414
544 1911269
>>896798 (OP)
Почему эта хуйня не работает на Windows 7?
545 1911284
>>911269
Потому-что ты долбаёб, читать не умеешь.
546 1911288
>>911284

>python for windows


>не работает на windows


>Потому-что ты долбаёб, читать не умеешь.



До слёз...
.png56 Кб, 1052x119
547 1911292
>>911288
Видимо, серьёзно не умеешь.
.png19 Кб, 1026x107
548 1911297
>>911288
Ну и гуглить, видимо, тоже.
Признавай, что ты обосрался. Я жду.
16085435067050.png37 Кб, 293x326
549 1911299
>>911292
>>911297
Зачем ты так мощно меня приложил?...
550 1911351
>>911297
Пиздец причина, пусть идет нахуй тот микрософт.
551 1911360
>>911351
Так не микрософт же виноват, а PEP11.
552 1911367
>>911360
Все виноваты. Микрософт хочет поскорее закопать, этим лень возиться, хотя можно было просто забить.
553 1911383
>>896798 (OP)
Поясните должен ли django раздавать статику? или это должен делать nginx? у меня по сути есть сингл пейдж приложение и я index.html и js и css закинул в /var/www/static/ и по сути статику раздает nginx а api уже обрабатывает джаного, но т.к у меня SPA приложение то джанго у меня ловит все урлы которые не относятся к API и возвращает index.html который лежит в templates/myproject/index.html . но этот собственно index.html это копия из /var/www/static/ . и получается так что у меня на хостинге лежит просто приложение которые лежит по адресу / раздаёт ngnix а если надо роут которые прописан в конфиге vue-router то получается это запрос уже обрабатывает джанго. КАКАЯ ТО ХУЙНЯ ВЫШЛА. что делать? у меня нет в джанго юрлс ардресс / ничего не обрабатывает, это делает nginx. Я слышал что типо нельзя статику джангой раздавать потому что это всё качается через 1 процесс и если у клиента супер медленный интернет и таких клиетов много то кончатся все процессы нах в системе, разъясните этот момент ПЛЗ
554 1911384
>>911367
Они только недавно избавились от поддержки питона 2.7, дай им отдохнуть =D
555 1911386
>>911383
nginx стоит жопой в интернет и обслуживает всех клиентов, всё что может раздает сам, а динамику передает жанге. Больше тебе ничего знать не надо.
556 1911387
>>911386
что такое динамика
557 1911388
>>911387
Страницы, генерируемые питоном.
558 1911389
>>911386
у меня джанго раздает только index.html если надо облуслужить путь который прописан в vue-router. а если надо просто выплюнуть / то это делает nginx. Похуй что джанго отдает 1 страничку всего?

>>911388
у меня таких нет всё рисует джава скрипт из данных которые приходят через django rest framework
559 1911391
>>911389
Ну вот у тебя DRF динамика, всё остальное статика и должно раздаваться сразу nginxом.
560 1911392
>>911391
а как мне например обработать site.com/user/1 так чтобы этот адрес отдавал не джанго? у меня есть в url такая штука

url(r'^.*$', TemplateView.as_view(template_name="index.html"))
и это прописано в самом конце urls, смысл в том чтобы все урлы которые не отностся к api обрабатывал vue-router, а без этой сточки он не обрабатывает, а с этой строчкой получается что django отдаёт страчку вместо nginx
561 1911401
>>911392
Тебе нужно в самом nginx настроить, по какому урлу он будет передавать в жангу, например, /api, а всё остальное он раздаст сам.
562 1911443
>>911401
Получается всё что не /api должно редиректится на index.html ? потому что у меня типо роутер на фронте сам этот вопросик решает, правильно понял?
563 1911455
>>911443
По-моему, эти фронтовые фреймворки вообще не выпускают запросы на бэк, а сами перехватывают, так что дополнительно ничего делать не надо.
564 1911481
Решил разделить программу на пару файлов. В первом есть базовый класс, во втором импортируется этот класс (from module1 import myClassName) и на его базе делается еще один класс. Почему python мне говорит что не может найти myClassName?
Так и пишет: no name 'myClassName' in module 'module1'
565 1911485
>>911481
пс это появляется если сделать пакет из папки добавлением __init__.py
566 1911487
>>910516
Спасибо! Ну вот я и планировал использовать анаконду для тестов.
А как-то можно гитэаб настроить или гит чтобы он сам пулил код с общего репа? Или просто заходить и пул делать самому?

Можно ли сервер настроить так, чтобы на нем тесты гонялись сами по себе скажем раз в день? Чтобы я даже не заходил в него запускать их?
567 1911488
>>910998
Задача реально начинающего. Даже не джуна.
fd571fab704729e8ace7d0c1d4748204.jpeg28 Кб, 398x400
568 1911534
569 1913791
>>910998
result = [i2 for i in range(1, 2020) if not i 2 % 4 if i2 % 8 if not i2 % 22 if i2 % 189]

Тоже мимо вкатываюсь, изучаю джанго, пока скучновато. Поясните, питонисты, в конструкции написанной выше же не будет каждый раз число возводиться в квадрат? Он же зарезервирует i
2 в память и будет обращаться как к ссылке?
570 1913793
>>913791
result = [i\\ 2 for i in range(1, 2020) if not i\\ 2 % 4 if i\\2 % 8 if not i\\2 % 22 if i\\2 % 189]

хотфикс, если не работает то там двойки в квадрат возводятся
571 1916476
универсальный парсер в питоне?
можем кто дать ссылку как и что делать?
да я нуб и тупой
None None 572 1976808
None
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 2 мая 2021 года.

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

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