image.png425 Кб, 512x512
Тред про язык программирования Питон, #169 /python/ 3136432 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #169

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

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

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)
https://github.com/yakimka/python_interview_questions - интересная подборка, масса разнообразных тем и вопросов, для продолжающих, всё на русском

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

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

— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать?
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

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

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущая шапка: https://goonlinetools.com/snapshot/code/#154ln61u1e2e5b4kfv6w8r
2 3136516
Первый нах!
image.png249 Кб, 760x807
3 3136638
База треда:
Python - язык для школьников и data science.
Работы в разработке на питоне нет.
Питон - плохой язык, который учит плохому.
4 3136664
>>36638
Говна наверни, уёбок.
5 3136669
>>36638

> Моё, например, скорость


кто жизнь познал, тот не спешит
6 3136683
>>36638

>для школьников и data science


Нихеровый такой разброс
7 3136689
Аноны, вы тут такие умные охренеить. Хочу подучиться. Вот я парсю бутифулсуп сайт хакера. неполучается найти все теги < p > с классом "block-exb"

Падла файнд_олл делает пустой список !!! НУ ПОЧЕМУ?????
Он не умеет искать _внутри_ тэгов что-ли??

https://pastebin.com/raw/7n9vr8NG
8 3136690
>>36689
это где descr. descr == [] вот почему ?????
9 3136709
>>36638
понюхай писи и успокойся. Ты не вписался в рыночек просто..
10 3137019
>>36689
Заўваж, ты з самага пачатку дадаеш адзінку да старонцы. А на старонцы https://xakep.ru/1/ няма ніводнага блёку < p > клясы "block-exb", таму не зхнаходзіць. Выпраўлены варыянт https://www.online-python.com/DaE7xOedvp
11 3137133
>>36638

Походу бэкендеры инстаграмма и других единорогов не в курсе
12 3137139
>>37019
Упоролся чтоли переменные транслитом обзывать?
13 3137145
>>36638
мамка твоя учит плохому
14 3137167
>>37019
Съжалявам, не те разбирам. Бихте ли могли да пишете на английски?
15 3137170
>>36709
Двачую. Я раньше на джаве писал бэкэнд. Лет 8 назад перешел на питон. Сейчас параллельно на го немного код поддерживаю. Питон очень приятный язык, особенно с тайп хинтингом и pydantic
16 3137280
>>36432 (OP)
Знатоки Джанго, что это за хуйня?
Делаю загрузку файла через django rest. Сваггер автогенерируется через drf-spectacular. Накидал ручку, захожу в сваггер и вижу вот такую вот ебень на 1м пикриле, фастапи мне без заебов генерил форму через которую я мог нажать на кнопочку, выбрать файл с моего компа и загрузить его через multipart-formdata, тут же какая-то ебень - просит мне строку двоичную для файла вставить
17 3137299
>>37139
Па-беларуску, а не транслітам.
18 3137349
>>37299
Պիդորաս, պիշի պո-րուսսկի, հվատիտ վիեբիվածյա
19 3137458
>>37019
Ни слова не понял. Ты что долбоёб?
image.png386 Кб, 1722x909
20 3137550
Почему так?
Не, я пынямаю, что могу ПРОСТО прикрутить настройки дпи или масштабирование на дефолтное поставить, но почему разработчики вообще допускают такое мыло в 2024? Это ж не васянская программа, а оффффициальный установщик
21 3137559
>>37550
Потому что подавляющая часть погромистов на питоне пользуется линухом
22 3137586
>>37458
Это старый гомосек, охотящийся тут на молодые немытые сраки полуджунов.
faa9174ecb2cad5bd30e067a8703640e.jpg72 Кб, 800x400
23 3137597
>>36638
как будто что-то плахое?
24 3137682
>>37550
ПОЧЕМУ ТАК?
МНЕНИЕ?
В ЧЁМ НЕПРАВ?
УЗНАЛИ?
СОГЛАСНЫ?
БАЗА ИЛИ КРИНЖ?
ТВОИ ДЕЙСТВИЯ?
ОПРАВДАНИЯ?
А ЧЕГО ДОБИЛСЯ ТЫ?
ЕБАЛО?
ОТКУДА ЭТО ПОШЛО?
ПРОСТО ХОЧУ РАЗОБРАТЬСЯ
А У ВАС КАК ДЕЛА?
СЭЙМЫ ЕСТЬ?
ПРОСТО НАПОМИНАЮ
У МЕНЯ ОДНОГО ТАК?
КАК ФИКСИТЬ?
ПОДВОДНЫЕ?
ЧТО СКАЖЕТЕ?
ЧТО ДУМАЕТЕ?
ЧТО ДЕЛАЕТЕ?
ЧТО ДЕЛАТЬ?
КАК ПЕРЕСТАТЬ?
ЧТО ТЫ МОЖЕШЬ ЕЙ ДАТЬ?
25 3137836
>>37597
Блять как я ору когда с фриланс бирж мне приносят код со словами "чото не работает", а там как раз эксепшены с пассами и принты вместо логов, зато за 500 рублей
26 3137982
>>37836
А тебе зачем их приносят?
27 3138265
>>37982
Переделываю их за 1000 рублей
28 3138705
>>37550
Возможно потому что через терминал как правило устанавливают люди
29 3138726
>>37550
Людям дали choco, scoop, winget для удобной установки и обновления программ
@
Нет, хочу качать инсталляторы и жрать говно
30 3139346
>>37019
СПАСИБО ТЕБЕ !!!
А почему на страницах 1,2, и прочих нет таких классов-то ???
Эксепшн поставил - заглушку...
31 3140214
Как питонировать? Как стать специалистом питона?!
32 3140254
>>40214
Мы не знаем, спроси в другом треде
33 3140294
А чего это там гугл всех поувольнял?
34 3140309
>>40294
Перевел в другой офис, в мурике дораха
35 3141102
>>40214
Судя по твоему вопросу ты не умеешь читать и искать информацию, значит ты уже питонист профессионал
36 3141104
В таком случае, как монетизировать свое питонирование? Как получить деньги на основании того, что я питон-специалист?!
37 3141105

>>3139573


Заткнись, драник
38 3141206
>>41104
Боюсь, легальных методов нет.
Стикер512x512
39 3141222
Аноны я как-то думал что один дома и решил немного попитонировать. Ну открыл пайчарм и начал питонировать а оказывается батя и мамка дома были, они зашли и всё увидели. Теперь из дома выгоняют. Как быть.
40 3141260
>>41222
Скинь фотки во время питонирования, может подскажем чего
1714581658614.mp48,1 Мб, mp4,
1080x1920, 0:54
41 3141412
>>41222
Не спеши унывать. Регистрируешься на Instagram и OnlyCode, на первом снимаешь видео и фотки как ты типа питонируешь, но не по настоящему и оставляешь ссылки на свой OnlyCode, а на самом OnlyCode уже по настоящему питонируешь и жёстко, можешь даже с кем нибудь вместе питонировать, и выкладываешь всё это по платной подписке и за разные особые денежные подарки для подписчиков. Всё, мама и папа больше не нужны, можешь уехать в теплые страны и там питонировать сколько угодно, твои донатеры тебя будут содержать
image.png163 Кб, 2127x1063
42 3141507
Почему ошибка 503? Что я делаю не так?

И нет, не надо мне советовать requests, он палится антибот системой. Мне нужно отсылать именно сырой реквест, чтоб иметь полный контроль над тем, что отправляю на сервер.
43 3141576
>>41507
У тебя HTTP/2. Емнип requests_raw его не поддерживает, говняка в заголовках вроде нет
44 3141587
>>41576

>Емнип requests_raw его не поддерживает


Не подскажешь библиотеки, которые поддерживают?
45 3141639
>>41587
это https://hyper.readthedocs.io/en/latest/ вроде подойдет
46 3142971
>>41222
Да, тебе теперь не сладко из-за змеи паганой. Но, согласись, что сам виноват же. Нельзя пайчарм расчехлять же так просто!! Нужно как-то скрытно быть!
47 3142973
>>41222
Многим же удавалось как-то от предков скрываться, я думаю. Но тут нужно спросить как. Я вот тоже не смогу так...
48 3144010
49 3144134
Пытаюсь в какие-то петпроджекты на питоне. Щас вот написал на селениуме штуку, которая заходит на сайт, логиниться, открывает ~50 вкладок и завершается, оставляя хром. Идея в том, чтобы потом уже мануально работать с этими вкладками. Код работает, но спустя какое-то время хром виснит. Причем, я всё ещё могу окно перемещать, всё ещё могу нажать на вкладку, навести на иконку хрома в таскбаре и увидеть там, что переключения сработало, но вот само изображение в окне не поменялось, показывает старую вкладку. Драйвер хрома я явно не указываю, запускаю так

options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver=webdriver.Chrome(options=options)
driver.get("https://www.test.com")

Есть какие-нибудь идеи, что может к этому приводить?
50 3144249
>>44134
На днях одну хуйню делал с селениумом, и ничего не зависало, можно было работать и после завершения скрипта, правда вкладка была всего одна. Может 50 вкладок слишком много для компьютера. Или где-то надо указать что для работы твоей программы надо снять ограничение на потребление оперативной памяти. В Visual Studio при работе с языком C/C++ вроде можно в свойствах проекта указать объем выделяемой памяти под heap/stack/или как это называется я не помню я не погромист.
ОП 51 3144360
Пчелы, а реально ли попасть в сбер питунистом свитер без в/о? Одного чела на ётибе видел, типа после курсов лохобокса взяли
52 3144363
>>44360

>свитер


Свитчером
53 3144523
>>44360
Раз ты видел одного чела, значит, реально?
54 3144592
>>44523
дык может реклама
55 3144669
>>44592
Дык может мы тебе тут напиздим
56 3145182
>>44134
Это у тебя петпроект такой, запустить хром и открыть вкладки?
57 3145211
>>45182
эт я селениум изучаю, чтобы потом чот побольше сделать
58 3145216
>>44134
Хром почти нереально заставить работать стабильно. Всегда будет какая-то хуйня происходить, то память утекать, то зомби-процессы оставлять, то ещё что-нибудь. Единственный способ с этим бороться - это либо распараллеливать на несколько компьютеров, чтобы 1 хром запускался на одном компьютере и брал из очереди rabbitmq задание. Потом как завершается задание - хром убивать. Либо тебе нужен пиздец какой сервер, гигабайт на 8 оперативки минимум. И после того как ты свои 50 вкладок откроешь, у него память утечёт, ты его убьёшь и снова перезапустишь свои 50 вкладок.

Но у меня вагон сомнений в твоём подходе. Вряд ли хром будет эффективно работать на 50 вкладках в параллели. Ему тупо мощности проца не хватит. Либо это надо арендовать сервер гиг на 32 и въёбывать минимум по 10к рублей в месяц в этот сервер. Проще сделать 10 проходов по 5 вкладок. Сначала 5 вкладок, завершаешь парсинг, потом эти закрываешь, открываешь новые 5 вкладок и так далее.
59 3145217
>>44360
реально, зуб даю
60 3145317
>>45216
Я открывал по 50 вкладок вркучную и всё не слишком стабильно работало, но вот прям таких зависаний я не видел. Тут есть какая-то разница в ресурсах при открывании всего мануально и селениумом?

И ещё вопрос - может просто заменить хром на что-то менее прожорливое? Какой-нибудь хромиум-бейсд полуголый браузер без фунционала
61 3145491
>>45317
Замени на лису, она она недавно стала быстрее хрома
62 3145539
>>45317

>есть какая-то разница в ресурсах при открывании всего мануально и селениумом?


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

>может просто заменить хром на что-то менее прожорливое?


На обычный urllib. Если тебе не джаваскрипт не нужен. Там же просто заголовки скопировать и всё. Либо если у сайта есть api, то и скрапить ничего не придётся. А так ты просто наживаешь себе лишний геморрой на жопу.
63 3146317
>>45491
Лиса, кстати сделана на движке хрома.

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

Короче говоря забудь про свои 50 ссылок, пересмотри подход к задаче.
64 3146360
>>46317

>Лиса, кстати сделана на движке хрома.


У файрфокса всегда был свой движок, мозилловский. И раньше и сейчас.
65 3146399
>>46360
И правда, как же сильно я заблуждался. Теперь всерьез подумаю на лису пересесть.
66 3146681
Написал скрипт, хочу сделать некое консольное приложение.
Нужно какой-то простенький gui или (в идеале) открывалась консоль, чтобы можно было выбирать стрелками на клавиатуре пункт меню и при нажатии enter выполнялось некое действие или выводить другое подменю с пунктами.
Куда копать, что прочитать?
67 3146701
>>46317

>Лиса, кстати сделана на движке хрома.


Ебать, еще и "кстати" туда влепил.
мимо-охуел с этого специалиста
image121 Кб, 796x494
68 3146874
>>46681
О! Я раньше любил делать такие менюшки для своих консольных программок.
В простом цикле ставишь слушателя ввода (input() или getch() потому что весь прикол в том чтобы было минимум импорта или вообще только с помощью встроенных функций) и после каждого нажатия кнопки очищаешь консоль и перерисовываешь полностью содержимое.
Никаких гайдов нет, просто использую print и пространственное мышление, но конечно это бесполезное и дичайшее васянство и никому такое говно не нужно. Никто так не делает. В питоне есть встроенная библиотека для GUI и ещё десяток мощных сторонних библиотек на любой вкус. Правда, конечно, освоить их сложнее чем просто в цикле через print "рисовать".
69 3146880
Хочу написать простенький скрипт, чтоб выгрузить архивач на хард, с последовательным форматированием данных для датасета. Задача сильно сложная для хеллоуворлдщика?
70 3146881
71 3146897
Как питонить? Как совершить акт питонирования?! Что спитонировать? Поделка под названием десктопный клиент двача в качестве тренировки питонации норм или не?! Банально, конечно, ну и хуй с ним. Мнение? Сеймы?
72 3146900
>>46897
Хуле вы тут шизите то?
Хде интересные пет проекты, алгоритмы на коленке, оптимизации?
Нет, будем по сотому кругу шутитьб про дрочку как школота ебанная
73 3146902
>>46900
сори я новенький
как сюда постить? что писать, чтобы не обосрали на дваче?
74 3146903
>>46897

>Как питонить?


Задать правильный вопрос значит найти половину ответа. Ты тут уже обосрался, потому что правильный вопрос не "как", а "зачем".
Зачем ты хочешь питонировать? Чтобы бросить ненавистную работу баристой и зарабатывать 300кк в наносекунду? Если да, то плохие новости, питонирование не для тебя. Чтобы питонировать у тебя должен питон стоять на питонирование, и если у тебя питон стоит, то и вопросов "что делать" не возникает, а возникают противоположные - откуда взять время чтобы все хотелки реализовать.
75 3147408
Что используете у себя на работе: poetry / pdm / hatch ?
76 3147480
>>47408
юзал много poetry где, но постоянно баги ловили, сейчас на новой работе pdm
77 3147516
pipenv
78 3147615
Двощ, что со мной не так?
Значит, дана задача: Напишите программу, которая принимает на вход словарь целых чисел
и выводит на экран сумму всех значений в словаре

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

В итоге, вышло вот так:

my_dict = {}
punkty = int(input("Введите количество элементов в словаре: "))
for i in range(punkty):
key = input("Введите ключ: ")
value = int(input("Введите значение: "))
my_dict[key] = value

print(my_dict)

print (sum(my_dict.values()))

Максимально коротко и просто, так ещё и работает. Собственно, что меня волнует: ну не мог я с нулевым опытом, решая практические для вуза, как-то вот так наебать систему, кучу сайтов, и прочего.
Что тут не так?
79 3147658
>>47615

>Введите количество элементов в словаре:


>Введите ключ: Введите значение:



А это нахуя. Этого же в задаче нет.
80 3147687
>>47658
Так задача же - ввести с клавиатуры словарь целых чисел
81 3147768
>>47687
А ну да, действительно, я и забыл какие дегенераты заплесневелые в универах задачи составляют.
Только у тебя тогда ошибка. Ведь твоя программа "принимает на вход" не только целые числа, но и вообще всё что угодно. Нужна проверка что введено целое число. Ну и ключ словаря исходя из задачи не имеет значения, значит его вводит не обязательно.

