Этого треда уже нет.
Это копия, сохраненная 13 марта 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Тред питона №154 /python/ 2582246 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #154

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

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
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, но разницы почти нет)

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

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

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

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

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://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.

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

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9
2 2582262
Почему большинство кода на питоне такое говно, написанное тупыми говнюками?
3 2582267
>>582262
Потому что 80% населения Вселенной — тупые говнюки. И всё делают соответствующе.
4 2582271
Кто-нибудь с open-source speech-to-text движками работал? Какой посоветуете?
5 2582274
>>582246 (OP)
Низкий порог входа плюс концепция "не думай о производительности" разлагает мозг.
6 2582275
7 2582285
Аноны подскажите
Есть список кортежей, нужно отсортировать его так, чтобы первые элементы шли в обратном порядке, а если они равны, то вторые шли в прямом порядке
Как эту хуйню сделать?
8 2582286
Аноны подскажите
Есть список кортежей, нужно отсортировать его так, чтобы первые элементы шли в обратном порядке, а если они равны, то вторые шли в прямом порядке
Как эту хуйню сделать?
9 2582291
>>582285
sorted(lst, key=lambda x: (-x[0], x[1]))
10 2582294
>>582291
спасибо
лямбда-функция имба какая-то
хотя наверно и без неё тут можно, но сегодня бабы у меня из головы не выходят и я тупой как баран
11 2582395
Пешу на Петухоне под IOS

Задавайте свои ответы
12 2582402
>>582262
А на других языках что ли иначе
>>582294
при учёбы лучше всего нофап держать.
13 2582407
>>582395
зачем
14 2582408
>>582395
Да хоть под домофон пиши.
15 2582461
>>582274

> концепция "не думай о производительности" разлагает мозг



вкатывайтесь в геймдев на питоне. там только о производительности и будете думать. сразу выучите тонну новых алгоритмов. потому что циклы тормозят
16 2582488
>>582395
че пишешь?
спасибо ебать.PNG282 Кб, 535x702
17 2582495
все заметили, что новые книги 2022-2023, того же орили теперь стоят от двух-трех тысяч?
Спасибо ебать, покодили
18 2582499
>>582495

>того же орили теперь стоят от двух-трех тысяч?


>Спасибо ебать, покодили


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

А ещё навалом очень хорошего обучающего материала открытого и бесплатного. Я не про пиратские раздачи, именно бесплатного.
19 2582502
>>582495
Примерно как оригинал, я думаю. Ну может накинули сверху от жадности.
Но оригинальные красивые пдфки лежат на каждом углу, я уже сто лет не читал бумажных книг. Разве что прикупил себе пару покет референсов на амазоне чисто для прикола.
20 2582503
>>582495
У меня лично все книги на английском. В долларах она $40-50 баксов стоит на амазоне. Это всё равно дешевле, чем проходить курсы по 120 тысяч на яндекс практикуме. Я не думаю, что это насколько большая цена, что нельзя раз в 3 месяца покупать книг баксов на $500, чисто чтобы расширять свой кругозор.
21 2582505
>>582495
Алсо, я покупал книги и подороже. Если книга охуенная, или редкая, то и 10 тысяч не жалко заплатить.
22 2582508
>>582505
Да посмотри на тот же сикп в твердой обложке или какую-то илитную лиспоту. Там на сотни цена может идти. Ну да, в принципе, это больше коллекционная ценность, лул.
it-юмор-geek-Мемы-6256148.jpeg283 Кб, 810x855
23 2582531
что сложнее в изучении JavaScript или питон?
24 2582549
>>582531
Где-то одинаково. Но в жс много легасной поеботы странной, питон более вылизан и предсказуем.
Плюс чисто ванилла жс тебе вряд ли пригодится, придется ещё какой-то рякт учить поверху.
25 2582602
>>582499
и какая же ставка начинающего джуна?

сейчас в вебе джунам без опыта макс 60к в месяц платят
26 2582612
>>582495
На рутрекер ступай, праведник ебучий.
Стикер63 Кб, 500x500
27 2582618
>>582612
да там все новые книги поступают с задержкой 1-2 года, + они сотрудничают с издательствами и удаляют годные книги, пидорасы
28 2582625
>>582618
Да в сраку тебе кактус.
https://rutracker.org/forum/viewtopic.php?t=6259099
29 2582674
>>582625
ну и как я открою книгу, вкушу запах страниц, смогу полистать?
ты какой -то ебнутыйстранный
30 2582702
>>582674
Бери любую попавшуюся книгу и лижи себе, а читай пдфку.
31 2582777
>>582674

>вкушу запах страниц


Отмотай от рулона в сортире, пожуй, вкушатель хренов.
32 2582852
>>582503
На курсах вроде яндекс-практикума у тебя интерактивное обучение, контроль со стороны и т.п., это совсем другой уровень.
33 2582860
>>582602
60тр = 2тр в день, включая выходные. Два дня = книжка. А если рабочие часы считать, это 300-350 рублей в час. То есть 12 часов = книжка.

Сколько времени надо работать с книгой, чтобы её прочитать и осмыслить? Больше 100 часов это точно.
34 2582970
Аноны вот есть строка
line = "some text #foo test text #bar another text#error text #foo one more text"

есть тэги
tag_list = ('#foo', '#bar')

Надо эту строку распилить на части по тэгам, чтобы получилось: ["#foo test text", "#bar another text#error text", "#foo one more text"]

У меня вот такая хуйня получилась.
sep_i = []
for t in tag_list:
for f in re.finditer(t, line):
sep_i.append(f.start())
sep_i.append(len(line))
sep_i = sorted(list(set(sep_i)))
sep_tags = [line[i1:i2] for i1,i2 in zip(sep_i, sep_i[1:])]

Норм?
image14 Кб, 801x249
35 2582978
36 2583013
>>582531
эээ бля ежи , удоли картынку ежи
37 2583137
>>582531

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



примерно так твой вопрос звучит
16012252330880s.jpg5 Кб, 200x144
38 2583202
>>583137

>говно


о, а вы наверное спец в питоне
39 2583217
>>582978
А разве двойные for это не пиздец? Прастите уважаемый если я вам неправильное говорю.
Чому нельзя через сплит тупа рыльна разбить это в список. Нэпанимаю
40 2583229
>>583217

>двойные for это не пиздец?


Не вижу ничего в этом плохого.

>Чому нельзя через сплит


Так очевидно же почему.
41 2583250
>>583202
Ты спец по жабаскрипту чтоле? Свой портрет зачем прицепил к сообщению? Это анонимный форум.
42 2583266
>>583217
Смотря, что ты делаешь.
Просто двойные фор это тупо O(n) операций, если раз пройти.

Ну и надо понимать, что сплит это не какая-то магическая штука, это просто встроенная функция, которая так же ровно проходит по всей строке и выполняется не мгновенно так же
43 2583267
>>583266
Хотя, конечно, сам сплит встроенный может быть написан на С, поэтому будет побыстрее
44 2583268
>>583250
тише змея
45 2583278
>>582970
Если уж взял регулярки используй их до конца -- сделай сперва "(#foo|#bar)" и по этому уже один раз re.finditer. И сортировка не понадобится.
47 2583283
>>583280
лол, у мене не открывается, он че заблокирован
если да, то с каких пор еба?
48 2583289
>>583267
>>583217
Вы про какой сплит, re.split() или str.split() ?
49 2583291
>>583283
С начала СВО наверное. Сами они заблокировали ру айпи
50 2583292
>>583283
В принципе, можно и так закинуть. Думаю, не распидорасит.

import re
line = "some text #foo test text #bar another text#error text #foo one more text"
tag_list = ('#foo', '#bar')

tags = '|'.join(tag_list)
res = re.findall(f'((?:{tags}).+?)(?={tags}|$)', line)
print(res)
51 2583309
>>583292
Не понял зачем там два раза {tags}.
image.png14 Кб, 689x292
52 2583311
>>583229

>Не вижу ничего в этом плохого.


>


O(n^2)

Вот так чому низя?
53 2583316
>>582970

>"some text #foo test text #bar another text#error text #foo one more text"


>>583289
>>583266
54 2583318
>>583311
>>582970
>>583289
ВОТ ТАК ЧОМУ НИЗЯ?
55 2583325
>>583318
>>583311
Мой код выигрывает 30 милисекунд против твоего. А ты сеньор?
Скажи да умаляю
56 2583332
>>583325
бля, это вообще мой кот просто по клаве прошел
image.png12 Кб, 675x159
57 2583333
>>583325
>>583325
>>583318
>>583311
Эбат кнопкодавы ало. Без принтов мой код на порядки быстрее,я уже джуниор типа?
7 милесекунд с двойными форами против пяти строчек моих за 650 НАНОСЕКУНД
58 2583337
>>583332
Мой код выполняется за 650 НАНОСЕКУНД И ТАМ 5 СТРОЧЕК
ТВОЙ КОД ВЫПОЛНЯЕТСЯ ЗА 7 МИЛИСЕКУНД, ТВОИ ФОРЫ НА ПОРЯДКИ МЕДЛЕННЕЕ И ТЫ СИНЬОР КНОПКОДАВ ЕБАНЫЙ

Я ТРЕБУЮ РАССМОТРЕТЬ МОЮ ВАКАНСИЮ
МОГУ РЕФАКТОРИТЬ ВАШИ ПОДЕЛИЯ
59 2583343
>>583337
мы вам перезвоним
60 2583345
>>583337
извините, вы нам не подходите по софт скилам, вы какой-то душный
61 2583347
>>583309
Это лукахед, чтобы останавливаться на следующем найденном теге, не захватывая его.
62 2583349
>>583316
>>583318
>>583325
>>583333
>>583337

ало, вы тот самый еблан, который не умеет читать задание, а также засрал весь тред? мы вам перезвоним
63 2583350
>>583311
Я так понял ему надо было еще чтобы #error не считалось за таг, только конкретно #foo #bar
image.png5 Кб, 458x88
64 2583354
>>583292
Ебать вы сеньоры конечно да. Вы не можете алгоритм придумать который хотя бы за 900 наносекунд это сделает?
Я ТРЕБУЮ РАССМОТРЕТЬ МОЮ ВАКАНСИЮ, МОЙ КОД НА ПОРЯДКИ БЫСТРЕЕ ВАШЕГО СЕНЬОРСКОГО
65 2583357
>>583354
Настоящий сеньор считает строчки, а не скорость. Меньше строчек - меньше напрягаться и набивать код. Это мудрость сеньора.
image.png52 Кб, 1188x441
66 2583358
регулярки говно для пидоров

https://www.online-python.com/5f9WDCwrSb
67 2583359
>>583349
Козлодразина, просто признай что мой подход быстрее, нахуй ты задействуешь мапы всякие, двойной фор блять написал, ахуеть просто. У сука. Что ты не можешь придумать как мой вариант модифицировать для своих целей? У сука сеньоры ебаные, это из за вас у меня сбэрмаркет лагает
68 2583361
>>583358
Неуч-завистник, ты?
69 2583362
>>583358
Я просто в ахуе, вам не впадлу делать то, что решается гуглением алгоритма в вики и пятью строчками стандартной либы? Нахуй вы смложность алгоритма усложняете?
70 2583363
>>583362

потому что могу. соси
71 2583365
>>583329 (Del)
Уважаемый сеньор помидор. Там у него в варианте двойной фор. O(n) * O(n)
Уважаемый сеньор, это сколько будет? Загадка от футбольного мячика
72 2583366
>>583363
Продолжай в том же духе урод, мне легче на собесах будет
73 2583369
>>583358
Теперь вопрос, если мне становится плохо от такой "оптимизации", типа я уже мидл и могу собеситься в хухол?
74 2583376
>>583369
Это решение в стиле си. Они там так и дрочатся по сто строчек на простейшую задачу сложнее сложения чисел.
75 2583377
>>583349

>Надо эту строку распилить на части по тэгам, чтобы получилось: ["#foo test text", "#bar another text#error text", "#foo one more text"]



Как же меня калят такие челы как ты, я выполнил задание, он получает то что хотел
76 2583381
>>583358
Ебало тупого говна которому поручили добавить туда #pork
77 2583382
>>583376
Ну так в интерпретируемом языке естьвозможность стандартной либой такие конструкции не вызывать в коде, а оставлять под капотом сишной либы пайтона.
78 2583386
>>583357
Тогда сеньор пусть поручает мидлам написать мини либу где сеньору нужно будет вызывать только метод на одну строку. Или ваще тупа рэально чилить на кресле и поручать все мидлам
79 2583393
>>583385 (Del)
Ебать, как же кайфово видеть таких сеньоров как ты. n у тебя количество выполняемых операций, дядя ало, у тебя двойной фор
Сложность возрастает на O(n*n), ало пошел нахуй. Хартьфу наносек ебаный
80 2583398
>>583393
Для тупых поясняю -- один FOR даёт один N.
Если в программе один FOR сложность O(N).
Если два FOR сложность O(N^2).
Всё, это вся наука о сложности алгоритмов.
Иногда умножается еще на LOG(N) но на практике всем похуй.
81 2583405
>>583398

>тся еще на


Ты такой далбаеб, (без негатива)
Я тебе написапл тоже самое что ты мне сейчас пишешь, хотя ты сказал что это неправильно. Молодец, переобулся
Ты мне отвечал что неправильно для вложенного фор?
>>583329 (Del)
82 2583408
>>583403 (Del)
Фу ебать вы уроды, вы ебаные сеньоры не знаете как у вас проги выполняются, мне противно вас читать от вас воняет, скуфы
83 2583412
>>583406 (Del)
Еще один, ну ка малек, опровергни ка учебники по CS
84 2583417
>>583403 (Del)

>Еблуша, ты если одно яблоко ц


Какое яблоко дебил? Причем тут яблоко? Тебе сеньору стали платить много ты подсел на наркоту и отупел, ты гонишь
ПРИЧЕМ ТУТ ЯБЛОКИ
85 2583425
>>583403 (Del)

>Еблуша, ты если одно яблоко целиком съел,


Дебил ебаный сеньор скуфовый, ортупевший от наркоты - это ты? Помню тебя по твоим шизоидным код ревью, тебя еще поперли потом за обсеры.

Ты если по яблоку пробежишься в 4 плоскостях Скока будет операций?

Если ты по двум половинкам яблока по очереди по 4 плоскостям пробежишься скока операций будет?
Сеньор скуфовый
86 2583429
>>583422 (Del)
Ты че не можешь перемножить эти операторы? Скуфовый сеньор который выпустил порашное обновление сбермаркета это ты?
87 2583432
>>583427 (Del)
Дебил ебаный сеньор скуфовый, ортупевший от наркоты - это ты? Помню тебя по твоим шизоидным код ревью, тебя еще поперли за то что обновление сбэрмаркета вылетало каждые 10 наносекунд. Ты потом еще пытался устроиться курьером в сбэрмаркет после этого, но тебя не брали, как поживаешь сеньор скуфовый?
88 2583444
>>583398
Два и больше фор нужны для прохода по вложенным иттерациям.
хоть десять фор у тебя будет это всё ещё O(n).

