image104 Кб, 630x630
Питон-тред №174 /python/ 3449085 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #173

Предыдущий: >>3327670 (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/#z0o243n8t8byiy2zptv27
2 3449090
С предыдущим тредом проебался: >>3375375 (OP)
maxresdefault.jpg130 Кб, 1280x720
3 3449124
Остались еще вкатуны в питон?
Не свитчеры, а именно с нуля первым языком?
Какой у вас план?
изображение.png80 Кб, 300x168
4 3449156
>>449124

>Какой у вас план?

5 3449332
>>449124

>Какой у вас план?


Просто берешь и без задней мысли вкатываешься.
6 3449354
>>449124
Ну, я. Но мне питон для автотестов нужен. И то не могу сказать, что это прям ПЕРВЫЙ мой язык, 10 лет назад я знал js, правда с того момента больше им не пользовался и не программировал. Но ООП и прочую залупу я уже знаю.
Кстати, охуел как изменилось обучение за эти 10 лет, когда я вкатывался раньше, то было дай бог 2-3 курса на английском по js, и книги с кучей воды и ненужной хуйней. То есть то, что ты сейчас можешь выучить за 2-3 видоса на ютубе растягивалось на 2-3 недели потного дрочева с книгой. И всякие ии - просто пиздец как удобно, я вот раньше ждал, когда мне на дваче ответят почему моя хуйня не работает, а мне отвечали "пошел нахуй" или "ты долбаеб", а теперь нахуй все подробно можно разобрать и пофиксить проблему за 1-2 часа, а не за ебанных 2 месяца глубокого тильта, когда ты просто сидишь и не ебешь что делать вообще + чувствуешь себя говном все это время.
План писать автотесты. Ну, как бы, я за час уже первый тест написал. Мой план просто задрочить это и не ломать голову и вспоминать "а чо там была та", а просто спокойно по лайту писать эти тесты.
7 3449355
>>449354
Кстати пиздец обидно, ебать бы я щас охуенно жил, если б тогда js не бросил. А бросил я его знаете почему? Потому что ебаная нормисная хуйня меня задрочила до конца, то иди блядь шарагу закончи, то иди блядь вуз закончи, то блядь иди уже работать пора, то блядь ищи новую работу побыстрее, в итоге нахуй как долбаеба палкой гонят, а профита 0 нахуй. Че доебались до меня тогда все эти люди? Гореть им в аду бы, конечно.
8 3449418
>>449354
Рано нахваливаешь всю эту мишуру, потому что ни тогда, ни сейчас у тебя результата пока что нет.
Вот когда будет, тогда и нахваливай.
9 3449449
>>449355
даже не представляю, это наверное как купить биткоин и продать чуть дороже, а потом смотреть как он дорожает в разы.

Я не бросил 10 лет назад и вкатился но сейчас один хуй, что ты, что я сидим и в новую хуйню на общих основаниях вкатываемся так как в старой уже работы нет.
Аноним 10 3449689
>>449449
А что не так с работой?
11 3449709
>>449689
Сейчас один из немногих реальных способов найти работу на питоне это выучить React. Не шучу. Чистых бекендеров требуется очень мало, в основном разные фулстеки (бекенд + МЛ, бекенд + фронтенд).
12 3449863
>>449085 (OP)
Братья-питухонисты
Поясните за exec
Как правильно запускать в нем код, чтобы он выполнялся как отдельный запущенный скрипт? Пилию свою иде, я понимаю что надо как то передать ему словарь глобалсов идентичный тому какой создаётся при python -m file_name
Но просто сделать import __main__ в функции запуска и передать не канает, разбирать pydeved больно очень
13 3450693
— Мощности бы ещё подкинуть...
— Та не, нормально, у меня всё само — память выделяется динамически, GC сработает, не парься. У меня ж Python, всё своё. О-о... О-о... Вот это рантайм! Как же всё гладко обёрнуто в декораторы! Просто zen! Так уж... О! О! О! Контекстный менеджер, ты моя хорошая, да?
— Да ничё.
— А? Ха-ха-ха! Импортируй меня полностью! О! Я даже GIL уже почувствовал. Почувствовал?
— Потоки не тормози.
— Асинхронно?
— Как тебе нравится — await или multiprocessing.
— О-о! О-о! О-о!
— Почувствуй силу duck typing'а.
— Он даже хрустит, блин, у меня! Интерпретатор прям жарит, как будто Cython прикрутил! О-о! Я давно такого сетапа не видел, чтобы и Flask, и NumPy, и скрипты, и джобы, всё в одной обвязке!
— Главное — не держать в памяти список на миллион строк.
— Ну смотри, хочешь — сбрось всё в генератор. Или пульни через итератор.
— Е-мое… полдня дебажил через pdb, чтобы скрипт крашнулся из-за None в поле?
— А-ха-ха! Конечно! Вот ты мне нравишься — как list comprehension на одной строке! А другие — по for’у пишут, и радуются. А-а! А-а! А-а!
— Столько времени оборачивал в классы, чтобы…
— О-о... да!.. нет!..
— Ещё будешь запускать?
14 3451002
>>450693
Обзмеился
image.png53 Кб, 972x219
15 3451277
Суп. Вопрос, наверное, простой. Мне тут понадобилось написать примитивненький http-сервис. Вооружился Фласком, запускаю, вижу пик_1. Логи и т.п., плюс примечание, что надо использовать WSGI. Окай. Интернет, поиск, добавляю

> from waitress import serve


Заменяю

> app.run


на

> serve(app, host="0.0.0.0", port=8080)


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

> from logging import getLogger, INFO, info


и перед запуском:

> logger = getLogger("waitress")


> logger.setLevel(INFO)


Теперь при запуске я получаю об этом уведомление

> INFO:waitress:Serving on http://0.0.0.0:8080


При чём я вообще не понимаю, откуда оно берётся, знаю только, что происходит оно в момент вызова

> serve(app, host="0.0.0.0", port=8080)


Но засим -- всё! Если я вручную не делаю print, я не получаю никаких уведомлений об обращениях. Ни info("123"), ни logger.info("123") ни ещё что-то, что попробовал, ничего не выводит параметры на stdout/stderr. А мне бы надо это, типичная история: запросы, откуда пришёл, какой метод, что запросил, что получил, если не 2××, то что именно не устроило и т.п. С уровнями логирования и всем таким. Вроде бы всё должно быть просто, в конце концов это же Питон!
Например, сейчас у меня вначале, даже перед объявлением методов, лежит такой код:

> config: dict[str: str] = {}


> config["brokers"] = getenv("FRANZFRONT_BROKERS", "")


> config["log_level"] = getenv("FRANZFRONT_LOG_LEVEL", "INFO")


> logger = getLogger("waitress")


> logger.setLevel(getLevelNamesMapping()[config["log_level"]])


> for key, value in config.items(): logger.info(f"{key} = {value}")


Но на stdout при этом ничего SUKA не приходит.
16 3451340
>>451277
можен он в лог файл пишет
17 3451767
>>451340
Если я нигде в коде не указал пути и имени для логфайла, то это было бы странно, не находишь?
В общем, я тут откопал плейлист: https://rutube.ru/plst/440890?r=wd
Оказалось, что устройство модуля логгинг вообще пиздец нетривиальное и замороченное и моего беглого заглядывания в доку хватить не может. Пока решил обойтись самой-самой базой, а потом -- покурю внимательнее.

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

Я допускаю, что это ОЧЕНЬ ГИБКО, и я даже ПОЧТИ оценил, но в текущей задаче у меня на разборы с логированием уйдёт больше кода и времени, чем на саму проблему!
18 3451915
>>451767

>Я допускаю, что это ОЧЕНЬ ГИБКО, и я даже ПОЧТИ оценил


держи нас в курсе, неосилятор
19 3452399
>>451915
На то, чтобы выплёвывать одни сообщения в stderr, а другие в stdout можно потратить 1 простейшую строку кода как у меня теперь, а можно -- 100-200+ строк злоебучего конфига со сложными связями плюс с переопределённым классом.
Короче иди нахуй, стандартный логгер реально ебанутый и оправдан только если у тебя прямо большой бэйр-метал-хостет стейтфулл и логи идут то в опенсёч, то шлются по смс прямо из приложения (а не собираются штатным функционалом кубера куда-надо в 10 раз проще, в 100 раз фичастее, а главное -- В 1000 РАЗ СТАНДАРТНЕЕ).
20 3453342
Здравствуйте, Питонисты. Столкнулся с такой проблемой. Есть ли способ инициировать работу бота в чате телеграмма через питон без необходимости запуска через команду /start, или хотя бы чтобы тригерился по словам или как то замаскировать эту функцию?
21 3453401
>>453342
import telebot

bot = telebot.TeleBot(...)
bot.infinity_polling()

ну и дальше уже @bot.message_handler настраиваешь как тебе нужно.
22 3453489
>>453401
Шо так, шо так ничего не выходит. Сам-то себе я могу написывать, а в других чатах только через /start.
23 3453495
>>453401
В смысле, могу писать себе в боте без команды /start только через эхо бота, а в других чатах хуй.
24 3453503
>>453495
При том, что если я выдам ему права администратора в своем чате, то все работает.
25 3453913
>>453342
Насколько я понимаю, это сделано, чтобы нельзя было пользователей случайно подписать на бота без ведома юзера, а только чтобы он явно запускал, понимая, что далет.
Но по крайней мере ты можешь распространять ссылку прямо со стартом, тогда он будет отправляться сам, да ещё и параметр какой приклеит, например ID реферала:

> https: //t. me/nastyanovelbot? start=1854544298

26 3453941
>>453913

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


Именно так. Я проверил с телефона, компа и эмуля под разными аккаунтами в разных чатах и пришел к выводу, что говной занимаюсь. Это нужно делать прямо с аккаунты через машину.
Говоря откровенно, мне вообще-то спамер нужен для рекламы. Может есть ссылки какие?
27 3455324
>>452399

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


А он по-умолчанию более-менее сконфигурирован, тебе нyжна всё та же одна строчка кода, конфигурировать надо, если у тебя нестандартные запросы

Зато если вдруг понадобится что-то нестандартное, тебе не придётся переделывать весь код
1747323356022089.gif3,3 Мб, 718x800
28 3455485
Колеги, жизненно?
29 3455491
>>455485

>Видитие, Канбан Канбаныч, с растом деньги будут быстрее двигаться

30 3455570
>>455485
А где перл? И баш.
31 3455576
>>455570
Тебе для каких целей?
32 3455685
>>455485
Зачем тебе делать миллиард вложенных циклов? Ты ебанутый?
33 3455866
>>453941
Меня арестовали. Вопрос закрыт.
image.png65 Кб, 451x306
34 3456475
35 3457342
>>453342
start это дефолтная тг функция старта бота, обойти ее насколько мне известно нельзя, только можно настроить автосообщение бота перед стартом как приветствие, а туда уже кинуть хендлер клавиатуры и дальше по плану
36 3457343
>>455485
похуй абсолютно, пока вакансии есть похуй, тем более следим дальше за отключением мьютекса , грядет новая эра питона
37 3457473
>>457343

>грядет новая эра питона


Ты про что?
38 3457949
Делаю чат бот для работы по документации. Юзеры настолько отупели что не могут осилить 20 страниц текста.

Какой способ написать бота для тг (это без проблем) и подвязать ИИ чтоб отвечал по заранее распаршенному тексту?

Нашел

G4f, там типа можно задать вопрос ИИ, сказав , смари вот текст, отвечай по нему. Далее переключить ввод на тг-юзера.

Agno. Создаёшь агента, подгружаешь ему свой текст как knowledge base, далее переключаешь на юзера.

Это в теории. Кто реально пробовал?
16538168828740.jpg286 Кб, 810x1080
39 3458270
>>457343

>мьютекса


Что такое мьютекс.
Гиркич.mp4998 Кб, mp4,
848x432, 0:07
40 3458271
>>457343

>грядет новая эра питона


То есть, лет через 6-9 (когда GIL удалят и из флагов, а его удалят!) приличный кусок маленьких проектов, которые авторы писали для себя, и выложили в сеть по доброте душевной, превратятся в тыкву, если тысячи людей за эти 6 лет не потратят дополнительный кусок своей жизни на переписывание проектов, которые им давно не интересны.

В то же время, мы понимаем, что если бы 15 лет назад (или когда там змея родилась?) послушали инженеров, а не маркетологов, усиленно напирающих на популярные, а не полезные фичи, то через 8 лет мы бы оказались в точке не хуже, чем та, где GIL сначала разработали, потратив кучу ресурсов, а потом удалили, потратив еще одну кучу.

Интересно, если суммировать все это время, сколько человеческих жизней, получается, убило одно недальновидное решение?
41 3458307
>>458271

>лет через 6-9


Окончательно сдохнет х86говнище и один хуй придется весь код переписывать.
42 3458328
>>458271
Зачем ты скопировал комент с петухабра?
43 3458467
Ананасы, а есть тут кто работает data/DWH engineer или просто аналитиком данных? Хочу перекатиться из системной аналитики на подобное направление. Из прикладных навыков есть SQL на среднем уровне, в целом базово знаю питон.
Какую часть питона лучше вкатывать? Попсу типа pandas либо сейчас есть что-то ещё актуальное в этом направлении? Мб есть тут кто уже успешно работающий, был бы благодарен ему за совет.
image.png752 Кб, 800x1020
44 3458675
45 3458686
>>458675
А ML это до сих пор хайповая тема?
CoolFemboyFacts.mp4906 Кб, mp4,
432x432, 0:10
46 3458700
>>458686
Тут специфически. Есть типы которые используют для машинного обучения готовые инструменты и библитеки готовые в том же питоне, особо не вникая не в матанализ ни в прочую хуйню для ботанов.
А есть типы с высшим образованием которые эти инструменты разрабатывают. Там да, дохуя дефицит кадров требование к матбазе и оч большие зарплаты.
Но твое резюме даже не посмотрят если нет вышки.
47 3458749
>>458700

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


Вот. У меня просто есть ощущение, что ML сейчас остался во всяком крупняке, где условно занимаются раскаткой и обучением собственных ИИ-моделей и всё в таком духе.
48 3460050
Дайте какие-нибудь сценарии использования FastAPI, хочу пощупать, но не знаю, что с этим делать.
49 3460106
>>460050
Напиши имадж борду, че ты как не как двачер? Тут постоянно начинают замену двачу писать то на луа, то на расте и незаметно уходят в закат, после того как не могут решить где хранить картинки с постами...
50 3461901
>>460106

>после того как не могут решить где хранить картинки с постами...


В sqlite в base64.
51 3462047
>>455485
Но ведь питун это высокоуровневая обертка для Си, там под капотом всё на ПРАВИЛЬНОМ языке написано. Если питонический код медленно работает, значит ты опять ни хуя не понял где горлышко бутылки.
52 3462075
>>462047

>под капотом всё


А толку, если рулит макака с гранатой в жопе.
53 3465104
>>460106

>не могут решить где хранить картинки с постами


А чем их православный S3 не устраивает не знаешь?
54 3465106
>>462075

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


У неё и ассемблер будет тормозить. Если хотя бы поедет, конечно.
image.png107 Кб, 1171x697
55 3465114
Суп. А подскажите, как правильно написать тайпхинты в этом случае?

> Type "str | list[str]" is not assignable to type "list[str]"


У меня вэлью дикта может быть строкой, а может быть массивом строк, почему массив строк не может быть передан там, где ждут массив строк?
Скрипт работает, с логикой всё норм.
56 3465144
>>465114

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


Он может. Только вот ошибка говорит про другое.
Ты в качестве аргумента, тип которого должен быть строго list[str], пытаешься подсунуть выражение, тип которого либо str, либо list[str]. Вот тебе и пишут, что если тип этого выражения внезапно окажется str, то такой вызов будет невалидным.
57 3465231
>>465144
А как это правильно оформить?
Или, если это правильно, то почему Pylance ругается?
58 3465362
>>465231
(fldr: str, cmnd: str | list[str]) -> list[str]:
image.png66 Кб, 1366x768
59 3465425
Подскажите, кто знает, не знаю, куда написать, нужен быстрый ответ. Через месяц сдавать экзамены, нужно научиться решать задание по информатике, установил Sublime Text, а тут такая хуйня пикрелейтед, когда пытаюсь на питоне писать. Короче, куча иероглифов вместо результата. Пользуюсь Виндовс 8.1. Как исправить?
60 3465484
>>465425
вскод для красивой подсветки буковок + запуск скрипта из консоли. Большего тебе не надо для огэ твоего или как его там.
Бля, а я ведь сдавал в последний год когда код ещё писали на листочке, выпуск 2020
61 3465832
>>465362

>cmnd: str | list[str]


Финт, конечно, понятный. Но там str впихнуть можно только через split()… Пока что так и сделал: заменил "str | list[str]" в дикте на "str" и добавил split() туда, где он используется. Но это какая-то странная хуйня.

>>465425
Есть правильный способ, есть полу-правильный способ и есть то, что подойдёт тебе.
Правильный способ: ставь Линукс и не выёбывайся, венда не предназначена для работы от слова вообще. Ставь хоть на виртуалку, хоть на некро-пк/ноут, оставшийся от прадедушки, куда и как угодно. Если только для Питона, то бери серверные сборки без гуя, тебе кроме консоли ничего не понадобится. Бонус: у многих облачных провайдеров можно разжится бесплатной виртуалкой с линуксом (придётся платить только несколько рублей в месяц за публичный IP) и заходить на неё по ssh. Многие IDE умеют исполняться на ремоут-хостах по ssh.
Полу-правильный способ: ставь WSL и работай в нём. Это почти линукс, затянутый внутрь венды. Лучше, чем ничего.
Подойдёт тебе: запускайся не в этой консоли. Где точно — зависит от того, что из имеющегося на твоём компе нормально работает с Unicode. Можешь попробовать IDLE, CMD, сам PS в отдельном окне или поставить, например, git-bash или Б-гомерзкую MobaXterm.
62 3465836
>>465425
Попробуй переименовать файл во что-нибудь без пробелов и кавычек. Только английские буквы и цифры
63 3465851
>>465832

> Пока что так и сделал: заменил "str | list[str]" в дикте на "str"


Охуенно. Но при этом значения в дикте у тебя как были и str и list[str], так и остались? И нахуй тебе вообще эти тайпхинты, если они неверные?

> split


При чем тут split вообще? Ты фактически просто решил отдельные строки сделать списками из одной строки. В отрыве от твоего говноскрипта - это вполне себе нормальное решение, только пишется оно как [str]. Нахуя для этого split вызывать, я в душе не ебу. Ты походу вайбкодер какой-то.

> Но там str впихнуть можно только через split()


Где там?
64 3465955
>>465425
На Русском Питоне пиши, жертва ЕГЭ.
Screenshot20250531-004829~2.jpg174 Кб, 720x1310
65 3466386
Купил бумажный вариант Изучаем Python Марка Лутца 1 том на русском языке. Взял не разобравшись 5-ое издание, а на данный момент уже вышло 6-ое, но пока на английском, а я в нём нихуя хуа. Сильно проебался? 5-ое издание вроде питон 3.5 разбирает, а сейчас уже и 3.11 вышел.
Спросил дипсик, говорит похуй, учи, только некоторые темы отдельно уточняй, а так 80% одинаковые. На скрине темы, которые по мнению дипсика будут изменены в 1 томе.
Прав ли он? Стоит ли ебать себе голову или серьёзные изменения будут только со второго тома?
Мб взять что-то актуальнее, ведь как везде пишут Питон - активно обновляющийся язык
66 3466405
>>466386
Сначала купил, потом подумал. Хороший гой.
67 3466467
>>466386
Зачем это учить и читать вообще, когда у тебя есть дипсик, который в любой момент объяснит как писать правильно? Ты просто пишешь код, а в непонятный момент спрашиваешь у нейронки. Это самый эффектинвый способ обучения. Талмуды были нужны 50 лет назад, когда их заучивали, т.к. в случае чего информацию было взять неоткуда, кроме библиотеки. Сейчас у тебя все знания мира в телефоне даже без поиска.
68 3466468
>>466386
f строки мастхев
тайп хинты упростились
pathlib изучить отдельно не проблема
датаклассы все еще юзаются (или Pydantic, что очень похоже)
морж только на легаси
остальное отдельно погугли, в целом книга вполне хороша
69 3466603
>>466467
Не объяснит.
70 3466642
>>465114
Делай датакласс, неймдтюпл или тайпддикт и не еби себе мозги.
71 3466645
>>465425
Поставь вскод и не еби себе мозги.
72 3466647
>>466386
Во всем прав, а Лутц переоценен.
73 3466738
>>465851

> в дикте у тебя как были и str и list[str], так и остались?


Нет, там теперь str. Примерно так, в дикте было:

> "Command": ["managed-postgresql", "cluster"],


Стало:

> "Command": "managed-postgresql cluster",


А там, где используется значение (в виде не строки, а листа строк) — я делаю её сплит. Так по крайней мере заявленные хинты соответствуют реальности, а не как предлагал >>465362, у которого выходило, что метод готов прохавать строку, хотя тогда она вызвала бы ошибку. Теперь оно готово принимать строки, самостоятельно приводя их к правильному листу.

>Ты фактически просто решил отдельные строки сделать списками из одной строки


Нет. В get_list_of_resources_in_folder ждало список строк, примерно так:

> full_command: list[str] = ["yc", "list", "--folder-name", folder, "--format=json"]


> full_command[1:1] = sub_command


а теперь ждёт строку и перед использованием приводит её к списку строк. Вот так:

> full_command: list[str] = "yc {sub_command} list --folder-name {folder} --format=json".format(sub_command=sub_command, folder=folder).split()


А после этого вызывается "subprocess.run(full_command, …)", которому первым параметром надо именно лист строк.

> Ты походу вайбкодер какой-то.


Только сейчас узнал, что это и нет, наоборот я уже несколько человек обоссал за то, что они мне подсовывали галюны нейросетей. Программирование это, конечно, не мой основной профиль, но когда я что-то делаю — я стараюсь сделать правильно, потому и прислушваюсь ко всем замечаниям линтеров и гайдлайнов, чтобы разобраться, почему именно так.
74 3466742
>>466386

>сейчас уже и 3.11 вышел


3.13.3 есть, а скоро выйдут новые, тебе так и так с каждой версией разбираться с изменениями и новыми возможностями. Так что можешь фундамент получить и по условно-старой книге (но не 4 издание, там было слишком много про 2.7, которое сильно отличалось, а теперь — окончательно депрекейтед), а потом просто почитаешь пепы с изменениями.

>>466467

>Зачем это учить и читать вообще,


Правильно, делай без понимания, главное просто делай, однажды нейронка угадает, как надо.
Очень напоминает вот эту шутку:
https://sortvisualizer.com/bogosort/

>>466647
Есть два полярных подхода, на одном из них справочники типа таких: https://goalkicker.com/ , тут только важное, минимум постороннего текста. А на другом — Лутц, в котором идея будет разжёвываться и повторяться, зато запомнить 10% прочитанного ≡ выучить справочник наизусть. Для меня Лутц это идейный наследник автора лучшего в моей жизни учебника по физике — Лансберга.
75 3466743
>>460106

> , после того как не могут решить где хранить картинки с постами...


Ничего подобного у меня всё просто.
C:/document and setting/Матвей_2015/изображения/двач
76 3466750
>>466743
Так вопрос был не где товарищу майору хранить изображения с двача, а где на сервере хранить для дваче лайк борды
77 3467107
Вас не достало что в питоне миллиард инструментов с пересекающимися фичами, но не полность, так что нельзя выбрать один.
pyright - хорошая интеграции с lsp, поддерживает недокументированные возможноти lsp которые работают только в vscode (тормоза на ноде)
python-language-server - интеграция всего в lsp от rope до mypy (тормоза на питоне)
pylyzer автор забросил недопилив толком (работал быстро на расте)
ty (на расте, еще не рабочий, может тоже забросят)
ruff в основном линтинг и форматирование, но имеет lsp интеграцию (работает быстро на расте, но сосет у pylint по анализу проекта)
pylint гипертормоза и считает что у моделей sqlachemy слишком мало методов
isort - сортирует импорты (ruff тоже могет, но сосет у isort)
flake8, pyflake, black и пр полудохлое
sage 78 3467347
>>461901
Вкатун, плиз.
15035163708880.png785 Кб, 658x747
79 3467390
80 3467502
>>467107
Pylance?
81 3467511
>>467502
это проприетарный vscode lsp клиент для pyright от майкрософта
82 3467515
>>467511
Мошный опенсорсный python-lsp-server, но он неюзабельный из-за питонячих тормозов + еще проверка типов хуже по сравнению с pyright
83 3467938
>>467511

>это проприетарный vscode lsp клиент для pyright от майкрософта


Минусы?
84 3468020
>>457949
Бамп. Есть тут ИИ внедряторы?
85 3468083
>>467938
проприетарный
86 3468224
Пацаны, нужно изучить базу по питону (пельменные, функции, супер-базово ООП и тд) для автотестов.

Есть какой-то курс на степике хороший? Или книжка?
И как вообще вариант в дипсике написать промпт, чтобы он составил план для меня и всё пояснял по плану?
87 3468232
>>468224

Вот такой промпт ему составил. Буду по его плану двигаться и уточнять всё.

"Ты — гуру Python с уровнем знаний создателя языка. Ты разработаешь интенсивный, структурированный план изучения Python на 12 недель с акцентом на:

Автоматизацию тестирования (pytest, unittest, Selenium, API-тестирование).

Работу с базами данных (SQL, SQLite, PostgreSQL, ORM — SQLAlchemy, Django ORM).

Парсеры (BeautifulSoup, Scrapy, requests, aiohttp).

Чат-боты (Telegram Bot API, Discord.py, обработка асинхронности).

Основы Django (модели, views, REST с DRF).

Git, GitHub/GitLab (ветвление, CI/CD, работа в команде).

Условия:

4 часа в день (пн–пт), 6 часов в выходные.

Практико-ориентированный подход: 60% кода, 30% теории, 10% ревью/оптимизация.

Каждая неделя должна заканчиваться мини-проектом по теме.

Постепенное усложнение: от основ Python до сложных связок (например, парсер + БД + бот).

Формат плана:

Четкие темы по дням.

Рекомендуемые ресурсы (документация, книги, туториалы).

Примеры задач для закрепления.

Советы по отладке и лучшим практикам.

Начни план с базового синтаксиса (1 неделя), но сразу включай примеры из целевых областей (например, тесты для простых функций). К 6-й неделе — углубление в автоматизацию, к 10-й — интеграция всех навыков (например, бот, который парсит данные и сохраняет в БД). Последние 2 недели — работа над комплексным проектом (например, тестовый фреймворк + CI).

Дай рекомендации по IDE (PyCharm, VS Code), инструментам (Docker, Postman) и лайфхакам для запоминания. Упомяни, как избегать выгорания."
87 3468232
>>468224

Вот такой промпт ему составил. Буду по его плану двигаться и уточнять всё.

"Ты — гуру Python с уровнем знаний создателя языка. Ты разработаешь интенсивный, структурированный план изучения Python на 12 недель с акцентом на:

Автоматизацию тестирования (pytest, unittest, Selenium, API-тестирование).

Работу с базами данных (SQL, SQLite, PostgreSQL, ORM — SQLAlchemy, Django ORM).

Парсеры (BeautifulSoup, Scrapy, requests, aiohttp).

Чат-боты (Telegram Bot API, Discord.py, обработка асинхронности).

Основы Django (модели, views, REST с DRF).

Git, GitHub/GitLab (ветвление, CI/CD, работа в команде).

Условия:

4 часа в день (пн–пт), 6 часов в выходные.

Практико-ориентированный подход: 60% кода, 30% теории, 10% ревью/оптимизация.

Каждая неделя должна заканчиваться мини-проектом по теме.

Постепенное усложнение: от основ Python до сложных связок (например, парсер + БД + бот).

Формат плана:

Четкие темы по дням.

Рекомендуемые ресурсы (документация, книги, туториалы).

Примеры задач для закрепления.

Советы по отладке и лучшим практикам.

Начни план с базового синтаксиса (1 неделя), но сразу включай примеры из целевых областей (например, тесты для простых функций). К 6-й неделе — углубление в автоматизацию, к 10-й — интеграция всех навыков (например, бот, который парсит данные и сохраняет в БД). Последние 2 недели — работа над комплексным проектом (например, тестовый фреймворк + CI).

Дай рекомендации по IDE (PyCharm, VS Code), инструментам (Docker, Postman) и лайфхакам для запоминания. Упомяни, как избегать выгорания."
88 3468257
>>468232
>>468232

>Ты — гуру Python с уровнем знаний создателя языка


>Состать мне план для полного нуба с акцентом на элементарные навыки на популярных фреймворках

89 3468280
>>468257
Спасибо!
изображение.png150 Кб, 897x783
90 3468293
>>468232
Хуйню нереалистичную задумал. У тебя нет ресурса чтобы выучить и скрэпи, и селениум, и гитлаб с докером. Нейросети магическим образом тебе времени не добавят. Используй 20/80 промпт. Закрывай только важные дыры.
91 3468305
>>468293
Понял.
Но дипсик всё равно задрачивает с докером. И выдаёт просто сухой текст, типа:

>REST API-тестирование (requests)


>Многие проекты требуют проверки API.


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

> Базовый синтаксис, структуры данных (list, dict, set), условия, циклы, функции. Без этого невозможно писать автотесты.


Нет бы сразу все по пунктам дал.

Короче по твоему принципу буду разбираться, в общем. Спасибо тебе!
92 3468309
>>468083

>проприетарный


Во-первых это точно минус? Почему?
Во-вторых:

> https://github.com/microsoft/pylance-release


> CC-BY-4.0 license


Ты уверен, что правильно понимаешь смысл слова "проприетарный"? Что оно для тебя значит? Опиши, пожалуйста.
А то окажется, что приблизительно всё ПО в мире проприетарное.
93 3468313
>>468309

>https://github.com/microsoft/pylance-release


И где ты там коды увидел? Это просто страница плагина с инфой
94 3468315
>>468309

>это точно минус?


Конечно. Я вскод не использую же, поэтому не могу ни использовать пиланс, ни адаптировать его под свой кейс
95 3468317
>>468313
и сс это обычно лицензия не для софта
а вот у пиланса EULA https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/license
96 3468358
>>468224
Придумай проект простенький да крути его с подсказками ии. Я себе тг бота сделал с напоминалками, алертами и поиском по своему хранилищу различных файлов, поскольку уже заебался руками по папкам скрипты и записи искать. Это чисто твой проект и насилуй его на сколько фантазии хватит. За месяц и ооп, и основные библиотеки и даже гит с логированием освоил.
97 3468368
>>468358
Тоже рассматривал этот вариант. Именно чат бота, а потом уже автотест на него.

Только вот, допустим, как я узнаю о множествах (set) в питоне при таком подходе?

Мне тупо надо питон для того, чтобы потом автотестером пойти, ручником заебало + потолок в 180-200к в основном на рынке.

Я сейчас с дипсиком всю базу пройду за пару дней (типы данных, преобразование, функции базово и т.д.). потом буду пилить чат-бота и тесты на него... план такой, в общем.
изображение.png286 Кб, 1920x1080
98 3468422
как я заебался откуда он sh 2.2 подхватывает блядь
все стер нахуй
99 3468525
>>468309

>> https://github.com/microsoft/pylance-release


>> CC-BY-4.0 license



Хуя ты жидко обосрался!!!
100 3469198
>>468305
Изучи базовый синтаксис
ООП
Всякие обработки ошибок в блоках try/except
Логирование
Паттерны проектирования автотестов
Принципы программирования

По фреймворкам
Pytest - база для автотестов, изучить надо подробно его возможности, маркеры, параметризацию, фикстуры, как тесты запараллелить через xdist какой-нибудь
Selenium / playwright для UI тестов (playwright в наше время выглядит интереснее)
requests / httpx - для rest аpi (лучше httpx, т.к. на нем еще асинхронщина есть)
grpc - либа для grpc протокола
SQLAlchemy для БД (там тоже есть асинхронщина, для синхронного пг какого-нибудь psycorg2)
Allure для отчетов

докер нужен супербазово, как и ci/cd понимание (по типу набросать yaml файл для gitlab)
Все остальное, что тебе там написало выкинь нахуй, там большая часть либ для разработки, в автотестах тебе понадобятся они примерно никогда
101 3469248
>>469198
Спасибо большое!
102 3469443
>>469198
А нахуя ему grpc в одном ряду с основами? grpc апи разве такая распространённая штука уже, что прям с начинающих тестеров требуют? Не быкую, интересуюсь просто, с остальным согласен.
103 3469948
>>469443
gprc как дополнение к основному, да, ты прав анонче
104 3471418
>>469443

>grpc апи разве такая распространённая штука уже


Я лично вижу часто. Конечно, не так часто, как REST, но если что-то предоставляет публичное API, то там очень часто REST+gRPC. Так что лишним не будет. В конце концов, зная REST понять gRPC не так уж сложно мягко говоря.
image.png10 Кб, 776x166
105 3471518
Как вам?
106 3471537
Сап, у кого-нибудь есть ссылка на документацию Channels на русском? На django.fun устаревшая версия документации.
image.png92 Кб, 1254x595
107 3471568
108 3471573
>>471568
two_number это самое смешное
109 3471881
>>449085 (OP)
спасибо супер герой
110 3471950
кто-нибудь встречал софт для нормального скачивания .whl файлов, а не как мудацкий pip download или pip-downloader?
чтобы я сказал ему пакет, и софт скачал этот пакет и все его зависимости в текущую папку, а не в ~/.cache/pip/хуй/пизда/джигурда/a/b/c/2/2/8/dsfdskjfhdskjfhsdhfdskhfkjdshkdshfdsfs.bin
111 3471951
ну и чтобы оно докачку поддерживало, а не как этот гейский кусок дерьма с названием pip

Downloading torch-2.7.1-cp313-cp313-manylinux_2_28_x86_64.whl (821.0 MB)
━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 244.6/821.0 MB 1.6 MB/s eta 0:06:02
WARNING: Connection timed out while downloading.
WARNING: Attempting to resume incomplete download (244.6 MB/821.0 MB, attempt 1)
Resuming download torch-2.7.1-cp313-cp313-manylinux_2_28_x86_64.whl (244.6 MB/821.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━ 533.7/821.0 MB 1.6 MB/s eta 0:03:03
WARNING: Connection timed out while downloading.
WARNING: Attempting to resume incomplete download (533.7 MB/821.0 MB, attempt 2)
Resuming download torch-2.7.1-cp313-cp313-manylinux_2_28_x86_64.whl (533.7 MB/821.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 819.2/821.0 MB 2.1 MB/s eta 0:00:01
WARNING: Connection timed out while downloading.

мать ебал того кто придумал наговнокодить софт для скачивания без поддержки докачки
112 3471970
>>471951
В легасистане через мобильный тырнет работаешь?
113 3471973
>>471970
релоцировался в киргизию
114 3471976
>>471973
Иши крвартиру с нормальным тырнетом
115 3472048
блядь какая же говна этот ваш пидон
https://github.com/pypa/pip/issues/4796

> [Improvement] Pip could resume download package at halfway the connection is poor


> ichard26 closed this as completedin #12991 on Apr 12, 2025


смотрю #12991

> https://github.com/pypa/pip/pull/12991


они добавили опцию --resume-retries ахах))00)0 тип если на последней секунде загрузка обрывается
>>471951