https://www.online-python.com/hobMTDXEvC
82 3148256
Что это за пиздец?
Почему VS code меня газлайтит?
В коде видим: подчеркивания нет под headers. То есть что бы не определяло подсветку, оно все видит. По ctrl+click переходит в нужный файл.
При запуске видим пик2.
Вот какого хуя?
83 3148272
>>48256
А у тебя среда то открыта в терминале в котором ты запускаешь скрипт?
84 3148300
>>47768
В смысле? Там же указан инт. А именно проверку запускать мне было уже лень
85 3148348
Йоптыблядь, короче:
Попросили реплику одного бордобота который был в телеге сделать, чят-бот если кратко.
Пытаюсь возможность делать реплаи к нему прикрутить, обнаружил что в pyrogram нету цитат, т.к. разраб исчез, нашёл нужный функционал https://pyrodocs.kurimuzon.ru/api/bound-methods/Message.copy/#pyrogram.types.Message.copy в форке https://github.com/KurimuzonAkuma/pyrogram, но цитата пропадает из сообщения(видно буквально на одно мгновение), почему лыжи не едут?
86 3148362
>>48348
Пиздец, нашёл корень проблемы, если сообщение отредактировать, то всё, цитата слетает.
87 3148472
>>48272
Ты имеешь в виду вот это?
import sys
sys.path.append('/путь/к/папке/проекта')

Или я вообще не понимаю?
image.png255 Кб, 1928x1848
88 3148581
Анрнчики, какая лучшая библиотека для создания сервера с целью тестирования и изучения входящего и исходящего трафика на всех уровнях от http до TCP/IP?
89 3148891
>>48581

>на всех уровнях от http до TCP/IP


Ты это можешь с базовым питоном сделать
ясмог.png511 Кб, 458x612
90 3148920
есть какие-нибудь рос АНАЛоги render.com, heroku.com где без лишнего гемороя можно приложуху развернуть на flask/streamlit/fastapi?
91 3149143
>>48920
Pythonanywhere предлагает бесплатный хостинг. Иногда, правда, сервер убивает процесс и надо заново врубать.

А вообще free-for.dev
92 3149200
>>49143
так это все бездуховные, западные АНАЛоги, я про отечественный кал?
93 3149235
>>49200
Не знаю.
Можешь купить за 100 руб сервак у timeweb и запускать. Впринципе, это почти бесплатно
94 3150245
>>49200
>>48920
Да бля обычный яндекс облако. Что тебе мешает взять https://developer.hashicorp.com/terraform/cdktf поместить код в функцию https://yandex.cloud/ru/services/functions через api gateway пробросить и готово. Тут тебе пошагово объяснили как и чо https://infostart.ru/1c/articles/1618933/
изображение.png42 Кб, 718x182
95 3150757
Раз в год захожу в питонотред, каждый раз поражаюсь тому, какие же дегенераты тут сидят. Все вопросы по языку и фреймворкам игнорируются, зато по кд идет срач о том, что нет работы и питон хуевый язык. Казалось бы, дно достигнуто. Но ботоебы и скриптикиды добрались и до сюда. Пиздец...
>>36638

> Работы в разработке на питоне нет.


Вот это правильно, не надо никуда вкатываться, работы нет
>>37280
Зачем ты используешь какое-то левое говно? Вот единственная либа, которую используют в проде адекватные люди. Подключается в две строчки
https://drf-yasg.readthedocs.io/en/stable/
>>44134
Нахуя ты всвякую дрисню на селениуме пишешь? Это установка на нищету?
96 3150769
>>37280
А вообще, зачем ты GenericViewSet используешь вместо ViewSet? Дженерик вроде не подразумевает форму с загрузкой файлов
97 3150790
>>50769
Бля, я сам запутался пока писал. Не ViewSet, а APIVIew
2024-05-1117-19-01.png71 Кб, 1366x164
98 3151799
Двощ, почему так? У меня питон не хочет открывать файл, и почему-то не видит большие буквы
99 3151941
>>51799
Назови файл без пробелов и английскими символами. Тут дело не в питоне, а в том, что русский язык и пробелы в файлах сделаны через ебаные костыли. Так что никогда, запомни, никогда не создавай папки с пробелами. Ну и желательно называй латиницей
100 3152048
>>51941
Ладно, следующий вопрос: что я делаю не так теперь?
image.png14 Кб, 366x191
101 3152084
>>50769
Проблема решается добавление вот этой строчки в settings.py
А вообще, ебал я рот Джанги, если б не начальство, хер бы взял новый проект на ней
102 3152104
>>52048
какой-то долбаеб неправильно написал коммент про readline(x). иди в гугл блять. python realine - очень сложно загуглить
103 3152155
Так, следующий вопрос. Решил создать файл и написать в нем несколько строк. Комп уже выключил и лежу в кровати, так что скрин не пришлю.
Но было там следующее:

a = "Меня зовут анон"
with open ("example1.txt", "w") as file_otkr:
print (file_otkr.write (f "Попытка создания файла. {a} и я пробую разные способы работы с файлом. \nА ещё, я знаю, что 24+1= {24+1} \nС виду тут нет ничего необычного, но чтобы это увидеть, надо открыть код")

Выдает ошибку синтаксиса. Что я делаю не так?
104 3152189
>>52155

> print


А зачем я там принт писал-то блять..

Это же можно списать на усталость?
1651083261831.png38 Кб, 1288x850
105 3152488
Как сделать чтобы эта блядина показывала все числа в обычном полном формате, не переводя какие-то из них в научный формат вроде 1е+06?
1703921987221.png4 Кб, 1042x61
106 3152489
>>52488
Если что это массив флоатов. При этом на первой пикче можно видеть что часть чисел он отображает в флоат формате, часть в инте, а часть в этом ебучем научном формате.
107 3152490
>>52155
>>52048
Скрипти кид, хватит тред засирать.
108 3152598
Джангобоги, у меня с фронта пришел список айдишников, мне надо вытянуть сущности из таблицы по этим айдишникам НО ели каких-то из сущностей нет то очевидно надо выбросить ошибку. Через что это делать?

Вариант фильтрации через id__in не подходит, т.к. он просто проигнорит несуществующие айдишники
109 3152599
>>52598
Сравни количество входящих в бд и выходящих из бд.
110 3152732
>>52048
Пусть Катя сама делает
image.png11 Кб, 1366x106
111 3152735
>>52155
Ан нет, там не было принта

a = "Меня зовут анон"
with open ("example1.txt", "w") as file_otkr:
file_otkr.write (f "Попытка создания файла. {a} и я пробую разные способы работы с файлом. \nА ещё, я знаю, что 24+1= {24+1} \nС виду тут нет ничего необычного, но чтобы это увидеть, надо открыть код")
При работе без f-строк всё происходит нормально. Питон не работает с файлами, если там есть форматирование? Просто.. потому что? Или же ему нужно использовать другие виды форматирования?

>>52732
Содомит. Пока она ишачит на кухне, я, так уж и быть, могу помочь ей с учебой
112 3152748
>>52084
Джанго говно, это факт. Но магические строчки в settings.py это почти даже не проблема. Вот ОРМ у штанги это говно ебаного говна
>>52488
А ты уверен, что тебе это надо? Ну выводи с помощью формата
'{0:.20f}'.format(number)
будет 20 знаков после запятой показывать
https://docs.python.org/3/library/string.html#formatstrings
>>52735
Нахуя ты ставишь пробелы перед скобками? Нахуя ты ставишь пробел после f? Ты ебнутый?
113 3152754
>>52748
Охуеть, оно работает. А пробелы чисто для улучшения читаемости ставил
114 3152756
>>52754
Улучшения читаемости чего? Почему ты в тексте для улучшения читаемости н е п и ш е ш ь в о т т а к ?
115 3152762
>>52754
И большой текст можно внутри скобок переносить вот так. Это действительно повышает читаемость, в отличии от того, чтобы в рандомных местах ебашить пробелы
изображение.png651 Кб, 700x713
116 3152767
Вот пикча, которая подходит для 90% вопросов из треда
photo5285075743447035891y.jpg100 Кб, 1080x597
117 3152965
Помогите пожалуйста решить три задачки! Я вообще не понимаю, только самую базу научился типо принтов и инпутов. А тут какая-то высшая математика нахуй.

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

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

3) Пользователь должен ввести 20 значений температуры (одно значение - один день), необходимо собрать эти значения в список. Запросить у пользователя ещё одно значение (минимальную температуру) вывести номера тех дней, в которые температура была выше этого значения (учтите, что в списке индексация начинается с 0, а нумерацию принято проводить с 1)
123.png11 Кб, 536x182
119 3153160
>>53123
Спасибо анонче! Первое задание правда не работает всё равно.
Я начал так, но дальше, чтобы число было простым, хз как вычислить и написать это в список. Можно как-то проще, чем у тебя.
120 3153187
>>52748
Джанга идиоматически из конца нулевых. Ничего не поделаешь к сожалению
121 3153238
Я не знаю, что гугл сделал со своим поиском, но я не могу нагуглить как создать массив объектов известной длины. Везде используются пустые списки и добавление объектов в конец используя .append, который мне не подходит.
122 3153263
>>53238

>Я не знаю, что гугл сделал со своим поиском


сломал. С помощью chatgpt.
И теперь обычный поиск буквально не работает.
изображение.png5 Кб, 435x122
123 3153270
>>53238
вот. Разве не это?
124 3153729
>>53238
Эмм, просто берешь и пишешь
[1, 2, 3, ...]
еще можешь через компрехеншены сделать
>>53123
Какое же говно, господи, я не верю, что так хуево можно писать
>>52965
Тут нет высшей математики и ты ничему не научишься, если будешь на каждый пук бегать в тред и просить все сделать за теюя
125 3153730
>>53187
Алхимии это не помешало на вторую версию с sql-like синтаксисом переехать. А джанга застряла в нулевых вместе с ларой остался с ее охуительными запросами вида
$user = User::firstOrCreate(['name' => 'John']);
126 3154467
Я залетный. Начал хуячить скриптец который будет дергать апишки и обрабатывать с них инфу. Вопрос в хранить обработаное на длительное время? В первую очередь это будут датафреймы pandas, тоесть табличная хуйня. Ну и там по мелочи какой-то служебной хуйни будет, типа настроек, какие датапоинты не отвечают чтобы не долбиться туда постоянно и т.п.
127 3154767
>>54467
Очевидно, что в SQL базе. И наверное через ORM, хотя, я давно панду не трогал — вдруг она уже нативно научилась хранить в каком-нить SQLite?
128 3154811
>>54467
есть pandas.DataFrame.to_sql
А зачем спрашиваешь то, что легко гуглится?
129 3155178
>>53729

>Какое же говно, господи, я не верю, что так хуево можно писать


Что не так, как надо, почему именно так.
130 3155415
Аноны, помогите!
Есть функция check(), внутри которой происходят арифметические действия и возвращает она результат. Возвращаемый результат меняется раз в секунду.
Есть if, в котором по моей логике, должно проверятся значение, полученное от функции, и если оно <0.50, то делать одно, в другом случае - другое соответственно.
Проблема в том, что происходит только одна итерация и цикл печатает одно и то же не проверяя после этого ничего.
https://pastebin.com/Wgxq9PFG
131 3155469
Аноны, тут для прикладных целей понадобилось выпотрошить колонку из цсв файла, я сам не кодер нихуя, давно баловался с питоном, но тут на фоне утренних новостей про успехи чатгпт решил совместить и попросить его написать мне код под мои цели. Короче в пикрилах результаты, он пиздит про close(), или он прав? Я помню раньше пугали, что обязательно надо это клоуз ебашить, или файл будет открыт, будут мемори лики и дойдешь до бсода через какое-то время.
132 3155481
>>55469
А, я затупил и перепутал, реально именно с with не надо ничего, кек
133 3155533
>>55415
Всё нормально работает.
Даже несмотря на то, что твой код - гавнище полное.
https://www.online-python.com/Skn0BwHYbv
134 3155598
>>55481
close() это чисто правило хорошего тона в большинстве случаев. Если ты запускаешь эту программу разок и она у тебя не бегает по 30 дней, то можешь забить. Ось сама закроет файл за тебя
135 3155767
>>55415
Зачем у тебя проверка на какую-то неизвестную переменную происходит? Зачем ты просто так функцию вызываешь? Что это нахуй?
>>55178
Напишу только про первую задачу, так как каждую из задач объяснять лень. Ну, начнем с того, что ты делаешь префикс _ у переменной просто так. Продолжим тем, что вот это говно

> print("Простые числа:", *[n for n in arr if simple_num(n)], sep="\n")


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

> global tt, nu


Ох блять...
136 3155784
>>55767

>> global tt, nu


>Ох блять...


Цыть, ебёныть! Нельзя ж трогать творчество автора и его видение.
137 3155801
>>55784
Так изначально никаких глобалов и не было
138 3155815
>>55801
Ссать тебе в глаз, зануда.

Чтобы сделать нормально, надо переписать функцию check() этого полуджуна в полукедах. Но надо дать ему возможность раскрыть себя, следовательно, сделаны костыли.

Теперь иди нахуй, тупое копытное.
139 3155825
>>55815
То есть, ты специально написал говно, так как тебе кажется, что чел не особо разбирается в программировании?
Пиздец...
140 3155834
>>55825

>тебе кажется, что чел не особо разбирается в программировании


В его код глянь, душный кастрат.
изображение.png15 Кб, 514x319
141 3155848
>>55834
Смотрю
142 3155853
>>55848
Лайк поставить не забудь.
143 3155865
>>55853
То есть, ты даже не открывал код, по которому давал советы? Охуеть просто
144 3155879
>>55865
Та нейросеть генерации замечаний рандомному кроку на дваче?
Стикер63 Кб, 500x500
145 3155886
>>55767

>начнем с того, что ты делаешь префикс _ у переменной просто так.


Соглашение с нижним подчеркиванием используют не только чтобы обозначить личное поле, но ещё и тогда, когда переменная дублирует, повторяет или похожа на существующий нейминг. _input = input(). Можно открыть любую авторитетную репу чтобы в этом убедиться, например популярный модуль requests, там всё в подобном нейминге.

>Продолжим тем, что вот это говно


>однострочники, хотя они нахуй не нужны


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

Итого ты приебался к неймингу, ты утверждаешь что для одноклеточной логики нужно делать отдельные блоки не обосновывая ни чем это свое заявление.
Понимаешь, если ты ещё 10 раз напишешь "пиздец" умнее от этого твои посты не станут, ты сейчас похож на джуна вчерашнего вкатуна, который узнал немножко поверхам и теперь пытается выебываться и самоутверждаться на анонимном форуме для школьников.
146 3155903
>>55886

> когда переменная дублирует


Да

> повторяет


Чем это отличается от дублирования?

> похожа


Нет

> Ты забыл обосновать


Обосновывать почему в принт не нужно пихать бизнес логику? То есть, ты на таком уровне находишься?
Пиздец, лучше бы ты промолчал -- за умного сошел бы
147 3155911
>>55903

>Пиздец Пиздец Пиздец Пиздец Пиздец Пиздец


>бизнес логику


Вкатун, проснись, ты серишь.
Надеялся что ты сможешь меня позабавить и хоть как-то защитить свою позицию, но ты просто слился. Ясно.
148 3155922
>>55911
Все что ты смог выдавить из себя -- это обосраться на ровном месте с рассказами о нейминге переменных и заявить о том, что так как задача небольшая, то можно говнокодить. А после струи урины тебе на лицо, ушел в игнор аргументов и начал коупить. Тебе норм так жить? По ночам в подушку не плачешь?
149 3155931
>>55922
Открываю самый популярный и один из старейших модулей.

>print(json.dumps(info(), sort_keys=True, indent=2))



Ой, пиздец. Почему же БИЗНЕС ЛОГИКА в принте? Пиздец что же делается? Надо срочно Гвидо написать что он говнокодер, а петушок с двача лучше знает как надо.
150 3155933
>>55931

> dump json'а


> бизнес логика


Я же тебе говорю, помолчи -- за умного сойдешь
Стикер127 Кб, 500x500
151 3155937
>>55933
Вся БИЗНЕС ЛОГИКА в info(), там генератор списков. Пиздец.
152 3155951
>>55937