Большое О будет увеличиваться, если твой алгоритм что-то ищет и будет постоянно пробегаться по итерируему объекту и тут не важно, один у тебя for, два, или десять
89 2583449
>>583433 (Del)
Капец ты скуфовый сеньор конечно да, бросай шабить, а то в версталы пойдешь? я тебе про вложенный список говорю конч

Конкретно по твоему вопросу
Я тебе пишу свой ответ, а ты пишешь свой сразу же, пусть все знают что ты за сеньор скуфовый

lim(n^2 * m^2) - C где С - количество вызываемых операторов но им можно пренебречь
Давай скуфовый напиши свой ответ, а я пока с эйчаркой чай попью
90 2583454
>>583422 (Del)
В первом случае O(N) во втором O(N^2).
Это асмиптотическая нотация, в ней у N нет и не может быть какого-то конкретного значения.
91 2583455
>>583444

>прохода по вложенным иттерациям.


>хоть десять фор у тебя будет это всё ещё O(n).


Тогда почему у него двойной цикл на порядки медленнее больше чем в тысячу раз, уважаемый сеньор (пока не скуфовый объясните)?
92 2583478
>>583465 (Del)
Для конкретных значений не имеет смысла считать асимптотическую сложность. Сложность это характеристика алгоритма в целом.
93 2583481
>>583455
>>583422 (Del)
Ебать ты урод скуфовый, ты два вопроса задал, а я тебе ответил как на один. Урод ТЗ нормальные пиши, хуй пойму что с шрифтом

a)n m По сложности O(n)

b) n
m По сложности O(n^2)

Хуятина а ты спрашивал про кол во принтов или про колво операций интерпретатора, скуф сеньоровский? Ты же проебал мозги из за герыча, сформулируй вопрос
94 2583486
Ебать вы тут разворошили большое О чко.
95 2583489
>>583465 (Del)

>im(n^2 * m^


>>583481
Скуфовый, ТЗ намана оформляй чтоб я сразу видел что ты вопросы ограничиваешь буковками
96 2583493
>>583488 (Del)
Ты сам то посчитай принты еблан. И там и там одинаковое число. Пиздец ты зайчик, ты свой ответ напиши скуфовый
97 2583494
>>583492 (Del)
В боксе по переписке я тебя на изи вынесу, так что будь добр вести себя тихо
98 2583496
>>583490 (Del)
Пишут двойные циклы, 50 строчек кода, модули какие то подключают на задачу которая решается стандартной либой в 5 строчек. Кто с курсов?
99 2583502
>>583498 (Del)
Ты когда свои ответы напишешь? Чего ты трясешься, мы тебя 1С обучим, будешь обновления ставить
100 2583504
>>583500 (Del)
Какая сложность у двойного цикла? Скуфовый, почему его двойной цикл в тысячи раз медленнее чем надо? Он на маленькую строчку тратит 200 мс, скуфовый, скока будет тратить на большую?
101 2583505
>>583500 (Del)
А сколько сложность будет?
Мимо проходил
102 2583512
>>583504

> чем надо


Кому надо-то, шиз?
Сходи лучше в C++ тред со своими 200мс, посмотрим как тебя там обоссут.
103 2583531
>>583516 (Del)
>>583518 (Del)

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


Тут у тебя явно какой-то косяк -- получается что если строка 2 гигабайта, но тегов там ноль, то программа выполняется мгновенно.
104 2583536
>>583516 (Del)

>ое число повторений одного тега в строке). Чел же утверждает, что сложность О(n*2), хотя что такое n в данном случае от


Мдя, а я теперь понял почемку каждое новое обновление приложух такая пораша, почему виндовс опасно обновлять, вон оно что. Ну ясно все с тобой скуфовый
105 2583545
>>583512
Скуфовый, мои 5 строчек выполняются за 650 наносекунд, знаешь что такое наносекунды?
106 2583558
>>583545
Жаль только, что задачу не решают. Можно и в 0 наносекунд так же сделать, ты проебал на целых 650.
107 2583561
>>583545
Есть два стула -- если строка короткая то никого не колышет сколько это выполняется. Если строка гигантская, то выигрывает решение которое проходит по строке ровно один раз.
Твои 5 строчек проходят по строке 2 раза. Увеличь строку до 8 гигабайт и замерь еще раз.
108 2583565
>>583558
Ты че еблан? Он просил получить именно эти значения

> чтобы получилось: ["#foo test text", "#bar another text#error text", "#foo one more text"]



Как дела?
109 2583571
>>583565
Он просил, чтобы вырезало куски после конкретных элементов из списка и даже добавил подъебочный элемент #error для тебя.
Твой код вообще нихуя не делает, какие-то сплиты бессмысленные.
110 2583582
>>583561
Чел, я проверил твой высер на практике, его код на длинной строчке медленнее моего в 10 раз. Дальше разрыв будет только увеличиваться и я тебе могу даже нарисовать график.
После того как твой высер разошелся с практикой - твое мнение для меня ничего не стоит скуфовый. Посмеешь отказать мне в приеме на работу, я докажу в суде что ты обосрался и будешь платить мне x3 от ставки
111 2583584
>>583571
Ты его пост прочти клуша ебаная. Он просил получить список такой, он получил ровно тот же список, он получил что хотел, то что там скуфовый тз не можети оформить меня не ебет.

То что ты не знаешь стандартные алгоритмы - тебе минус
112 2583588
>>583584
Ну сделай сразу
result = ["#foo test text", "#bar another text#error text", "#foo one more text"]
Хули ты там возишься?
113 2583589
>>583584
Господа скуфовые сеньоры простите за оскорбления, просто вы высираете то, что расходится с практикой и со всеми учебниками. Я видел таких гнилух, они потом извинятся любят. Сидит передо мной тело: Что такое АДРЕС ip
ну то то, так то задается, то делает
Тело:НИПРАВИЛЬНА IP ЭТО ПРОТОКОЛ

я: хУЯТИНА ТЫ МЕНЯ ПРО АДРЕСС СПРАШИВАЛ А НЕ ПРО САМ IP КОЗЛОДРАЗИНА

После этого он совсем сдулся и начали про деньги говорить. У сука слить меня хотел
114 2583590
>>583588
ТЗ оформляй намана, меня не ебут твои проебы
115 2583598
>>583590
Ты проебал почти в десять раз, смирись.

> python3 -m timeit 'result = ["#foo test text", "#bar another text#error text", "#foo one more text"]'


5000000 loops, best of 5: 69.9 nsec per loop
Сложность олгоритма 100^-1
image.png4 Кб, 452x59
116 2583606
>>583598
За что же тебе платят на галере. Ты вкатился хоть?
117 2583608
>>583606
Ты я вижу не вкатился, задачки вон решаешь. roman to num
Зато пиздеть первый в очереди
118 2583610
>>583608
Ромочка так-то пока лучший разработчик в треде. Не обижай его.
119 2583613
>>583608
Так я чичас научусь калькулЯтор писать и тоби пэзда
120 2583649
Братишки, кто-то юзает Pito для айпада?
Взял 3х-дневную пробную версию, не знаю стоит ли оплачивать? Не могу подключить дропбокс и Яндекс-диск. Не пойму, они будут доступны в полной версии? Или для России доступ к облакам у них закрыт?
Если не получится работать через облака, то отдельный питон на айпеде не особо-то и нужен.
121 2583674
>>583649
Зачем это вообще?
122 2583691
>>583674
Дома с компа питонировать и сохранять в дропбокс, в дороге — открывать этот же проект с айпада-мини и продолжать питонировать-актировать в поезде.
123 2583761
>>582246 (OP)
Супь, питоняши. Подскажите, а есть норм способ провалидировать путь?
Мне нужно точно узнать, что содержимое переменной path может быть валидным путём до директории. При чём этой директории ещё нет, она будет создана, при чём на удалённом хосте.
Большинство того, что нашёл ложиткладёт хуй на спецсимволы, а, вроде специальный модуль "pathvalidate" вообще троллит:

>>> pathvalidate.is_valid_filepath('/tmp/123')


False

>>> pathvalidate.is_valid_filepath('tmp/123')


True
124 2583777
>>582395
У меня масса их!
И как оно?
Kivy?
Сам на чём сидишь? В смысле у меня Linux, смогу я обойтись без мака? Да, вот такой я странный, с iPhone'ом и GNU/Linux-desktop'ом.
Гуй рисуется штатными системными либами?
Есть вообще что-то типа кьют-креатора?
Нужна какая-то особая платная лицензия? Или что там?
Есть какой-то эмулятор телефона (когда пробовал писать под Sailfish, он прям из Qt-Creator'а виртуалку с мобильной ОС запускал)?
Можно ставить ПО на свой телефон? А кому-то из коллег, например, можно мою прогу мимо аппстора, чтобы пощупали?
Если это платно, то как-то отбить бабло возможно?
125 2583785
>>582495
Книги не нужны.
Пока их хотя бы на англейском напечатают они уже устаревают, а там ещё перевод и печать на Русском, прочее, два новых релиза выйдет, пока книга просто на у тебя в руках окажется.
Читай официальные и встроенные маны и пробуй-пробуй-пробуй-пробуй-пробуй...

Впрочем, читнуть какого-нибудь Лутца, полного водой просто чтобы вкатиться может и полезно, но только если это вот прям первый язык и ты вообще не знаешь за кодинг.
126 2583790
>>582531
Картинка высосвана из пальца. Ты хотя бы посмотри на хаскелиста-смузихлёба. Ты вообще знаешь хоть один продукт, написанный на хаскеле? Вот и я не знаю, зато хипстеров насмотрелся. Самый эталонный из них писало на R, кстати.
127 2583802
>>583790
Я всегда дуамл, что R это просто такой продвинутый калькулятор для всяких рассчётов, но всё это можно делать и на питоне, и тут просто учебных курсов по нему куда больше и сам он легко понятен, что любого препода или учёного быстро можно подтянуть
128 2583828
>>583802
R это специализированный инструмент прежде всего для статистики. В этом ему равных нету. Все нужные методы уже в стандартной библиотеке, с отличной документацией.
image14 Кб, 671x242
129 2583838
>>583278
>>583280
>>583292

>"(#foo|#bar)"


Дело в том, что тэгов может быть много, например 200. И я подумал что такая регулярка (n|n[1]|n...|n[200]) будет пиздец какой неуклюжестью и что так не делают и вообще это будет тромозить.
Виноват, что не все условия сразу выдал.
Но вот теперь, учитывая новую информацию, tags = '|'.join(tag_list)
всё рано лучше чем мое говно?

Алсоу, в моей "реализации" в цикл можно добавить флаг, который экономит немного байт и завершит проверку раньше чем все 200 тэгов будут проверены, если искомые тэги не в конце списка.

>>583377
Чел, я только изначальный пост вкинул и только сейчас вернулся, ты с другими анонами разговаривал. Твой код рапилит строку ещё и в месте "#error". #error не является тэгом. Неужели ты столько понаписал и этого не заметил?
Ещё один монмет, хоть этого и не было в изначальном условии, я вот лично считаю, что добавлять символ-флаг "/" это как-то по индийски. А что если в тексте где тэги будет такой символ - ошибка же случится.

В любом случае твой код отделяет #error - это ошибка.

>>583358
В общем мне к задаче следовало добавить два условия 1)тэгов может быть супер дохуя и они могут быть разной длины, 2) в строке могут быть любые символы в т.ч. # (но это то было и так понятно)
130 2583843
>>583828
Да, для статистики, точно. Потому что помню что как то давно очень я трогал его для каких то рассчётов, теперь точно вспомнил, как раз много статистики надо было считать
131 2583859
Информация о студенте состоит из его фамилии, роста (в см), пола, успеваемости (средняя оценка по пяти предметам, полученная на последней сессии). Представить информацию в виде записи. Задать информацию о группе из 10 студентов.
Найти:
А) Количество студентов, рост которых 170 – 175 см;
Б) Количество мужчин – отличников;
В) Фамилии студентов, средний балл которых ниже 3.

Сап, аноны, строжайше срочно надо написать код к этой задаче, помогите пожалуйста, котелок уже не варит капец
132 2583864
>>583859
Это либо из словоря, либо из БД, но раз просто задание, то словарь.
Просто проходишь по нему циклом и вытаскиваешь все нужные данные, раскладывая их в списки.

А с БД тут чисто SQL запросы, которые к питону мало отношения имеют
133 2583865
>>583859
А какой это курс?
134 2583872
>>583865
2 курс

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

class Student:
def __init__(self, surname, height, gender, progress):
self.surname = surname
self.height = height
self.gender = gender
self.progress = progress

Student = []
for i in range(10):
surname = input("Введите фамилию студента: ")
height = int(input("Введите возраст студента: "))
gender = input("Введите пол студента (M/F): ")
progress = int(input("Введите среднюю оценку студента:"))
tourists.append(Student(surname, height, gender, progress))
135 2583875
>>583872
в последней строчке вместо tourists будет students
и в 7 строчке
Students = []

самофикс
дальше хз как
image60 Кб, 1210x548
136 2583881
>>583859

Не претендую на джуна, но как-то так.

https://www.online-python.com/QIk65nVZKp
137 2583884
>>583881
Можно ещё вот так
str([v[0] for v in stud.items() if v[1]['успеваемость'] < 3])[1:-1] чтобы квадратные скобки от фамилий убрать при выводе.
138 2583885
>>583884
Бля лучше ', '.join([]) использовать, сам туплю уже.
139 2583888
>>583872
мда, на втором курсе такая фигня.
а не задания.
140 2583889
>>583881
Тут ты три раза проходишь список. Плохой вариант, когда всё можно, а значит нужно сделать за один проход
141 2583890
>>583888
Ну видишь анон не справляется, значит не такая уж и фигня.
142 2583892
>>583889
Можно, но я почитал тред и преисполнился мудрости анона, которая заключается в том, что надо стремиться к уменьшению строк, тогда все будут думать что ты умен. Таков путь синьора-пиздобола.

В задаче было три вопроса в моей реализации три строки, если убрать переносы и не считать сурс словаря.
Идеально.
143 2583893
>>583892
Ну по идеи твой код не чекают в ручную в первую очередь, а прогоняют через тесты, что бы выдавал всегда правильный вариант и смотрят на время выполнения. Дают ТЗ, а под него пилят проверки, через которые потом и прогоняют.
А дальше уже в ручную могут посмотреть, если пройдёт первые проверки. Ну а могут просто пробежаться глазком быстро и одобрить.
144 2583894
>>583888
>>583890
Да я не на программиста учусь потому что, но программирование у нас тоже задействовано, питон первый семестр.
Есть конечно у меня нифиговые оправдания на счет того, почему я целый семестр ебланил и нихуя почти не продвинулся в знаниях, но моя вина тоже не маленькая, пора бы уже и браться за голову.