> Resuming download torch-2.7.1-cp313-cp313-manylinux_2_28_x86_64.whl (533.7 MB/821.0 MB)


> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 819.2/821.0 MB 2.1 MB/s eta 0:00:01


> WARNING: Connection timed out while downloading.


то пип выкачивает файл заново)0)) сука мать ебал этих питонистов
116 3472055
>>472048
Чел. Какой пидон тебе. Ты с твоим мобильным легасистанским интернетом не сможешь гитом пользоватся. Ты просто не сможешь большую репу склонировать. В гите просто не может быть докачки при клонировании..

Попробуй https://github.com/astral-sh/uv
117 3472060
>>472055
потому что гит такие же чулочники писали, как и пидон.
любой нормальный софт умеет в докачку
118 3472063
>>472055

> Попробуй https://github.com/astral-sh/uv



работает кривовато, но намного лучше, чем дефолтный pip, спасибо!
случайно не знаешь, как заставить его качать архивы .whl вместо отдельных уже распакованных файлов?

> $ uv --cache-dir ./tmp pip download bitsandbytes


> error: unrecognized subcommand 'download'


если сделать uw pip sync requirements.txt, то какие-то пакеты он качает в виде .whl, а какие-то уже распакованные папки, мне хотелось бы все пакеты в виде .whl
119 3472066
>>472063
В КР все нейронки доступны чел. Хоть какая-то польза
1749370265828.jpg132 Кб, 588x604
120 3472070
Как думаете, ML это пиздец сложная ветка развития? При условии движения внутри компании.
121 3472114
Питон говно, уже 2 года свалил на c#, ЗП увелечил в полтора раза.