> Вся БИЗНЕС ЛОГИКА в info()


Ну так все верно, вся бизнес логика в инфо, она не протекает в принт. Ты вообще отбитый что ли?
153 3156017
>>55533
>>55767
Ковыряю опенцв. Сравниваю картинку с шаблоном. На статичном изображении - все легко и просто, а если это видеоряд - возникают проблемы.

Есть основной цикл вайл тру - в нем происходит основная сверка с шаблоном. Если есть совпадение if max_val > .58: - вызывается функция check(), в теле которой происходит сверка текущего изображения с другим шаблоном и возвращается результат типа флоат. Если функция check() вернула, на пример, 0.45668552 if check() < .50: - напечатать одно, если вернула другое, на пример, 0.85452 - напечатать другое соответственно.
Везде в if я запихнул вызов функции в надежде, что каждый раз при ее вызове цикл будет возвращаться к if check() < .50 и в зависимости от результата будет выполнятся иф или елс.

Я не погромист ни разу, к слову.
154 3156126
>>56017

>Я не погромист ни разу, к слову.


Оно и видно. Ты даже алгоритм не смог сочинить и написать.

Не надо постоянно вызывать функцию check(). Надо только один раз. Причём этот один раз и сравнивать с 0.5. А то ты просто так её вызываешь. В функции должен быть явный return с возвращаемым значением, а не по умолчанию.
155 3156132
>>56017
Нейросеть вам нужна, батенька.
Так сравнение картинок не делается.
изображение.png47 Кб, 740x240
156 3156144
>>56132
Пиздец, представляю с каким высокомерным ебалом ты это писал
157 3156189
>>56144
раз он в циклах запутался, до этих фич opencv даже не дойдет
158 3156418
>>36683
И то и то от программирования довольно далеко.
Школьникам нужен "Игрушечный" язык, который будет понятен и который сложно сломать.
Датасаенсу нужна оболочка над быстрыми библиотеками которой можно будет их перетасовывать и которую трудно сломать
159 3156523
Написал телеграм бота с помощью aiogram. Пора бы загружать на сервер. Как обеспечить бесперебойную работу? Если сервер там перезагрузится, то понятно, в автозагрузку добавить файл. А если просто крашнется? Для этого есть какое-то готовое решение или придется разбираться со всей этой девопсовской хней/писать какой-то автопроверяющий скрипт?
160 3156571
>>56523

> Как обеспечить бесперебойную работу?


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

> придется разбираться со всей этой девопсовской хней


Это самый простой способ. Не уверен, но вроде бы есть сервисы, которые за тебя займутся инфрой, а тебе только в докер упаковать нужно. Затем через интерфейс кубера сможешь следить
161 3156748
>>56523
Хостинговые сервера могут не перезагружаться годами. А если всё таки произойдёт, то да, автозагрузочный скрипт.
Крашится у тебя ничего не должно. Если крашится, то это плохой код. Переписывай.
162 3156755
>>56523
Можешь запускать через systemd с рестартом при падении
163 3156773
>>56755
докер умеет рестаровать контейнер при падении и при перезагрузке сервера
164 3156785
>>56773
Не умеет.
Докер магически не может запуститься при старте системы. Нужен скрипт для системы инициализации.
165 3156793
>>56785
Это скрипт есть во всех дистрах.
image.png91 Кб, 1272x700
166 3156817
Хочу вкатиться на FasAPI, но кол-во вакансий смущает (Москва, 0 фильтров по опыту, деньгам и т.д.)

Бек на питоне помер или что? На дажнге тоже 300 вакух среди которых половина где то на сеньора
167 3156822
>>56817
Все вот эти фастапи это просто гейтвей и валидатор для данных, там за ними еще кучу сервисов на пистоне, которые могут реста не иметь, а слушать кролик/кафку
168 3156858
>>56817
Зачем вкатываться на FastAPI, если это просто очередной крудофреймворк, которых десятки? Ну подрочи его пару вечерков, чтобы в целом понять основные фишки. Хули там вкатываться? Ну swagger без yasg'ов генерится из коробки, pydantic зашит намертво и через async сделан. Все значимые особенности кончаются на этом. Используется дохуя где, просто это настолько незначительная деталь, что ее упоминают редко
169 3156897
Какие сферы в питоне живы помимо МЛ? Такое чувство, что это язык сдох.
170 3156913
>>56897
Бекенд
171 3156914
>>56913
А шо там на бэкэнде? Шлепать валидаторы на джанге и фаст апи?
Уныло.
172 3156921
>>56914
Работа на дядю всегда уныла
173 3156934
>>56914
Весь веб и энтерпрайз на любом языке можно описать как препроцессинг для потока байтов
174 3156938
>>56934
И от этого на душе становится веселее?
175 3156989
>>56938
От работы не должно быть противно, все остальное опционально. В любом случае лучше не превращать любимое занятие в работу, иначе оно перестанет быть любимым.
176 3157085
А какие норм варианты для гуя чисто для собственного пользования, там какиую-то микроутилитку сделать или чего. Kivy норм?
177 3157096
>>41102
Ну я зашел на офф сайт питона там где то 10 книг и 10 сайтов самоучителей, все выглядят пиздато и хочется попробовать
178 3157099
>>56913
Вакансий нет
179 3157103
>>53729
Я это и так знаю, но что делать если тупенький?
Че башкой об стену биться пока не дойдет?
image.png53 Кб, 758x269
180 3157250
Бляяя просто в голосину
Пытаюсь у себя решить проблему с Сериализатором Django Rest, видите ли он пишет какую-то хуйню когда складываю туда другую модель: product with this username already exists

И что бы вы думали? Судя по этому ответу Джанга автоматически блять пытается сохранить объект Product для которого использован ModelSerializer просто потому что это POST-запрос... Сцуко, кому еще нужны были пруфы, что Джанга - кусок пхпшного сблева из середины нулевых - вот пожалуйста. Не беритесь за это говно, пока вас под дулом ствола не держат
181 3157262
>>56938
Зависит от твоих предпочтений, очевидно же.
Кому-то и фронтенд-дрисня покажется дохуя интересной.
182 3157264
>>57250

>Не беритесь за это говно,


А за что браться?
183 3157328
>>56914
Кому не похуй какой интерфейс? Бэкенд про то,как жсоны переложить в базу и насрать в очередь
>>57103
Программирование 90% практики и 10% теории. Сидишь и пытаешься разобраться, чтобы код работал. Никогда не будет так, чтобы ты прочитал, сразу все понял и заебашил работающий код
>>57250
Попробуй все-таки открыть документацию прежде, чем пытаться писать код. Ты взял именно тот view, который тащит за собой автогенерацию логики круда, хотя есть куча других вариантов без этого, и теперь с горящей жопой прибежал в тред, а нужно открыть документацию и все-таки ее хотя бы начать читать
184 3157329
>>57099
Дохуя вакансий, не пизди
>>56897
Очевидный веб
185 3157330
>>57085
Kivy для андроида.
А тебе скорее зайдет guizero.

Веб - gradio, streamlit
186 3157332
>>57085
И конечно, стоит упомянуть, что лучший интефейс "для себя" - это консольный ввод.
Для себя подразумевается, что тебе не нужно никого обучать и упрощать.
image.png53 Кб, 758x269
187 3157368
Бляяя просто в голосину
Пытаюсь у себя решить проблему с Сериализатором Django Rest, видите ли он пишет какую-то хуйню когда складываю туда другую модель: product with this username already exists

И что бы вы думали? Судя по этому ответу Джанга автоматически блять пытается сохранить/проверить объект Product для которого использован ModelSerializer просто потому что это POST-запрос... Сцуко, кому еще нужны были пруфы, что Джанга - кусок пхпшного сблева из середины нулевых - вот пожалуйста. Не беритесь за это говно, пока вас под дулом ствола не держат
188 3157385
Учу fastapi щас, какой проект забацать в виде бенчмарка знаний, что если сделал ЭТО, то можно уже идти на собесы
189 3157429
>>57385
Напиши свой букинг.
190 3157585
душу питона вашего. Я уже специалист верьте мне, запрогромирую операционую систему любую вашу. Как сделать теперь интернет на питеоне ???
191 3157605
>>57385
Никакой, блять.
API не имеет ценности само по себе.

Ну хочешь, сделай прокси для chatgpt с логгированием запросов и наебов гоев :
if model='gpto':
model='gpt3.5-turbo'
192 3157606
>>57585
почему ты думаешь, что высраться о намерениях в питон-треде это охуенно?

Учишь - учи. Задавай конкретные интересные вопросы и получишь ответ.
193 3157614
>>57606
Я сказал - сделаю виндоус!
Как сделать на питоне оформление окон, верхнее меню ??? Чего не понятен вопрос?
194 3157623
Как интернет на питоне сделать??? Мне нужно скачивать и показывать с интернета картинки на разных сайтах!
195 3157626
>>57614
Нет никакой разумной причины это делать.

Что ты читал об операционных системах вообще?
Разбирался как устроен linux - наиболее открытая для изучения ОС?
196 3157628
>>57623
зачем? Что будет двигать твою мотивацию во время написания этого проекта?
Почему люди захотят использовать твой "браузер"?
197 3157643
моя система будет лучше линукса. Я всё проумал. Но мне нужно, чтобы картинки грузились, сверху, окон, 800 на 600 примерно.
Что за браузер?
image.png42 Кб, 880x567
198 3157644
>>56126
Ну вот, нарисовал блок-схему. Толку от этого не много. Программа не большая, все в голове можно удержать.
>>56132
Я с нейросетью точно не разберусь. Было бы больше свободного времени...

Вот целый код - https://pastebin.com/RqsNJEc9
Алсо, все равно ощущение, что check() вызывается один раз и на основании этого раза выдается результат. В какой-то цикл еще засовывать вызов check() надо, чтобы ежесекундно проверялось?

Только что еще с проблемой столкнулся. Мне надо будет в реальном времени отслеживать наличие совпадений с shab.png, покуда работает программа. Скажем, раз в секунду.
Но это потом. Сейчас, хотя бы, надо сделать, чтобы корректно работали ифы.
199 3157646
Картинка будет загружаться 1024 на 768. После загрузки системы
Но я не хочу здесь открывать все секреты.
хочувайти.jpg59 Кб, 831x828
200 3157665
Игнорируем шиза.
201 3157669
>>57644
Понятно.

вот тебе нормальная реализация того что ты хочешь сделать
https://github.com/idealo/imagededup

А вы думали что chatgpt сам код пишет?
Нет. Просто все уже когда то было написано, выложено на github и chatgpt обучился на нем.
202 3157701
>>57329
ну вот я уже кидал в тред
По России на фастапи 573 вакансии сейчас, в Москве 335, при чем 200+ из них это 3-6 лет опыта

Для джанги 611 вакансий по России и 313 по Москве из них 194 с опытом от 3-6 лет

Если ты даже годик опыта будешь накручивать у тебя все равно +- 200 вакансий будет в арсенале, при том надо учитывать, что тебе ещё не всегда будут отвечать, а если и ответят, то не все собесы ты пройдешь, если вкатун
изображение.png236 Кб, 1813x1141
203 3157776
>>57385
Да любую e-commerce залупу сделай, магазин питсы, букинг, как анон выше советовал, или какой-нибудь таск менеджер
>>57701
Ладно, я первый и последний раз отвечу серьезно.
Нахуя ты ищешь названия фреймворков? Нахуя ты ищешь их на хэдхантере с их ебейшим поиском, который при поиске по умолчанию выдает вот такие вакансии как на пикриле. Ну и да, при таком же поиске у react и angular по всей России выдает 3069 и 1132 вакухи, что казалось бы много, но даже на первой странице 2/3 вакансий это фулстак хуйня с и вакансии с названием

> Разработчик операций AI, Python/React (Удаленно) для меняющих профессию на разработчика


Короче, ты либо делаешь нормальные фильтры и потом ручками валидируешь всю выдачу, либо даже не пытаешься в анализ рынка таким способом
204 3157794
>>57776

>с их ебейшим поиском, который при поиске по умолчанию выдает вот такие вакансии как на пикриле



Ну тогда ситуация ещё хуже, потому что это не 300 вакансий для питон бекендера, а 300 вакансий, в которых ЕСТЬ НАЗВАНИЕ фреймворка
И того, настоящих вакансий для бекендера ещё меньше, разве не так?
205 3157861
>>57794

> это не 300 вакансий для питон бекендера, а 300 вакансий, в которых ЕСТЬ НАЗВАНИЕ фреймворка


Нет, это 300 вакансий для джуномидлов, в которых есть слово fastapi, и которые размещены на hh

> ситуация ещё хуже


Хуже, чем то, что у тебя в голове? Возможно так и есть, я не психиатр.
Во-первых, перестань путать вакансию с позицией. Во-вторых, если какая-то вакансия закрылась, то это не означает, что осталось после это 299 из 300. Эти количество открытых вакансий в моменте. Вот, например, 259 вакансий для позиций на питониста в сбере, там такая же хуйня как и в hh с поиском, но порядок думаю понятен. При том, что там именно позиции, а не просто вакансии, как на hh. Короче, ты слишком вне контекста рынка, чтобы пытаться там какие-то данные собирать. Есть живые языки, на которых есть работа, и мертвые, на которых есть полторы вакансии. Питон язык живой, любая другая аналитика требует построения целой инфры для наблюдения за ситуацией и очень глубоко знания рынка
изображение.png181 Кб, 2430x915
206 3157864
>>57861
Блять, отвалился скрин
207 3157917
>>57099
Чел ты... Как недавно вкатившийся в бэк на питухоне могу тебе сказать, что на нормально созданное резюме с 2 нарисованными годами опыта тебе каждый день ХРюши сами пишут и предлагают пообщаться. Твоя задача это только затащить тех собес.
208 3157932
>>57669
Спасибо, но мне самому бы разобраться уже, раз начал.
123456.png18 Кб, 376x217
209 3158001
Помогите написать функцию, чтобы она из моего словаря или списка (ну или кортеж, не важно) выдавала тоже словарь с кол-вом предметов на первую букву (каждый словарь это буква алфавита и количество предметов на эту букву). Нашел легкий метод через itertools, но нужна именно функция и с количеством. Плохо разбираюсь с функциями. Помогите, плес.
210 3158006
>>58001
Напиши свой код без функции, я помогу тебе его запихнуть внутрь нее
изображение.png199 Кб, 431x341
211 3158140
212 3158311
прочитал Лутца 2 тома
ссытесь, вкатуны?
213 3158345
>>58006
Вот такой простенький код надо запихнуть в функцию, чтобы в результате так же приписывалось кол-во айтемов со схожей буквой. Заранее спс.

words = ['баклажан', 'банан', 'вишня', 'киви', 'черника', 'виноград', 'арбуз']

indexed_words = {}
for word in words:
---first_letter = word[0]
----if first_letter not in indexed_words:
--------indexed_words[first_letter] = []
----indexed_words[first_letter].append(word)

print(indexed_words)
214 3158450
>>58345
from collections import defaultdict

words = ['баклажан', 'банан', 'вишня', 'киви', 'черника', 'виноград', 'арбуз']

def group_words_by_letter():
d = defaultdict(list)
for word in words: d[word[0]].append(word)
return d

d = group_words_by_letter()

for k, v in d.items(): print(len(v), k, v)
img16.jpg50 Кб, 640x480
215 3158539
>>58450
Благодарю!
216 3158827
>>57861

>Хуже, чем то, что у тебя в голове?


lol
Paxil road.png537 Кб, 553x412
217 3158873
Есть те кто шарит за PIL (pillow)?
Хотя может оказаться, что нужно, что-то другое, но всё же.
Хочу понять, можно ли как-то создать сетку которая будет накладываться на картинку сверху, чтобы манипулировать кусками картинки больше чем пиксель. т.е. мне нужны правила манипуляции допустим прямоугольником 3х2, а не просто начертить поверх картинки сетку. Понятно объясняю? Я сам просто нубас ещё, делаю для себя арт-проект.
218 3159654
Возникла нужда заиметь кастомного бота для вк и для телеграм для определенного хобби.
Что посоветуете?
Если учить питон, то сколько времени это займет?
Если нанимать кого то, в какую минимальную цену смогу уложиться для каждого бота?
image.png23 Кб, 1102x151
219 3159779
ПОМОГИТЕ МОЛЮ!!!