>>583881
Анончик, от души, реально спасибо тебе.
Я конечно не такой вариант решения рассматривал, но думаю поскольку не было четких условий и рамок, то должно проканать.
Еще чет запутало сначала в условии "представить в виде записи".
Но спасибо огромное, удачи и позитива, здоровья тебе и твоим близким
145 2583895
>>583894
Вообще конечно фамилию надо было сделать тоже элементом словаря 'фамилия':'Иванов', на случай если будут студенты с одинаковыми фамилиями, но такого условия в задании не было, да и это всё-таки учебная хуйня.
146 2583899
>>583838
Ну тогда как твой вариант, но итером ищи просто #\S+ и сверяй, есть ли оно в тегах, а не долби все теги.
147 2583901
>>583838
По идее регулярка из 200 вариантов компилируется в конечный автомат и должна работать вполне себе шустро.
image32 Кб, 1158x479
148 2583903
>>583899
Ммм, вроде неплохо. И строк меньше стало. Правда после тэга не всегда есть пробел или вообще какой-то разделитель. То что я теперь каждый раз срез строки беру для сравнения это питонически?

Мудрые люди мне говорили что питон хоть и тормознутый, но если там брать срезы строк то он будет в сто раз более тормознутым.
149 2583904
>>583903
Да, срезы строк зло. Ибо при каждом вывозе он будет снова проходить по строке и делать весь срез заново.
по сути это как постоянно использовать for
150 2583907
>>583904
Как этот момент в моем случае нивелировать? Может кто-то скажет что это "байтоебство". Но мне интересно для общего развития.
151 2583909
>>583907
Ну они не так и нужны особо при создании проектов. А если очень надо, то сохранять срез как отдельный объект, а не как некоторые по началу любят везде вызывать чисто срезы примерно по этой логике - >>583892, типа так меньше строк и красивее выходит.

Либо кешировать результат, если нужны разные срезы одной и той же строки и к ней часто обращаются, что по сути тоже самое, что и создание отдельного объекта, только куда гибче и универсальные.
152 2583910
>>583907
В startswith есть свой срез, но он ГОРАЗДОООО тормознутей чем обычный срез строки. На любых объемах и дистанциях он проигрывает простому срезу.
153 2583914
>>583903
Между прочим в startswith() можно передавать сразу tag_list.
154 2583915
>>583914
Ооо, спс. Полезный тред, надо тут сидеть и ума набираться.
155 2583916
>>583914
хуясе
156 2583918
Это чат бот >>583909 ?
157 2583928
решаем домашку всем тредом. бесплатно без смс
158 2583940
>>583589

>Что такое АДРЕС ip


Это уровень вопросов, которые тебе на собеседованиях задают? Ты на кого, на "оператора ЭВМ" собеседовался?
159 2583941
>>583940
Судя по тому что этот клоун тут понаписал, это наверное у него учитель по информатике спрашивал на уроке, а он обосрался и не смог ответить, после чего прибежал на двач щитпостить.
160 2584023
Аноны, а после инициализации класса, то что я обьявил в __init__ уже не изменить?

Вот обьявил:
def __init__(self, arg):
self.arg = arg

def set_arg(self, arg2):
self.arg = arg2

Делаю экземпляру класса .set_arg(N), но он не меняется.
161 2584030
>>584023
Всё меняется. Я еблан. Модер удоли.
162 2584131
>>583649

>дропбокс и Яндекс-диск


IDE не умеющее в GIT и использующее такие костыли нинужно.
Как собственно и разработчик, не умеющий в VCS вообще.
163 2584165
>>583761
Кажется вопрос снимается. Я так и не смог добиться того, чтобы при создании файла/папки линукс обругал меня за недопустимые символы (кроме очевидного '/', но он имеет полное право быть в пути). Значит, единственное, как проверить валидность абсолютного пути это

> len(str)>0 and str[0]='/'

164 2584172
>>584165
Еще длина имени файла ограничена (не весь путь а каждая отдельная часть) то ли 128 то ли 256 байт максимум
165 2584187
>>584165
PurePath.is_absolute()
image.png1 Кб, 102x292
166 2584191
Как из этих 5 строк получить одну, которая бы являлась максимальным количеством совпадений по каждому символу? То есть, чтобы четвертый символ был "3" потому там 3 совпадения против 2.
Ничего, кроме колхоза с перебиранием каждого символа и записываем количества совпадений в переменные, в голову не приходит. Наверное через множества можно как-то.
168 2584217
>>584191
Если есть строка типа s="26333" то максимум повторов находится так: max(s, key=s.count). Дальше думай самостоятельно
169 2584242
>>584214
СПАСИБО!
170 2584249
>>584214
нихуя ты аниме протагонист
171 2584264
>>583777
Pythonista и Kivy. Первая больше не поддерживается к сожалению, а был продукт просто уникальный для IOS разработки.

Мак запускаю на виртуальной машине. Линукс с bulldozer'ом Kivy тоже на вируталке. А так на винде сижу.

Сейчас чтобы на iOS запускать свои нативные приложухи нужна платная подписка разработчика.

Для Pythonista это не нужно, там все в песочнице работает. Можно даже свою независимую систему распространения приложений Pythonista и обновлений по сети запустить.
172 2584304
>>584264

>Kivy



это говно еще трепыхается? помню в 2016 как запрягли как поехали... и встряли
173 2584310
>>584304
больше скажу, даже чувак который пишет KivyMD и сидит где-то в ЛНР до сих пор жив.

Успей освоить фреймворк богов!
174 2584357
>>584310
плюсов по сравнению с куте не вижу
175 2584383
>>584191
через nunpy изи это делаетеся.
176 2584386
Почему мой код не решает задачку? Нужно преобразовать pascal-case(-, _ вместо пробелов) в camelCase (заглавные буквы вместо пробелов), программа иногда превращает буквы после тире в заглавные, а иногда нет, а иногда превращает в заглавные совсем случайные буквы. Пробовал печатать буквы, которые подпадают под условие elif text[text.index(letter)-1] in '-_':, там почему-то нет букв, которые по логике должны превращаться в заглавные.
https://pastebin.com/SkHLX7XA
https://www.codewars.com/kata/517abf86da9663f1d2000003/train/python
177 2584393
>>584386
Я, кажется, понял, в чём проблема: питон либо не видит различия между 'e' в начале The и 'e' после '-', либо выбирает первую попавшуюся 'e'. Как сделать так, чтобы он выбирал нужную букву?
Screenshot88.jpg16 Кб, 337x302
178 2584399
>>584386
index просто находит первый символ. что ты хочешь этим добиться, плюс он постоянно пробегается по строке, выполняя куча лишних действий. Если так решать, то просто используй флаг, который будет становится True и если он True, то следующая буква становится заглавной

Кстати, я сам эту задачу решал оказывается, и да, у меня через флаг. Хотя не помню, когда её решал
179 2584403
>>584399
Но можно просто через сплит решать. И объедение через title. Так бы я сейчас решил
180 2584405
на самом деле надо решать так
https://pypi.org/project/case-converter/
181 2584409
>>584399
Понял, спасибо.
182 2584413
>>584386
Там же стоит тег регулярки.
Это в одну строчку делается.
return re.sub('[-_](\w)', lambda m:m[1].upper(), text)
183 2584414
>>584413
и тег алгоритмы.

и раннее задачи, обычно люди к этому моменту регулярки ещё просто не трогали ни разу.
184 2584415
>>584413
Каждый раз, когда захожу в solutions на codewars, у меня начинается тильт от элегантности чужих решений. Как научиться так же? Читать документацию питона и пробовать внедрять разные функции?
185 2584418
>>584415
Да мотай на ус и решай дальше. Дойди хотя бы до 3kyu сначала.
186 2584420
>>584415
С опытом приходит. Я когда баловался всякими кодеварсами тоже иногда удивлялся с солюшенов. У меня пять строчек вполне четенько, а там какой-то дрочила заебашил однострочник совершенно дикий, но я бы до такого не догадался.
На практике оно ни к чему, конечно, чисто писькомерство.
187 2584423
>>584420
Ни то, что ни к чему, а сложнее становится код обслуживать и баги искать в довесок.
Есть, конечно, операции, которые желательно сплушивать, но это опять же, не обязательно и с опытом приходит
188 2584427
>>584415

у меня с этих "элегантных" лямбд начинается тильт блевоты тугой струёй в таз
189 2584428
>>584423
Не, я в плане того, что это как коде гольф - чисто забава.
На практике никто так и не делает, ну разве долбоебы какие.
190 2584429
>>584427
Просто уродский кейворд. Вот у жопаскрипщиков красивые стрелочки.
191 2584434
>>584415

>элегантности


>нечитаемое говно в 1 строку с нагромождением лямбд, map/reduce и регулярок

192 2584438
>>584434
Ну довольно часто можно крутой пайплайник сделать. Он элегантный и эффективный, красота.
193 2584441
>>584434

>нечитаемое говно в 1 строку


Ну так термин элегантности никак не коррелирует ни с читаемомтью, ни с производительностью. Элегантность кода есть его компактность помноженная на хитровыебанность. Красота ради красоты.
194 2584444
>>584441
Вот ты когда-нибудь встречал описания хуя как "компактный"? Да никто его так не будет называть! Код как и хуй должен быть мощным, большим и внушать одним своим видос
195 2584447
>>584214
Куда приезжать сосать?
196 2584448
>>584191

>Как


Натренируй нейронку нормально, чтоб с первого раза распознавала, пидорас, обходящий капчу
197 2584463
Как на панели джанго-админки выделить модели в отдельную подгруппу? Это как-то реально сделать? Сейчас (по дефолту) модели разбиты на группы по приложениям, все модели внутри своего app
198 2584481
Походу надо дропать это дело. Слишком тупой я. Вот чувак >>584214 в одну строчку кода сделал то, что я бы на 20 захуярил. Я могу идеально знать синтаксис, но программирование это про алгоритмы, про решение задач, а я в этом полный пень.
199 2584496
>>584481
синтаксис практически у любого языка учиться за несколько дней. это просто как выучить алфавит и некоторые правила грамматики и после ныть, что эти знания не даёт тебе читать англюсик сходу
200 2584507
>>584481
Но строчки три. Ты пиздабол, получается.
201 2584512
>>584507
Непосредственно выполнение задачи, которую поставил >>584191 анон, в одну строчку
202 2584523
Сап. Есть 2 класса очень похожих с одинаковыми названиями методов. Один делегат другого. Хочу 1 раз определить метод и использовать в обоих классах. Как правильное это сделать? Вот пример кода. Хочу 4 и 9 чтобы вернулось без определения метода f дважды (сейчас там просто квадрат, а по факту куча всего может быть) Как такое сделать?

https://ideone.com/9jvSyV
203 2584529
>>584523
Не работает это говно тут и не охота врубать впн ради этого, хватит кидать сюда это.

По идеи просто один класс наследуется от другого и вместе с этим все методы
204 2584538
Есть 2 класса: в одном monkeypatching глюченый, в другом coupling моченый. Какой в прод зальешь, какой тимлиду пошлешь?
Screenshot20230123-140708Chrome.png206 Кб, 1080x1541
205 2584541
>>584529
Нельзя наследовать. Только инкапсуляцич
206 2584557
>>584131
И тут ты пишешь готовое IDE mobile, поддерживающее GIT.
кроме кривого забагованного маунта PyCharm на телефон/планшет
207 2584560
>>583889
Через форич + иф обыкновенный?
208 2584562
>>584523
1. миксин
2. инъекция зависимости в конструкторе
209 2584567
>>584357
ты хоть документацию прочитал?

- Отрисовка ВЕЗДЕ
- asyncio
210 2584568
>>584562
Миксин можно но хуйня ради одного вызова делать

А чё за инъекция в конрукторе?
211 2584569
>>584463
Переформулируй вопрос, косноязычно объяснил.
212 2584571
Аноны это крик души, я учу питон 4 месяца, смотрю вакансии - а там нужны кто угодно, си шарп, джава, sql, пхп, дата саенс, даже руби нужен!! Но питонистов бэкендеров никто не зовёт!! Либо нужны сеньоры питонисты которые имеют огромный опыт и плюс к этому знают фронтенд, сишарп и ещё всякое.
Я уже начинаю думать о том чтобы сразу с# начать учить после питона, а иначе никак, такие дела, да.
213 2584574
>>584571
Ещё пыху выучи, MQ, монгоДБ, сиквел и устраивайся джуном. Не забудь про линух.
214 2584576
>>584567

а что про биваре скажешь? тоже обещают везде, причем натив
https://beeware.org
215 2584578
>>584571
Я тоже собираюсь учить C# после питона, к весне добью уже добью несколько проектов и только тогда начну искать подработку/работу и постепенно начну шарп учить.
Сейчас ничего даже не смотрю в вакансиях. Только отвлекает. Набил какую то базу навыков и начну искать, а там смотреть чего не хватает и куда лучше двигаться.
216 2584585
>>584574
А что там в php учить после питона интересно. Понятно дело синтаксис отличается, сам язык быстрее намного в своих задачах. Но это думаю всё быстро подтягивается, за недельку. Но наверное, есть какие-нить фреймворки или библиотеки тоже, которые нужно освоить
image.png56 Кб, 1273x388
217 2584589
>>584569
В джанговской админ-панели по адресу /admin/ мы видим модели которые были добавлены в админку при помощи декоратора django.contrib.admin.register
По дефолту мы увидим как на пикриле - название django application (конкретно здесь их 2: AUTHENTICATION AND AUTHORIZATION и MAIN) и под ним - сами модели.

Можно ли как-то сделать другую разбивку моделей - не по application а по собственным подгруппам? Или добавить подгруппы внутри каждой application?
218 2584590
>>584585
Просто думаю подучить его тоже всё же, учитывая, что я раньше его изучал и со многим так-то знаком уже, просто вспомнить надо и дальше углубиться.
Думаю за месяцок смогу подтянуть до приемлемого для джуна уровня, пусть будет и такой навык
219 2584593
>>584568

>Миксин можно но хуйня ради одного вызова


Для этого они и нужны

>А чё за инъекция


В init передаешь отдельный инстанс другого служебного класса, на него будут возлагаться твои утилитарные функции
220 2584606
>>584590
За месяцок можно и до сеньора поднять.
221 2584630
>>584264

>Мак запускаю на виртуальной машине.


Мде. Не айс.

>Линукс с bulldozer'ом Kivy тоже на вируталке.


Зойчем?
Мне тут давали рабочий ноут с дрисняткой, я её как следует пощупал и нашёл WSL2 вполне рабочим решением (если тебе не нужен гуй и всякие тонкие вещи типа Docker, Kernel Params, etc), vs-code вообще запускал всё, что мне надо прямо в WSL.
Это не делает венды удобными, они по-прежнему ужасны, но именно виртуалка с линуксом обычно больше не нужна.