Всем спасибо
122 3472683
>>472114
Держи в курсе.
123 3472688
>>472070
Всю СЛОЖНУЮ часть за тебя уже сделали. Тебе осталось научиться пользоваться инструментами.
124 3472693
>>472688
Сычев, всю сложную работу за тебя уже сделали, тебе осталось только сделать хттп ручку для скоринга клиентов Азино666.
125 3472731
>>472693
Но ведь это реально так и есть. По сравнению с той математикой, что уже придумана, скоринг это уже прост как калькулятор.
А учиться так и так нужно. Даже есть пойдёшь бухгалтером, тебе надо освоить предметную область хоть немного и научиться в 1с, зато все действия в эске в итоге делаются двумя педалями.
126 3473118
>>472114
Ты пидор чтоле?
127 3473326
>>473118
Конечно, пидор, иначе бы писал на жабе.
Или на свифте, если гей.
128 3473408
я внезапно осознал всю мудрость дидов с их Version Control System в виде разных папочек
version_1.0
version_1.1
version_1.1_fix
version_1.2
version_2.0
version_2.0_fix
version_2.0_fix2
Новая папка
Новая папка (1)
пориджи с их venv просто переизобрели разные папочки лол
129 3473419
>>473408
Как тебя папочка спасет от замусоривания site-packages разными версиями зависимостей? При том pip сам по себе не умеет удалять зависимости зависимостей.