Использую библиотеку rich и selenium.

В 10 потоках (threading ) открываю 10 selenium браузеров и парсю данные с сайта, каждый из потоков у меня сохраняет логи, и эти логи я принчу в Table из библиотеки rich. Так вот, браузеры из-за этого дико тормозят и сайт грузится минуты 2, когда в норме это 5-10 секунд. Конкретно из-за пикрыл кода все идет пиздой. Если его убрать, то все 10 браузеров грузят сайт почти мгновенно.

Комп мощный, проц, оперативка - ниже 20%.
С playwright такой проблемы нет. То есть что-то конфликтует у rich и selenium wire, я хз что.
Что находится внутри generate_table() не важно, я оставлял его полностью пустым, проблема из-за самого факта наличия цикла Live()
image.png30 Кб, 1104x221
220 3159830
>>59779
Добавление дилея помогает. Но хотелось бы видеть логи в реальном времени. Проблема только с вебдрайвером селениума, весь остальной код работает так же быстро.
221 3159903
>>59654
Учи.
Иначе тебе предстоит ужасный головняк объяснять что тебе нужно тупым вкатунцам
изображение.png95 Кб, 919x485
222 3159908
Как понять куда питон съел всю память?
Если какая-то неведомая хрень внутри pytorch - шансов нет?
нубский вопрос 223 3160420
Использую модуль "pastebin" по документации, код:
PasteAPI = pastebin.PastebinAPI()
my_key = PasteAPI.generate_user_key(api_dev_key, username, password)

Вылазит следующая ошибка:
C:\Users\user\Desktop>python key.py
Traceback (most recent call last):
File "C:\Users\user\Desktop\key.py", line 9, in <module>
my_key = PasteAPI.generate_user_key(api_dev_key, username, password)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\pastebin.py", line 572, in generate_user_key
request_string = urllib.urlopen(self._api_login_url, urllib.urlencode(argv))
^^^^^^^^^^^^^^
AttributeError: module 'urllib' has no attribute 'urlopen'

Автор тупой мудак и не обновил модуль под python 3.8?
224 3160442
>>60420
вполне.
Теперь знаешь почему в питоне столько дрочьбы вокруг venv, деплоев докером и прочих пакетных менеджеров
225 3160449
>>60420
Так-то, я смотрю, этот модуль последний раз обновлялся в 2016 и он вообще под python2
226 3161628
>>59908
Есть предположение что всю память съели кривые руки jovyan
227 3161921
>>61628
хуевый юмор, бро.
ты разве не знаешь кто такой jovyan?
228 3162422
2 дня сижу разбираюсь в этих чёртовых cgi, uwsgi, fastCGI, asgi, gunicorn, uvicorn
Я кукухой скоро поеду, это пиздос.
229 3162432
>>62422
Бро, матрица дала сбой, я это ты из параллельной вселенной, где ты выбрал пэхапэ. Только закончил копаться в доках....
230 3162438
>>62432
У вас там тоже безобразие схожее что ли... А я вот нихрена не закончил, я фигею просто.
image.jpeg207 Кб, 600x338
231 3162449
Сап питонач. Я играю в одну игру, где могу зарабатывать золото, выполняя время от времени рутинные действия. Я хочу это автоматизировать, но меня банят как бота после попытки использовать Selenium.

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

Есть ли библиотека, которая решает эту проблему и может максимально приближена к моделированию действий человека?
16242350686460.jpg146 Кб, 1280x1232
232 3162489
Я заебался. Как зайти в телегу через селениум? Я этой хуйней уже 3 день занимаюсь

Что там за сверхразумы в разрабах телеги сидят что он детектит WebDriver

Я уже готов целых 500руб заплатить чтобы я мог зайти на разные акки хотя бы на свой без постоянного логина
233 3162534
>>62489

>Что там за сверхразумы в разрабах телеги сидят что он детектит WebDriver


Всё верно. Уёбкам с парсингом надо делать больно.

>Я уже готов целых 500руб заплатить чтобы я мог зайти на разные акки хотя бы на свой без постоянного логина


Ты это и так можешь в клиенте телеги (настроить несколько аккаунтов и переключаться).
234 3162547
>>62489
Пидорас, который спамит мне в личку своей хуйней с рекламой цп и наркоты, ты? Хртьфу тебе в ебало
235 3162550
Так я волк или не волк, если у меня часть опыта работы вчерную год и я не планирую отказываться от него?
236 3162559
>>62422
Там ничего сложного нет. Просто много понаписали.
Эти технологии писались 20 лет на парусах нескольких биржевых пузырей. Но они не обязаны быть логичными. Это не учебник матеши.
237 3162657
>>62422
А зачем?
238 3162785
>>62422
Нахуя ты в них разбираешься? Там буквально круглое кати, квадратное неси
239 3162798
>>62489
Хз как через селениум, но через апи телеграма легко.
240 3162833
>>62547

>Пидорас, который спамит


Не, я бота делаю для криптоигры
241 3163638
>>62489
Разобрался?
242 3164079
Есть ли способ в django rest framework сериализовать данные из обычной функции, или нужно обязательно создать какой-то класс?
243 3164733
>>56418
А не похуй?
244 3164747
>>64079
Что значит нахуй сериализовать данные из функции? Ты вообще понимаешь хотя бы примерно какую задачу выполняет сериализатор в DRF?
245 3164818
Подскажите, плиз, начинающему питонисту, как поступить. Есть книга Excel. Нужно на отдельных листах (с определёнными именами) "убить" формулы, т.е. чтобы остались их значения. Как это сделать? Сложность в самой операции убийства формул. В VBA есть простая фишка ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value. И всё.

А как в Питоне сделать? Пытался пройтись циклом по ячейкам (фрагмент):

for cell in row:
if cell.data_type == 'f':
cell.value = cell.value

Но ничего не происходит. Формулы остаются на месте. Как их убрать?
246 3164835
>>64818
Попробуй, для начала, написать название библиотеки, которую ты используешь. Затем, напиши что по-твоему мнению должно поменяться от того, что ты ничего не меняешь. Потом подумай о том, как поменять data_type
247 3164885
>>63638
На удивление
Да
248 3164896
>>64835
Спасибо, завтра буду пробовать менять тип данных в ячейке. Библиотека openpyxl, не сказал. cell.value=cell.value это как бы аналог операции в VBA. Там же все работает, причём сразу на всём листе, без цикла по ячейкам.
249 3165183
>>64835
Ничего не получается. Заковыка именно в перезаписи ячейки. Всё остальное нормально. Неужели в библиотеке openpyxl нет простого метода для "убийства" формулы в ячейке?
250 3165251
>>65183
А ты по первой ссылке в гугле
wb['A1'].set_explicit_value(value, data_type="s")
пробовал?
251 3165264
Вопрос по jango rest framework. Как получить данные из view в js скрипте? Только через api?
252 3165268
>>64747
вот я во вьюхе создал функцию, которая сложила два числа. я могу созать сериализатор, который эту сумму передаст в api?
253 3165290
>>65268
Лол
254 3165341
>>65268
Да, можно.
Каокй-то отдельный сериализатор не нужен. Просто вручную отправь JsonResponse.
изображение.png65 Кб, 912x877
255 3165381
>>65268
Ты не понимаешь как дрф работает и для чего нужны сериалайзеры. Вообще, сериалайзер это штука которая переводит жсон в словарик при десериализации и словарик в жсон при сериализации. Вот пикрил с документации. Логику можешь любую использовать, это вещь параллельная сериалайзеру.
НО есть нагруженные сериалайзеры, которые гвоздями прикручиваются к какой-то орм модели джанги и позволяют автоматически переводить не только словарь в жсон и наоборот, но и модель в жсон и жсон в модель. Это ModelSerializer. Там есть куча нюансов, но тебе они на данном этапе не нужны
256 3165544
>>65251
Пробовал. Ничего не получилось. Может неправильно использую?
У меня в цикле ячейки перебираются.

for cell in row:
if cell.data_type == 'f':

Соответственно, вижу логичным вот так дальше сделать

cell.set_explicit_value(value, data_type="n")

Но эта строка выдает ошибку Cell object has no attribute set_explicit_value

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

ws['{adr}'].set_explicit_value(value, data_type="n")

Ошибка {adr} is not a valid coordinate or range

Если вот так ws.cell.set_explicit_value(value, data_type="n")

То ошибка fuction object has no attribute set_explicit_value

ws здесь это переменная, в которую ранее записывается лист в цикле через ws = wb[sheet]

А что мы прописываем в качестве аргумента value? Предварительно записать туда на каждой итерации

value = cell.value?

Тогда там формула окажется.
256 3165544
>>65251
Пробовал. Ничего не получилось. Может неправильно использую?
У меня в цикле ячейки перебираются.

for cell in row:
if cell.data_type == 'f':

Соответственно, вижу логичным вот так дальше сделать

cell.set_explicit_value(value, data_type="n")

Но эта строка выдает ошибку Cell object has no attribute set_explicit_value

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

ws['{adr}'].set_explicit_value(value, data_type="n")

Ошибка {adr} is not a valid coordinate or range

Если вот так ws.cell.set_explicit_value(value, data_type="n")

То ошибка fuction object has no attribute set_explicit_value

ws здесь это переменная, в которую ранее записывается лист в цикле через ws = wb[sheet]

А что мы прописываем в качестве аргумента value? Предварительно записать туда на каждой итерации

value = cell.value?

Тогда там формула окажется.
257 3165551
>>65381

>Ты не понимаешь как дрф работает


Я тоже нифига не понимал года 2 назад. Такая громоздкая хреновина, офигеть.
Зато мне это очень тогда помогло, потому что пришлось исходный код читать, чтобы переопределять классы. Очень много чему научился.
258 3165561
>>65544
Вот так ws[f'{adr}'].set_explicit_value(value, data_type="n") тоже ошибка 'Cell' object has no attribute 'cell'
259 3165656
>>65561
Попробуй s сделать, а не n
>>65551
Я рот ебал штанги и дрфа, я даже не знаю что меня больше бесит -- ебучая штанга со своей скуфидонской орм с бесконечными чейнами через __ и своими названиями для любо хуйни угадайте что значит annotate? может какой-то алиас? НИХУЯ, это group by или ебаный дрф, который думает, что он умнее меня
260 3166256
Посоветуйте редактор кода, маленький, быстрый, чтобы кушал как можно меньше оперативы, бесплатный.
261 3166259
Мне нужно парсить диаграмму экселя и как-то сохранять на диск, чтобы затем открывать её в браузере. Сохранять её в виде картинки ли, или ещё как, похуй. Какие есть варианты?
262 3166282
>>66256

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


Github codespaces
263 3166345
>>66259

>диаграмму экселя


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

Спроси там и приходи снова.

А еще лучше, данные из экселя бери и рисуй.
264 3166390
Зашёл на HH сегодня, а где вакансии?
265 3166391
>>66282
спасибо
266 3166407
>>66345
Пиздец, ну вот есть в экселе диаграммы и графики. Тебе на "нормальный инженерный" слова "диаграмма" и "график" как перевести?

"Там" спросить - это где? У твоей мамы?


Как мне взять эти данные и нарисовать? Вопрос именно в этом.

Ок, если прям ДЕЙСТВИТЕЛЬНО непонятно, что имеется ввиду в этом элементарном вопросе - есть файл .xlsx, в нём есть какой-то график/диаграмма, как не открывая файл спарсить данные скриптом и сохранить на диск в виде картинки/хз чего ещё.
image.png517 Кб, 733x812
267 3166440
В чём Столяров не прав?
268 3166508
>>66440
Хули все эти программистишки такие злые?
269 3166631
>>66508
Так это не программист, а говнопрепод-паскалятник с нулем реального опыта
270 3166649
>>66508
так это он в интернете такой злой) в жизни то немножко по другому бы общался. Очень вежливый был бы мальчик.
271 3166661
>>66649

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


В жизни он так же общается.
272 3166820
>>66661
За такое по роже бьют.
Не верю.
273 3166916
>>66820
Так столяров это мгушный питух-кукаретик, там студенты первокурсники максимум, которым грозит армейка и отчисление, если этот петух нажалуется. Если бы он в реальной компании поработал бы хоть день - его в тот же день отпиздили, обоссали и уволили бы. Он сам понимает, что профнепригоден, поэтому и верещит на своем сайтике, что все кодерки какие-то не такие.

Короче, старый стремный козел, а ВМК дно.
image.png1013 Кб, 926x1226
274 3167123
>>66440
Полностью прав во всем.

>>66916
Петух, терпила и бессловесный холоп ты, работающий в "реальной компании", которого кабаныч ебет в жопу страпоном и увольняет за просроченные таски.

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

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

http://stolyarov.info/node/266
изображение.png120 Кб, 963x675
275 3167227
>>67123

> Петух, терпила и бессловесный холоп ты


> А Андрей Викторович собирает лямы на донатах


Не знаю как там столяров, но его донатеры это буквально петухи и холопы. Это дегенеративное шизло специально портит электронные версии своих книг, на которые его петухи фанаты скидывали миллионы, чтобы им сложнее читалось. Это какой-то запредельный уровень гнили
276 3167230
>>66440
Ни в чем не прав. Столяров - это диванный теоретик и луддит, последний раз писавший коммерческий код лет 30 назад. На лор регулярно притаскивают его поделия на плюсах, где видно, какой он "программист" - код неструктурирован, везде ошибки управления памятью, UB и прочие радости. Его уже обоссали все кому не лень.

Питон ему не нравится, потому что он его не знает. Зато не гнушается писать на пхп, лол.
// мимо-сишник
277 3167285
>>67123

>У него все хорошо.


В полтинник пора уже доктора получить, а не кандидата.
У него точно всё хорошо?
278 3167288
>>66407

>Тебе на "нормальный инженерный" слова "диаграмма" и "график" как перевести?



Да никак. График в экселе не бывают нормальными.

>Как мне взять эти данные и нарисовать? Вопрос именно в этом.



import pandas as pd
df = pd.read('123.xls')
df.govno.plot()

Это весь код.
2ycziuj0ewhyqjfnyxav6mgro8.jpeg48 Кб, 900x402
279 3167295
Как парсить контент спрятанный за этой хуйней сатаны, быдлокод индусский botasaurus с гитхаба не работает на том сайте который мне нужен.
280 3167297
>>67295
У тебя установка на нищету? Зачем ты вообще такой хуйней занимаешься?
281 3167303
>>67295
headless
282 3167351
>>67288
Ну ладно, попробую через пандас, хотя смутные сомнения меня терзают. Спасибо.
283 3167354
>>67227
Хм, что-то меня заинтересовал этот скрин. А в чём вообще смысл то поиск не добавлять намерененно? Ну, в смысле, я понимаю если бы это был прогрев на покупку бумажного издания, но ведь нет, это как я понимаю просто именно _прихоть_, я всё правильно понял?
Если да, то этот ваш Столяров (впервые про такого слышу) - полнейший идиот.
284 3167860
>>67354
Ну чел верит, что он так типа повышает продажи бумажной версии и борется с людьми, которые распространяют куски из его книг. Но на деле столяров просто ебаный шиз, который заперся у себя на форуме с премодерацией и окончательно деградирует
285 3168181
Поясните, плиз, по хардкору за вычисление размера шрифта.

Суть такова: tkinter Canvas, нужно по-человечески вписать текст в окружность. Текст должен быть максимально возможного размера, в одну строку и не вылезать за пределы окружности. Шрифт моноспейс (курьер). По идее, достаточно знать отношение длины строки к её ширине в пикселях. Но пропорции символа меняются в зависимости от размера шрифта. С помощью метода шрифта tkinter.font.Font.measure(string) как будто бы можно это соотношение найти, но непосредственно нарисованный на канвасе текст какого-то хуя оказывается другого размера (размер смотрю методом канваса bbox). Более того, получается, что отношение ширины к высоте одного ёбаного символа меняется ещё и в зависимости от длины строки даже в пределах одного размера шрифта. Что это, блядь, за хуйня?
Нет, я конечно, понимаю, что можно тупа нарисовать и бинарным поиском подбирать размер, пока не впишется, но это же уебанство.
image.png15 Кб, 450x250
286 3168260
>>67860
Жопными разрывами малолетних дебилов удовлетворены.
Сталинист Дмитрий Юрьевич Пучков
Антисталинист Андрей Викторович Столяров
287 3168267
>>67227
Петухонщик-дегенерат не может в OCR? Правильно вас доцент попускает.