>Сейчас чтобы на iOS запускать свои нативные приложухи нужна платная подписка разработчика.


Это та, которая штуку баксов в год?
Ну, значит, найму фронтендера на фрилансе и пусть он мне вебгуй сделает, хули. Слишком много возни для пэтпрожектов. Я честно говоря вообще удивлён тому, что у них столько приложух в магазине при условии, что любой автор должен даже для пощупать пробиться через пэйволл.
222 2584631
Есть список путей ОС виндус
C:\dir1\dir2\path1\path0
D:\dir2\
C:\dir1\dir2\
C:\folder7\path10\dir2
C:\folder7
C:\dir0\dir\
И так далее до бесконечности

Как из всех этих путей выбрать уникальные, и удалить те пути, которые в них входят. Например C:\dir1\dir2\path1\path0 надо оставить, а C:\dir1\dir2\ удалить потому что он часть того пути что длиннее.

Нужен такой профессиональный алгоритм, без нагромождений циклов, чтобы сразу все поняли что писал синьор. Я знаю ИТТ клуб элитных программистов, для вас это как в носу поковыряться.
223 2584637
>>584576
Ну и пусть себе обещают. Пока это не будет гуглиться хорошо, я даже смотреть не будут.
По сравнению с остальной дрысней, по kivy хоть что-то можно нагуглить. Даже есть сообщество ВК
224 2584638
>>584631
рекурсией, не?
225 2584733
>>584631
Ну если синьорский, то это надо кафку применять. Сможешь поставить?
226 2584779
>>584637

да в общем-то известный в узких кругах проект
но его пилят какие-то пердоли, поэтому движется всё медленно
227 2584860
У меня есть купленный курс по GIT, но я так его и не трогал.
Начал уже по джанго заниматься, наверное стоит и гит пройти перед этим.
228 2584889
>>584631
Префиксное дерево
sage 229 2584913
>>584860
Главное, что купил. Смотреть необязательно.
230 2585197
str(len([v for v in aaa.values() if v['']

что означает буква "v"? что это?
231 2585210
>>585197

> for v in aaa.values()


Что именно тебе не понятно?
232 2585212
>>585210
я уже разобрался, спасибо
233 2585226
Привет, питонач. Где хранить необязательные данные, кроме файлов? Таблицу БД так же создавать для них чересчур.
Вывод данных, если они имеются, будет в django-шаблоне.
234 2585337
>>585226
как по мне, чересчур будет, если ты будешь подгружать данные и из бд и ещё откуда-то
235 2585381
>>585337
Склоняюсь к тому, что ты прав. Спасибо.
236 2585473
Хочу написать программу, которая бы располагалась в трее, рядом с часами, работала бы как таймер и при этом сохраняла счёт после перезагрузки/ребута из винды в линукс и обратно. Это сложно реализовать на питоне?
237 2585479
>>585473
Хранить где-то в вебе разве, чтобы не ебаться с фс.
238 2585496
>>585473

>import wx


>import wx.adv


>class TaskBarIcon(wx.adv.TaskBarIcon):


> def __init__(self,frame):


> wx.adv.TaskBarIcon.__init__(self)


> self.myapp_frame = frame


> self.set_icon(TRAY_ICON)


> self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down)

239 2585584
Если в БД значение поля - это dict из ключа и значения, как в jinja заставить смотреть на ключ, а не на значение?

tab = dict(name='Abu', board='sosach')

{% for item in tab %}
{{ item.name }}
{% endfor %}
Соответственно выдает value.
Как реализовать тему с item.get(key), чтобы в шаблонизаторе было поле 'name'?
240 2585655
>>584631
Как по мне отсортировать сперва все пути по длине и добавлять сперва самые длинные.
241 2585696
>>584557

>IDE mobile


Извращенцы.
Беглый поиск показал чувака, практикующего такие извращения:
https://www.iphones.ru/iNotes/user-posts/kak-ya-stal-kodit-pryamo-s-ipad-07-06-2019
Он использует IDE Pythonista 3:
https://apps.apple.com/ru/app/pythonista-3/id1085978097?ls=1
Которое умеет в GIT:
https://github.com/mmurdoch/githubista
За proof-of-concept сойдёт.
Добавим сюда:
https://github.com/features/codespaces
В принципе, всё реально, но нахуй так жить?
242 2585724
>>584860
GIT нужно знать.
Не весь-весь-весь.
Но обязательно с основными ключами:
init
push
pull
add
commit
branch
clone
config
mv
rm
tag
reset
clean
merge

Строго желательно:
diff
switch
rebase
fetch
patch
apply

Остальное я почти не встречал. В целом часть вещей за тебя сделает GitLab или smerge.

Не понимаю только, зачем курс, когда есть это:
https://git-scm.com/book/ru/v2
https://learngitbranching.js.org/?locale=ru_RU
242 2585724
>>584860
GIT нужно знать.
Не весь-весь-весь.
Но обязательно с основными ключами:
init
push
pull
add
commit
branch
clone
config
mv
rm
tag
reset
clean
merge

Строго желательно:
diff
switch
rebase
fetch
patch
apply

Остальное я почти не встречал. В целом часть вещей за тебя сделает GitLab или smerge.

Не понимаю только, зачем курс, когда есть это:
https://git-scm.com/book/ru/v2
https://learngitbranching.js.org/?locale=ru_RU
243 2585730
>>585226

>Где хранить необязательные данные, кроме файлов?


От кейсов.
Что это за данные?
Для кого они необязательные?
Как часто к ним обращаются?
О каких объёмах речь?
Может, им самое место в in-memory key-value database.
244 2585755
>>585724
Он был дешёвый я был не уверен тогда, где брать так, что бы было меньше воды и по делу всё.
245 2585836
>>584631
Это же обязательный мастхэв алгоритм, который должен быть у каждого мамкиного проггера, для программ, которые так или иначе делают массовое копирование\перемещение файлов.
Без него ваше копирование будет по сто раз бесполезно долбиться в файловую систему проверяя одни и те же пути.
246 2585910
Всем привет, такой вопрос. Не могу понять как работает оператор % в python

54/4
- 13.5
54%4
-2

Во всех статьях, что я читал пишут что он выводит остаток от числа. в операциях %2 ==0 его применяют для проверки четности числа. Как он работает в других случаях ?
Заранее спасибо за ответ
247 2585926
Короч, chatgpt пока ещё не подходит для работы джуном. Смог только наебать людей на собесе, но потом всплыла правда, что я нихера не шарю. С сегодняшнего дня опять рнн господин. В феврале попытаю удачу с новой версией.
248 2585927
>>585910
Остаток от деления.
249 2585934
>>585910
Что ты там за статьи такие читал, что элементарную хуйню, которая в однострочное предложение укладывается понять не смог. Или ты совсем тупой?

Не за что.
250 2585954
>>585910
Есть у тебя мягкие игрушки? Возьми например 2 мягкие игрушки, и раздели между ними например 3 яблока. Каждой достанется по одному, и одно ещё будет лишним. Попробуешь разделить 5 яблок - у каждой игрушки будет по 2 яблока и одно останется лишним. А теперь в виде кода:
3 % 2 == 1
5 % 2 == 1
Это буквально остаток. От деления.
Драконжжот.png20 Кб, 694x338
251 2585957
>>585910
Ничего, видимо, вы ещё не проходили, это программа примерно второго класса школы.
https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%BE%D0%BC
Не благодари.
252 2585962
>>585934
>>585954
>>585957
Вот вам и доказательства, что школьную математику надо заново осваивать перед изучением питона. Орут про "траты времени", а оно вон как.
253 2585964
>>585197
Это просто название переменной, оно может быть любым. В данном случае это переменная в генераторе списка, она перебирает значения в цикле for
254 2585968
>>585197
Что, домашку препод не принял или ты самостоятельно решил знания поддянуть?
255 2585969
>>585962
Я в школе остаток от деления не проходил, тоже в начале не мог врубиться, но все таки разобрался по ходу дела, хех.
256 2585975
>>585954
Что сразу обзываться сразу то. У меня гуманитарный склад ума, а в школе и колледже закрыв глаза 3 по математике поставили.

Мой вопрос собственно 54:4 = 13.5. Почему после операции с % в python выводится 2, а не 0.5. 0.5 - остаток от деления числа 54 на 4. Что я упустил ?
257 2585980
>>585975

>Почему после операции с % в python выводится 2


Это целочисленное деление.
258 2585981
>>585975
Это не я обзывался. Надо бы ещё сказать, что это остаток от деления НАЦЕЛО.
Итак, ещё раз. Почему 54 % 4 == 2?
Если взять 54 яблока, и разделить их между 4 мягкими игрушками (попробуй), то у каждой игрушки будет 13 ЦЕЛЫХ яблок. И останется ещё 2 яблока, которые ты НАЦЕЛО не сможешь поделить между 4 игрушками. Теперь понятнее?
259 2585986
>>585981
Нет. 2 поделить на 4 будет 0.5. Почему питон 0.5 не возвращает?
260 2585987
>>585980
Этого не слушай, он не шарит
261 2585989
>>585986
Ты угораешь что ли?
262 2585991

>>258598С>>585981


Спасибо большое, понял! Не знал, что такие штуки вообще есть)
263 2585999
>>585975
Зачем ты вообще в погромирование полез?
Демонзнаеттолк.png19 Кб, 383x392
264 2586000
>>585969
>>585991
Я же говорю, ещё пройдёте, это в программе второго класса.
265 2586002
>>585999
Я не виноват, что вы хуёво объясняете.
266 2586004
>>585999
Запихнули в вуз на специальность "Информационные системы и технологии" решил, что хоть что-то знать должен.
267 2586007
>>586004
Ничего, тимлидом будешь
268 2586011
>>586004
И вместо того, чтобы читать книги, слушать на лекциях или хотя бы в википедии почитать, ты спрашиваешь в унылом треде на дваче? Это сча все вкатуны такие? Погромирование мне нахуй не сдалось, но родители запихнули ради сытой пенсии?
269 2586015
>>586011
Он же написал что прочитал много статей но так и не понял что как работает ПРОЦЕНТИК.
270 2586018
>>586011
Но ведь пришёл на двач, спросил и получил ответ на вопрос. Корявый алгоритм вышел, но сработал
271 2586019
>>586018
Когда листву сбрасывать будешь, то не забудь тут отписаться.
272 2586021
На двач вообще не захожу. Последний раз пару лет назад в /b/ зашел, до сих пор кошмары сняться. Не знал просто, где еще спросить,но больше так не отчаюсь)
Спасибо, за разъяснения. Буду стараться понимать дальше потихоньку.
273 2586032
>>586021
забайтил дурачков на ответы легко, грац
274 2586038
>>586019
Ты кому звонишь?
И Что ты хочешь увидеть?
While check_cum():
move_in()
move_out()
amount += 1
check_cum(amount)

Типа такого?
275 2586041
>>586032
Теперь никому не надо помогать?
276 2586045
>>586041
Тебя расстреляют, если перестанешь дурачкам итт помогать?
277 2586046
>>586045
Ой душнила, сам то небось тоже тормозил на простых вещах поначалу
278 2586049
>>586036 (Del)
Ты о чем?
279 2586059
>>586046
Я вообще воннаби айти, но мне лень. Сижу на шее у мамки.
280 2586079
Супца. У меня тут такое...
Опсчим, есть некая последовательность действий, в результате которой я получаю, что некоей сущности либо 1 единица, либо 2.
И я хотел бы, чтобы при её упоминании подставлялось соответствующее окончание. Вроде, всё просто:

> print(f"ху{'й' if count = 1 else 'и'}")


И это работает. НО!
У меня в начале описан огромный dict на 20+ элементов, при чём Value там представляют собой многострочные описания, итого этот dict занимает больше 100 строк и пихать его инициацию в середину кода - не лучшая идея.
Естественно, в этих вэльюсах тех хуёв в достатке (там через строку должно быть {'й' if count = 1 else 'и'}/{'я' if count = 1 else 'ёв'}/етц).

Подскажите, плиз, можно как-то... ну я ХЗ. Например, описать переменную в одном месте, а инициализировать её позже, когда будет известно, в какой форме оно должно быть? Или ещё что-то такое...
281 2586125
>>586079
Нет. Строка это неизменяемый тип данных. Делай функцию которая изменяет строки в словаре или инициализируй словарь перед использованием.
282 2586140
>>586125
Динамическая строка или ещё что-то такое? Не? Никак?..
Пока делаю в начале функцию, которая изменит глобальную переменную, чтобы вызвать функцию опосля... Но это всё-равно некрасиво ужасно.
283 2586145
>>586140
Ну да по всему похоже что ты хуйню какую-то там нагородил.
8KQljGgmKtU.jpg406 Кб, 2039x1378
284 2586160
>>582246 (OP)
Хочу ближайший годик как минимум потратить на душение питона чтобы потом рассматривать возможность вката. Пока что могу на нём писать всякое говно для бытовых нужд вроде будильников, преобразователей текста в звук, редакторов изображений или телеграмм ботов.
Боты пару раз делал на заказ через телебота, но получалось супер через жопу и медленно, неделя работы не окупала пару тройку тысяч награды. Ну короче примерно в ту же сторону думаю развиваться чтобы корку хлеба было на что купить в крайнем случае.
Всякие докеры хуёкеры слышал надо знать, так что подскажите просто материал по которому надо линейно двигаться не думая бля какую книгу из тысячи других выбрать.
Пиндосский знаю но на нём немного менее приятно читать чем на срусском. Может мне достаточно на первое время наши лекции заботать все?
https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
16704956621372.png1,2 Мб, 1024x1024
285 2586161
>>586160
20 лет кста, в сосаити совершенно не выживаю, а программисты вообще чсв пидоры на уровне художников поэтому к ним лезть боюсь
286 2586162
>>586161

>программисты вообще чсв пидоры


Ну и иди на хуй тогда.
16706037594270.jpg194 Кб, 749x717
287 2586163
>>586162
ну вот первый классический экземпляр
288 2586169
>>586163
Но пидор тут только ты, пидор!
289 2586170
>>586163
А чего ты ожидал? Завалился с просьбой, но обзываешься с порога. Даже по ебалу тебе дать захотелось.
290 2586205
>>586170
экземпляр, сразу мимо иди
291 2586213
Зачем нужен массив типа set ? Только повторяющиеся элементы из других массивов убирать?
292 2586214
>>586213
ну да вполне удобная функция, ещё и скорости у них у всех разные из-за разных методов реализации
293 2586215
>>586214
Это не функция это тип данных уровня списка или словаря или целого числа например. Вот я и спрашиваю нахуя он нужен, слишком много чести если он только дубли убирать используется.
294 2586219
>>586213

>Зачем нужен массив типа set ?