Venv это именно окружение, а не контроль файлов твоего проекта
130 3473423
>>473419
так venv это и есть локальный site-packages в текущей папке ./ вместо дефолтного ~/.cache/pip/site-packages/
131 3473425
или... так падажжи ёбана, то есть пориджи чулочники даже до мудрости дидов с разными папочками не дошли?
ебать ор
132 3473428
>>473408
>>473408

>Version Control System в виде разных папочек


Ну такое. Пока я не узнал о существовании гита это было норм, сука, нам даже в универе на первом курсе (в 2003м) предодша по программированию советовала сохранять разные версии кода в отдельных папочках!

>venv


Но ведь виэнв нужен для другого. А именно только для дебага, к рабочему продукту он отношения не имеет потому, что Docker.
И вообще по дефолту виэнв прописывает фул-пас и его уже нельзя просто так скопировать.
133 3473431
>>473423
1) Ну о том и речь. Если ты будешь
Новая папка
Новая папка (1)
ты так же можешь все зависимости срать в одну кучу куда нибудь ~/.cache/pip/site-packages/
2) venv похуй где у тебя сайт пакеджес. Оно не обязательно у тебя в папке с кодом. Всякие pipenv например автоматически создают для тебя твои venv в отдельной .virtualenvs/ директории, когда ты делаешь pipenv install numpy
134 3473863
>>449124
Я почти с нуля
135 3473864
Ребят, кто начинает изучать питон? Мне одному скучно
136 3473912
>>473864
Подрочи.
137 3474102
>>473425
реально не дошли, анон >>473431 прав, пидорский чулочный пидон всё равно срёт в ~/.cache/pip/site-packages вместо локальной папки внутри venv
какое же дерьмо этот пидон я хуею
138 3474121
>>474102
source .venv/bin/activate
.venv замени на свою папку созданнию модулем venv
139 3474137
>>474121
pip качает всё в локальную папку, а потом распаковывает внутрь venv, а мне не нужны десятки гигабайт говна в ~/.cache
140 3474162
>>474137