>>67354

>А в чём вообще смысл то поиск не добавлять намерененно?


Это такой тест на IQ.
288 3168274
>>67230

>Гвидобейсик ему не нравится, потому что он его не знает


Жирнота-то какая...
289 3168316
Подсосы столярова опять набежали. То в бугурт-треды, то сюда лол.

Успокойтесь, никому ваш недогуру не нужен.
290 3168328

> Жопными разрывами малолетних дебилов удовлетворены


Причина тряски?

> Петухонщик-дегенерат не может в OCR?


Было бы ради чего стараться.

> доцент


По качению бревен.

> Жирнота-то какая...


А что, знает? Он даже си нормально не знает.
image.png138 Кб, 854x893
291 3168349
>>68316
>>68328
Счастье скриптомакакам, что в РФ запрещена продажа короткоствола. О чем Андрей Викторович очень сожалеет.
292 3168377
>>68349

> Пук

293 3168412
>>68349
А, ну понятно, что ни шизик, так либертарианец.
Короче говоря, это такой биоробот, у которого в голове какой-то убогий мир, который к реальному миру особо отношения не имеет.
Stolyar.png347 Кб, 472x717
294 3168416
>>67227
Питонщики настолько тупорылые денераты, что не могут догадаться сдвигать символы?
Накидал небольшую прогу, которая кодирует русские буквы в столяровскую кодировку для поиска по текстовому слою.
С цифрами и символами пунктуации лень возиться.
Запускать java -jar Stolyar.png
295 3168418
Макаба режет картинки, вот с кодом: https://wdfiles.ru/2OKkk
296 3168425
>>68416

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


Да-да, охуенно
297 3168665
Сап.
Скучно читать книжки, поэтому использую подход learn by doing.
В целом неплохо освоил базу питона + фреймворки.
Решил пройтись по стандартной либе и увидел там всякие миксины, декораторы, генераторы и прочие продвинутые фичи языка.
Вопрос: нужно ли все эти фичи знать чтобы оформить вкатучинского в питоныч?
Я прочитал, зачем все эти штуки нужны, но как их применять в своих проектах не знаю, да и смысла не вижу.
298 3168708
>>68665

>Скучно читать книжки, поэтому использую подход learn by doing.


Правильно

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


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

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


Ну если не видишь, то и не применяй. Тебя кто насильно под током заставляет?
299 3168738
>>68665

>В целом неплохо освоил базу питона + фреймворки


Как ты это определил?

Если ты изучил фреймворки, то ты наизусть должен знать всякие миксины и декораторы, потому что они активно применяются в Джанго, например. В drf тоже.
И это не продвинутые фичи. Это обычные. Просто чуть поглубже, чем объявление функции или цикла.

И вкатиться куда? Куда ты собрался вкатываться?
Нет такой работы "программист на Питоне", или почти нет. Есть конкретные направления типа работать над веб-приложением написанным на fastAPI
300 3168754
>>68708

>Строго говоря, для вкатуна это не нужно.


Я так и понял, что юз кейсы для них, так сказать, для больших проектов.
>>68738
Я написал без всяких декораторов и примесей. Я применял их ненапрямую, конечно, но свои я не писал. Просто вписал название класса для примеси, если про drf говорить.
301 3168792
>>68665

>миксины, декораторы, генераторы и прочие



Эти "продвинутые" фичи у тебя с вероятностью 99% сейчас будут спрашивать на собесах на джуна-мидла в любую контору. Так что да, учи это. Слоты и абстрактные классы еще не забудь.
302 3168799
>>68665

>миксины, декораторы, генераторы и прочие



Эти "продвинутые" фичи у тебя с вероятностью 99% сейчас будут спрашивать на собесах на джуна-мидла в любую контору. Так что да, учи это. Слоты и абстрактные классы еще не забудь.
303 3169214
>>68665

> Скучно читать книжки


Если "книжки" это всякие Лутцы, то правильно. Если "книжки" это документация, то это хуйня идея

> В целом неплохо освоил базу питона + фреймворки


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

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


Наследование и базовый синтаксис языка это не продвинутые фичи

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


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

> как их применять в своих проектах не знаю


Ты какие там фреймворки изучил, что тебе нигде ни декораторы, ни миксины не понадобились? По ходу, ты просто бездумно копипастил всякую хуйню из инета и думаешь, что это означает, что ты что-то там изучил. Советую тебе взять в руки документацию хотя бы того же drf и плотно ее изучить, благо там всего пара десятков страниц
Lord of the Rings API API — Public APIs.png106 Кб, 975x685
304 3169403
Сап. Помогите нубу.
Нужно вот этот код преобразовать в питоновский. Функции написать. Как вам удобно, главное чтобы работало. Пожалуйста.
https://publicapis.io/lord-of-the-rings-api/
Мой ключ: YctbNHotTwnVf0mC2kEO
305 3169409
>>69403

>Когда на курсах кабанчиков дали задачу заставить кого-то в интернете написать код за спасибо...


Хуево когда нуб еще и ленивый...
306 3169415
>>69403
Без проблем, 20$/час, оплата крипта/перевод
307 3169422
>>69409
>>69415
Без вас троллей сделал, только теперь не знаю как настроить, чтобы по другим именам искало

import requests

def quotes_by_character(character_name:str):
key = 'YctbNHotTwnVf0mC2kEO'
headers = {
'Authorization': f'Bearer {key}'
}
character_response = requests.get(f"https://the-one-api.dev/v2/character?name={character_name}", headers=headers)
character_data = character_response.json()
character_id = character_data["docs"][0]["_id"]

url = f"https://the-one-api.dev/v2/character/{character_id}/quote"
response = requests.get(url, headers=headers)
data = response.json()

return data["docs"]

quotes = quotes_by_character("Gandalf")
print(quotes)
308 3169428

>Я сделяль


>@


>Не занаю как Gandalf поменять на Frodo



Ой не пизди...
309 3169429
>>69422

> Без вас троллей сделал


Додик, который пришел в пр за бесплатной рабочей силой, ты? Хртьфу тебе в ебало
Но так и быть, дам тебе бесплатный совет -- не пали свой токен
310 3169436
>>69429
Вряд ли он по этой причине. Скорее всего знает только один язык, а в доке дан пример на другом языке.
311 3169437
>>69428
почему-то выдавало ошибку, если менял имя.
А теперь осталось чтобы печатало только "dialog", а не всю инфу по персонажу.
>>69429
Могли бы просто проигнорировать, а то сразу трястись.
312 3169485
>>69437
Аллилуйя у меня всё вышло! А вы ...
313 3169499
>>69436

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


Бля, я бы понял, если бы там какие-то специфичные штуки жса использовались. Но там ничего знать про жс не нужно, просто убрать const, вместо $ в строке поставить f и fetch заменить на session.get Будет буквально рабочий код на питоне
>>69437
Мог бы проигнорировать, но не проигнорировал
314 3169500
Здаров, уроборосы, за библиотеку kivy для гуя кто может пояснить, говно, не говно?
315 3169501
>>69500
Мне на все устройства надо. И там должен быть трехмерный модуль для визуализации процессов, с возможностью манипулировать этой хуйней - объекты перемещать там, размеры их менять, крутить и во такое.
316 3169533
>>69500
Не надо пытаться на питоне пилить гуишки. Особенно для мобилок. Это ОЧЕНЬ плохое решение. Все библиотеки говно, кроме мб qt, но тогда уж лучше взять нативные плюсы если нужно много и сложного либо qt creator если нужно немного и не сложного
317 3169542
>>69533
А если уже написано очень много?
318 3169550
>>69533
Что за бред сивой кобылы. Выдаешь свое желаемое за действительное. На чем еще гуишные приложения писать как не на скриптовом клее? В том же пятоне гуишные либы нативные, если причина твоей ненависти в этом.
319 3169551
>>69533

> Не надо пытаться на питоне пилить гуишки


Почему нет?
320 3169580
>>69550

> бред


Ебать, как же жестко ты приложил

> На чем еще гуишные приложения писать


Посмотри на чем написаны все приложения на твоем пука -- электрон, кутэ, гтк и впф

> В том же пятоне гуишные либы нативные


Что это нахуй значит?
>>69542
Написано много чего? Если бизнес логика, то похуй вообще. Возьми обвязку qt для пистона. Знаю даже 1 контору в своей мухосрани, которые давятся кактусом, но пишут на PyQt свою залупу
>>69551
Потому что все инструменты говно. Если твоя цель сделать минимальный гуй с 3 кнопками и 1 картинкой, то проблем нет. Вообще поебать на чем писать и чем проще решение, тем лучше. Как только у тебя начинаются действительно бизнесовые задачи, то ты взвоешь
321 3169583
>>69580

> электрон, кутэ, гтк и впф


это не пятон это гуишные либы, которые ты в пятоне используешь (кроме электрона и впф)
поэтому непонятно утверждение

>Не надо пытаться на питоне пилить гуишки


Оно звучит как призыв красить кнопки исключительно на цпп
322 3169598
>>69583

> это не пятон это гуишные либы, которые ты в пятоне используешь


И которые лучше не использовать без крайней нужды. Рынок говорит тоже самое, причем из 14 вакансий PyQt часть чисто плюсовые, где в опыте работы PyQt просто как возможный опыт указан.

> непонятно утверждение


Что конкретно не понятно? Не надо писать гуи на питоне. Он плохо для этого подходит. Тем более, что чел хочет писать в том числе и под мобилки, что уже совсем безумие
323 3169604
>>69598
Причем здесь вакансии... Какое это имеет отношение к вопросу на чем можно писать? 🐗猪🐗ыч тебя может заставить гуй и на пыхе пилить.
324 3169610
>>69604

> Причем здесь вакансии


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

> Какое это имеет отношение к вопросу на чем можно писать?


Прямое

> 🐗猪🐗ыч тебя может заставить гуй и на пыхе пилить


Может, но в случае с 🐗猪🐗ычем это не твой проект и не тебе ебаться в случае чего с последствиями такого решения
325 3170303
Здарова пацаны. Кто-нибудь уже учил питон с помощью ИИ?

Я за лет 5 пытался что-то учить, но не мог и часа просидеть. Сейчас с помощью 4о очень много нового узнал, например. Он мне объяснил как макаке как поставить гит, как создать ссш ключ и связать с гитхабом, как клонировать, пушить и пуллить изменения. Работать с ветками и прочее.

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

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

Пока чисто всё базовое рассмотрел, но прям очень нравится.

Можете что-нибудь подсказать, советы может какие. Какие задачки стараться делать и прочее?
326 3170330
>>70303
Ну скидывай канал тогда, чо.
327 3170340
>>70303
Может через пару лет, GPT какой-нибудь последний и сможет быть адекватным "учителем". Но сейчас текстовые нейронки только плохому могут научить как не надо делать.
Если конечно ты пускающий слюни дегенерат с iq 80, то, наверное, чему-то сможешь у нейронки научиться. Во всех остальных случаях это просто справочник поисковик вроде гугла т.е. тебе от него прок может быть только если ты уже в теме предмета и сможешь распознать когда нейронка гонит порожняк.

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

Короче, если ты можешь чему-то учиться у нейросети в текущем её состоянии, во-первых - забудь всё что научил там, тебя скорее всего научили говну и во-вторых - ты даун.
328 3170344
>>70330
Да он полностью пустой, там только я один. Ща сходу ещё засрут мой код))

>>70340
Ну отчасти соглашусь, да, НО.
Сегодня я, например, узнал, что принято оставлять пустую строку в конце файла с кодом. Сегодня от чата я узнал, что функция должна что-то возвращать. То есть

def greetings(name):
return f"Привет, {name}!"

Вот так хорошо писать, а

def greetings(name):
return print(f"Привет, {name}!")

Так плохо. Это наверно очень простая и понятная вещь, но я этого не знал и нигде этого не видел.

Также, если мне чего-то непонятно, он мне "разжёвывает" в нескольких вариантах всё. Я потом переписываю код по-своему (другие переменные, чуть друргой стиль) и спрашиваю: ок или не ок и он также подробно отвечает.

НО
Если был бы выбор: кореш под рукой, который шарит в программировании или этот чат, то, естественно, выбрал бы кореша. Но кореша у меня все заводчане.

>пускающий слюни дегенерат с iq 80


сук представил своё ебало слюнявое

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


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

>ты даун


сука во ты пидор, в конце это написал. я всё так читал, на всё отвечал, а в конце такое. во гад
328 3170344
>>70330
Да он полностью пустой, там только я один. Ща сходу ещё засрут мой код))

>>70340
Ну отчасти соглашусь, да, НО.
Сегодня я, например, узнал, что принято оставлять пустую строку в конце файла с кодом. Сегодня от чата я узнал, что функция должна что-то возвращать. То есть

def greetings(name):
return f"Привет, {name}!"

Вот так хорошо писать, а

def greetings(name):
return print(f"Привет, {name}!")

Так плохо. Это наверно очень простая и понятная вещь, но я этого не знал и нигде этого не видел.

Также, если мне чего-то непонятно, он мне "разжёвывает" в нескольких вариантах всё. Я потом переписываю код по-своему (другие переменные, чуть друргой стиль) и спрашиваю: ок или не ок и он также подробно отвечает.

НО
Если был бы выбор: кореш под рукой, который шарит в программировании или этот чат, то, естественно, выбрал бы кореша. Но кореша у меня все заводчане.

>пускающий слюни дегенерат с iq 80


сук представил своё ебало слюнявое

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


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

>ты даун


сука во ты пидор, в конце это написал. я всё так читал, на всё отвечал, а в конце такое. во гад
329 3170345
>>70344

>функция должна что-то возвращать


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

>Так плохо.


Это хуйня полная, важно ПОНИМАТЬ суть вещей, понимать почему что-то "плохо" а что-то "хорошо", в этом и смысл обучения, в понимании сути вещей сука. Ну ты точно даун.
330 3170362
>>70345

> Вот у тебя есть функция, которая например пишет в файл слово "хуй", что и кому она должна возвращать?


Функции в питоне всегда что-то возвращают. Если ты явно ничего не вернул, то вернется None. Аналог void в питоне сделать нельзя.
>>70344

> def greetings(name):


> return print(f"Привет, {name}!")


>Так плохо


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

> Он мне объяснил как макаке как поставить гит


где нужно просто скачать exe файл с сайта, то это пиздец. Если тебя в принципе вдохновляет использовать нейронку, то хотя бы перепроверяй то, что она пишет. Потому что пишет она почти всегда лютую хуйню, так как просто усредняет ответы лет за 10 последние, часть из которых ответы косолобиков, часть устарела уже 10 лет назад, часть просто хуйня.
331 3170370
>>70362
Чел, ты ни хуя не понял, "функция должна что-то возвращать" это императив, выражающий побуждение к действию, читай "код функции надо писать так, чтобы он что-то возвращал". Это заявление не имеет отношения к архитектуре языка, в которой любая функция неявно возвращает None, это заявление о стиле, о том как якобы надо писать.
332 3170375
>>70370
Может быть и так, можно и такое вчитать в слова того анона. Но, как минимум, можно воспринятьего слова и по другому
333 3170508
>>70362

> def greetings(name):


> return print(f"Привет, {name}!")


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

>Функции в питоне всегда что-то возвращают. Если ты явно ничего не вернул, то вернется None.


Воооот именно это она мне и сказала. И после моего примера сказала что я ебанат и возвращать принт вообще пиздец.

>где нужно просто скачать exe файл с сайта, то это пиздец.


Я под "поставить гит" подразумевал не установить экзешник и понажимать "далее", апро то, как связать гит и гитхаб (представь себе, в начале пути об этом никто не знает, но идут гуглить и учиться), как пушить, пуллить в репу или из неё. Как создавать ветки и переключаться между ними. Понятное дело, что можно всё это загуглить или посмотреть видос, но слушать эмкание мычание и пердежь на видосе я не хочу.
А тут чат мне написал какую-то команду, я сходу спросил а почему так, а зачем, а где ещё дополнительно что-то взять и нужно ли. И моментально получил ответ.

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