Проверять вхождения за O(1)
295 2586221
>>586219
Но ведь питухон не про О(1). Это скриптовый язык макросов для школьников с задержкой в развитии. По этой же причине непонятно нахуя они убрали арифметическое округление из встроенной функции round, заменив его банковским, для выебонов? Ведь по логике и философии того же питухона там должно было быть именно обычное человекопонятное округление, а к четному могли бы засунуть в модули.
296 2586222
>>586221
Думай как хочешь.
297 2586225
>>586221
Ох уж эти максималистские нешкольники.
298 2586228
>>586079
re наверное может помочь
299 2586229
>>586160
Научиться делать говнопрограммку простую по гайдику просто, но чуть шаг в стороне от шаблона и тебе пизда, плюс не будешь понимать где вообще говнокодишь.

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

Но многие молодые вкатуны тут же пытаются писать какие-то программки, хотя для начинающего куда эффективнее просто задачки решать. А если хочешь написать программку, то выбери какую-нить не шаблонную тему. И по мере изучения языка можешь её дорабатывать.
16705247549000.png1,7 Мб, 960x1408
300 2586243
>>586229
Спасибо большое за развёрнутый вежливый ответ.
Не знаю можно ли сказать что я прям совсем молодой вкатун, в школе ведь 3 года паскаля, два года джавы было, потом в унике полгода питона и год алгоритмов на плюсах, хоть и на отвяжись. Я имею ввиду что всяких задачек по разложению числа на простые делители я уже наелся на всю жизнь вперёд.
У меня как раз проблема с тем чтобы просто следовать по гайдику. Например сейчас разбирался с этой штукой https://cloud.yandex.ru/docs/speechkit/quickstart
и пять часов потратил в муках из-за того что не тот айди вставлял в запрос. Сейчас мучаюсь с тем как реализовать это на питоне. Это я для примера показал, не в плане что прошу разобраться. И пишу я всё время говнокодом как ты сказал, у меня боты на тг лагают дико.
Есть идея реализовывать других самых разных ботов с самыми разными функциями вроде онлайн оплаты/парсера с сайтов и т.п, ты про такие задачки говоришь?
301 2586249
>>586243

>спич гавнина от хуяндекса


есть жи бесплатные модельки
https://github.com/snakers4/silero-models#text-to-speech
302 2586272
>>586221
Нахуй ты здесь срёшь?
303 2586311
Нужно написать кликер для собственно кликанью по изображению на экране. Какую библиотек(и)у для этого использовать, OpenCV не работает не работает, в душе не ебу почему, тут сказали либа кривая.
Умнаялама.png35 Кб, 474x533
304 2586325
>>586160

>бля какую книгу из тысячи других выбрать


Официальные доки. Остальное устарело ещё до выхода.

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


https://roadmap.sh/python
305 2586330
>>586160

>Тимофей Хирьянов


Ну ты и калоед. Смотри Курячего https://www.youtube.com/@unx7784/playlists - cамые достойные лекции по питону. Не понимал никогда почему все в таком восторге от этого шизика-балабола.
306 2586342
>>586272
Да что ты, обиделся братишка? Не надо, я без негатива писал, сам питон люблю, целую, сам синьор-тимлид фулстак питон, вот это всё. А вот то что они арифметическое округление убрали после второй версии это возмутительно и я объяснил аргументированно почему я так считаю.
307 2586362
>>586311
Очевидный PIL. Я с ним в свое время как раз такую же хуйню написал. PIL брал скриншот в память, а пиксели numpy чекал, раскладывая изображение в массив точек. Можно очень быстрый алгоритм сделать таким образом, если сначала искать просто вхождение 1 пикселя и только потом сверять полный фрагмент. Я тогда совсем нубом был, но даже у меня за сотую долю секунды находило куда тыкать.
308 2586372
>>586362
Он разве не с готовыми изображениями работает? и что про py screenshot скажешь?

>а пиксели numpy чекал


Через numpy.array?
309 2586380
>>586372

>numpy.array


Да.

>py screenshot


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

Ох сейчас открыл этого своего старого бота и аж стыдно стало питон ещё второй версии, столько всего улучшить можно ускорить раза в два наверное.
310 2586385
>>586380
Спасибо сам бота для одной дрочильни пишу, для себя.

>Да.


И ничего больше?
311 2586386
>>586385

>И ничего больше?


Ничего.
PIL, numpy, а кликал я через "mouse", так и называется модуль, не помню правда зачем именно через него, у него там под капотом обычные обращения к api виндусовской, наверное потому что нубом был и не шарил.
312 2586388
>>586386
Спасибо. Я сам pyautogui использую для кликов.
313 2586396
>>586386
А ты через цвет пикселя искал или по изображению?
314 2586400
>>586396
По пикселю.
Брал два пикселя искомого фрагмента в углу и центру. Потом проходил по всему экрану, если пиксель совпадал проверялся второй пиксель в центре, если оба совпадали сверялось полное изображение.

Если ты это для 3д игры делаешь то сразу забудь. Там прямых совпадений не бывает, там надо делать сложную "формулу похожести", работать это будет медленней гораздо. Я такое делал чтобы капчи разгадывать, когда нейросетей ещё не было.
315 2586419
>>586400
А что с индексами точек делал? А то вроде пиксель в матрицу перевел, а как его к кликеру привязать хз
hooypy.png81 Кб, 884x685
316 2586426
>>586145 >>586228
Я сделал так. Хотя предпочёл бы, чтобы заполнение мана проходило бы при объявлении словаря, там очень много текста, но он тогда ругается на то, что count не определён. кто предложит способ адекватнее, тому от меня будет большая и искренняя благодарность.
317 2586449
>>586419
Чел такие кликеры подходят только для статичных изображений, для UI всяких или карточных игр. Если у тебя игра с анимациями, светом, туманом и прочим говном которые незаметно меняют цвет пикселя на одну единицу - тебе только нейросетку тренить. Но сейчас это совсем просто стало, даже школьник разберется.
318 2586463
>>586426
Да тут всё переделывать надо, простой подсказкой тебе не поможешь. Всё очень плохо, без негатива.
Cph5i3BUkAUijhn.jpg153 Кб, 915x1200
319 2586493
>>586019
Хорошо.
320 2586527
Как сгенерировать 50 различимых друг от друга цветов?
321 2586534
>>586449
Да ,нет, у меня пикчели цвет не меняют, но и не находятся в статичном расположении
322 2586535
>>586527
import secrets

colors = ('#' + secrets.token_hex(3) for _ in range(50))
323 2586541
>>586535

>различимых



#ff8817 и #ff8816 неразличимы (глазу).
324 2586554
>>586541
Это аппартная проблема, программисты ее не решают.
325 2586557
>>586541
Paзбей видимый диапазон на 50 частей и возьми из каждой по значению, очевидно же.
326 2586568
>>586463
Хорошо. Я не против. Как?

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

Имеем в виду: Пайтон это мягко говоря не основной мой ЯП (я вообще не кодер ни разу), я пишу вспомогательный скрипт, чья задача заполнить конфиг в удобном виде и особо никого не трогает, как именно это делается.
327 2586617
>>586568

>отдали в опенсурс


Ты наверно имел в виду аутсорс? Впрочем, не важно.

>Как?


Ну что на это ответить, за тебя что-ли написать?
Всё зависит от общей логики происходящего, где, куда и когда надо это всё выводить. Может удобнее как в играх, делать флаги подстроки в тексте и заменять их на выводе. Может удобнее сделать конструктор строк в функцию и подставлять её в нужные места. Как этот конструктор должен выглядеть зависит от общей картины происходящего. Тебе про это уже писали пару постов выше, но это же не решило твою проблему.
image.png43 Кб, 592x583
328 2586629
>>586426
Я бы делал как-то так.
Главный трюк тут в том, что строки можно сохранять со слотами для будущей подстановки
str1 = "Ху{} можно пихать в пизду"
а потом делать
str1.format("й")
и он подставит й на место {}
329 2586630
>>586419
Как-то так анончик, я сегодня добрый, но дальше сам.

pic = PIL.ImageGrab.grab(bbox=(x0, y0, x1, y1))
bigar = numpy.asarray(pic)
ary, arx = bigar.shape[:2]
330 2586633
>>586527
спиздить палитру где-нибудь
ты всё равно хуйню пытаешься сделать, с вероятностью 58%
331 2586644
>>586629
Ну это как замена подстроки, в тексте оставляют <флаг> который заменяется перед самым выводом.
332 2586646
>>586630
Спасибо. Я сам просто нуб дикий и с библиотеками не особо разобрался.
333 2586650
>>586644
Да, только используются не регекспы, а внутренние механизмы питона для форматированных строк.
334 2586651
Похоже, буду PIL учить
335 2586657
>>586651
Там учить нечего. В моем коде после этого места PIL больше не нужен. Только скриншоты берет в случае ошибки.
336 2586663
>>586657
Да я все равно не понял.
337 2586671
>>586663
Забей на весь этот кодинг, попробуй autoit, я сам не пробовал, но там говорят весь функционал есть который ты пытаешься сделать поиск картинки, клики вот это всё. А язык макросовый как в AHK не нужно ни какие матрицы хуятрицы делать. Нажал и всё есть.
338 2586673
>>586671
Не, я сам хотел кодить научиться.
339 2586708
>>586617

>Ты наверно имел в виду аутсорс?


Нет. Что имел в виду, то и сказал. Опубликовали git с B2B-проектом под Apache2. Там вообще изначально опенсурс, но не очень удобный в работе и без поддержки. Теперь выложены и наши наработки - коннекторы, установщики, инструмент для нагрузочного тестирования и прочее. Вот, я для него конфигуратор ваяю.

>делать флаги подстроки в тексте и заменять их на выводе.


Хм-м. Это интересно.

>Тебе про это уже писали пару постов выше