> мне не нужны десятки гигабайт говна в ~/.cache


Но ведь ~/.cache буквально предназначен для десятков гигабайтов говна. Если бы оно вместо этого сохранялось в /tmp было бы ровно тоже самое, только перекачивать, возможно, пришлось бы чуть чаще, если ребутаешься регулярно.
141 3475340

> ПОЧЕМУ В ДИРЕКТОРИИ КЭШ СОДЕРЖАТСЯ КЭШИРОВАННЫЕ ДАННЫЕ??????? ТУПОЙ ПИТОН!


Самый смешной тред на этой доске.
142 3475413
>>475340
пчел я хочу чтобы при создании "виртуального окружения" всё питонье говно складировалось именно внутри этой конкретной папки, а не срало мне в ~/, в /tmp, в небо, в аллаха.
143 3475468
>>475413
Проверил у себя.
ОКАЗЫВАЕТСЯ, МНЕ В ~/.cache/ НАСРАЛИ:
Абсолютно все браузеры (больше всех). Абсолютно все редакторы (видео, фото, текстовые), PIP, несколько эмуляторов терминала, игры, видеоплееры, скриншотилки и ещё, наверное, сотня программ из категории "разное". Пиздец! Как они все посмели хранить кэш в папке для кэша?
Маня, ты обосралась, просто признай это. Разрешаю умолкнуть без извинений.
144 3475470
>>475413
И да, для совсем уже дегенератов:

> ~ ➤ pip --help | grep cache 0


> cache Inspect and manage pip's wheel cache.


> --cache-dir <dir> Store the cache data in <dir>.


> --no-cache-dir Disable the cache.

145 3475496
>>475468
хрюкни
>>475470
спасибо
1749835629156.mp41,1 Мб, mp4,
576x1024, 0:10
146 3475652
Какие у вас зарплаты? Чем занимаетесь?

Заметил, что многие к питону довольно предвзято относятся, дескать из-за простоты в освоении он потерял очки престижа. Хотя по факту вакансий на питон в разы больше. Но вопрос в другом, какое направление вы выбрали для дальнейшего развития и на чем выбор основывался?
147 3475722
>>475652

>из-за простоты в освоении



когда что-нибудь асинхронное многопоточное напишешь и оно не будет зависать тогда и приходи
148 3475738
>>475413
Ты ебанутый? Где ты видел, чтобы кэш хранился в том же месте, где и то, что мы кэшируем? В чем тогда смысл кэша?
149 3475909
Анонс, подскажите что можно почитать человеку, которому питон нужен не для вката, а для работы. Задача такая: имеется набор данных, нужно построить линейные уравнения регрессии. Короче говоря, нужно на огромном наборе данных найти уравнение, которые позволить прогнозировать конечные свойства.
150 3475910
>>475909
Я бы уточнил, с чего вообще начать.
151 3475937
>>475722
а зачем писать многопоточку на петухе?
асинхронщина вообще по мнению многих крутанов в питоне считается чуть ли ни раком
152 3476009
>>475909

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


https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
154 3476102
>>475937
рак мозга у тебя
155 3476984
>>475738