Всем добра, перестаньте быть токсиками, жизнь одна и надо помогать всем, друзья!
334 3170578
>>70508

> я у нейронки спросил, а можно ли так


Значит, ты все еще не понимаешь что делает return

> под "поставить гит" подразумевал не установить экзешник и понажимать "далее", апро то, как связать гит и гитхаб


Выражайся точнее тогда

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


Зачем вообще смотреть видео по программированию, кроме записи собеседований и выступлений на конфах? В любом случае, достаточно просто загуглить и быть уверенным, что тебе не высрут рандомную хуйню

> в начале пути во время обучения никто ничего не понимает


Так кто ж спорит

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


Все правильно, не надо пытаться по двачу изучать программирование, особенно в начале. Кто-то вообще это предлагал?
335 3170604
>>70578

>Значит, ты все еще не понимаешь что делает return


Знаю, просто часто мне проще что-то усвоить, когда в голове я понимаю, что это не совсем правильно. Я задаю вопрос, а вот так вот хуево будет? Косвенно понимая, что да, просто мне нужно подтверждение.

>Кто-то вообще это предлагал?


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

Я вообще тестером работаю и щас вот 5 лет откладывал изучение прогерства и в итоге без задней мысли сел ебашить. Не знаю почему именно питон и пригодится ли он мне или нет, но бросать и быстро свитчить на другой язык пока не хочу (1 день изучаю)))))))
336 3170663
>>70604

> Знаю


Сомневаюсь, скорее всего тебе кажется, что ты знаешь. Вообще, концепция return'ов это одна из самых сложных концепций в принципе в программировании. Ну, например, ты понимаешь что происходит в таком коде?
some_func(10)(True, False)(foo)

> Идёшь на форум, а тебе говорят, что всё вообще не так и надо переписывать


По своему опыту скажу, что обычно говорят все правильно, просто слишком погружаясь в нюансы
337 3170678
>>70663
some-func.call(10).call(True, False).call(foo)
338 3170700
>>70663
Не знаю, что происходит в таком коде. Только могу предполагать.
Я пока только понимаю, что return что-то возвращает, что будет использоваться при вызове функции, например.
339 3170743
>>70700
return завершает функцию и возвращает значение, которое вызывающий может записать в переменную:
a = some_func()

Например
- return "Stroka" - вернёт строку
- return print("Stoka") - аналогично коду
a = print("stroka")
return a
- return (без значения) - аналогично return None
- отсутствие return - аналогично пустому return в конце кода функции, но не факт что он достижим (например, функция может делать raise)
image.png12 Кб, 451x182
340 3170760
>>70663

>some_func(10)(True, False)(foo)


Анон сверху дал пример когда функция возвращает функцию, кторая возвращает ещё одну функцию.
Это кусочек функционального программирования в питоне, который главным образом используется в декораторах. Но тебе знать это ещё рано, так что держи искуственный пример на скрине
341 3170776
>>70760
Кажется, у меня проблема с объяснениями, наверно из-за того, что ещё неуверенно себя чувствую, поэтому я хуево говорю, что имею в виду. Вот то, что ты показал на скрине - я это понимаю.
342 3170926
>>70678
Не знаю что ты имеешь ввиду под call(), выглядит очень странно
>>70700

> return что-то возвращает, что будет использоваться при вызове функции


Мб ты имел ввиду после вызова функции?
>>70760

> функция возвращает функцию, кторая возвращает ещё одну функцию


Нет, это одно из возможных значений и я действительно немного намекал на декоратор с параметром, но это далеко не единственный возможный вариант
>>70776
Ты уверен что понимаешь? Почему переменная "число" внутри второй функции запоминает переданное значение после первого вызова?
изображение.png14 Кб, 494x359
343 3170928
>>70776
Чем вот эти две функции принципиально отличаются?
344 3171053
>>70578

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


Лол, можно подумать, что на форумах (типа этого, кста) сплошь гении сидят и конечно же не советуют рандомную хуйню из головы.
345 3171075
>>71053
Ну так ополоумевшего от двачей дебила поправят другие люди, это смысл наличия именно коммунити. А с нейронкой ты 1х1 находишься, при том, что нейронка не говорит "бля почоны, я не в курсе", она всегда что-то высирает, причем в гопоту заложено еще писать пиздец с каким самоуверенным видом. По итогу, ты видишь простыню, которая как будто бы написана шарящим человеком, при этом 80% из этой простыни будут в целом правдой, а 20% рандомной лютой хуйней, которая вообще хз как и откуда высралась
346 3171080
>>71075
Всё так, подписываюсь под постом.
347 3171083
>>70926
там механизм замыкания
изображение.png9 Кб, 414x228
348 3171098
>>71083
А почему этот код выдаст ошибку?
349 3171110
>>71098
потому что пустые скобки в вызове не нужны
350 3171115
>>71110
Ну, то есть ты все еще не разобрался как работает return
351 3171146
>>71098
Расскажи, чего тут не так.
другой анон
352 3171154
>>71146
>>71098
bar(10) возвращает функцию и сразу её взывает, не после того как замыкание возвращено, ему уже не доступна видимость переменной number - происходит сиключение, если сделать num=number+1, то всё работает, значит тут всё дело в области видимости.
Как-то так?
353 3171159
>>71154
Бля столько опечаток, фикшу:

1 bar(10) возвращает функцию inner и сразу её взывает

2 однако, после того как функция возвращена, ей уже не доступна переменная number - из за этого происходит исключение

3 если сделать num = number+1, то всё работает, значит тут всё дело в области видимости.

Как-то так?
354 3171162
Прочитал доку за неделю
и все забыл сразу же
355 3171168
>>71159
Ты вовремя ответил, я как раз писал про то, что нихуя не понял лол.

> 1 bar(10) возвращает функцию inner и сразу её взывает


Да, хотя "сразу" или не "сразу" тут не важно

> 2 однако, после того как функция возвращена, ей уже не доступна переменная number - из за этого происходит исключение


Почему недоступна? Вполне себе доступна

> 3 если сделать num = number+1, то всё работает, значит тут всё дело в области видимости.


Ну вот, а ты говорил, что переменная недоступна.
Ладно, не буду душить дальше загадками. Да, дело в области видимо в том числе. Но в первую очередь тут дело в том, что выражение
number += 1
на самом деле синтаксический сахар для
number = number + 1
Это выражение выполняется слева направо, то есть, сначала создается переменная number, она находится в более узкой области видимости, а значит переопределяет переменную number из области видимости замыкания. Затем выполняется часть справа, но так как наша переменная только что объявлена, но ей не присвоено значение, а мы уже бежим складывать ее с единицей, то питон выплевывает ошибку. Это называется затенение
356 3171169
>>71159
>>71168
А ну и да, это не какая-то особенность питона, так почти все языки работают, где механизмы областей видимости существуют
357 3171197
>>71115
я не отвечал пока на твой вопрос. может будет ошибка, потому что переменная локальная? надо оформить нонлокал или глобал?
358 3171205
>>71197
А смысл отвечать на вопрос, если я постом выше уже подробно все разложил?
Ебучий ffmpeg.png81 Кб, 1543x895
359 3171221
Анон, помоги забороть ебучий ffmpeg. Через subprocess запускаю ffmpeg, пытаюсь передать строку ffmpeg -i 1.mp4 -i 1.mp3 -c:a copy -map 0:0 -map 0:1 -map 1:0 video_sound.mp4 для склейки mp4 с mp3 а ffmpeg только ЕХИДНО ПЕЧАТАЕТ строку и нихуя не склеивает. Подскажи в чём ошибка?
360 3171236
>>71168

>переопределяет переменную number из области ви


Ну и зачем ты тогда гнал анону про ретёрн, в этой ситуации оно не рилейтед вообще.
361 3171240
>>71236
Я спросил к тому, точно ли он понимает что такое замыкания. Речь про ретерн уже не шла. Ты чет жопой читаешь посты
362 3171246
>>71221
Ну так ты написал input(some_string) в конце. Ты знаешь что делает эта команда?
363 3171247
>>71205
Смысл в том, что я учусь и не смотрю ответы, ответил как подумал. Недавно книженцию смотрел байт оф пайтон и там много примеров про локальную и глобальную переменные поясняли
364 3171266
>>71247
Прочитай мой ответ, в целом я там про затенение телегу толкал. Вообще странно, что ты хотя бы читал про замыкания и в курсе про остальное и при этом принт в ретерн кидаешь
365 3171272
>>71266
Так я в ВУЗе учился на прогера (посещал вуз просто и что-то запоминал).
Закончил ВУЗ в 18 году и понял, что я выблядок и надо было учить прогерство, но дальше я стал ленивым тюленем и только сейчас расчехляюсь вот. Я ещё и на плюсах многопоточность пробовал.

Даже на лиспе прогал диффуры, лол или че то там из математики.
Даже паттерны когда-то понимал (фасад и сейчас помню).

А принт хуйнул в ретерн это ну даже хз что сказать. Лет 5-6 в код вообще не смотрел (кроме хтмла и цсс), так что думаю временно простительно.
366 3171274
>>71168

>затенение


Всё время про эту хуйню забываю, наверно потому что я так пишу, что у меня таких ЗАТЕМНЕНИЙ никогда не случается, а потом когда сталкиваюсь допускаю ошибку, сразу вспоминаю. Повторить.
367 3171291
>>71272

> Закончил ВУЗ в 18 году


А я так и не закончил...

> я стал ленивым тюленем и только сейчас расчехляюсь вот


Правильно, автотестерам платят те же три сотыги, надо подключаться

> Я ещё и на плюсах многопоточность пробовал


Мои плюсы закончились на laba1.cpp С тех пор не переношу их

> А принт хуйнул в ретерн это ну даже хз что сказать. Лет 5-6 в код вообще не смотрел (кроме хтмла и цсс), так что думаю временно простительно.


Да бывает
>>71274

> я так пишу, что у меня таких ЗАТЕМНЕНИЙ никогда не случается


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

> когда сталкиваюсь допускаю ошибку, сразу вспоминаю. Повторить.


Если пойдешь когда-нибудь на собесы по питону, то там везде это будет. Стоит держать в голове. Бтв еще по-моему ни один лайвкодинг не прошел у меня без того, чтобы меня бы не попросили написать декоратор с параметром, иногда спрашивая про затемнения
368 3171295
>>71246
Ну инпут это ввод, я полагаю. Поправь, если ошибаюсь.
369 3171297
>>71272
Сейчас решил задачку, помогал чатгпт.
https://github.com/makdevpy/PythonLessons/blob/main/Tasks/Task1.py

Был затык с тем, что я писал

while value > 0:
total += value

и проверки на 0 небыло как таковой. Ну и с табуляцией обосрался, после других япов очень непривычно соблюдать табуляцию пока что
370 3171316
>>71297
Сделал вторую задачку по угадыванию чисел
https://github.com/makdevpy/PythonLessons/blob/main/Tasks/Task2.py

Единственное, где подглянул - это как импортировать библиотеку и какую и как запихнуть в переменную рандомное число (я понимал, что это надо сделать, но не знал как).

В итоге написал год, но без функции, изначально мой код был таким


import random

randomNumber = random.randint(1, 100)
print("Я загадал число от 1 до 100. Попробуй угадать!")

while True:
userNumber = int(input("Введи число: "))

if userNumber > randomNumber:
print("Меньше!")

elif userNumber < randomNumber:
print("Больше!")

else:
print("Поздравляю, Вы угадали число!")
break



Чатгпт сказал, что пойдет, но посоветовал ебануть в функцию, я сделал и он сказал, что я маэстро.
370 3171316
>>71297
Сделал вторую задачку по угадыванию чисел
https://github.com/makdevpy/PythonLessons/blob/main/Tasks/Task2.py

Единственное, где подглянул - это как импортировать библиотеку и какую и как запихнуть в переменную рандомное число (я понимал, что это надо сделать, но не знал как).

В итоге написал год, но без функции, изначально мой код был таким


import random

randomNumber = random.randint(1, 100)
print("Я загадал число от 1 до 100. Попробуй угадать!")

while True:
userNumber = int(input("Введи число: "))

if userNumber > randomNumber:
print("Меньше!")

elif userNumber < randomNumber:
print("Больше!")

else:
print("Поздравляю, Вы угадали число!")
break



Чатгпт сказал, что пойдет, но посоветовал ебануть в функцию, я сделал и он сказал, что я маэстро.
371 3171342
>>71295
Да, а что будет, если внутрь инпута передать строку?
372 3171347
>>71316
Сделал 3 задачу и понял, что я мыслю узко и "деревянно" ещё.

Если вдруг кто-то тоже изучает базовые базы, то можете посмотреть, вдруг кому пригодится - https://github.com/makdevpy/PythonLessons/blob/main/Tasks/Task3.py

Попросил у чатгпт задачки для практики while и понял, что сама концепция while: True меня может запутать очень сильно.

Всё также проблемы с табуляцией, затык на этом участке кода был


while True:

userNumber = int(input("Введите положительное число: "))

if userNumber > 0:
break
print("Число должно быть больше нуля")


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

Но я не совсем понял один момент по поводу break. Может кто тут подскажет...

Бесконечный цикл выполняется, пока нее встретится брейк. Но, судя по табуляции, он находится в if и я изначально думал как:
- бесконечный цикл пока юзер не введет >0
- если ввел больше нуля, то ВЫХОД из цикла и вывод текста после break (если текст находится внутри текущего цикла)

Я правильно всё понял же? Написать-то написал и понял по-своему, в общем.

Короче может просто засиделся, хз, но щас плыву как-то с табуляцией.
372 3171347
>>71316
Сделал 3 задачу и понял, что я мыслю узко и "деревянно" ещё.

Если вдруг кто-то тоже изучает базовые базы, то можете посмотреть, вдруг кому пригодится - https://github.com/makdevpy/PythonLessons/blob/main/Tasks/Task3.py

Попросил у чатгпт задачки для практики while и понял, что сама концепция while: True меня может запутать очень сильно.

Всё также проблемы с табуляцией, затык на этом участке кода был


while True:

userNumber = int(input("Введите положительное число: "))

if userNumber > 0:
break
print("Число должно быть больше нуля")


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

Но я не совсем понял один момент по поводу break. Может кто тут подскажет...

Бесконечный цикл выполняется, пока нее встретится брейк. Но, судя по табуляции, он находится в if и я изначально думал как:
- бесконечный цикл пока юзер не введет >0
- если ввел больше нуля, то ВЫХОД из цикла и вывод текста после break (если текст находится внутри текущего цикла)

Я правильно всё понял же? Написать-то написал и понял по-своему, в общем.

Короче может просто засиделся, хз, но щас плыву как-то с табуляцией.
373 3171355
>>71347
ебать я тупая блядь, я разобрался, пацаны, меня просто плавить начало.
374 3171356
>>71355
разобрался после того, как поменял слегка код (для наглядности)


while True:

userNumber = int(input("Введите положительное число: "))

if userNumber > 0:
break

elif userNumber < 0:
print("Число должно быть больше нуля")


Я просто очень сильно привык, чтобы было else/elif, если есть if.
375 3171386
>>71342
В душе не ебу. За базар правое полушарие мозга отвечает вроде... Это всё, что помню из погроммирования. Человек-загадочник, я пришёл за советом, а не ебучие шарады твои разгадывать. Я не прошу тебя переписать мой говнокод за меня, я спросил что я делаю не так? Ты не мог бы нормально ответить, дабы я укатился в цикле for свой говнокод крутить, но я уже догадываюсь что ты как Ватсон без трубки Холмса не можешь...
376 3171392
>>71386
input(some_string)
это тоже самое, что
print(some_string)
input()
А тебе нужно у сабпроцесса вызвать wait
p.wait()
Ебучий ffmpeg 2.png66 Кб, 1513x753
377 3171399
378 3171400
379 3171424
>>71400
А ты не через попен, я чет не заметил.
По идее, тебе нужно сделать
print(p.stdout)
print(p.stderr)
Ебучий ffmpeg 3.png106 Кб, 1514x911
380 3171428
>>71424
А толк мне от

print(p.stdout)
print(p.stderr)