Это тут, что ли? >>586228 Просто re это вроде как regular expression и я не совокупляю, как его применить сколь угодно лаконично. Вот `replace`... Может и зайдёт.И похуй, если он будет выводить строку не через 0,01с после предыдущего Enter, а через 0,1, никто этого всё-равно не увидит.
Правда, чтобы учесть фразу "размер хуя не важен" / "размеры хуёв не важны" нужно вызывать уже три реплейса и разные конструкции под замену... А если таких конструкций будет ещё больше... Мля.
>>586629
О! А это практически то, что я хотел. Хотя... для учёта других конструкций, (примерно "размер хуя не важен" / "размеры хуёв не важны) а их, увы, есть... применить в лоб будет непросто.

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

> % 10 == 1
"11 хуй"
Нет, я не придираюсь, я чисто поржать, у меня их может быть строго 1 или 2, там даже не int, а bool проверяется.
А вообще числительные в русском языке это небольшой пиздец.
340 2586715
>>586708
А работка то хорошая? Норм платят? Как тебя туда взяли? Без негатива, но просто из того куска кода который ты показал совершенно очевидно, что ты кодишь от силы месяц и дело тут не в языке, потому что ошибки не связанные с синтаксисом.
Может тебя не прогером взяли, а кем то другим, тогда всё понятно будет.
341 2586717
>>586325

>https://roadmap.sh/python


уф спасибо анончек как раз такую путеводную карту для меня дебила искал храни тебя аллах
>>586330
просто взял самое знакомое из шапки, он нам в универе самим не нравился пиздец
342 2586722
>>586708

>для учёта других конструкций


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

>"11 хуй"


Зато 21 хуй, 31 хуй, 2101 хуй. Добавь проверку на 11 в й_or_и, там элементарная функция.
343 2586788
>>586722
разве нет библиотек которые всё это делают
344 2586800
>>586788
Скорее всего есть, но я постарался выбрать самое простое и понятное. Естественные языки это очень сложная тема, поэтому и библиотека (в том числе и её использование) скорее всего будет сложным.
345 2586807
>>586800
Если есть необходимость работать с языком, то лучше библиотеку и осваивать. Городить самому велосипеды пустая трата времени.

Ладно, если пару слов, типа кун-тян.
Но если уже к сотни, то тут городить велосипеды не стоит точно.
https://pymorphy2.readthedocs.io/en/stable/index.html#
346 2586813
>>586807

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


Пусть осваивает, я против разве? Я только его решение поправил до более вменяемого.
347 2586820
>>586715

> совершенно очевидно, что ты кодишь от силы месяц


> Может тебя не прогером взяли, а кем то другим, тогда всё понятно будет.


Бинго.
Код я пишу всю карьеру (уже лет 17), но никогда именно этим не зарабатывал. Я админ ну или сейчас правильнее называть девопс, это как админ, только мои пользователи пишут код: пишу CI, Ansible, Terraform и т.п. Мои основные языки сейчас это JSON, YAML и Bash, а Пайтон - для себя освоил и тут - пригодилось. До этого было всякое, больше всего - Delphi.

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

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

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

>>586722
Спасибо. Буду думать. Скорее всего, позже, когда остальное будет работать правильно.
348 2586822
>>586249
спасибо анончик, а то этот хуяндекс такое говно шо пиздец
349 2586846
>>586820

>Мои основные языки сейчас это JSON


Но JSON это не язык, это формат файла, который представляет собой обыкновенный словарь.
350 2586851
>>586846
сиранул
351 2586855
Вот, думаю, может, как доделаю, реально кинуть ссылку сюда. Хуй с ним, с диваноном. Может, дельное что посоветуют. Хотя почти уверен, что никто не дёрнется всерьёз читать портянку.

>>586846

>JSON это не язык


Как будто YAML, XML, HTML и прочие это прям языки-языки. JSON для Terraform это как YAML для Ansible или K8s. Это не бином ньютона, но с ним надо уметь обращаться.
352 2586857
Кажется сегодня тред посетил тот самый легендарный фул стак мидл тимлид синьор пиздобол.
image.png46 Кб, 371x449
353 2586870
>>586857
Каждый день заходят. А о ком речь сейчас ведёшь, ссылку бы на пост давал.
image.png28 Кб, 1032x166
354 2586871
Питонач, насколько здравая идея закидывать в сущности такие строки, чтобы с джойнами не ебаца и упразднить количество полей (зачеркнуто крестами)?
Написан скрипт, который эту залупу формирует в dict

> def zalupa(dict):


> return eval(re.sub('"', '', dict)


Ну а пару ключ-значение получаем из фора.

Или это бред и так не делается?
355 2586883
>>586879 (Del)
Сиквел тулс, но, если плотненько с бд работаешь, установи отдельно какой-нибудь браузер, например dbeaver.
356 2586975
Почему эта озвучивающая текст хуйня работает отдельно, но внутрь бота не засовывается?
https://github.com/snakers4/silero-models#installation-and-basics
https://pastebin.com/392bzihL
357 2586978
>>586871
Если не будешь индексировать и как-то сложно потом запросы строить на основании этих значений, то норм. Некоторые бд уже поддерживают работу json (sqlite, postgres).
358 2587007
Как проверить через регулярные выражения, что нет перехода на другую строку в конце строки.
При этом [\s] работает и видит перевод на новую строку, но [^\s] отказывается что либо видеть
Screenshot90.jpg95 Кб, 1398x578
359 2587029
>>587007
хотя хз, пейчар всё правильно показывает
Screenshot91.jpg19 Кб, 534x251
360 2587033
>>587029
Ладно, с помошью такого костыля прошёл тест, хотя в пейчаре всё правильно выдавал и старый вариант
image.png5 Кб, 679x46
361 2587068
>>586978

>как-то сложно потом запросы строить


Ждал тебя, братец.
Смотри, у меня структура БД:
- таблица1 (поля: данные)
- таблица2 (поля: данные, OneToOne -> таблица1)
- таблица3 (поля: данные, FK -> таблица2)

Оцени сложность запроса и стоит ли пересмотреть структуру?
Чтобы добраться до таблицы3, основываясь на данных из Т1, мне приходится нагромождать такие ебанутые запросы, правда один раз:
t1 = Tab1.objects.filter(pk=self.object.pk).tab2.tab3_set.all()

Там, где одно значение, всё понятно city = t1.city и т.д.
Но там где йоба-дикт в полях - смотри пик.
OP 362 2587071
Что за хуйня?

https://github.com/madaan/minimal-text-diffusion

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

```
Traceback (most recent call last):
File "src/train_infer/train.py", line 13, in <module>
from src.utils import dist_util, logger
ModuleNotFoundError: No module named 'src'
```

Как это исправить, не ковыряя код?

Ебучий питон, сука. Это я еще поломанные зависимости через костыль `cat requirements.txt | xargs -n 1 pip install` установил, и снова сука проблема какая-то.
363 2587083
>>587071
Попробуй точку поставить перед src
364 2587098
>>587083
Теперь выдает вот это.
```
ImportError: attempted relative import with no known parent package
```
КомузнатькакнеСкелетокорове.png17 Кб, 399x272
365 2587101
>>586871
Смотря, чего хочешь достичь. С одной стороны сейчас у тебя избыточность, что кагбе некрасиво.
С другой, возможно, у тебя по этим полям индексация идёт?
Вообще что и в каком формате ты используешь потом?

Ну и да, тут будет ролять даже СУБД, например, Postgres больше любит небольшие по ширине таблицы, а ClickHouse - наоборот предпочитает 100500 столбцов.

>>586879 (Del)

>плагин для саблайма


Могу сказать за плагин для VSCode... Но, если что, беру консоль или DBeaver и не парюсь.
366 2587240
>>587068
Не совсем понимаю, что на пике происходит, можно пример без залуп?
Если важно знать сложность запроса - измерь тулзами джанги.

Можешь посмотреть, как в других известных проектах сделали хранение геолокаций. По задаче непонятно, что тебе хранить нужно. Да и стоит ли отказываться от джойнов ради того, чтобы убрать пару полей? В БД легче оперировать полями, а не json, если у джанго-орм нет вспомогательных средств (а вот глянь, кстати).

Еще есть пакет-geopy (берет инфу запросом в открытые источники), вдруг в будущем понадобится.
367 2587318
Пайдантик охуенная тема.
368 2587374
>>587318
Только тормознутая, хотя новую версию на раст переписали. Датаклассы и аттрс быстрее.
369 2587415
Как считаете, хуевая идея пилить тг бота, использующий в качестве бд Firestore (от Firebase)?

Тема такая, что вебапп работает с бд на firestore. Через бота планируется взаимодействие юзеров с ней.
Есть пакеты модулей для работы с firebase на питоне, глянул, на первый взгляд подводных нет, но в гугле связка питона и firebase как-то особо популярна, а с хуя ли, удобно же, не?
370 2587416
>>587415

>как-то особо популярна


фикс
как-то НЕ особо популярна
image.png207 Кб, 1060x989
371 2587431
По этой хуйне просто вниз идти норм идея для самообучения?
372 2587447
>>587431
Идеальный вариант. От самих разрабов питона туториал для вката. Самый свежий и актуальный.
373 2587449
>>587415
Там официальные SDK под множество языков есть, включая питон.
374 2587450
>>587374
Конечно быстрее. В них валидации нет. А пидантик это как раз про валидацию.

Для душнил, если что, я в курсе что в аттрс есть опциональная валидация.
375 2587451
>>587450
Чем валидация отличается от вреификации. Можешь без гугла ответить?
376 2587452
>>587451
Я не гуманитарий, мне похуй. Верификация обычно относится к некоторому решению, алгоритму или заключению, а валидация к данным, зачастую массовым, на потоке.
377 2587457
>>587452
А вот я не могу врубиться даже вчитываясь в определения (коих, кстати тоже дохуя у каждого петуха свое определение).

Вот написано что верификация это соответствие четким требованиями - например данные должны быть целочисленными и от 1 до 10 - вот верификация. А валидация это соответствие чего либо общим требованиям, например метод принимает вот такой формат файла - он валиден. Но блядь это же можно и верификацией назвать ебанарот - данные должны быть вот такого формата вот такой кодировки - это же и верификация, четкие условия.
378 2587458
>>587457
Это термины из нескольких других областей.

https://en.wikipedia.org/wiki/Verification_and_validation

> Verification: Are we building the product right?


> Validation: Are we building the right product?



Верификация проверяет соответствие ТЗ, проекту, внутренняя кухня. Валидация это оценка успешности проекта среди пользователей, внешняя.

Ещё какие-то юридические термины есть.

В программировании есть только:
https://en.wikipedia.org/wiki/Data_validation
https://en.wikipedia.org/wiki/Formal_verification

Вот ещё из криптографии:
https://www.connect2id.com/blog/validate-vs-verify-in-the-context-of-cryptography

> Rule 1: Use “validate” when referring to a process intended to establish the soundness or correctness of a construct e.g., “certificate validation”).


> Rule 2: Use “verify” when referring to a process intended to test or prove the truth or accuracy of a fact or value (e.g., “authenticate”).



Короче, пидантик это про валидацию. А всякие пруверы это верификация.
379 2587480
Знакомый показал фрагмент вебинара по питону в знаменитой школе скиллфактори. Вебинар "основы питона", там ментор_ка минут 15-20 не могла понять почему у неё print(list.sort()) ничего в консоль не печатает. Полезла в гугл прям на стриме, смотрит мануал, там написано что ничего не возвращается она понять это не может. В итоге так и не разобралась - написала sorted(list) и дальше пошла учить.
380 2587497
>>587457
Зависит от контекста. Скорее всего, для тебя это означает это.
Верификация - подтверждение/доказательство того, что что-то (алгоритм, система, например) работает именно так, как должно/описано.
Валидация - подтверждение пришедших данных на корректность (например, пришел json, проверяешь, что поля правильных типов, как у тебя в схеме, или проверяешь ввод полей пользователем).
381 2587501
>>587457
>>587458

> А всякие пруверы это верификация.


Да, можно держать в голове, что верификация - это про прув (можно вспоминать про математические доказательства работы алгоритмов).
Валидация - это про данные, и нам все равно, как они получились, главное, что подходят под заданный
шаблон.
382 2587507
>>582262
потому что
Screenshot2023-01-2611-08-20.png60 Кб, 660x472
383 2587539
Пацаны, почему конда не видит файлик, который должен быть в её же собственном пакетнике? Пытаюсь миниконду установить и нихуя не получается.
image159 Кб, 1280x1228
384 2587562
385 2587589
>>587240
Сорян за читаемость первого пика, смотри пикрил.
С залупой происходит то же самое, если упрощённо.

Про geopy не слышал, я пользуюсь urllib, который собирает метаданные по ip.
Но смотри какая беда и почему я индексирую таблицу - у меня есть админка со своими формами и, соответственно, когда заходишь в list юзеров, фильтр каждый раз начинает пробегаться по всем айпишникам и собирать данные от них через ip-api.com/json, сам понимаешь, что в таком случае скорость загрузки страницы оставляет желать лучшего, поэтому на определённом этапе пришлось запилить отношение в бд с этими метаданными. (задавал вопрос тут повыше, кстати про хранение меты вне бд, мне посоветовали не есть говна)
386 2587654
Не понимаю назначения звёздочки (не читать, как распаковка), стоящей между ★args и ★★kwargs. Дайте доки почитать или расскажите своими словами.

> >>>def foo(arg=1, ★, ★★kwargs):


> >>> %some code%


И всегда ли kwargs - словарь?
387 2587675
>>587654
args принимает произвольное количество неименованных элементов, kwargs именованных.
Т.е. если у тебя def puk(a, args), то при вызове первый аргумент уйдет в a, а все остальные (если они есть) в args. С kwargs аналогично.
388 2587730
>>587675
Спасибо, про позиционные и именованные аргументы я знаю, меня интересует именно их разделение звёздочкой в функции, для чего?

> >>>def foo(args, , kwargs)

389 2587732
>>587730
Звёздочка между запятыми, сраная макаба.
390 2587771
>>587730
Что значит разделение? Звездочка означает, что этот параметр будет себя вести таким образом.
391 2587803
>>587771
А, ты имеешь в виду разделители в определении, запутал меня с args/kwargs, это не имеет отношения одно к другому.
def puk(a, /, b, , c)
До / только позиционные, дальше позиционные или именованные, после
только именованные.
392 2587878
>>587071
pip install src
393 2587903
Двач, я очень слаб в декораторах, прошу помощи.
Ткните носом в то, что я делаю неправильно, а главное - почему. (inb4 потому что долбоёб)
Как мутировать аргумент в декораторе?
Чтобы при вызове foo(123, '123') возвращался мутированный аргумент {'123': 123}.
На вход foo падают два параметра - число и строка, в самой foo они преобразовывают тип (строка - в число, число - в строку), а декоратор выполняет функцию мутирования этих параметров, преобразуя поведение функции таким образом, чтобы вернулся словарь из заменённых типов аргументов.
Было foo(123, '123'), вернулось {'123': 123}.

У меня главный вопрос, почему функция не отрабатывает в декораторе? Или отрабатывает? Спасибо.
image.png365 Кб, 800x533
394 2587910
>>587803
Да, я это и имел ввиду, спасибо. Он (разделитель) ещё оказывается не только звездой может быть.
Вспоминается vim с его
:%s#$#//#g == :%s@$@//@g
image.png10 Кб, 379x113
395 2587911
>>587903
Вывод не показал.
396 2587914
>>587911
код текстом не запостил
397 2587917
>>587903
вообще проблема в *args, тут старый лист теряется и создается новый
399 2587933
>>587903
>>587923
ты забыл сохранить результат
args = func(
image.png56 Кб, 425x438
400 2587949
>>587933
Это работает! Спасибо, анон.
В целом мутация - это плохо?
401 2587952
Зачем нужны декораторы?
1 Они затрудняют чтение кода и отладку, если что-то пойдет не так, а функция декорирована без костылей не разберешься, потратишь время.
2 Если надо мутировать аргумент проще и интуитивнее сделать ещё функцию под это. чем собственно и является декоратор, только с усложненным синтаксисом.
3 В мануале написано что декоратор замедляет вызов функции.

Так и нахуя надо усложнять себе жизнь.
Я всё ещё учусь. так что если у кого-то есть примеры буду рад узнать.
402 2587954
>>587949
мутация это важный инструмент. в питоне активно используется
нужно понимать что такое мутируемые типы, shallow copy, deep copy, и не попадать впросак

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

переписал как мне нравится:
https://www.online-python.com/LRIbhfs4uM
https://www.online-python.com/61EcOdWGfQ (пистон 3.10+)
403 2587958
>>587952
костыли всякие делать и пилить дрочёный сахарок типа @dataclass, @route('/about') и т.д.
404 2587964
>>587952
Это в основном не для твоих поделок, а для всяких либ и прочих фрумворков. Чтобы потом уже повесить готовый декоратор на твою поделку.
xmxm.jpg60 Кб, 604x431
405 2587987
Приветик, решил изучить django, нашел учебник(на пике), кто-нибудь шарит норм книга или поискать другую? Только без советов по типу пойти учить по документации документации, пожалуйста.
406 2587999
>>587987
Дронов это не тот ли хуй, который на любую тему книжки высирает десятками? Если тот, то я бы не стал читать, лол.
407 2588003
>>587987

>Только без советов по типу пойти учить по документации


А зря, крайне юзерфрендли. Именно step-by-step.
Стикер512x512
408 2588050
>>587949
Но ведь ты вызываешь свою функцию ещё один раз на 31 строке. Так и надо?
image.png28 Кб, 307x440
409 2588070
>>587539
А у тебя там папка с названием "звёздочка"?
Или тебе надо рассказать, как баш работает?

> [[: not found


Хм-м. А что у тебя там вообще за система и какой это шелл?
Кажется кто-то использовал башизмы и не указал принудительный баш...
410 2588089
>>587654
тут только звёздочки и имеют значения. args, kwargs это так принято называть неименованные и именнованные параметры, но ты можешь выбрать любое другое слово и поставив две звёздочки разом получишь тоже самое поведение
411 2588106
>>588089

А как получить именованный аргумент, объявленный при инициализации функции:
@wrap
def test1(THIS=75):
pass

Его ни в аргументах ни в именованных не видно. зато если такую функцию вызвать с им.аргументом:
test1(THIS=75)

То всё видно, как и ожидается.
412 2588130
>>588106
Так пишут что дефолтные аргументы не видны из декоратора. Вопрос. Как вытащить дефолтные аргументы только встроенными методами.
image.png39 Кб, 577x422
413 2588177
>>587952
Примерно за этим. Кусок из хэлоувролда на фласке.
Стикер512x512
414 2588209
>>588177
Да я уже втянулся. Интересно оказалось.
Тут вот все заходят и спрашивают "как выучить питон", "посоветуйте книгу". Пожалуй надо сидеть в этом итт зис треде и пытаться делать всё что не получается у анонов.

Пользуясь случаем, можешь обьяснить одну очень маленькую вещь - чому вот эта переменная "args = func(" из примера со скрина анона >>587949 возвращает обьект None
type(args) = NoneType
Я думал что там должна быть обернутая функция с новыми аргументами.
Screenshot92.jpg43 Кб, 669x648
415 2588236
>>588106
Нужно создавать вложенную функцию и ей передавать аргументы, если я правильно тебя понял
416 2588248
>>588236
Нет. Смотри
Делаем декоратор
def wrapp(kwd):
print(kwd)

Делаем функцию с дефолтным аргументом и оборачиваем
@wrap
def test1(def_arg = ''test1"):
pass

Вызываем так:
test1()
Не видно def_arg

Вызываем так:
test1(def_arg = ''test2")
Видно def_arg

Дефлотная переменная не видна из декортаора, достать её встроенными методами нельзя.
Screenshot93.jpg49 Кб, 835x710
417 2588261
>>588248
хз, если честно о чём ты.
419 2588288
>>588177
что плохого в

> def hello(): ...


> app.add_route('/', hello)


?
420 2588289
>>588261
Ты эту переменную из самой функции показываешь, а не из обертки. В обертке её не видно
Screenshot94.jpg28 Кб, 437x418
421 2588314
>>588289
А нафига у тебя pass то там
Декоратор @ заменяет собой такой порядок действий. Ты передаёшь просто функцию без вызова, а значит и параметрам взяться не откуда с pass. Ты должен их передавать декодируемой функции
image.png51 Кб, 608x541
422 2588316
.png34 Кб, 1075x163
423 2588327
Мужики, а реально вообще сделать реалтайм выхлоп в stdout? Пару методов со стаковерфлоу попробовал, но все они приводят к зависанию выполняемого скрипта. Решение на пикриле хоть и рабочее, но оно ничего не выводит в консоль пока не завершится выполнение всех команд
424 2588329
>>588316
>>588314
Понял спс.
А не пояснишь ещё зачем вот это присвоение анону >>587933 результат на скрине >>587949

Без него и так всё же оборачивается и переменные меняются\мутируют как надо.
425 2588379
>>588327
Так а зачем ты пайпы поставил? Убери вообще этот параметр stdout, он будет тебе в вывод срать. Или чего ты хочешь добиться?
426 2588382
>>588070
Так и было, чёрт возьми. Спасибо, анон.
P.S. это минт
427 2588392
>>588379
У меня есть консоль и гуй. В гуе настраиваются параметры, после кнопки запуск гуй запускает в консоли скрипт (тоже питоновский) с этими параметрами (аргументами). Скрипт, который выполняется в консоли постоянно выдает информацию, но у меня получается сделать только так, что информация не выдается в консоль последовательно по мере поступления, а вываливается полным логом только после того как скрипт полностью завершит работу
428 2588397
>>588392
Ну убери stdout и попробуй.
429 2588419
сап, есть тут сеньёры-помидоры? кто может сказать как выглядят более менее взрослые проекты, где бэк на питоне? имеет ли вообще смысл учить питон для бэка (для каких-то сложных проектов) и можно ли найти работу как сеньёр питонист без умений в ml/ai и подобное? имеет ли смысл учить какой-то язык для того чтобы встраивать его в питон код?
430 2588425
>>588397
Идеально, спасибо. Я совсем недавно начал изучать питон и когда пользовался subprocess тупо копировал команды из интернета потому что они какие-то сложные, сам не пробовал разобраться. И не до конца понимаю почему теперь всё работает как я хотел. Но главное что работает
431 2588431
>>588425

>Но главное что работает


Нет, не главное.
Главное

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

432 2588438
>>588425
Потому что когда ты делаешь пайп, то можешь из питона взаимодействовать с потоками процесса, без него он просто срет в стандартный вывод. Те все остальные строчки после Popen тоже не нужны в этом случае.
433 2588449
>>588425
Сам Popen сложный. Используй свежий subprocess.run, там попроще, хотя он может меньше чем Popen.

У всех процессов есть три стандартный файла: stdin, stdout, stderr. Ты можешь туда любой открытый файл передать, и он весь выхлоп/ввод сделает из него. Pipe это особенный конструкт, позволяет общаться процессам без создания отдельного файла, не вытекая из оперативки. Строго говоря, по умлочанию у тебя как раз везде pipe, но не с твоим процессом, а с процессом терминала, который не ебланит и вовремя читает всё потоком и выводит. Все эти stdin/stdout/stderr по умолчанию наследуются, то есть процесс-родитель и процесс-ребёнок имеют общие пайпы/файлы куда они одновременно пишут. Реалтайма там вообще говоря нет, везде цикл read/write, операционка будит процесс только когда в буфере что-то появляется. Она же ограничивает размер буфера, если он переполняется, write на одной из сторон подвисает, пока read на другой не отработает.
.png381 Кб, 2560x1392
434 2588452
>>588438
Ага, спасибо, я понял. Т.е. если я делаю stdout = subprocess.PIPE, то весь аутпут stdout перенаправляется в питон, где я могу с ним взаимодействовать как с переменной. И в сам stdout уже ничего не идёт
Было бы круто конечно если бы пайп умел читать последовательный вход из stdout, а не выплевывал весь лог после получения кода завершения

У меня еще один вопрос есть, а как выйти из этого proc.communicate( )? А то когда ошибка он просто залипает как на пике и не даёт софтине дальше работать

>>588449
Ух бля как сложно всё, спасибо за объяснение
435 2588455
>>588452
Не сильно сложно. Можешь считать что всё файлы, только разных типов. Примерно как читаешь файл, так читаешь и pipe; как пишешь файл, так и пишешь в пайп.

В линуксовых консольках это всё подключается прямо в шелле:

Просто запустить прогу, вводя/выводя в терминал:
program

Вывести stdout в файл
program > file.txt

Ввести stdin из файла
program < file.txt

Все три std раскидать по файлам
program < in.txt > out.txt 2> err.txt

Ну и собсна пайпы (stdout завязать на stdin следующей)
program | anotherprogram | thirdprogram

В итоге каждая прога тупо читает stdin, пишет в stdout, ошибки выводит в stderr и не знает ничего куда она конкретно это делает, пишет ли на диск, или её выхлоп анализируется другой командой.
436 2588570
ЗАСТАВЛЯЮТ ПИСАТЬ НА C#

А я питонист вообще-то. Как думаете меня выпрут если отказаться? Так-то проблема не только в языке. Этот сервис написали 10 лет назад с тех пор делали по 3 коммита в код на 10 строчек. Просто чтобы он продолжал работать. Сервис тупа создаёт вмки в облаке и конектит несколько вмок к одной локальной сети. Чтобы уже потом внутри этих вмок можно было кластер из наших сервисов накатить. Это для тестов. По факту я sdet, который тулзы для тестов пишет. Какого хуя мне нужно этот сервис пердолить? Они хотят чтобы я добавил фичу чтобы сервис дополнительные приватные сети на этив вмки накатывал. И обязательно делал это через 1 сетевой интервейс. Просто две сети накатать это пулреквест на 10 строчек. А вот настроить это через один интерфейс это ебать как пердолить надо. Сначала написать опёртку над консольным клиентом, который этими сетями управляет. Сейчас она кастрированая. Потом написать алгоритм выбора сетей из тех, что в облаке заранее созданы. Но нельзя просто спросить что за сети в облаке. Их нужно вручную положить в бд. В майкрасофт cql server. С их ебанутым синтаксисом. Вручную. Потом нужно орм для новой таблицы подключить. Толкьо потом можно алгоритм выбора свободных и подходязих сетей написать. Дальше как сервис создаст недокластер нужно ещё какие-то скрипты написать, которые будут интерфейсы настраивать внутри каждой вмки. И это на сищарпе. Нужно ещё что-то придумать с выбором мак адрессов. И под конец клинап поправить чтобы сначала допсети детачились, интерфейсы помечались свободными в бд и только потом удалялись вмки. Пиздец. На сишарпе это делать. В коде, который 10 лет никто не трогал. И ещё этот сервис гоняется на виндовой вмке в облаке. Без возможности автодиплоя. И без тестов. То есть мне нужно всё это без ошибок написать, собрать проект, скопировать все дллки на тот сервер подменив старые версии и там перезапустить этот сервис. Про ci не слышали когда его делали. Пиздец. Апгрейд с даунтаймом. Без тестов. Вручную. А я питонист вообще-то.
436 2588570
ЗАСТАВЛЯЮТ ПИСАТЬ НА C#

А я питонист вообще-то. Как думаете меня выпрут если отказаться? Так-то проблема не только в языке. Этот сервис написали 10 лет назад с тех пор делали по 3 коммита в код на 10 строчек. Просто чтобы он продолжал работать. Сервис тупа создаёт вмки в облаке и конектит несколько вмок к одной локальной сети. Чтобы уже потом внутри этих вмок можно было кластер из наших сервисов накатить. Это для тестов. По факту я sdet, который тулзы для тестов пишет. Какого хуя мне нужно этот сервис пердолить? Они хотят чтобы я добавил фичу чтобы сервис дополнительные приватные сети на этив вмки накатывал. И обязательно делал это через 1 сетевой интервейс. Просто две сети накатать это пулреквест на 10 строчек. А вот настроить это через один интерфейс это ебать как пердолить надо. Сначала написать опёртку над консольным клиентом, который этими сетями управляет. Сейчас она кастрированая. Потом написать алгоритм выбора сетей из тех, что в облаке заранее созданы. Но нельзя просто спросить что за сети в облаке. Их нужно вручную положить в бд. В майкрасофт cql server. С их ебанутым синтаксисом. Вручную. Потом нужно орм для новой таблицы подключить. Толкьо потом можно алгоритм выбора свободных и подходязих сетей написать. Дальше как сервис создаст недокластер нужно ещё какие-то скрипты написать, которые будут интерфейсы настраивать внутри каждой вмки. И это на сищарпе. Нужно ещё что-то придумать с выбором мак адрессов. И под конец клинап поправить чтобы сначала допсети детачились, интерфейсы помечались свободными в бд и только потом удалялись вмки. Пиздец. На сишарпе это делать. В коде, который 10 лет никто не трогал. И ещё этот сервис гоняется на виндовой вмке в облаке. Без возможности автодиплоя. И без тестов. То есть мне нужно всё это без ошибок написать, собрать проект, скопировать все дллки на тот сервер подменив старые версии и там перезапустить этот сервис. Про ci не слышали когда его делали. Пиздец. Апгрейд с даунтаймом. Без тестов. Вручную. А я питонист вообще-то.
437 2588573
>>588570
Сочуствую. Хуже шарпа ничего нет
438 2588575
>>588570
Увольняйся! Такое нельзя терпеть
439 2588579
>>588570
Лучше говна поесть, чем за c# писать
440 2588673
>>587954

>(пистон 3.10+)


В пистон завезли case, а я пропустил...
Раньше было НИНУЖНА, а теперь, ЧСХ, наверняка будет УДОБНА.
441 2588676
>>588288
Визуальное выделение, смысловая дифференциация и т.п.
Ты пишешь функцию, как обычно, а потом просто щёлкаешь и ОПА, она работает на конкретном адресе. А так она выглядит как ещё один параметр функции. Намного лучше, определённо.
442 2588709
>>588673

>Раньше было НИНУЖНА, а теперь, ЧСХ, наверняка будет УДОБНА.



ну гвидон копротивлялся по объективным причинам - два отступа никрасива же

но он вроде уже на правах свадебного генерала на проекте, и его никто уже особо не спрашивал, спокойно вводя моржи, слэши после запятой и прочие удобные костыли в последних версиях
443 2588729
>>588721 (Del)
экономит строчку
444 2588752
>>588741 (Del)

>if header := parse_markdown_header():


> set_date(header.timestamp)



>header = parse_markdown_header()


>if props:


> set_date(header.timestamp)

445 2588753
>>588752
во, я даже в трех строчках обосраться умудрился. а великий морж помог избежать NameError
446 2588855
>>588709

> спокойно вводя моржи


Нихера себе спокойно. Целые армии байкшеддеров сломили тысячи копий и довели до скандалов. Гвидон решил что собственное психическое здоровье важнее и передал право вынести окончательный вердикт совету из главных разрабов. С моржа всё и началось по большому счёту.
447 2588856
>>588741 (Del)
while (line := file.read()):

if (m := regex.match(..)):
448 2588875
Я ваш пистон трахал во все дырки. Что ни тред - блядское обсуждение онлайн-сайтов, то фласк то жанго. Вы там ёбнулись все что-ли??? Больше кроме онлайна ничего нет что-ли? Ни десктопа ни скриптов?? Вот пидоры собрались в одном месте. Мамку на спине вашего батьки трахал.
449 2588928
>>588875
Это вкатуны думают куда-то пролезть через жанги.
450 2588967
>>587589
Можно нарушить нормализацию и пихнуть дополнительные поля сразу в таблицу 1.
Если у тебя несколько ip на одну запись, то это one-to-many, тогда лучше у отдельной таблицы без json обойтись, тебе ведь скорость нужна.
Кроме индексов добавь кэширование, чтобы на одни и те же ip лишний раз не ходил на внешний сервис, т.к. это основной боттлнек у тебя, а не структура таблиц.
Ну и может быть придется добавить динамическую подгрузку этих данных на фронте админки, если все еще долго загружается, либо найти сервис, который может по АПИ сразу несколько ip принять и выдать общий результат.
Еще вариант, это хуйнуть json или jsonb одним полем в таблице со всеми нужными ключами в удобной структуре (может быть придется даже продублировать какие-то отношения в дикте), чтобы сразу вытаскивать нужные данные по ключу, а не парсить его сложным способом через re.
Тут уже смотри сам, как логичней впишется.
image.png43 Кб, 292x622
451 2589043
>>588419
Не сеньор, но наблюдениями поделюсь.

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


Как Instagram или Pinterest. Я помню, например, новости о том, что IG переводили с Django на Flask.

> имеет ли вообще смысл учить питон для бэка (для каких-то сложных проектов)


Имеет, пайтон с таким справляется.

> можно ли найти работу как сеньёр питонист без умений в ml/ai и подобное?


Возможно.

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


Я бы даже сказал категорически рекомендуется. Даже если реально встраивать ничего не будешь, лишний язык другого плана всегда пригодится. Я и тут и в нуботреде постоянно повторяю: хочешь быть наносеком, учи и знай больше и лучше остальных. В IT много денег и много простой работы, но чтобы ЗАРАБАТЫВАТЬ БОЛЬШЕ, как ты обозначаешь, нужно вJOBывать и напрягаться.
Современный дорогой сеньор знает не только ЯП, он по-хорошему знает всё, что происходит на беке, от момента, когда запрос приходит, до того, как СУБД исполняет план запроса. И для него не будет магических слов в наборе типа "Response Headers", терминирование HTTPS, Ingress (и чем он отличается от Ingress Controller), Pod, S3 CSI и ещё сотни всякого нет. Хотел было добавить что-то не попадающееся на каждом шагу из СУБД, но не припомнил. Хотя работа с базами иногда вообще на грани искусства.
Правильно пойми, пожалуйста: сеньор не обязательно должен уметь поднимать K8s (хотя лишним не будет), но, скажем, понимать, как пройдёт запрос (например, NAT-LB-Ingress Controller-RabbitMQ-Svc-Pod-Container-API/DB...) и какие огранчения возникают на каждом этапе, как процесс запускается в контейнере и т.п.
452 2589055
>>589043

>много простой работы


>нужно вJOBывать


Я понимаю что ты хотел сказать, можешь не объяснять. Но всё равно, такие противоречия обесценивают остальную портянку.
image.png44 Кб, 533x396
453 2589075
>>589055
Не вижу противоречия. Есть простая работа, за которую платят умеренно (ну, больше, чем грузчику в пятёрочке, конечно), а есть серьёзные места, где нужно больше, чем знание одного фреймворка и за это платят.
Чтобы проверить следующее утверждение лучше пообщаться с настоящим Помидором, но потому, что я вижу и слышу, сеньоры вообще зачастую не особо много пишут, они придумывают, как, прорабатывают тонкие места и в основном объясняют мидлам и джунам, как именно им написать 98% кода.
Я не работал в большой продуктовой команде с сеньорами, так что это со сторонних слов.
454 2589126
>>586871

> насколько здравая идея


Дурная идея.
Есть уже в таблице код страны, зачем его дублировать.
Если нужно получать полное название из кода страны это можно сделать обычной функцией (или взять из либы какой или сгенерить самому из списка стран)
455 2589242
>>588875

я не-вебовское делаю. пишу скрипты для анрила, гудини и блендера. игры для души пилю. просто что писать в тред-то?
456 2589262
Пишу парсер, нужно спарсить категории товаров. Ссылки на категории находятся в словарях, словари названы на кириллице. При запуске парсера предлагается выбрать категорию через input(). Полученное название категории приводится к виду названия словарей: удаляются точки и запятые, пробелы заменяются нижним подчеркиванием. Потом строка с названием словаря отправляется в ссылку вида: f"dns.ru/moskva/{category[subcategory]}".
Вместо category - название словаря, вместо subcategory - ключ на конец ссылки. Беда в том, что питон интерпретирует category как строку, а не как название словаря, а потому ищет подкатегорию не в словаре, а в строке. Как пофиксить, есть функция по типу str(), но для превращения строк в названия переменных?
image.png8 Кб, 486x150
457 2589320
>>589262
Да вроде ок всё.
458 2589325
>>589262
Нихуя не понятно, в f-строках category должна быть диктом, если это дикт изначально. Попробуй str.format?
459 2589326
>>589262
Парсинг вне закона! Вы арестованы!
460 2589345
>>589320
Пробовал удалять строчки с методами .replace, ничего не меняется
461 2589352
>>589345
Так у тебя словарь называется "мой словарь"
462 2589358
>>589352
Ну да, я и вписываю - Мой словарь, .replace убирает пробелы и ставит нижние подчеркивания. Переменные же можно на кириллице называть, нет?
image.png6 Кб, 253x253
463 2589362
>>589345
А, я понял, что ты имеешь в виду. Сейчас ты тупо лезешь в строку по индексу.
Можно через таблицу символов, можно через эвал. Но это в любом случае хуевое решение.
464 2589365
>>589362
Лучше сделай словарь словарей и уже тогда по ключу как нормальный человек лезешь.
16718369062440.webm649 Кб, webm,
460x742, 0:10
465 2589366
>>589362
Ебать, тонны нефти
466 2589369
>>589358
Переделывай. Чтобы категория была ключом словаря, а субкатегория вложенным словарем. Чтобы вводить с клавы не название переменной, что ты сейчас пытаешься делать, а ключ.
467 2589416
подскажите прикольных апишек для реализации ТЕЛЕГРАММ БОТА В РАМКАХ ПЕТ ПРОЕКТА, чото чекнул, ничего интереснее погоды и картинок с котиками
468 2589454
>>589358

>Переменные же можно на кириллице называть, нет?



нельзя. я запрещаю
469 2589732
>>589345
А вот так делать не надо.
65496153121537c35e4be3df3579a1a3.jpg36 Кб, 698x540
470 2589804
471 2589810
>>589416
А какая разница? Тебе же для учёбы?
Тебе надо просто научиться получать сообщения, лазить куда-то по API, обрабатывать их ответ и писать юзеру.
Хм-м. Люди мешают в одну кучу пэт-проекты и учебные. Мне от этого печально.
Я когда-то решая такую задачу (правда, не для телеги, а для самописного мессенджера) работал со статистикой заболеваний ковидлой (в 20-м было актуально).
Можешь покурить другие публичные API, например, тут:
https://rapidapi.com/hub
Или можешь по имени юзера в Стиме присылать, скажем, количество его игр или ещё какие параметры.
Или просто всоси базу цитат с баша и по запросу выплёвывай следующую/рандомную.
472 2589852
>>589810
мне как пет чтобы засветить в резюме, учебных уже пару слепил
473 2589862
>>589852
Приляпать готовый жсон к готовой либе это не пет.
474 2589891
>>589862
а что накидать на полноценный пет? с тг ботом чтобы всем ссылку кидать ЯСДЕЛАЛЪ
475 2589902
Как более правильно пик1 или пик2. Разница там только в одном отступе %( variable
Пайчарм говорит что это не по PEP8, но мне очень не нравится то что строки ниже не выровнены с переменной выше.

Спрашиваю потому что такого говна очень много получилось. Как быть?
476 2589906
chatgpt ебать охуенная вещь, нужную информацию без кучи мусора выдаёт, да ещё и иногда и с несколькими вариантами. Вместо долбёжки гугла сутками и чтением ненужной хуйни можно просто спросить у бота как это работает.
477 2589911
>>589902
Оба варианта нечитабельная хуйня.
478 2589915
>>589906
Тут аноны писали что он может в самом неожиданном месте вставить нерилейтед кусок или кусок из другого языка, причем замаскирует его так, что ты не отличишь
479 2589918
>>589911
Нет ты. Это пайчарм форматировал.
480 2589935
>>589915
Так я и не пишу код через него, а задаю вопросы, которые вроде и не слишком сложные, но при этом чтоб ответы найти на них нужно поебаться читая штук 20 вопросов на стаковерфлоу, потом читать документацию к библиотеке(ам) и придумывать пример как бы это протестировать по быстрому.
481 2589938
>>589935
Согласен, тоже хочу вкатиться в этот ваш чат за этим. Какие там подводные камни с вкатом бывают?
482 2589945
>>589938

> Какие там подводные камни с вкатом бывают?


Вроде в рф что-то там ограничено в боте, по этому нужно поебаться будет, чтоб получить все функции.
Если ты не из рф, то никаких подводных, через гугл аккаунт регистрация 10 секунд
483 2589972
>>586079
Я вернулся с обновлённым вопросом.
Меня тут пнули в направлении либы "Questionary". И, вроде как, она мне даже здорово помогла бы уменьшить объём кода. Но есть одно "но": те дикты у меня как раз нужны, чтобы давать комментарии. Например, юзеру выводит "Введите количество хуёв", и, если он ответит "help", то в ответ скажет "Сколько хуёв попробуем запихнуть.", после чего спросит ещё раз.А если введёт "details", то в ответ выдаст подробную портянку типа "мы возьмём это количество хуёв, смажем лубрикантом. приставим к отверстию и надавим на все сразу".То есть у меня было

>count = input(Введите количество хуёв)


>if count == "help":


> print(help["count"])


>elif count == "details":


> print(details["count"])


>elif valid(count):


> hooy_count = count


Есть какой-то удобный способ реализовать такую логику в связке c Questionary или, может, есть аналог, который это умеет?

Я делал функцию валидации, если она делает return string, то появляется соответствующая подпись, но тогда мне на КАЖДЫЙ аргумент нужна будет отдельная функция валидации, потому что мне отдаёт только строку, без понимания, откуда оно вызывается. А это прям совсем не то, чего я бы хотел.
484 2589975
>>589902

>но мне очень не нравится то что строки ниже не выровнены с переменной выше.


И пайчарму не нравится. Он тебе и говорит на первом пике: поправь отступ на 2-3 строках!
485 2590032
>>589918
пайчарм не заменяет голову на плечах
486 2590064
>>589975
Вот эти вот отступы которые на скринах их полностью пайчарм сделал у меня вообще по другому было.
На 2 и 3 строке как раз отступы кратные 4 пробелам, если я их подвину под variable получится не ровный рекомендованный отсуп. По-моему так ещё хуже. А вот если добавлю всего 1 пробел для variable на самой верхней строке. Будет модно стильно молодежно, чотко заебись.
487 2590077
>>590064

>не ровный рекомендованный отсуп


Или так можно и нужно делать?
488 2590086
>>589935
Новое поколение говнокодеров вырастит знатное, в целом это и сейчас уже можно наблюдать по тем же играм, а там явно нейросети уже активно используют
489 2590141
Поясните почему так.
Задача на ход ладьи, правильный ответ пик 1
Но ведь оно не проходит тест пик 2
Абс 7-4=3
абс 2-5=3
пишем ес
..втф
490 2590150
>>590141
abs 7 - 2 = 5
abs 4 - 5 = 1
491 2590151
>>590077

>>не ровный рекомендованный отсуп


>Или так можно и нужно делать?


Бинго! И даже предупреждение с них уйдёт. 4 пробела для других случаев, где ВЛОЖЕННОСТЬ.
492 2590156
>>590151

>Бинго!


Программист фул стак JSON, ты?
493 2590157
>>590156
Я не фуллстек. А ты его ищешь? Парня своего потерял?
494 2590159
>>590157

>Я не фуллстек.


А, ну да, ты же писал, что твои основные языки это не только JSON, но ещё и HTML, CSS, XML, извини, не обижайся.
495 2590163
>>590150
а бля я перепутал координаты.
Извините.
image.png94 Кб, 1134x437
496 2590174
Пиздос да что не так
497 2590176
>>590174
Старый питон. Надо 3.10+
498 2590191
>>590174
Просто не используй match. Это бесполезный сахар от которого на данный момент может быть куча проблем из-за несовместимости
image.png914 Кб, 811x743
499 2590226
>>590159
Видимо, ты про меня. Я - >>586820-кун.
Никогда не называл себя программистом (тем более, что это слово зашкварили безграмотные идиоты, не умеющие даже переключать раскладки). Просто есть известная шутка, что девопсы это YAML-Developer'ы (пик), мол написание обширных *aaC-конфигов (в основном на ямле) это разработка.
На ямле, который Markup Language, пишется код для Ansible, K8s, GitLab.CI и т.п. На JSON пишутся конфиги Terraform, например.
Когда-то я писал скрипт для поднятия кастомных виртуалок в KVM на баше. Теперь я тоже самое делаю в несколько JSON-строк. Так и получается, что то, что вроде как не программирование выполняет те же функции.
Для меня это хорошо, но для мышевозов-эникейщиков - нет, для них и баш был невмоготу, а теперь вообще пиздец пизвецовый.
500 2590259
>>590191
Хороший, годный match. Позволяет серьёзно укоротить портянки из if isinstance. Очень актуально в динамически типизированном языке. Куча проблем — это ровно одна проблема со старым питоном, которая может быть актуальна для библиотеки с широкой совместимостью, но совершенно неактуальна для конечного приложения, где ты сам себе хозяин. Сейчас уже даже в последней LTS убунте питон 3.10, не говоря уже о всяких докерах и винде.
501 2590269
>>590176
>>590191
спасибо мудрые анончики
502 2590275
>>590191
гвидо, успокойся
Screenshot98.jpg99 Кб, 930x734
503 2590285
можно и так.
504 2590303
>>590285
ну ппц он медленный. гугл быстрее.
505 2590315
>>590303
Ну поползовался, никакой имбы нет, но штука местами крайне полезная.
506 2590351
Может кто с нейронкой помочь? очень надо
507 2590359
>>590086
Мне кажется так всегда говорят, когда появляется новая вещь у программистов. Ну вырастет и вырастет, зато неговнокодеры будут в цене
508 2590362
>>590359
Я уже посидел с ним. Штука прикольная для уменьшения рутины. Когда ты просто одним запросом с большой вероятностью можешь получить ответ без необходимости делать после несколько кликов ещё и смотреть дал ли гугл нужную выдачу.
Но это всё на самом деле не то, что твою производительность может повысить. Но такое-се. Маленькое удобство без которого легко обойтись. Вот регулярки она очень хорошо пишет, но это тоже такое, что разок написал и больше не надо. Найти готовые варианты так же не сложно.

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

Ну если кратко - пользоваться можно, но сильно оверхайпнутая штука
509 2590364
>>590362
А есть этот чат в виде модели или только онлайн?
510 2590366
>>590364
Думаю в виде модели тебе только для его хранения нунжны сотни террабайтов.
511 2590367
>>590366
Это же текстовая нейросеть. Графическая нейросеть внути которой целая вселенная поместилась и которая всё что угодно высрать может в 2 гигах помещается.
512 2590371
>>590367
Я в нейросетях не разбираюсь, но не думаю, что то, какие данные нейросеть генерирует как то сильно влияют на её размер.
513 2590414
>>590371
Есть тут аноны кто разбирается?
На чём сидите - pytorch tensorflow jax ?
514 2590424
>>590259

> везде питон 3.10


нахуй иди
515 2590443
>>588419

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


Обычно это рой микросервисов, которые крутятся под общим линуксом, используют БД-очереди для коммуникации и т.п. Активно используются другие готовые решения, с которыми ты взаимодействуешь через АПИ.

Совсем другое, чем когда у тебя мощный монолит на c/c++/java.

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


Чтобы именно встраивать - нет. Но си будет полезен в любом случае. Скорее может быть полезен какой-нибудь го, чтобы на нём тоже можно было что-то реализовать. Но главное, тебе надо разбиваться с бекенд-технологиями, с линуксом и т.п., вот это важно.
photo2023-01-2812-35-43.jpg100 Кб, 1228x1280
516 2590753
>>588419

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


Пример функции из яндексовской АНАЛитики тебя устроит?
161761991643-p-katya-elise-henry-model-44.jpg633 Кб, 2048x2048
517 2590876
Привет ребятки, вопрос следующего характера:
Хочу написать программу, чтобы она определяла кругляшки, квадратики, треугольники и ещё несколько значков на экране, и тыкала по ним мышкой.

При запросе в гугле "питон распознавание обьектов" - он выдает однотипные ролики про распознавание лиц и номеров машин, с какими то заранее оттеринированными весами, или типа того.

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

Заранее спасибо и с новым годом!
16749113556230.jpg48 Кб, 640x250
518 2590878
>>590876
короче мне надо вот такие значки различать, как на пике.
Мне для этого надо YOLOv4 обучать собственным моделям или есть более простые варианты?
519 2590927
521 2590947
>>590930
Спасибо, то что надо!
522 2591172
Сап двач

Подскажите книжку по питону , база есть (читал Bite of Python и Dive to python) но хочется погрузится более глубоко
523 2592204
>>582246 (OP)
прив ребятки и девчатки.

Вопрос такой - как быть если удобно иметь в словаре какой-то not serializable объект, если периодически нужно дампать весь словарь в json?

Пока что приходится временно вынимать объект из словаря, дампать а потом вставлять обратно, но это пиздец костыли, хотелось бы чтобы json сам понимал что это не текст и что его можно просто пропустить.
Mobile python description009 524 2637407
И так всем привет, я понимю мой запрос не из приятных и может выглядит вандально но мне похуй. Короче суть в чём ПК нет А кодить на Python хочу, и да для заядлых коментаторов заранее отвечу, Если бы мог купил бы или спиздил, или попросил бы у друзей (которых нет). Буду благодарен за честные ответы.
Очень сильно не хватает практики.
Тред утонул или удален.
Это копия, сохраненная 13 марта 2023 года.

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

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