>В чем тогда смысл кэша?


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

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

Пиздец, пол года в тред не заходил а тут одни нуфани и скриптокиди остались.
156 3477969
насколько пикрил хорош для углублённого изучения после пикрил 2?

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

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

>насколько пикрил хорош для углублённого изучения после пикрил 2?


Ты рассчитываешь что тут найдётся кто-то понимающий и читавший две конкретные книги и он будет способен адекватно сравнить и вынести вердикт?..
Удачи.
А если серьёзно -- спроси на канале "Диджитализируй!" Чувак очень много читает и ведёт книжный клуб.
158 3480282
>>476984
>Если для тебя это новость, значит ты какая-то залетуха с курсов.

почему сразу "залетуха"? может он джангист, где, конечно, имеются декораторы sync_to_async и async_to_sync, но что-то похожее асинхронщину завезли, если не ошибаюсь, в django 4.
сам эту лабуду не использовал, проще все писать на каком-нибудь fastAPI/aiohttp
image13 Кб, 447x357
159 3482035
>>449085 (OP)
Друзья, в процессе вката нахожусь, параллельно пробую разные инструменты.
Можно ли как-то в юпитерлабе вот этот столбец с номером шага расширить? Пробовал снижать ширину jp-Cell, но он только на правой стороне становится короче. Вызвано, скорее всего, размером шрифта.
160 3483157
Суп. Пытаюсь в многопоточность. Как узнать из какого потока 't1'
Сделал 2 потока t1 и t2, запускаю из них функцию. Как узнать из какого потока пришел конкретный результат?
161 3483458
>>483157
Чтобы определить, из какого потока пришел результат, можно внутри вызываемой функции получить имя текущего потока через threading.current_thread().name.

import threading
import time

def worker():
thread_name = threading.current_thread().name
print(f"Результат из потока: {thread_name}")
return thread_name

# Создаем потоки
t1 = threading.Thread(target=worker, name="Thread-1")
t2 = threading.Thread(target=worker, name="Thread-2")

# Запускаем потоки
t1.start()
t2.start()

# Ждем завершения
t1.join()
t2.join()

Если ты хочешь получить результат из каждого потока (например, собрать их), нужно использовать более продвинутый способ, например, через concurrent.futures.ThreadPoolExecutor, где можно легко сопоставить результат и поток:

from concurrent.futures import ThreadPoolExecutor
import threading

def worker():
return f"Результат из: {threading.current_thread().name}"

with ThreadPoolExecutor(max_workers=2) as executor:
futures = [executor.submit(worker) for _ in range(2)]
for future in futures:
print(future.result())

Если ты используешь threading.Thread, и хочешь вернуть результат из потока, то это можно сделать через передачу queue.Queue или оборачивание потока в класс:

import threading
import queue

def worker(result_queue: queue.Queue):
thread_name = threading.current_thread().name
result_queue.put((thread_name, f"Результат из потока: {thread_name}"))

result_queue = queue.Queue()

t1 = threading.Thread(target=worker, args=(result_queue,), name="Thread-1")
t2 = threading.Thread(target=worker, args=(result_queue,), name="Thread-2")

t1.start()
t2.start()

t1.join()
t2.join()

while not result_queue.empty():
thread_name, result = result_queue.get()
print(f"{thread_name} => {result}")
161 3483458
>>483157
Чтобы определить, из какого потока пришел результат, можно внутри вызываемой функции получить имя текущего потока через threading.current_thread().name.

import threading
import time

def worker():
thread_name = threading.current_thread().name
print(f"Результат из потока: {thread_name}")
return thread_name

# Создаем потоки
t1 = threading.Thread(target=worker, name="Thread-1")
t2 = threading.Thread(target=worker, name="Thread-2")

# Запускаем потоки
t1.start()
t2.start()

# Ждем завершения
t1.join()
t2.join()

Если ты хочешь получить результат из каждого потока (например, собрать их), нужно использовать более продвинутый способ, например, через concurrent.futures.ThreadPoolExecutor, где можно легко сопоставить результат и поток:

from concurrent.futures import ThreadPoolExecutor
import threading

def worker():
return f"Результат из: {threading.current_thread().name}"

with ThreadPoolExecutor(max_workers=2) as executor:
futures = [executor.submit(worker) for _ in range(2)]
for future in futures:
print(future.result())

Если ты используешь threading.Thread, и хочешь вернуть результат из потока, то это можно сделать через передачу queue.Queue или оборачивание потока в класс:

import threading
import queue

def worker(result_queue: queue.Queue):
thread_name = threading.current_thread().name
result_queue.put((thread_name, f"Результат из потока: {thread_name}"))

result_queue = queue.Queue()

t1 = threading.Thread(target=worker, args=(result_queue,), name="Thread-1")
t2 = threading.Thread(target=worker, args=(result_queue,), name="Thread-2")

t1.start()
t2.start()

t1.join()
t2.join()

while not result_queue.empty():
thread_name, result = result_queue.get()
print(f"{thread_name} => {result}")
162 3483644
>>483458
Чатгопете?
163 3488036
помогите с выбором фреймворка для новичка:
Асинхронное программирование не знаю, но в одном месте пишут с джанги начать, в другом фастапи. Хз что первым пощупать
164 3488728
>>488036
А тебе для чего? inb4 для новичка
В фастапи вкат проще, если ты прям ничего не щупал, то лучше его.
165 3488898
>>488728
Фастапи только для апи?
166 3489034
>>488898
Нет, но ты заебешься костыли вокруг того, что есть в зачаточном состоянии, писать. Проще готовый фреймворк использовать aka django. Тот чел тебе напиздел, что фастапи проще для новичков. Для новичков проще использовать готовое, чем писать например обработку ошибок кастомную, csrf токены настраивать и прочую мелкохуйню, что в жанге уже за тебя все сделано. Если возмешь фастапи то с большой вероятностью напишешь дырявое говно, без знания что и где нужно реализовать.
167 3489155
>>489034
Я тут выше писал, что лучше для веб морды устройства?
168 3489158
>>489034
Тут еще такая проблема что если ты используешь для этого сторонние модули, то лет через 5 они могут загнуться. А джангу просто обновил и вперед.
image.png53 Кб, 626x308
169 3489421
Суп. Есть пик. ПайЛинт явно считает, что `succ` это константа, хотя казалось бы оно в одном месте объявляется, потом в цикле может переписываться, значит АППЕР_КЕЙС тут явно неуместен. Или я чего-то недопонимаю? Разъясните, пожалуйста.
image.png43 Кб, 526x224
170 3489438
И ещё похожий вопрос.
Вот есть такой код. ПайЛинт говорит "Catching too general exception Exception". Предлагается прочитать:
https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/broad-exception-caught.html
https://stackoverflow.com/questions/14797375/should-i-always-specify-an-exception-type-in-except-statements/14797508
Я прочитал, но всё ещё не очень понимаю, как быть.
В моём понимании при попытке внести данные в файл может случиться примерно дохуялиард всяких разных вещей (RO-ФС, кончилось место на диске, диск побился на лету и так далее), которые помешают записи и по-моему вот тут вот уместно сделать "Что-то стряслось, нишмог, вот тебе ошибка, возись с ней дальше сам!", но, кажется, линтер хочет, чтобы я в таких случаях перечислял абсолютно все райзы, которые гипотетически могут прилететь в этом куске кода? Как тут идеологически правильнее поступить?
171 3489449
>>489421
PyLint относится почти ко всем переменным, объявленным не внутри функции, как к константам. Менять они это вроде не планируют, так что можешь просто это в игнор прописать. Если загуглишь саму ошибку, найдёшь много открытых вопросов на эту тему у них в гитхабе.
>>489438
Из PEP-8:

>When catching exceptions, mention specific exceptions whenever possible instead of using a bare except: clause:


>A good rule of thumb is to limit use of bare ‘except’ clauses to two cases:


>1. If the exception handler will be printing out or logging the traceback; at least the user will be aware that an error has occurred.


>2. If the code needs to do some cleanup work, but then lets the exception propagate upwards with raise. try...finally can be a better way to handle this case.


Тоже можно заигнорить, но вообще да, как правило, эксепшены указываются явно.
172 3489632
>>489421
Чел, незачем прописывать типы при инициализации. Это лишняя работа.
173 3490574
>>489449

>Менять они это вроде не планируют, так что можешь просто это в игнор прописать.