если мне нужно строку "ffmpeg -i 1.mp4 -i 1.mp3 -c:a copy -map 0:0 -map 0:1 -map 1:0 video_sound.mp4" передать в ffmpeg...
381 3171429
>>71428
Ну так бери и передавай. Как в консоли вызываешь, так и передавай в run
Ебучий ffmpeg 4.png56 Кб, 1494x676
382 3171435
>>71429
Ёбушки-воробушки, как всё просто оказалось! Спасибо тебе огромное, анончик! Смешно, но меня справка в смутила, и огород городить начал, лол:

>args is required for all calls and should be a string, or a sequence of program arguments. Providing a sequence of arguments is generally preferred, as it allows the module to take care of any required escaping and quoting of arguments (e.g. to permit spaces in file names). If passing a single string, either shell must be True (see below) or else the string must simply name the program to be executed without specifying any arguments.

videosound.mp414 Мб, mp4,
1920x1080, 1:47
383 3171455
384 3171610
Скриптодети весь тред засрали своими хэло ворлд.
Причем это какие-то залетухи с пикабу, иначе бы не срали такими простынями без разметки, а ссылочки бы кидали хотя бы на сайты где код нормально отображается.

Пиздец просто.
385 3171669
>>71386

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



>>71295

>Ты знаешь что делает эта команда?



А правда, нахуя этот идиот срёт в тред, если не собирается помогать? Знаешь ли ты, что делает эта команда? А вот та? А знаешь ли ты, что мамаша твоя - шлюха, а ты, соответсвенно, пидорас? Идиотина, ты нахуя в тред свои нереализованные амбиции то высираешь? Если весь пук от тебя - это высрать очередную идиотию навроде "ну ты и дебил, не знаешь элементарного", то нахуя ты тут нужен то вообще?
Стикер63 Кб, 500x500
386 3171760
>>71669

>нахуя ты тут нужен


Странная постановка вопроса. Анонимный форум это сообщество равноправных нонеймов, а не работа, никто тут ни для чего не "нужен". Все тут сидят чтобы общаться на определенную тематику, а так же чтобы развлекаться. С моей точки зрения анон который высирает беспредметную хуиту "а это для чего нужно а то" засоряет тред не меньще чем залетуха "так епта я тут насрал разргебайте АРЯЯ ЧЕЛОВЕК ЗАГАДОЧНИК Я ПОПРОСИЛ РАЗГРЕБАТЬ А ТЫ МНЕ ЗАГАДКИ"
387 3171893
>>71610
А ты когда учился, где ты и чем засирал, выблядок тухлоёбый?

Пасть свою дырявую щёлкни и пиздуй коллу разливать, хуесос
388 3171914
>>71893
Полегче псинка
389 3172080
>>71221
Ну так покажи что выдает сам ffmpeg будучи запущенным на твоих данных, с этим же ключами, но без твоей хуевой программы-обертки
390 3172082
>>71610

> не срали такими простынями без разметки


Шизоид, какие простыни, ты что несешь? Ща две строчки кода буду на пастебин заливать, уже бегу только штаны подтяну
>>71669

> А правда, нахуя этот идиот срёт в тред, если не собирается помогать?


Говно, я бесплатно сижу и помогаю людям. Если что-то не нравится -- заваливаешь ебало и помогаешь сам.
Каждый раз в ахуе с дегенератов, которым просто так от щедроты души помогают, но они ебало кривят и бухтят, что ожидали сервис получше
391 3172153
>>72082
Если ты простыни не писал, тогда зачем визжишь и оправдываешься, дгенерат шизанутый, значит это не тебе написано было.
392 3172192
Лучше сконцентрироваться на одном фреймворке или знать несколько, но посредственно? Совет для вкатунца.
00trailer.mp412,2 Мб, mp4,
1920x1080, 0:53
393 3172198
>>72080

>Ну так покажи что выдает сам ffmpeg будучи запущенным на твоих данных



Приклеивает mp3 к mp4. Мне анон выше уже помог. Я ещё второпях выше —> >>71455 не тот файл mp3 приклеил, лол.
394 3172328
>>72153
Говно с пикабу, ты не смог в интерфейсе двача из 3 кнопок разобраться? Тебе нужно гайд сделать как на посты отвечать?
>>72192
Если ты про веб фреймворки, то разбирайся в чем-то одном, так как они все равно все одинаковые и изучив один, ты изучишь все. Единственное, что у джанго с дрф своя волна немного, но в основном из-за своей орм
395 3172356
>>72328
Спасибо за ответ. Сделал маленькие проекты во фласке и в фастапи, чтобы посмотреть, что больше по душе. Сейчас решил большой проект на фастапи попробовать написать, заодно с sqlalchemy подружиться.
396 3172359
>>72356
Главное в алхимии не возьми случайно deprecated синтаксис через Model.query Сейчас нужно через
select(Model).where(Model.field > 0)
image.png108 Кб, 763x779
397 3172387
>>72359
А я и не в курсе, делал по доке фастапи.
Без имени.jpg33 Кб, 471x508
398 3172438
image.png24 Кб, 429x477
399 3172538
>>71098
Все какую-то хуйню ответили, не работает из-за попытки изменить нелокальную переменную.
400 3172546
>>72538

> не работает из-за попытки изменить нелокальную переменную


Во-первых, я выше написал уже в чем дело в затенении Во-вторых, нет, не из-за этого. Изменить значение мутабельной переменной вполне себе можно.
401 3172586
>>72387

>def foo(name : type)


Аноны, это что какая-то типизация? Это в какой версии питона ввели? У меня 3.7 такой хуйни нет.
402 3172734
>>72586
А почему у тебя 3.7? У тебя дома пеки нет, только на работе с прибитым гвоздями петоном?
403 3172791
>>72586
Ага, типы с деженериками уже есть, скоро кривые скобочки и точки с запятыми введут
404 3172806
>>72586

> Аноны, это что какая-то типизация?


Нет

> Это в какой версии питона ввели?


3.8

> У меня 3.7 такой хуйни нет


Эта хуйня 6 лет назад вышла, ты бы еще постарее версию взял
изображение.png17 Кб, 464x378
405 3172809
>>72791

> Ага, типы с деженериками уже есть


Пиздец, какой дегенерат. Да, типизация твердо и четко
406 3172827
сап, помогите разобраться, надо чтобы базовый класс вызывал свой метод
class C1:
def __init__(self):
self.v()
def v(self):
print("C1 v")

class C2(C1):
def __init__(self):
super().__init__()
def v(self):
print("C2 v")

c2 = C2()
изображение.png32 Кб, 678x623
407 3172830
>>72827
Так базовый класс свой метод и вызывает лол
408 3172832
>>72827
Или ты про то, чтобы внутри инита супера вызвались именно методы родителя? Ну так сделать нельзя, можешь super().v() сделать, если очень хочешь именно достучаться до методом родительского класса
409 3172989
Оцените шансы на вкат в бэкэнд на питухыч.
1. Есть "айтишная" вышкабакалавриат в миллионике 09.03.01
2. Знание питухыча. Проверял на всяких ТОП 100 ВОПРСОВ РАЗРАБОТЧИКУ НА ПИТОНЕ. Могу в asyncio.
3. Есть два пета: один на DRF, второй на FastAPI. Петы с нормальной БД, аутентификацией, разбиением на сервисы и прочей парашей.
4. Опыта работы, кроме говноработ, нет.инб4 ну и пошел нахуй тогда
410 3173010
>>72989
Ебашь себе норм резюме мидла с 2 годами опыта да и начинай ходить на собесы, хули тут гадать и пытаться примерно почувствовать. Если ты реально нормально знаешь питухон (под этим я подразумеваю то что тебя хотя бы вопросы при миксины, слоты и поверхностное/глубокое копирование не ставят в ступор) то найдешь спокойно. Хотя то что ты знание asyncio решил выделить как особенное достижение уже навевает подозрения. Пытаться искать без рисованого опыта забудь, в 2к24 это только по блату или если еще с универа забрали.

;мимо нашел первую работу бэкэндером на питоне пару месяцев назад*
411 3173029
>>73010

>Пытаться искать без рисованого опыта забудь, в 2к24 это только по блату или если еще с универа забрали.


Ну я так и думал. Останусь на старой работке значит пока.
Крутить опыт это смешно, палится сразу же, не?

>аноннейм, расскажите про задачи, которые вы решали на работе


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


>хорошо, опишите свой опыт работы в команде


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


>ну хорошо, а покажите вашу трудовую


>пук среньк

412 3173054
>>73029
Ну во-первых никто там не будет тебя с паяльником пытать досконально о том что ты делал на работе, в рамках 2-3 предложений расскажешь и все (напоминаю, ты идешь на позицию джуномидл обезьяны у которой задача это переложить жсон, а не проектировать там какую-то ебейшую архитектуру). Так что описанный тобой рассказ вполне бы прокатил, если его еще удобрить фразами про джиру и всякими скрам штучками. Вообще я себе нашел ментора который мне помимо прочего объяснил как грамотно пиздеть на собесе и на каких моментах могут доебаться.
413 3173057
>>73029
>>73054
Ну и про трудовую это чисто местная толстота чтобы пугать вкатунцов, твою трудовую увидит только тетка из отделов кадров, которая в душе не ебет что ты там пиздел в своем резюме, и то после того как тебя уже одобрили на позицию.
414 3173069
>>73057
>>73054
Спасибо, анон.
Что-нибудь посоветуешь подучить еще?
415 3173099
>>73069
Ну у тебя 100% на собесах будут вопросы по базе языка (генераторы/итераторы, в чем разница между __new__ и __init__, GIL, лямбда функции, контекстные менеджеры, cлоты и подобное), база твоего фреймворка (для джанго аннотации/агрегации, мидлвари, сигналы, что будет если отнаследовать одну модель от другой и т.п), база SQL ( https://habr.com/ru/articles/745948/ ), общие вопросы типа в чем отличие http1 от http2, что такое CORS, потом по Celery и брокерам сообщений могут еще поспрашивать, мб чутка по тестам, архитектурные паттерны (заучи просто штук 5), докер, алгосы тут зависит от припизднутости конторы, в какой-нибудь яндекс они 100% будут, в ооо рога и копыта вряд ли. Вот эти темы и учи.
1333982144648.jpg892 Кб, 1632x1224
416 3173100
>>73099
Спасибо.
Держи няшку.
изображение.png29 Кб, 501x561
417 3173175
>>72989
Ну выглядит так, что тебе уже пора вкатываться на работу. Думаю, 5-6 собесов и будет первая работа. Не слушай шизов с их рассказами про то, что для получения первой работы нужно обязательно пиздеть. Это какой-то запредельный уровень кринжа. Главное сделай нормальное резюме, это примерно 99% успеха
>>73010

> Ебашь себе норм резюме мидла с 2 годами опыта


О, очередной шиз

> Хотя то что ты знание asyncio решил выделить как особенное достижение уже навевает подозрения


Почему пикрил 4 секунды выполняется, тут же асинхронно все?

> Пытаться искать без рисованого опыта забудь, в 2к24 это только по блату или если еще с универа забрали.


Спокойно все ищется
>>73057

> твою трудовую увидит только тетка из отделов кадров


Пиздец, фантазер, допустим даже, что ты реально нашел работу недавно, но тебе в голову не приходило, что абсолютно каждый понял, что ты напиздел про опыт, но просто решили, что толковый джун им тоже нужен? 2-НДФЛ, СТД-Р, СТД-СФР у тебя абсолютно любая хрюша после согласия на оффер попросит. Как бы без этого они тебя устроить не смогут. И попросит об этом та же хрюша, что изначально тебе напишет по поводу работы. Если тебе такое не написали, значит все и так все понимают, что ты на пиздаболычах залетел на собес.
418 3173180
>>73175

> Почему пикрил 4 секунды выполняется, тут же асинхронно все?


Из-за GIL?
мимовкатун
419 3173185
>>73180
А, надо через asyncio.gather() запускать.
420 3173188
>>73180

> Из-за GIL?


Нет, гил тут вообще не при чем

> надо через asyncio.gather() запускать


Да, но вопрос в том ПОЧЕМУ надо через gather запускать
421 3173190
>>73175

>Если тебе такое не написали, значит все и так все понимают, что ты на пиздаболычах залетел на собес.



Ну пусть будет по-твоему, напомни хоть одну причину почему меня это должно ебать? Я получил работу? Получил. Я получил ЗП мидла имея за плечами 0 опыта? Получил. Так какого хуя мне загоняться о том что там кто-то понял или не понял?
422 3173192
>>73190

> Я получил ЗП мидла имея за плечами 0 опыта?


Не знаю, скорее всего ты получил ждуновскую зарплату, просто почему-то решил, что она мидловская
423 3173195
>>73192
Это уже демагогия, факт остается фактом, на работу я вкатился. Чел спросил совет, я ему дал ответ опираясь на собственный опыт. Че тебя порвало хуй знает. Если кому-то по кайфу играть в брутальную честность тем самым усложняя себе кратно процесс поиска, ну окей, не крутите опыт.
424 3173196
>>73188
Чтобы запустить две корутины конкурентно, а не ждать пока первая завершит свою работу и только после этого запускать вторую.
Бля, в пятницу собес на джуна, бегаю с горящей жопой статьи по multiprocessing, multithreading и asyncio читаю
425 3173204
>>73195

> Это уже демагогия


Да нихуя лол

> Если кому-то по кайфу играть в брутальную честность тем самым усложняя себе кратно процесс поиска


Крутить опыт это не брутальная честность дебс. Ты буквально себе сложности дополнительные придумал и вместо поиска компании, где ищут джуна, ты искал компании, которые ищут не джуна, в надежде, что джун им тоже нужен. Зачем, нахуя, для чего?
>>73196

> запустить две корутины конкурентно


async многозадачность не конкурентная, а кооперативная. Рекомендую на ютубе тебе найти плейлист Олега Молчанова по асинхронности, там прям очень подробно и с расстановкой рассказано все, начиная от еполла и наблюдением за файлами подключения, и заканчивая объяснением механизма залупа
image.png439 Кб, 932x582
426 3173216
>>73204

>2к24


>компании, где ищут джуна

427 3173229
>>73216
Как минимум та, в которую ты устроился, вполне себе искала. Друг к себе в команду искал недавно(осенью), бтв я даже на двач приходил никто даже не попытался лол Примерно месяца за два кое-как нашли какого-то лоботряса, который хотя бы примерно код писать мог
17149413515740.jpg314 Кб, 640x794
428 3173338
Суп, антошки.
Есть маленький парсер, который потрошит страницы сайта. Страниц очень много (больше 10000), в среднем на страницу уходит 1 секунда, но при таком количестве - занимает очень много времени.
В связи с чем нагуглил решение - многопоточность. Проблема заключается лишь в том, что все примеры, которые я видел, запускают одновременно несколько функций, которые выполняются параллельно. Есть ли возможность запустить одну функцию несколько раз, чтобы она выполнялась параллельно? Например, запускается поток1, в нем парсятся страницы с 1 по 100, поток2 парсит страницы со 101 по 200 и т.д., при этом, не нагромождая кучу функций с разбивкой по парсингу конкретных страниц?

Алсо, я сам не программист, так что не сильно владею техническими терминами
429 3173360
>>73338
Сорян, но я рот скраперов ебал, так что скажу только 1 слово
partial
430 3173381
>>73010

>Хотя то что ты знание asyncio решил выделить как особенное достижение уже навевает подозрения


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

Вот эта вот картинка >>73175
ещё не говорит, что какой-то уровень присутствует
431 3173400
>>73381

> Вообще это действительно особое достижение


Согласен

> эта вот картинка ещё не говорит, что какой-то уровень присутствует


Если чел не понимает о чем речь на картинке, то он в принципе не понимает что такое asyncio Бтв итт так еще никто и не ответил ничего по ее поводу лол
432 3173420
>>73400

> так еще никто и не ответил ничего по ее поводу лол


кто-то что-то написал, про gather вспомнил

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

Интересная задача, как заставить выполняться параллельно эти две функции, при этом не пользуясь gather
show.png3 Кб, 256x50
433 3173442
>>73420

> кто-то что-то написал, про gather вспомнил


Ну так вопрос был не в том, что нужно сделать, чтобы работало за 2 сек, а почему работает за 4, а не за 2

> несерьёзная картинка


Ну так и претензии такой не было

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


Верно, но вопрос все-таки немного про другое

> Интересная задача, как заставить выполняться параллельно эти две функции, при этом не пользуясь gather


Примерно 5 способов есть, мб больше, лень считать. Хз что там интересного
434 3173474
>>73338
Да, можно. Хочешь конкретики - скажи на каком языке написано.
А вообще возьми фреймворк для своего языка, и запихни парсер в него.
https://github.com/geziyor/geziyor - пример для go
435 3173481
>>72809

>Да, типизация твердо и четко


"Типизация" != "явная статическая типизация".
Типы есть практически во всех языках, в питоне она даже строгая, хоть и динамическая.
436 3173483
>>73175

>Главное сделай нормальное резюме, это примерно 99% успеха


Без указания 1-2 лет профильного коммерческого опыта твоё резюме просто никогда не попадёт к работодателя, его отсеют автофильтры HH.
Обожаю эти охуительные советы сделать нормальное резюме от людей, которые в последний раз искали работу джуна в 2к15.
437 3173491
>>73474
Дык тред про питон же, так что на питоне.
>>73360
Спасибо, гляну
438 3173493
>>73483
Забей, это шиз, у которого джуны на питоне в 2024 изи ищут работы, c такими спорить бесполезно, у них свой мир.
439 3173530
>>73481
Ебать ты душнила, спасибо что пояснил, так бы никто не понял о чем речь
>>73483

> Без указания 1-2 лет профильного коммерческого опыта твоё резюме просто никогда не попадёт к работодателя


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

> его отсеют автофильтры HH


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

> Иван Говнов Python Developer мой номер телефона +1234567890


и все. Вот это влияет в разы сильнее, чем отсутствие или наличие опыта
>>73493
Ты выдумал за меня позицию и назвал шизиком. Таблетки прими
440 3173588
>>73530

>более того, это наименее значимый параметр. Большинство резюме челов это литералли


Чел, просто сделай резюме джуна без опыта и попробуй пооткликаться. Может манямирок пропадёт.
441 3173639
>>73588

> сделай резюме джуна без опыта


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

> попробуй пооткликаться


Попробуй сделать нормально резюме. Я тебе открою страшную тайну, примерно 80-90% позиций джунов закрываются эйчарами во время скрининга резюме мидлов и сенек. Опубликованные джуновские вакансии эти единичная хуйня, которую эйчары не хотят повторять обычно, так как разгребать тысячи резюме говна и мочи всем лень
изображение.png431 Кб, 717x280
442 3173650
Бтв классическая хуйня с джуновскими резюмешками. Думаю, тут дело в том, что чел не крутанул себе пару лет опыта, именно так.
Я советую каждому челиксу, который думает, что дело исключительно в том, что он мало опыта накрутил, сначала посмотреть на свое резюме со стороны. Лучше сначала открыть hh и посмотреть резюме других людей, которые ищут работу, и сравнить со своим
443 3173674
>>73639

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


Просто возьми своё резюме, сделай копию, но убери весь опыт. Это несложно. У тебя же хорошее резюме, без вот этого всего кринжа, так? А значит проблем с откликами не будет.
444 3173755
>>73674

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


Тогда будет хуевое резюме

> Это несложно.


Сделать резюме хуевым действительно не сложно

> У тебя же хорошее резюме


Да, если выкинуть из него 80% содержания, то оно станет хуевым

> значит проблем с откликами не будет


Будут. Сразу видно человека, который сделал резюме "Python Developer Иван Говнов город Тверь вот контакты" Если нет коммерческого опыта, то нужно написать о том, какой не коммерческий опыт есть. Описать технологии, которые использовал. Рассказать о пет проектах, которые сделал. Кратко и по существу. Понимаю, для некоторых сесть и потратить 20-30 часов на составление резюме намного тяжелее, чем месяцами ломиться в открытую дверь, краснеть, когда ловят на пиздеже и что-то невнятно мямлить. Но не надо всех мерять по себе
445 3173867
>>73755
Святая толстота.
446 3173897
>>73650
Да, да, все проблемы вкатунов конечно же из-за того что они поголовно пишут такое резюме, а не потому что их без накрученного опыта тупо сбривает фильтр HR-a. Зачем ты продолжаешь серить себе в штаны при всем треде? Тебе уже предложили возьми свое резюме, удали оттуда коммерческий опыт и попробуй поискать работу. Может вернешься в реальность.
447 3173925
>>73755

>потратить 20-30 часов


А зачем столько времени? Там же работы, не считая оформления, на пару часов.
448 3174027
>>73755

>Тогда будет хуевое резюме


То есть мы пришли к тому, что резюме без профильного опыта работы - хуевое резюме. В принципе, да, тут ты во всём прав, только это и был изначальный тейк, с которым ты зачем-то пытался спорить.
449 3174039
>>73755

>Описать технологии, которые использовал. Рассказать о пет проектах, которые сделал.


Чел, это сейчас есть у каждого второго вкатуна. Вот рандомные резюме вкатунов на хх.
450 3174398
>>74039
Это лучше, чем просто "программист на питоне". Хотя вот в третьем совсем много воды и неадеквата.

Хрюшам тяжело читать сразу слишком много пространственных речей. А технарям умилительно.

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

Это такое резюме, которое заведомо отпугнёт любого.

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

Думаю, что если бы я джуна искал, то со вторым может быть даже связался для дальнейшего общения.
451 3174407
>>73897

> все проблемы вкатунов конечно же из-за того что они поголовно пишут такое резюме


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

> возьми свое резюме, удали оттуда коммерческий опыт и попробуй поискать работу


Я тебе написал о том, что если нет коммерческого опыта, то нужно писать о некоммерческом опыте. Зачем ты продолжаешь троллить тупостью?
452 3174431
>>73925

> А зачем столько времени?


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

> То есть мы пришли к тому, что резюме без профильного опыта работы - хуевое резюме


Кто вы? Кто вы блять? Шизоид, перечитай ещё раз мой пост
>>74039
1. Ебучий кринж, навыки, условия работы, технологии — все в одну кучу свалено. Это читать физически трудно, а на прочтение резюме эйчар тратит секунд 15, так что это сразу в мусорку полетит.

Вердикт: автоскип на моменте открытия резюме, вонючее говно 2/10

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

Вердикт: автоскип после прочтения 5 строчек, говно, но не такое вонючее 3/10

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

Вердикт: это, наверное, лучшее резюме из тех, что есть, но даже оно просто плохое, 4/10 это слишком щедро будет, так что 3.5/10
453 3174607
>>74398

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


Если бы добрался до него среди 1000+ других резюме.
454 3174615
>>74431
Покажи пример хорошего резюме джуна-вкатуна, проведем следственный эксперимент.
455 3174705
>>74615
Да, ща покажу, у меня как раз на компе лежит несколько сотен джуновских резюме, разбитых на каталоги в соответствии с моей оценкой
456 3174783
В связи форса Майков своего ноута на АРМ, интересует такой вопрос: Как вообще Пайтон работает на АРМ из под Винды? Я так понял стабильная версия есть только для 3.11+, то есть старые аппки уже хуй запустишь. И как обстоят дела с базовыми либами по типу FastAPI/Django/Flask для веба? По идее если на Маке под м1 быстро все запустили, то и под Винду портируют без проблем
457 3174806
>>74783
Не ебу что там на винде, но на маке все питоны работали нормально(3.8, 3.9 и 3.10). Проблемы были только с образом эластик серча, не было долго билда под м1 для него
458 3175138
>>74783
С Докером может быть геммор. У меня например рабочий проект отказывается заводиться на м1 макпуке
459 3175325
https://www.online-python.com/SER7T2MX4Q
Можете объяснить, зачем мы должны внутри самого итератора возвращать его же? Не понимаю.
изображение.png86 Кб, 936x808
460 3175604
>>75325

> мы должны внутри самого итератора возвращать его же?


Для единообразия интерфейса, в доке подробно описано
461 3175614
>>75325
>>75604
Дополню, что в данном случае BookshelfInterator::__init__ не будет вызываться вообще. Тут действительно для однообразия интерфейса нужно.

Итератор должен иметь два метода, __iter__ и __next__
В принципе __iter__ должен возвращать что-то, что имеет метод __next__, это ключевое по идее.
изображение.png32 Кб, 551x636
462 3175648
>>75614

> Дополню, что в данном случае BookshelfInterator::__init__ не будет вызываться вообще


Как не будет? Смотри пикрил. Инит как раз нужен для создания итератора.

> В принципе __iter__ должен возвращать что-то, что имеет метод __next__


Да, но к __iter__ более 1 раза может быть обращение, так что поэтому и просят возвращать самого себя, чтобы не получить потом внезапную ошибку.
изображение.png12 Кб, 433x246
463 3175650
>>75325
Короче, вот как выглядит примерно внутри цикл for на примере списка. Вызов __iter__() происходит в самом начале для того, чтобы получить итератор, но если у тебя и так изначально итератор, то нужно, чтобы он сам себя вернул(по сути просто скипнул этот вызов)
изображение.png26 Кб, 467x528
464 3175651
>>75650
Бля заскринить вывод забыл, вот норм вариант
465 3175661
>>75648
Зачем вообще итерировать итератор? Какие юзкейсы?
image.png91 Кб, 593x843
466 3175666
>>75648
Здесь тебе нужно не for i in Iterator:, а for i in Iterator():

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

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

Можешь для теста удалить, будет работать.
изображение.png34 Кб, 558x757
467 3175670
>>75661
Эм, ну, я ж написал -- внутри цикла for, например. Если ты хочешь добавить своему классу возможность итерироваться по нему. Вот пример пикрил
468 3175672
>>75670
Теперь попробуй вместо
for i in Iterator():
____print(i)

сделать
my_obj = Iterator()

for i in my_obj:
___print(i)

for i in my_obj:
___print(i)

то есть два раза цикл по одному объекту прогнать

Ты же список, например, не создаёшь каждый раз новый в цикле? Ты ходишь под одному циклу
469 3175676
>>75666

> Здесь тебе нужно не for i in Iterator:, а for i in Iterator():


Вот именно, так что инит для вызова итер нужен

> твой BooksheldInerator


Но он не мой

> BooksheldInerator хранит внутри состояние, текущее положение, но ему реально метод __iter__ не нужен


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

> Можешь для теста удалить, будет работать.


В конкретно данном юзкейсе да, но вообще работать не будет и ты сам такой пример привел лол вот тут >>75672 если ты удалишь __iter__, то код упадет, хотя должен был просто сразу выйти из цикла
изображение.png19 Кб, 462x397
470 3175679
Бтв задача со звездочкой для тех, кто хочет разобраться в том, как работает цикл for. Почему так происходит?
471 3175680
>>75672
Правильно понимаю, у нас есть два стиля создания итерируемых объектов:
1. Создаем итератор внутри класса, который хотим сделать итерируемым. Все будет работать, но состояние для всех итераторов объекта этого класса будет одно.
В этом случае мы возвращаем уже сам итератор, чтобы он ссылался сам на себя, чтобы питону вообще было что вызывать.
2. Создаем отдельный класс итератора для класса, который хотим сделать итерируемым. Все будет работать, состояние для каждого итератора будет своим.
Но в __iter__() итерируемого класса нужно уже указывать на класс итератора, чтобы для каждого объекта сделать свой итератор. В этом случае в самом классе итератора __iter()__ уже не нужен, т.к. даже не будет вызываться?
472 3175684
>>75680

> В этом случае в самом классе итератора __iter()__ уже не нужен, т.к. даже не будет вызываться?


Нужен, не слушай этого чела, ты буквально закладываешь себе мину в коде, если не делаешь iter, так как у тебя в коде будет говно, которое выглядит как итератор, но при этом падает с ошибкой, если его начать использовать, собственно, как итератор
473 3175685
>>75676
__init__ нужен для инициализации объекта
__iter__ нужен для старта цикла for, например, смысл __iter__ только в том, чтобы вернуть какой-то объект, который имеет метод __next__
дальше смысл в том, чтобы итерироваться, вызывая метод __next__

В одноразовом BooksheldIterator реально метод __iter__ не вызывается, это просто для унификации нужно, чтобы линтеры не бузили и т.п.

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

> __init__ нужен для инициализации объекта


Да, зачем ты вообще начал говорить о том, что init не вызывается у итератора?

> В одноразовом BooksheldIterator реально метод __iter__ не вызывается, это просто для унификации нужно, чтобы линтеры не бузили


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

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


Охуенный хак -- взять класс, который называется ...Iterator и начать его использовать как итератор, не представляю даже как такое может произойти
475 3175695
>>75680

>В этом случае в самом классе итератора __iter()__ уже не нужен, т.к. даже не будет вызываться?


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

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

Попробуй вставить отладочную печать, например, чтобы отследить, что когда вызывается.
476 3175698
>>75679
Потому что в some_list[0] последовательно записываются 1, 2 и наконец 3?
А вызвано это тем, что итератор списка вызывает метод __next__(), который и кладет в переменную списка очередное число, которое ему дал __next__()?
477 3175702
>>75698

>в переменную списка


в первую переменную списка
478 3175706
>>75692
Чел, следи за смыслом обсуждения

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

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

Но только вот не помню, чтобы реально с этим сталкивался.

Вопрос анон задавал, зачем нужно возвращать self. Ответ, чтобы какие-то особые ситуации закрыть, чтобы соглашение итератора соблюдать. Для более извращённых ситуаций, чем у него в коде
479 3175726
>>75698
Да, верно
>>75702
Первая переменная списка звучит очень странно, если честно. Обычно говорят "элемент списка" или там хотя бы "ячейка списка"
А вообще в питоне нет переменных, но не будем об этом
>>75706

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


Кем, где и как подразумевается? Более того, почему ты считаешь, что никто не захочет получить к нему доступ через тот же iter?

> В стардатных схемах BooksheldIterator.__iter__ никогда не будет вызван


Не знаю что это за "стандартные схемы", но в любом случае, тем только хуже. У тебя код может разрастись успеть, а потом ты этот Booksheld куда-то передал и все упало. В какой-нибудь сериализатор или еще что-то такое. И потом ты будешь с горящей сракой по всему коду бегать и пытаться понять где и что пошло не так. Особенно с учетом того, что где-нибудь какой-то мудак мог ебануть что-то в духе
try:
----some_method()
except:
----raise CustomZalupaException('Ooops something goes wrong')

> только вот не помню, чтобы реально с этим сталкивался


Значит, у тебя очень мало опыта

> Для более извращённых ситуаций, чем у него в коде


Для каких "более изощренных"? Это учебный код, он не решает никакую проблему. Зачем вообще измерять (не)допустимость чего-либо по учебному блять коду на 50 строк? И зачем на основании этого советовать нарушать интерфейс итератора, что может просто нереальный жопной болью стрельнуть даже в микроприложении уровня петпроекта?
480 3176155
Какие есть библиотеки на питоне для автоматизации действия в браузере? Кроме селениума. Есть библиотеки которые не будут палится сайтом в Headless режиме?
481 3176244
>>76155
Бля, очередной додик собирается спамить или скам 🌶ню постить. Пописил тебе на ебало
482 3177159
Почему в шапке не рассказано про lsp? Новый сетап, так что задам вопрос снова:
basedpyright, jedi language server, pyre, pyright, pylyzer, sourcery, pylsp, ruff?
Какой (или какую комбинацию) используете и почему? Почему ни🌶 не гуглится их сравнения хотя бы по скорости работы по размеру кодовой базы? В прошлый раз я взял pyright как с самым большим количеством звездочек на гитхабе, вроде норм (хотя не показывает доки по стандартной библиотеке), но вдруг есть что-то лучше.
483 3177304
>>77159
Все говно, так как впервые слышу про весь список, кроме ruff. Бери pylance и не выебывайся
484 3177444
>>77304

> бери проприетарное закрытое говно


так не берется, нет neovim-pylance
485 3177449
>>77159
Использую pyright от майков, потому что корректно работает. Но тормозит потому что на ноде (typescript).

pylyzer быстрый на расте, но глючный и автор медленно пилит, если вообще не забросил
486 3177452
>>77449
Ну и jedi тормозит больше пирайта, потому что пюре питон...
487 3177687
Поставил питончег на шындоуз10, tikinter не работает, при вызове tkinter._test(), тупа пишет в консольку Python. Это что, мне ещё и tcl надо конпелировать под шындоуз?
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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