Мерси!
>>489449
В целом я понимаю и согласен. Но тут может произойти очень много чего и я не знаю, что именно. Бредогенератор, например, говорит о 8 видах исключений (правда, сколько он не заметил и сколько нагалюционаровал -- отдельный вопрос), но предлагает обойтись двумя явными и остальное ловить просто так (пик 1). КМК, обрабатывать все 8, чтобы выдать одинаковые сообщения -- что-то на грани между ОКР и идиотизмом, но не обрабатывать вовсе и вываливать трейс в случае чего тоже не очень хочется.
>>489632
Мне не сложно, а лишняя она не всегда, например, пустые set и dict имеют одинаковые литералы и именно на них будет смотреть IDE, LSP и LLM, а остальным -- для унификации. А вообще (сорри за оффтоп): эта привычка у меня с тех пор, как я начинал учиться программированию на Паскале, там в начале функций, процедур и программы была секция "var", в которой нужно было перечислить все переменные и их типы. Если вдуматься, то, не смотря на многословность (по факту именно она, похоже, стала причиной, по которой паскаль проиграл войну с сями), это замечательная практика, она позволяла учесть все переменные и при этом быть абсолютно точно уверенным, что вот эта переменная будет внутренней, а вот та -- придёт из более общего контекста и так далее. На 2 и 3 пиках бессмысленные и беспощадные, но рабочие примеры уровня Lab1.
174 3490582
>>490574

> пустые set и dict имеют одинаковые литералы


Литерала пустого set нету...

Ну так избавляйся от лишних привычек. А то еще ни дай бог начнешь си писать на питоне.
175 3490787
>>490582

>Ну так избавляйся от лишних привычек.


Зачем, если они делают код более организованным и явным?
Explicit is better than implicit.
176 3490794
>>490787
Чел, даже в статических языках давно есть вывод типов.
177 3490892
>>477969

> насколько пикрил хорош для углублённого изучения после пикрил 2?


Мне кажется, неплохи книжки про асинк и Fluent Python.
178 3491986
ML сложная тема без знаний математики?
179 3493076
180 3493192
>>491986
Нет
181 3493206
>>491986
Наверное
image.png146 Кб, 1187x557
182 3493700
внимание вопрос

откуда в i 0 взялся наху???7777
183 3493706
>>493700
так range(len(s)) с 0 начинается
а массив s ты кикаешь тут
for s in
вместо исходного массива s у тебя пробегает значения от 0 до len(s) в цикле
184 3493708
надо писать
for value in s:
и делать append(value) а не append (s)
185 3493710
Вопрос по asyncio. Как я понял await как бы приостанавливает текущее выполнение и может переключить исполнение на другие вычисления. И как я понимаю, написанные друг за другом await будут выполнятся все равно друг за другом (ну и может что то между ними еще из других мест), а чтобы реально начать вычислять что то полезное, нужно не просто asyncio.run с 1 функцией запустить, а как то указать там несколько задач, иначе получится, что оно все равно будто последовательно все функции вызывает, разве нет? Или как оно работает?
186 3493712
Но тогда я не понимаю, почему я кучу раз видел код где писали только asyncio.run с 1 функцией? Может потому что там дергали либу которая как то внутри сама несколько тасок делала?
187 3493759
>>493710
создаешь несколько тасок и потом делаешь их asyncio.gather
188 3493772
>>493710
Школота, я тебя сейчас по-простому обясню. Слушай сюды. Асинхронность нужна не для того чтобы паралельно что-то делать, а для того чтобы паралельно нихуя не делать. Чтобы не было блокирующего нихуя не делания. Усек? У тебя две задачи, обе могут нихуя не делать продолжитеьное время. Что лучше: обе одновременно нихуя не делают или сначале нихуя не делает одна задача, а потом нихуя не делает другая задача? Разницу усек?
189 3493825
>>493759
Пасиб
190 3494130
>>493706

> так range(len(s)) с 0 начинается


почему, если n=1 и в s все начинается как раз с единицы?
191 3494134
>>493706

> вместо исходного массива s у тебя пробегает значения от 0 до len(s) в цикле


а понял
192 3494418
Что по вайбкодингу, посоны? Не так давно обновил пучарм и охуел с того, насколько точно он умеет предлагать автодополнение строки. Но это не вполне полноценный вайбкодинг, как я понимаю. Есть какие-то годные плугины?
193 3494427
>>494418
Что такое вайбкодинг?
194 3494519
>>494427

> Что такое вайбкодинг?


это когда арч программист надевает носочки, наливает банановый смузи в стакан и наваливает hello world под крутую какирскую музыку
195 3494537
>>494519
А терь по русски.
1752086882981.jpg91 Кб, 800x712
196 3495282
пидорасище.jpg52 Кб, 600x550
197 3497236
image107 Кб, 690x961
198 3500431
Собираюсь вкатываться в аналитика данных, посему надо учить питон. Составил вот такой роадмап, подскажите может упустил чего?
199 3500440
>>500431
Что это за зверушка - анальник?
200 3500441
>>500431
Да норм, все ключевые слова есть.
Но не могу не спросить, как ты планируешь конкурировать с десятками тысяч других вкатунов с базовым знанием python и sql? Ты молод и у тебя есть хорошее образование? Или по блату найдешь работу?
201 3500479
>>500441
Я не собираюсь останавливаться только на sql и python. По мере возможности буду прокачиваться дальше и пытаться откликнуться на любую джуниор вакансию
202 3500638
>>500479

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


Как и тысячи выпускников с курсов...
203 3500737
>>500638
И что теперь, ничего не делать?
мимо
204 3500797
>>500737
Ящитаю, что не надо идти как баран напролом туда, где уже места нет, других баранов ты не растолкаешь один.
Лучше осмотреться и выбрать другой путь, где есть место, пусть до этого пути и надо будет больше шагов сделать.
205 3500882
>>500797
И где есть место сейчас?
206 3501047
>>493700
Ой, как плохо... Прямо по коду понятно, что у тебя нет понимания происходящего.
207 3501058
>>494427
Это когда вместо того, чтобы писать код "кодер" пишет промт ЛЛМ-ке, который описывает, что код должен делать. Правда на практике есть куча нюансов. Ищи "Курсор".
Недавно я пробовал более казуальный вариант: я подключил себе одну из бесплатных ЛЛМок и написал скрипт на 650 строк, она нагенерировала за меня ~80% кода и 100% документации, я просто сэкономил время на ручном набивании блоков кода, типа написал несколько букв, получил 3-5 строк функционал которых угадан по названию функции и окружающему коду. Это не чистый вайб-кодинг, но меня устраивает: я предпочитаю лучший контроль над результатом.
208 3501063
>>501058

> Ищи "Курсор".


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

> Недавно я пробовал более казуальный вариант: я подключил себе одну из бесплатных ЛЛМок и написал скрипт на 650 строк, она нагенерировала за меня ~80% кода и 100% документации,


Как сделал?
209 3501066
>>500882
Он в целом прав, но есть нюанс: на вопрос

>И где есть место сейчас?


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

Ладно, пару вещей я подскажу:
DevOps -- тут есть дефицит мидлов, так что ещё можно пытаться.
QA -- хороших спецов даже уровня джунов мало. Другое дело, что и спрос не слишком большой.
Sec -- тут ВЕЧНЫЙ голод. Но тематических курсов нет. Угадаешь почему? Потому что это охуеть как сложно и за 2-4 месяца этому научить невозможно, это нужно с 12 лет было читать журнал "Хакер", а с 14 -- сидеть на тематических форумах, постепенно погружаясь в пучины даркнета. Тогда к 20 есть хороший шанс найти или уютное место для вайтхэта или неуютные нары.
210 3501068
>>501063

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


Только для таких и жизнеспособно, потому что только такие могут проверить, что им там негенерировала ЛЛМ.
211 3501071
>>500882
Как анон выше написал, я за тебя не могу ответить на этот вопрос. Ты САМ должен поднять голову и осмотреться. Иначе будет очередное бодание не в ту дверь.
212 3501072
>>501063

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


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

>Как сделал?


Ладно, накидаю в общих чертах.
213 3501091
>>501068
Я знаю питон, но часто не знаю либ с которыми работаю. Вообще для меня это не профессия, поэтому работаю то с тем, то с сем.
214 3501135
Почаны, вкатываюсь в питон. Скажите, есть ли способ чтобы вызывать Константу из общего файта констант, тип Си Const.h со всеми константами..
215 3501140
>>501091

>Вообще для меня это не профессия


А сам как, не тошнит, норм?
216 3501143
>>501140
От чего? От отступов, блядь? Как вы дегенераты заебали.
Проблемы есть, но другие. Алсо предложи альтернативу.
217 3501158
>>501143
Нет, не пойми не правильно. Я про само самочувствие, если не тошнит, то может, стоит самого себя тащить дальше? Новое изучить в рамках ЯП.
218 3501162
>>501158
Что мне надо изучить и зачем?
219 3501166
>>501162
Успокаина прими. Ты дёрганный
220 3501168
>>501135
Да, но.
В питоне нет констант которые чисто константы, есть переменные, записанные КАПСом, которые договорились считать константами. Ты можешь вынести их во внешний модуль и импортировать, например:
module.py:

> KONSTANTA = 1


main.py:

> import module


> print(module.KONSTANTA)


или

> from module import KONSTANTA


> print(KONSTANTA)

221 3501175
>>501166
Мысль сформулируй.
222 3501176
Как в ебаном питоне гарантированно импортировать модуль из локального каталога или из системы?
223 3501187
>>501176
from ebany import modul
224 3501252
>>501072

>Ладно, накидаю в общих чертах.


Даже не в общих, а на настоящем примере.
Итак, задача: инвентаризация и аудит облака. СУГУБО ПРИКЛАДНАЯ (из категории "мне было лень лазить по папочками руками"), это даже скорее скриптинг, чем программирование, но код есть код, а в этом случае код безопасный, ничего особого не спалить (все секреты сильно снаружи), а код не сможет накосячить (тем более, что я понимаю значение каждой запятой). Идеально для тестирования LLM.
Есть облако с пользователем с некими правами, пользователь может выполнять консольные вызовы через специальную утилиту для манипуляции ресурсами в облаке. В облаке есть фолдеры под отдельные проекты, в фолдерах есть сервисы (например, ALB (Application Load Balancer) или managed PSQL)
Структура: класс Cloud при ините получает список папок и создаёт по объекту класса Folder, сохраняет в список.
При ините класса Folder создаётся list[dict[str, BasicService]], где BasicService это базовый класс для сервисов (есть ещё несколько классов, сервисов которые наследуются от него, но имеют отличные в чём-либо обработчики, например, для разных ресурсов может различаться Naming Convention). В классе BasicService при ините выбираются и запоминаются все ресурсы определённого типа, сохраняются в list[dict], полученном из JSON-выхлопа той самой консольной тулзы.
Я хочу добавить проверку расположения ресурса (что он находится в той зоне доступности, где ему положено). Я добавляю в класс BasicService метод и мне сразу подсказывают что за метод я могу написать: __str__ (пик 1). Ну мне нужен другой, потому я ввожу имя и возвращаемый тип сам, жму Enter и мне сразу предлагает готовый код (пик 2)! И из этого кода (даже не смотря на опечатку в имени метода) 80% уже пойдёт в бой, нужно только поправить проверку потому что он решил, что я хочу проверить, находится ли ресурс в правильной папке, а мне надо проверять, находится ли он в правильной зоне доступности.
Осталось документировать новый метод, иду к определению класса и тыкаю там в "doc" (пик 3), ещё пара кликов и метод готов к использованию (пик 4). На 5 строк рабочего кода я ввёл 2 слова, остальное подставила моделька.

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

НО надо твёрдо понимать, что нельзя рассчитывать, что он выдаст идеальный код, что за ним надо проверять, что LLM вообще склонны к галлюцинациям и так далее. Чем более общий вопрос им задаёшь, тем качественнее и валиднее будет ответ.
224 3501252
>>501072

>Ладно, накидаю в общих чертах.


Даже не в общих, а на настоящем примере.
Итак, задача: инвентаризация и аудит облака. СУГУБО ПРИКЛАДНАЯ (из категории "мне было лень лазить по папочками руками"), это даже скорее скриптинг, чем программирование, но код есть код, а в этом случае код безопасный, ничего особого не спалить (все секреты сильно снаружи), а код не сможет накосячить (тем более, что я понимаю значение каждой запятой). Идеально для тестирования LLM.
Есть облако с пользователем с некими правами, пользователь может выполнять консольные вызовы через специальную утилиту для манипуляции ресурсами в облаке. В облаке есть фолдеры под отдельные проекты, в фолдерах есть сервисы (например, ALB (Application Load Balancer) или managed PSQL)
Структура: класс Cloud при ините получает список папок и создаёт по объекту класса Folder, сохраняет в список.
При ините класса Folder создаётся list[dict[str, BasicService]], где BasicService это базовый класс для сервисов (есть ещё несколько классов, сервисов которые наследуются от него, но имеют отличные в чём-либо обработчики, например, для разных ресурсов может различаться Naming Convention). В классе BasicService при ините выбираются и запоминаются все ресурсы определённого типа, сохраняются в list[dict], полученном из JSON-выхлопа той самой консольной тулзы.
Я хочу добавить проверку расположения ресурса (что он находится в той зоне доступности, где ему положено). Я добавляю в класс BasicService метод и мне сразу подсказывают что за метод я могу написать: __str__ (пик 1). Ну мне нужен другой, потому я ввожу имя и возвращаемый тип сам, жму Enter и мне сразу предлагает готовый код (пик 2)! И из этого кода (даже не смотря на опечатку в имени метода) 80% уже пойдёт в бой, нужно только поправить проверку потому что он решил, что я хочу проверить, находится ли ресурс в правильной папке, а мне надо проверять, находится ли он в правильной зоне доступности.
Осталось документировать новый метод, иду к определению класса и тыкаю там в "doc" (пик 3), ещё пара кликов и метод готов к использованию (пик 4). На 5 строк рабочего кода я ввёл 2 слова, остальное подставила моделька.

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

НО надо твёрдо понимать, что нельзя рассчитывать, что он выдаст идеальный код, что за ним надо проверять, что LLM вообще склонны к галлюцинациям и так далее. Чем более общий вопрос им задаёшь, тем качественнее и валиднее будет ответ.
225 3501264
>>501187
Откуда он будет импортирован?
226 3501270
>>501252
В чем ты это делал-то? Что мне твои скрины?
227 3501271
>>501168
Вот этому анонче два чая.
228 3501296
Котаны, помогите.

Не получается записать сумму ряда. Использую функцию nsum из scipy.
Если в лямбду добавить условное выражение, то выкидывает ошибку, но если применять другие операции (степень, корень и т.д.), то всё работает как и должно.

Пикрилы
229 3501309
>>501296

>то выкидывает ошибку


кокую?
230 3501314
>>501309

Да, забыл прикрепить
https://pastebin.com/CJMWzb1p
231 3501352
>>501296
так тебе написали всё, нельзя к логическому типу его преобразовать таким образом.
232 3501355
>>501066
И ты хочешь сказать что в аналитика данных ебать как сложно вкатиться? Прям джуны нахуй не нужны да?
233 3501361
>>501270
Какая разница? Вообще-то можно в чём угодно, лишь бы была интеграция с LLM. А с учётом того, что они уже умеют в LSP -- можно хоть в виме.
А пошёл по пути наименьшего сопротивления и поставил гигакодовский плагин на VSC.
Курсивом выделены предложения LLM, если что.
234 3501364
>>501361
Чел, я не знаю наизусть все иде и плагины.
Что такое LSP и гигакод?

Как вообще можно с питоном юзать vs code? Он же нихуя не умеет!
image.png7 Кб, 474x159
235 3501366
>>501314
Просто скопировал оттуда код, получил пик. У тебя что-то сильно не так. Вангую вендопроблемы.
236 3501367
>>501364
Судя по всему, тебе уже ничего не поможет. Программирование это просто не твоё.
Уймись и иди на завод или грузчиком в пятёрочку.
237 3501368
>>501367
Че такая попаболь? Опять что-то свалилось?
238 3501370
>>501367
Ебло свиное, я уже программирую.
239 3501380
Каким хуем пучарм ухитрился сожрать 2,5 гб??
240 3501381
>>501366
он в nsum лямбду вызывает
241 3501424
>>501355
Сложно, потому что туда лезут десятки тысяч людей с курсов и просто перекатчиков. Я резюме у нас помогаю иногда фильтровать, и там абсолютный мрак, продавцы машин, футболисты, социологи и т.д. Быть замеченным в этом потоке грязи сложно.
Про джунов - они не нужны, потому что как только ты их научишь, то они тут же свалят от тебя. Поэтому дешевле брать студентов и платить им мало. Делать задачи по инструкциям они умеют, на зарплату не жалуются, и когда уходят их не жалко.
242 3501426
>>501380
Индексация проекта скорее всего.
243 3501429
>>501176
Если тебе гарантированно из какой-то жопы нужно вытянуть, то вот так

>import importlib.util


>import sys


>spec = importlib.util.spec_from_file_location("my_module", "/home/anonchik/moduli/ebanye/my_module.py")


>my_module = importlib.util.module_from_spec(spec)


>sys.modules["my_module"] = my_module


>spec.loader.exec_module(my_module)



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

>from moduli.ebanye import my_module

244 3501463
>>501381
И это может приводить к сбою?..
Лень было пип расчехлять для теста.
245 3501531
>>501463
там не сбой, в лямбду массив пихать нельзя
246 3501552
>>501531

> в лямбду массив пихать нельзя


Всё что нужно знать о местных экспертах
247 3501571
>>501352
>>501463
В этом собственно и вопрос. Как переписать, чтобы заработало?
248 3501581
>>501429
Из какой жопы? Я разве не понятно вопрос задал?
Как гарантированно испортировать модуль из системы или из проекта при конфликте имен?

>>501426
"Проект" из 1 файла.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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