Этого треда уже нет.
Это копия, сохраненная 7 ноября 2022 года.

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

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

Предыдущий: >>2412543 (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://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

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

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

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf
image.png56 Кб, 841x426
2 2428657
Знает кто похожий сайт, но проверяющий бОльшее количество критериев, по которым CloudFlare детектит ботов?
3 2428660
image.png127 Кб, 721x1206
4 2428661
>>28660
Блять, всё зеленое, а Cloudflare все-равно не пропускает. Сука, пидорасы...
ООП.mp41,2 Мб, mp4,
640x360, 0:30
5 2428668
пердуны узнали себя?
6 2428706
Прочитал как "Путин-тред"
7 2428801
>>28668
Я дид и всегда хуярю процедурщину, если кто-то до меня не насрал ооп. Глобальные переменные, пробрасывание в десять функций, хули ты мне сделаешь?
8 2428827
Мда
9 2428828
Прочитал как питон тред.
10 2428844
>>28801
Двачую эстета
11 2429018
Не подскажете, я использую djoser для всех там дел с авторизацией/регистрацией с drf. И хочу перевести сообщения об ошибках, которые он посылает в ответ. Я посмотрел, в исходном коде эти сообщения обернуты в геттекст, но когда я делаю makemessages, нихера не делается. Не понимаю, че нужно сделать, чтоб он их оттуда выдернул ко мне в проект.
12 2429061
Сап двач, хелп плиз.
Что означает эта запись, а точнее многоточие в объявлении функции? Почему если присутствует многоточия, я не могу прописывать операторы функции?
def func(x): ...
13 2429140
>>29061
Это вместо pass
Оно ничего не делает
14 2429186
Мужички, помогите с питоном. Есть один словарь. Ключи - буквы, значения - цифры. Надо отсортировать его так, чтобы значения были от большего к меньшему и при этом, если значения у ключей одинаковые, чтобы сортировались в алфавитном порядке.
В качестве наглядного примера:
Словарь: {'m': 3, 'a': 3, 'y': 1, 'r': 1}
Что хочу получить на выходе: {'a': 3, 'm': 3, 'r': 1, 'y': 1}
16 2429234
>>29186
Покурил документацию, погуглил, написал говнокод, который работает. Всем спасибо, извините за беспокойство
17 2429251
>>29018
Бля, пол дня ебался, а оказывается в нем и так есть русский, поставил ленгвейдж код в настройках и он стал слать на русском.
18 2429302
Питонячий словарь разве можно отсортировать, это же хешмапа?
19 2429311
>>29302
Да бля ну первый же ответ на оверфлоу по запросу how to sort python dict
20 2429313
>>29264 (Del)
Всю программу скидывать не буду, вот кусок, где идет сортировка(сортируемый словарь в переменной "unique", результат пишется в .txt файл в папке с программой):
lst = []
for _, value in enumerate(unique.items()):
lst.append(value)
lst.sort(key=lambda x:(-x[1], x[0]))
output_file = open('analysis.txt', 'w')
for i in lst:
print(*i, file=output_file)
Помидорами не забрасывайте, я в программировании полный ноль
21 2429315
>>29313
dict(sorted(d.items(), key=lambda kv: (-kv[1], kv[0])))
22 2429334
>>29315
ыыы, а про функцию sorted я совсем забыл. помнил что у списков метод .sort есть и нагородил хуйни. Спасибо
23 2429344
А еще метод .items() и так возвращает список пар кортежей словаря ключ-значение, но я нахуя то прогнал каждый кортеж отдельно через цикл и запихал в новый список. Пиздец позор. Как научиться нормально кодить? Я частенько вот такую вот херь исполняю
24 2429370
>>29347 (Del)
только если исходный словарь отредактировать, там в 1м ключ 3 - значение пизда, а во 2м ключ пизда - значение два. и в 1м 2: "vzxcv", во 2м "vzxcv": "tri". Вот если это местами поменять изначально, то получится. Хз правильно или нет, но можно типа так сделать:

dc1 = {1: "hui", 3: "pizda", 2: "vzxcv", 62634: "fsfs", 4231: "fasfscv"}
dc2 = {"vzxcv": "dva", "hui": "odin", "pizda": "tri"}

result = {
(key, dc2.get(value, value)) for key, value in dc1.items()
}
print(dict(sorted(result)))
25 2429387
Сап, жвач. Я знаю, что этот вопрос вас всех заебал, но сейчас просто я в отчаянии и не знаю, что делать. Я сыч 20 лвл, который выкатился только что из ПТУ. Могу немного писать на питоне, хорошо знаю за линекс, гит, протоколы и прочее говно. Из опыта писал сайт для одногрушников для решения говнотестов через уязвимость на одном говносайте и еще по мелочи скрипты для себя. Писал интерпретатор брейнфака, еще автопостинг для двача

Вопрос: могу ли я устроиться питон разработчиком? А удалённо? Как вообще это происходит? Где искать работу? Как проходят собесы? Как определить мой уровень программирования, достаточный для работы?

Проблема в том, что 1) я боюсь работать и никогда не работал 2) живу в мухосрани и тут программисты только на завод на С++ нужны с опытом
С меня сотни нефти и картинки с Курису
26 2429393
>>29387

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


Ты шутишь? Это уже уровень крепкого джуна.
Посмотри, что там у тебя в мухосрани требуется, это и подучи.

> 1) я боюсь работать и никогда не работал


Так и говори на собесе, врать не надо.

>живу в мухосрани и тут программисты только на завод на С++ нужны с опытом


удаленка, либо переезд из мухосрани в город.
изображение.png17 Кб, 421x193
27 2429396
>>29393
Я ходил устраиваться на работу сисадмином в одну геймдев конторку по советам психологини из птк. Пик - то, что написала психологиня. Если честно, не очень уверен в навыках своих.

>удаленка


А как это происходит? Мне надо резюме выложить на hh?

>либо переезд из мухосрани в город


Ну, город это областной центр. Это между дс1 и дс2, но и там, и там дорого жить

>Ты шутишь? Это уже уровень крепкого джуна.


Мне кажется, ты шутишь. Аноны говорят, что джунов никто не ждет, всем нужны мидлы
28 2429402
>>29396

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


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

>А как это происходит? Мне надо резюме выложить на hh?


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

>Ну, город это областной центр. Это между дс1 и дс2, но и там, и там дорого жить


Тогда только удаленка. Или можешь съездить в ДС на собес, вдруг они тебе удаленку разрешат. Вряд ли, конечно, но попытаться подать резюме в ДС и ДС2 стоит.

>Аноны говорят, что джунов никто не ждет, всем нужны мидлы


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

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

И почему именно питон? Куда хочешь? В веб, датасаенс, нейронки?
29 2429406
>>29402

>А нафига сисадмином-то, если ты разработчиком хочешь стать?


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

>И почему именно питон? Куда хочешь? В веб, датасаенс, нейронки?


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

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


Я говорил на собесе, что писал, но одно название брейнфак их походу смутило. Да и вообще говорить,что я что-то там через уязвимость делал такое себе. Хотя хз, тебе виднее

>сисадминов в разрабы идешь.


Я ниоткуда не иду. Я хуй с горы. У меня нет опыта
30 2429416
>>29140
Спасибо. Так это что-то типа комментария? Ну то есть если комментарий программа не видит и пропускает, то тут видит и тоже пропускает?

И еще вопрос. Мы можем перебирать многомерные/вложенные списки циклами? Или для этого только рекурсия подходит?
31 2429442
Через 2 месяца 31.
Я обязательно вкачусь в ОЙТИ!
Я еще молод!
32 2429443
Слышишь тред?!
Я СДЕЛАЮ ЭТО! ТАК И БУДЕТ!
33 2429444
запускает доту 2 и пикает пуджерса на мид в 2к помойке
34 2429449
жопеч кто
35 2429466
Может кто знает АПИ, которое отдает города с координатами?
36 2429470
дота 2
38 2429557
>>29387
Звучит сочно, анончик. Шансы есть, походи по собесам, ничего не теряешь ведь. Англицкий выучи если не занешь.
39 2429568
>>29406
Отправляй резюме, доставай херок по телефонам/почте.

Навыков у тебя хватает, ты не нулевой вкатыш с курсов уже.
Рано или поздно работу найдешь.
Если есть время - сделай пет. Апи какое-нибудь или приложуху.
image.png111 Кб, 1491x290
40 2429632
>>28654 (OP)
Лутцехейтеры, что с ебалом?
41 2429637
Посоветуйте пожалуйста какой-нибудь сборник задач, с решениями, желательно на русском, новичковского уровня
42 2429639
>>29632
Ну, тщемта, асинкио это инородное образование в питоне, выходит за рамки базовых либов.
Я не читал и не щнаю кто такой луц, но наверняка он описывает только базу языка, без фреймворков и уж тем более вряд-ли описывает различные подходы у разработке
43 2429642
>>29061
Это просто константа https://docs.python.org/3/library/constants.html#Ellipsis
Можешь в своем примере написать def f(x): None или def f(x): 42 с тем же эффектом (т.е. никаким). В таком контексте это часто используется с той целью, чтобы указать, что код предстоит дописать. Ну а так можно использовать как синтаксическую примочку для своих классов, реализующих доступ по ключу (https://ideone.com/QZdkVM) или по хитрым слайсам (как в numpy).
44 2429656
>>29639
Начиная с версии 3.5 уже полноценно интегрированное, есть операторы async/await, есть куча других асинхронных операторов, которые просто так не прикрутишь.

Луц просто говно мамонта, очень объёмное и устаревшее.

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

Плюс для изучающих только в том, что никто не заставляет писать сложно, можно писать просто и это будет работать.
45 2429836
Какое ИДЕ выбрать?
46 2429895
>>29836
это не принципиально
47 2429896
>>29836
doom emacs
48 2430012
Есть папка проекта, в ней несколько папок со скриптами, скрипт из каждой папки надо запустить.
Можно сделать файл условно main.py в корневой папке, запуская который будут запускаться все скрипты с этих папок?
49 2430037
>>29836
VScode
50 2430040
>>29836
Саблайм с анакондой.
51 2430049
Бля а че словарь вообще сортируется, открывать иде лень
52 2430068
>>29836
pyCharm
53 2430138
>>30012
я бы баш скриптом сделал:

#!/bin/bash

python folder1/script1
python folder1/script2
python folder1/script3

python folder2/script1
python folder2/script2

....
55 2430245
>>30012
find . -name "*.py" -exec python3 {} \;
56 2430246
>>30012
Можно сделать и чисто на питоне. Просто найти все файлы, через glob.glob, и запускать субпроцессы. Можно при этом менять рабочий каталог на каталог файла со скриптом.
57 2430333
>>29553
Йеа, то что надо.
58 2430338
На проекте какое-то животные пару лет назад поставило в джанго-модельках managed = False и теперь автоматические миграции там не создать, поменять на True не выходит т.к. сыплется куча ворнингов о замененных колонках
Джанго-дебилы, почему вы такие конченные?
59 2430345
>>30338
Проблемы жанго дебилов.
Кто вообще на этой хуете пишет? Деды из 90х?
Кринж пиздец.
xOEESZZKcwI-00-14-29.png1,9 Мб, 2560x1440
60 2430416
падажжи я не понял а куда мартышка дела педофилач мл-тред !?

вы чо охуели там вкрай что лей???

быдло щемит учоных

немыслима!
61 2430432
пуджерс кинул хук
62 2430442
Как определить оптимальное количество процессов для воркера celery?
63 2430470
Ужики, помогите. Короче сделал я парсер по туторам, но добавил изюминку так сказать о себя. Так как я нулёвый, то не смог нормально вытащить с сайта автодилера вин-код авто. но придумал, что его можно со ссылки взять, ведь он там есть. Так вот у меня вопрос, как почистить ссылки от всего ненужного, а оставить только цифры вин-кода? При том, что ссылки не всегда одинаковые-какого то хуя. Это лучше сразу в парсере сделать или в эксель таблице как-то почистить?
Стикер536 Кб, 250x250
64 2430471
>>30470

>но добавил изюминку так сказать о себя

65 2430474
я как-то пуджерсу добавил два хука
но почему перестали вылетать оба
66 2430475
>>30470
Может можно как-то с помощью панды задать несколько примеров вин-кода и чтоб оно само там отсеяло лишнее? Это был бы идеальный вариант
image.png32 Кб, 833x283
67 2430740
>>30138
>>30245
>>30246
Спасибо. Бат-файлом не хочется делать, я недавно тут и вообще не понимаю мульки в 2022 возиться в командной строке (хотя выглядит это прикольно иногда).
Нашёл модуль subprocess, попробую через него.

Кстати, как научиться читать без попаболи оригинальные доки? Я про
subprocess.run(args, , stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, *other_popen_kwargs) п, мне прям фул хуёво и непонятно от такого. Меня одного это демотивирует читать? Документация на BeautifulSoup нормально читается/воспринимается, а такой формат...
16517327603390.jpg66 Кб, 604x604
69 2430756
куда делся нейропедо тред?!
70 2430779
пуджерс ультанул
71 2430837
>>30740

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


Чел... много чего можно про это сказать конечно, но советую заскринить тебе этот твит пост и пересмотреть через полгодика. Ты небось и поделки свои через F5 в идешке запускаешь?
72 2430860
>>30837

>через F5 в идешке запускаешь?


Я макрос на клавиатуре сделаль😳

Будет интересно, как мнение поменяется. Точнее что его поменяет.
73 2430905
>>30740

>Я про


>subprocess.run(args, , stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, *other_popen_kwargs) п, мне прям фул хуёво и непонятно от такого.


Это одна из крутых фишек питона, которая есть не во всех языках. В ЖС нет, например. Называется "именованные аргументы со значениями по-умолчанию".

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

Хотя вокруг субпроцессов есть какая-то магия по части блокирующего ввода-вывода и т.п. Но это актуально, когда тебе необходимо интерактивно взаимодействовать с субпроцессом, читать в реальном времени его вывод и т.п. Когда не надо, тогда всё тривиально.
74 2430960
>>30905
То есть там, где параметру присваивается значение через "=" - это всегда необязательные параметры?
75 2430983
>>30960
Да. Причём в любом порядке можно переменные указывать.
76 2431180
суп
вопрос не совсем по питону, но
есть питон 3.10, есть пайчарм.
клонирую проект с гитлаба, настраиваю интерпритатор для проекта - всё работает, но.
работают только базовые пакеты. если я ставлю условный termcolor pysimplegui или типа того - в проект я из просто не могу импортировать, пайчарм их не видит. если я напрямую обращаюсь через консоль к питону, он говорит что пакеты установлены. я уже не знаю на что грешить, подмывает форматнуть ноут и накатить линукс, ибо под линуксом у меня такой хуйни нет.
77 2431228
>>31180

>накатить линукс


надо было сразу тупой долбоеб

а потом вскод

и забудешь про все проблемы
78 2431233
>>31180
Удостоверься что ты пакеты накатываешь на тот же питон которым скрипт запускаешь
79 2431532
>>31228
ебать ты токсичный кусок дерьма.
>>31233
питон стоит только один. пакеты даже лежат в правильных местах (проверял sys.path). в списке help("modules") тоже всё верно.
80 2431580
>>31532

>питон стоит только один


Смелое заявление, учитывая, что юзаешь пч, который любит создавать венв на каждый проект.
81 2431593
>>31580
старый венв я удалял вместе со старыми проектами. сейчас есть венв текущего проекта и всё.
82 2431665
>>31593
Ну так какие тогда вопросы, если ты пакеты глобально ставишь, а пч венв юзает? Ставь в венв или ищи там в настройках галку наследования глобалов.
image.png38 Кб, 165x220
83 2431798
>>31228

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

84 2431822
>>31228
Мужик накатывает Pycharm на Mac. Ясно? Только пацан юзает опенсорс-говно
85 2431853
Чета нихуя не понял флагов.

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

Моя реализация - два if которые проверяют, что прошлое число больше нынешнего. Второй if используется для остановки цикла, если нынешнее число больше прошлого, приравнивая число к условию остановки, то есть нулю.

Как улучшить эту хуйню, чтоб флаг заменил второй if и условие остановки, например.
86 2431871
>>31853
если я правильно понял
после первого иф
елсе
бреак
если хочешь с флагом то в объявление цикла флаг == труе, в елсе флаг = фолс
87 2431946
>>31871
Чтоб не ебать мозги моим кривым описанием - скрины говнокода в визуализаторе.

Уже подумал, и заменил второй иф эльсом, сократив исполнение на 10 шагов, относительно двух иф
88 2432004
>>31822
Рано или поздно придётся укатиться на вскод, если не хочешь вечно сидеть джуном, ну либо накатывай кучу других иде для других языков
89 2432120
>>31946
Чтобы не возиться с флагами в таких ситуациях, есть конструкция while/else.

https://ideone.com/usFePW
90 2432294
>>31946
Господь, жги не жалей, их с таким кодом уже не спасти.

num = input()
print('YES' if all(int(y) >= int(x) for x, y in zip(num[1:], num[:-1])) else 'NO')
91 2432296
>>32294
ну так то однострочников вообще надо четвертовать
92 2432297
>>32296
Индус, ты? Не нравится в одну - раздели на 2-4 строки. Но не 14 же, в самом-то деле.
93 2432299
>>32297

>эти сказания из мумбая

16586680644102-pr.jpg59 Кб, 570x736
94 2432301
>>32299
Будешь паясничать - я расчехлю боевые картинки.
16597654895280.jpg74 Кб, 317x372
95 2432305
>>32301
ну и что ты сделаешь? заплачешь?
96 2432334
>>32296
>>32294
Да был бы ещё однострочник нормальный.

>int(y) >= int(x)


Не нужно конвертировать. Цифры в ascii уже упорядочены как надо (y >= x).

>zip(num[1:], num[:-1]))


Создаётся два (ненужных) новых списка. Вместо num[:-1] можно оставить num (зип сам остановится, где надо), а вообще уже давно есть https://docs.python.org/3/library/itertools.html#itertools.pairwise
noted-critmaw.gif3,8 Мб, 498x498
97 2432348
98 2432402
В реальных задачах таких ситуаций никогда не встретится.
Потому что сама конструкция int(input()) это ебантизм невероятный.
Соответственно вы решаете случай которого вообще не должно быть.
99 2432570
В чем проблема, почему тесты не проходят?
telegram-cloud-photo-size-2-5456360928997134226-x.jpg28 Кб, 732x400
100 2432583
101 2432601
>>32570
Ну и нахувертил. Твоя хуйня ищет в любом месте, а не в начале.
Это однострочник вообще. Есть str.startswith, там можно много вариантов проверить сразу. Ну или re.match('^[rR]').
102 2432604
>>32601
Алсо, надо returnить эту строку, а не принтить.
103 2432615
>>32334

>Создаётся два (ненужных) новых списка


Каких списка, наркоман, слайс от строки теперь списки производит?
104 2432663
>>32334

>itertools


Хрр-тьфу тебе в ебало.
Итерационные приблуды можно использовать только если они код сокращают хотя бы втрое, понятно? Для однострочника даже не вздумай, используй старый добрый zip.
105 2432713
Кручу юниттест в докере, заебался каждый раз запускать руками и ждать пока докер стартанет. Есть какой-нибудь вариант автозапуска юниттеста для измененных файлов? Пока пойдет даже если просто любой файл меняется все тесты будут перезапускаться.
106 2432722
>>32301
Уже первые два примера кода не эквивалентны, работают по-разному
107 2432747
>>32713
Buildbot и другие cicd
108 2433053
>>32722
и в чем разница?
109 2433076
>>33053
разница когда cond = 2

В большнистве языков true это захардкоженая единица.
110 2433133
>>28654 (OP)
Изучаю питон год и вот понял, что программирование это не мое. Слишком я тупой для этого. Прощайте, больше не буду вам досаждать глупыми вопросами.
111 2433136
Анон, а как перевернуть строку задом-наперед в цикле for? Анон -> нонА.
112 2433143
>>33136
Нахуя тебе для этого цикл? s[::-1].
113 2433144
>>33136
t = 'Анон'
s = ''
for i in range(len(t)-1, -1, -1):
s += t

print(s)
114 2433145
>>33144
t от ай в цикле
только зачем тебе в цикле?
115 2433146
>>31822
мужик хуярит код в блокноте
впрочем, если пойти дальше, мужик не пишет на черве пидоре, настоящий мужик пишет на С кернигана-ритчи, ассемблере и фортране66

что ты такое несёшь, больной ублюдок?! они же дети
116 2433147
>>33076
на пикче однозначно ява
117 2433149
>>33143
Наткнулся на видос, где проводится mock-собес с выпускницей скилл фактори или типа того https://youtu.be/nq3ki32aHWY?t=1127
Там чел ее просит написать функцию по развороту стринги, а слайсы она забыла и решила нагородить через for цикл. Самому стало интересно, как это можно было бы реализовать.
118 2433151
>>33136
Нахрена вообще это делать в цикле?
Строку переворачивать больше одного раза не имеет смысла,
получается обратно та же строка
119 2433217
>>33076
После скриптовых языков в это сложно поверить, но неявные приведения типов существуют далеко не везде. На фото - жаба, нелюбитель таких оладий приведений, там ифы строго с булеанами работают.
120 2433314
>>32747
Не пойдет. Мне для ТДД нужно крутить сразу в терминале, при изменениях, а не коммитах. Идеально чтобы лишних действий не делать. Пример: jest в js
121 2433662
Сап, анончики
Есть потребность написать бота, который бы принимал вебхуки с моего сервера и отправлял уведомления в discord.
Хотел я значит заюзать flask для вебхуков и discord.py для самого бота. Но мне не удаётся скрестить это говно. Там или бот работает, или вебхуки
Можете кто-нибудь ткнуть в статью/пример, как их скрестить или что использовать вместо них
image.png17 Кб, 1031x76
122 2433977
Снова >>31946
Вложенные циклы нужны вообще? Чет на курсе заставляют рисовать треугольники-квадратики. И хуйню вроде пика.
В прошлых уроках хоть применение на примерах с матешой были, а тут чет совсем поебень. И что-то мне подсказывает, что все вот это делается быстрей и эффективней одной встроенной командой.
123 2434005
Анончики, подскажите. Вот дёргаяю я json с биржи. По id беру нужные данные нужной валюты. Но эти биржи, зачем-то постоянно меняют id у монет. Как правильно тогда дёргать данные по нужной монете?

Вот мой код:

url = 'адрес api'
response_url = requests.get(url)
items = response_url.json()
item = items[10]['last_price']

Где цифра 10 - это ID монеты в json. Но оно может внезапно стать другим для нужной монеты. Сегодня это 10, а завтра 15 и т.д. Как тогда дёргать значение нужной монеты, чтобы постоянно не править значения нужных id?
124 2434064
>>34005
У биржи в апи нет поиска по названию монеты?
125 2434078
>>34064
Вроде есть. Но тогда получается, мне придётся несколько запросов делать, на каждую монету. Не слишком ли это расточительно? Сейчас всего 1 запросом получаю сразу все монеты с данными, оттуда беру нужные.
126 2434084
>>34078
Чзх айди одно на несколько монет?
127 2434086
>>34084
Нет. У каждой монеты своё ID. Но оно меняется иногда. Сегодня я дёргаю допустим по id = 1, а завтра нужно уже код править, т.к. id стал внезапно например 3.
128 2434089
>>34086
Точнее дёргаю то не по ID, а summary. Уже в json ищу по id.
129 2434121
>>34086
Тогда почему ты за один запрос по айди можешь дергать несколько монет, а по названию не можешь?
130 2434127
>>34089
А может в json'e искать по имени?
131 2434145
>>34121
Там просто получаю сразу все монеты в json. И оттуда по id смотрю нужные мне монеты.
132 2434155
>>34127
А как примерно это в коде будет?

Вот например кусок json:

"
1:
trading_pairs"USDT_USD"
base_currency"USDT"
quote_currency"USD"
last_price"1.0628589"
..."
"
Screenshot1.jpg12 Кб, 576x151
133 2434338
Как в джанге эту ссылку показывать только на странице логина? (у меня общий шаблон)
volk-s-palcem-u-viska-10-1.jpg55 Кб, 798x532
134 2434355
>>34338

>у меня общий шаблон

135 2434362
Проклинаю весь тред именем обезьяны и предрекаю вам всем смерть от обезвоживания вследствие поноса.
136 2434551
есть переменная a
есть переменные b и c
В зависимости от разных условий b = None, с = какое-то значение, и наоборот

Как проще всего (по размеру написанного в основном) присваивать переменной a не-None значения этих переменных? Через if понятно что можно, но вдруг как-то еще?
1348045.jpg143 Кб, 1360x767
137 2434552
двач как подружить django и react?
как я делал:
качал "react.js" и "react-dom.js" кидал их в static ну и просто подключал как и другие js. но все работало пока я в основном js файле не юзал import. как только мне потребовалось импортировать хуки django начинает ругаться что react.js нет.
я пробывал указать что это модуль, но оно его всеравно не видит.
хелп как это пофиксить?
138 2434558
>>34551
a = b or c
139 2434564
>>34086
Ты путаешь идентификатор и индекс в списке. Биржа тебе отдает неупорядоченные данные, и ты с чего-то решил, что этот порядок постоянный, что очевидно не так. Вытаскивай данные из этого списка в словарь, где ключом клади что-то действительно уникальное, в твоем случае trading_pairs, значение - весь объект с инфой. Дальше работаешь только с этим словарем, достаешь нужную инфу по нужному тебе уникальному ключу trading_pairs.
140 2434570
>>34558
логично, спасибо
image.png78 Кб, 250x250
141 2434589
>>32004

>если не хочешь вечно сидеть джуном


Вы поглядите, джун будет учить какую IDE накатывать

Мимо-сенька из Сбера. Поссал на тебя
142 2434591
>>34589

>Петух-тред


>Сбер

143 2434594
>>34338
Удаляешь с общего шаблона.
Создаешь страницу с логином.
{% if user %}
Забыли пароль?
{% endif %}
144 2434595
>>33076
Какие же динамикодауны тупые))
145 2434607
>>34595
Они умные хотя бы потому что используют удобные инструменты, которые позволяют сделать в 20 раз больше за тоже самое время.
146 2434715
>>34607
В любом более-менее большом проекте обмазка типами и проверки mypy обязательны
147 2435251
>>34595
Пишу на питоне как на джаве, используя строгий mypy, из плюсов можно часть модулей откомпилировать в .so файлы
148 2435254
>>34715
Двачую mypy + минимум динамики + грамотный DI когда зависимости не объявляются внутри кода приложения. Код гораздо чище и нет глупых ошибок когда мы обращаемся к None или непонятно что приходит строка или число.
149 2435260
>>34551
Никак. Придётся через if. Этот >>34558 неправ, если b = 0, c = None, то a будет None.
150 2435345
>>34715
>>35254
Использовать язык с динамической типизацией без динамической типизации это как гениальность, только в обратную сторону.
151 2435372
>>33977
Я использовал пару раз в написании микро-программок, вне уёбского рисования

Мимо тоже-вкатун
Screenshot277.png7 Кб, 608x192
152 2435376
Такой вопрос:
Можно ли использовать т.н. list comprehension для создания переменной как-то иначе, кроме как на пикриле? Выглядит как говнокод, но я не нашёл других способов
153 2435380
>>35376
[var] = и без нуля тогда.
154 2435383
>>35380
О, спасибо!
155 2435410
ЧТО НЕ ТАК С ЭТИМ КУСКОМ КАЛА БЛЯДЬ?????????????
156 2435415
>>35410
Проблема решена. Надо было в настройках Ран Конфигурейшона выбрать стандартный интерпретатор Питона из ц/питон, вместо какого-то левого интерпретатора, который ПайЧарм сам создаёт
157 2435480
>>35415
Всё правильно. Виртуальные среды нахуй не нужны. Лчше просто засрать глобальный интерпретатор
158 2435486
>>35480
Тоже так думаю.
Накодили виртуальных окружений каких-то.
Нужно как диды. Один компьютер - один проект.
Если нужно другую версию взять, то просто переустанавливаем ОС.

Так победим.
159 2435504
>>35480
>>35486
Здесь есть какая-то подъёбка, но я не вкуриваю в чём она
На том этапе на котором я щас пишу код смысл в этих виртуальных средах мне максимально непонятен. Если мне от них будет какая-то польза — начну использовать. В данный момент благодаря виртуальной среде получилось только испытать баттхёрт. Как глобальный интерпретатор может засраться я тоже не ебу

Но про дидов смешно
160 2435527
>>35504
Гугли pipenv, там изи.

Суть в чем:
У тебя есть несколько проектов, один на джанге и питоне 3.8, другой нейронка какая-нибудь.

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

Т.е. у тебя для проекта 1 будет свой набор пакетов и своя версия питона, для проекта 2 другой набор пакетов. И они не будут друг другу мешать.
161 2435537
>>35504
Это как докер, но для питоньего интерпретатора.
Засраться может легко - несовместимые версии зависимостей и прочая хуита.
162 2435558
>>35527
>>35537
Спасибо!

А разве есть какая-то проблема, в том что у меня куча модулей в общей папке Питона? Ну лежат они и лежат, пусть лежат себе, места же хватает
163 2435561
>>35558

> есть какая-то проблема


Пока нет.
Это просто удобнее.
Виртуальными окружениями несложно пользоваться. Написал в requirements.txt нужные пакеты и ты сможешь на любом компе собрать такое же окружение, что у тебя дома.

Есть еше докер, он вообще позволяет ОС "экспортировать".
164 2435600
Объясните популярно нахуя нужны сессии? Зачем нужен всратый геморр с их прописыванием, проверкой и печеньками? Сколько я ни пытался найти ответ, в ответку было лишь "сессии очень важны потому записываем их в бд и проверяем каждый раз при запросе пользователя", а на кой хуй оно мне сдалось ни сука слова нигде никогда не пишут. Я могу и без кук с сессиями это сделать, так нахуй оно мне тогда нужно?
165 2435622
>>35260
В принципе он у меня 0 быть не может, либо строка либо None
166 2435626
>>35600
Объясните популярно нахуя нужны переменные? Зачем нужен всратый геморр с их объявлением, прописыванием и проверкой? Сколько я ни пытался найти ответ, в ответку было лишь "переменные очень важны потому записываем их в память и проверяем каждый раз при запросе пользователя", а на кой хуй оно мне сдалось ни сука слова нигде никогда не пишут. Я могу и без памяти с переменными это сделать, так нахуй оно мне тогда нужно?
167 2435635
>>35600
Объясните популярно нахуя нужны замки в дверях? Зачем нужен всратый геморр с их изготовлением, установкой и ключами? Сколько я ни пытался найти ответ, в ответку было лишь "запирать дом на замок очень важно потому запираем их и отпираем каждый раз при входе и выходе", а на кой хуй оно мне сдалось ни сука слова нигде никогда не пишут. Я могу и без ключей с замками это сделать, так нахуй оно мне тогда нужно?

простите, не мог пройти мимо пастопотенциала этой тупости
168 2435646
>>35600
Можно срать, не снимая сессию.
169 2435648
>>33977
Нет конечно. Все делается через

import yoba
yoba.do_shit()
170 2435663
>>35600
Да что тут спрашивать, тут одни тролли с опухшим эго отвечают. Лучше спроси у любой домохозяйки или бухгалтерши, сидящих в векашечке, что происходит после очистки кукисов, они объяснят доступно.
171 2435684
>>35622
Пустая строка прийти может?
172 2435728
Разрабатываю админскую утилитку, такую чтобы ее можно было качать одним файлом. Но хочу все равно иметь для разработки модули и тд.

Где в github посмотреть шаблоны таких проектов?
Нет, идея сделать изолированный пакет и заставлять пользователей устанавливать из pip мне как-то не нравится, хотя как запасной вариант сойдет.
173 2435730
>>35728
wheels
image.png45 Кб, 401x108
174 2435749
>>35648
Не слушайте его, это не работает
175 2435758
>>35749
pip install yoba
176 2435766
>>35558
Виртуальными окружениями проще пользоваться, чем тебе сейчас кажется.

В вводных доках обычно предлагают делать активацию среды, какие-то мутные лишние действия, это когда ты через консоль работаешь, но проще просто пользоваться полным путём до интерпретатора, вроде
~/virtualenvs/python3.10/bin/python moya_proga.py

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

Плюс это позволяет работать с разными версиями питона одновременно.
втф.png21 Кб, 682x409
177 2435775
Че за хуйня, почему у меня генератор не перебирает нихуя некстом , а застрял на первом переборе?
178 2435803
>>35775
Бля при этом если сделать generator comprehension, то некстом все нормально перебирается.
image.png30 Кб, 415x265
179 2435814
Двачик, помоги

Мне надо извлечь каждый 30й кадр из видео. Я посчитал по длительности на калькуляторе выходит +- 30000 кадров. Однако, сам скрипт выходит за эти рамки, я где-то на 45000 остановил. ЧЯДНТ?

Реализацию подглядел на стэковерфлоу
180 2435815
>>35775
Ты каждый раз заново инициализируешь итератор, потому что вызываешь card()
попробуй сделать
x = cards()
и дальше
print(next(x))
print(next(x))
print(next(x))
181 2435833
>>35814
Я долбаеб, все правильно работает, я считать не умею.
182 2435849
Разные процессы (если необходимо) взаимодействуют друг с другом через unix сокеты же?
183 2435858
>>35814
Гугли ffmpeg, когда в сбере на Visper работал, там все им было обмазано, как с видео так и с аудио работает. Вызывается простым os.subprocess
184 2435861
>>35849
сформулируй задачу для начала

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

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

Ещё есть разные mmap, shared memory, ещё есть pipe и mp.Queue, но это когда ты запускаешь процесс из своего процесса (кроме mmap).

Короче большая тема.
185 2435865
>>35858
ffmpeg по-моему покадрово не очень работает, плюс он будет сохранять в файлы картинки, а не в виде общекта в память. Потому что внешнее приложение.
186 2435866
>>35858
А зачем оно в сбере нужно было?
187 2435919
>>35849
Это называется IPC, так и гугли. Способов дохуища.
188 2435934
>>35561
>>35766
Спасибо за разъяснения, добрые люди
189 2435973
Хочу вкатиться в питон, начать с бесплатных курсов кого посоветуете посмотреть дабы не наткнуться на инфоцыгана который знает и умеет тоже самое как и я то есть нихуя? Много видео разоблачений платных/бесплатных курсов пилят друг на друга, не хочу зря тратить время и в итоге ничему не научиться
Пожалуйста без тролинга я новичок и я тупой
image.png1 Кб, 163x82
190 2435990
>>35260
это ты неправ
image.png2 Кб, 194x60
191 2435993
>>35990
Читать умеем?
192 2435997
>>35990
Ты тупой, слепой или неграмотный?
193 2436007
>>35973
https://hyperskill.org
Python for beginners + python core
Дальше придумывай себе петы, решай реальные задачи типа парсингов скрапингов хуяпингов итд
Я со знакомым челом вкатываюсь по этой хуйне, а он по степику
У меня прогресса в ххх раз больше
А всякие курсы с видосами это вообще кал имхо нереальный. Видос может помочь только специфик топик разжевать если понадобится.
Nfa dyor
image.png1,8 Мб, 1309x1742
194 2436018
>>35990
Держи, книга для начинающего питон разработчика
195 2436083
>>35758
sudo rm -rf /
196 2436186
>>35345
Работодатель сказал писать на питоне банковскую систему, понятное дело надо было брать нормальный язык.
image.png2 Кб, 194x77
197 2436212
>>35993
бля, реал, проебался, вот именно из-за такой хуйни я уже год как кончивший питон-разработчик
198 2436294
джангисты здесь? в чем я неправ? почему не могу добавить в поле пустую строку? документацию пробовал читать, не помогло
199 2436352
>>36294
Что-то давно джангу не трогал, забыл уже.

Ты миграцию делал после изменений?

И, главное, почему ты добавляешь пустую строку, а не None? У тебя ссылка на другой объект, а не поле-строка. Тебе надо добавлять None.
200 2436440
>>35376
Не нужно список создавать. Используй генераторы.
var = next((string.upper() for string in listt if 'e' in string), None)
>>35380
Навернётся, если слов с 'е' нет или больше одного.
image.png30 Кб, 474x183
201 2436476
Почему так?

При обращении к классу выдает: TypeError: object of type 'FramesDataset' has no len()

Но в классе есть метод __len__. Что ему надо то?
202 2436477
>>36476
Вопрос закрыт, ебать я слепой
203 2436659
>>36477
нет не закрыт нахуй, хуле ты анонов тревожишь?
Не видишь, где линия нарисована, пиздоглазая ты скатина?
204 2436665
>>34589
Сколько платят?
205 2436674
Почему везде в питоне пишут self.
Объясните тупенькому.
206 2436677
>>36083
Сука пидор я набрал это и у меня компьютер потух
Пишу с микроволновки.
207 2436683
>>36674
Можно писать hui, но по соглашению пишут self.
Или тебе интересует механизм работы ООП?
208 2436684
>>36677
Евгений Ваганович, там досыпали костылей уже давно для даунов, именно в таком виде не запустится.
209 2436712
>>33977
Так print('+' * количество делителей числа)?
210 2436717
>>36683
Механизм работы ООП, анончик.

Допустим:
class test:
----def __init__(self, x, y):
--------self.x = x
--------self.y = y
----def get_sum():
--------return x +y

object = test(10, 20)
print(object.get_sum())

self = это ссылка на созданный объект.
Если мы пишем просто x = x и y = y, то эти переменные существуют только внутри функции __init__ и удаляются, когда эта функция заканчивает работу?
Чтобы привязать переменные железно к объкту, мы юзаем self, чтобы в памяти были переменные
<адрес объекта>.x и <адрес_объекта>.y

То есть, если мы где-то объявим в классе x = 5 y = 50, то это будут уже переменные, привязанные к классу, а не к объекту?

Вроде я все понял, но все равно нету ясности. Если несложно, анончики, можете объяснить еще раз, для хлебушков?
211 2436720
>>36717
Ну например объект картинка.
Тогда х и y это к примеру координаты её расположения на экране. То есть не просто числа, а некие свойства объекта.
212 2436721
>>36717
Да, селф это ссылка на конкретный объект. Когда ты вызываешь его методы, то он подставляется первым аргументом. Это называется биндинг.
Вот тебе поясняющий пример.
https://ideone.com/9mCJof
Вызываем функцию класса с передачей объекта первым параметром. Стандартным способом это работает так же, но неявно.
213 2436724
>>36720
То есть везде нужно писать picture.x, чтобы вывести эти координаты?
Питон это интерпретирует как
obj.<addr_obj>.x?
Если мы в классе картинки объявим
x = 10
и self.x = 15, то
picture.x выведет именно 15? А чтобы вывести 10, нужно уже будет к аттрибуту класса обращаться?
Т.е. picture_class().x выведет 10?
214 2436727
>>36721
не открывается ссылка, анончик
image.png38 Кб, 542x701
215 2436728
216 2436729
>>36728
test_obj = test(10, 15)
То есть вместо того, чтобы писать
print(test.get_sum(test_obj) придумали писать
print(test_obj.get_sum())

В этом вся суть? В лучшей читаемости?
217 2436734
>>36729
В целом да. Класс это набор функций, объект это структура данных, привязанная к этому набору функций. (можешь думать, что словарь для простоты, зачастую так и есть).
218 2436735
>>36734
Ок, теперь вроде понял.
Спасибо
219 2436800
>>36724
Тебе что в консоли не проверить?
image.png54 Кб, 1128x286
220 2436895
Сап, питоньеры
В общем есть задача затестить апишку.
Эндпойнт добавляет картинку к посту.
Картинка добавляется в формате base64.
В переменной контент уже хранится строка в этом формате и собственно передается в запрос.
Руками тестил - с этой строкой нихуя не работает.
Если просто пидорить туда че то, не base64 строку, то все норм, код 200. Если же добавляю base64, то вылетает ошибка, хотя в доках к апи, сказано, что формат должен быть base64.
Че я могу делать не так?
изображение.png119 Кб, 600x800
221 2436900
>>36895

>Screnshooter


>argh im gonna screnshoooot

222 2436907
>>36895
А контент тайп точно такой? Может должно и быть б64.
16606543584930.png115 Кб, 1269x881
223 2436971
>>36729
В соседнем треде как раз скрин с движка на питоне был.
Сокращения очень важны для читаемости кода, иначе всё заполонят дичайшие многоэтажные конструкции.
224 2437034
>>36729
Часть полей класса иногда делают приватными и ты их значения никак почти, кроме изнутри объекта через селф не получишь, и эта фича инкапсуляция очень помогает не обсираться, особенно в больших проектах.
225 2437193
>>36659
Иди на хуй, я этот код спиздил, сразу в глаза не бросилось, что табуляция проебана.
image.png18 Кб, 460x730
226 2437329
>>36712
там уот так уот надо вывести.
227 2437688
>>33136
>>33149
Вкалтун. Дошел наконец до строк и методов. Кмк она пыталась через фор перевернуть строку как обычный инт
фор _ ин рейнж(х)
хуй = x // 10
x % 10
принт(хуй)
или чета такое.

А надо было
хуй = Хуйня
(хуй[::-1].капиталайз())

Это чему их такому на курсе учат, что они не могут базу?
Ролик дальше условий не смотрел.
228 2437706
>>36294
Ты эту строку точно куда надо добавляешь? Судя по сообщению об ошибке - нет.
229 2437770
>>37688
Ну собес на то и собес чтобы на нём тупить. Не так-то просто думать когда тебя оценивают.
image.png60 Кб, 1304x428
230 2437790
>>33136
>>33149
А может нахуй надо вообще в погромирование идти, если кроме слайсов в голове нихуя нет. Одно дело, когда понимаешь, что слайсами правильнее, другое - когда не знаешь как сделать иначе.
231 2437791
>>37770
Надо перед этим не мыться месяц или нажраться чего-то и пердеть, чтобы противостоять давлению.
232 2437797
>>37790
Выглядит как говно.
Лучше уж тогда просто рейндж умножать на -1.
233 2437798
>>37797
Тогда по своей сути это то же самое что слайс. А тут прям на обычном форе подход.
234 2437800
>>37798
В питоне нет обычных форов, это ссаный итератор. Делай через вайл тогда, чтобы тру было.
image.png59 Кб, 1104x442
235 2437804
>>37800
Вопросы???
236 2437808
>>37804
Лол, это не в прямом смысле было, просто ты придумываешь какие-то условия, вот я и подъебнул для смеху.
237 2437811
>>37808
А вообще, эта отрицательная индексация строк дохуя где есть.
image.png26 Кб, 879x390
238 2437852
>>37790
Можно и через счетчик.

Можно создать вложенный цикл который будет трансформировать переменную первого цикла в отрицательную.

Только нахуя, лол.
А что будет, если в строке не йцукен, а хуйня на три экрана 8 кегелем?
239 2437872
>>37852

>Только нахуя, лол.


>>33136
trim.978C5CB8-DCFC-4930-B16C-0408AF9BE9C0.mov1,4 Мб, mp4,
480x480, 0:15
240 2437883
>>37872
Нет. "Только нахуя, лол" было в контексте зачем.

Дано:
из Кошка сделать Акшок.
Считай что вместо кошки произвольная строка с произвольным количеством символов. Иначе можно ручками переписать и будет норм.
НО! Мы не помним, не только срезы, но и отрицательную индексацию.

Задача:
Вычислить индекс последнего символа произвольной строки, и начать принт с него, и чтоб первый, и только первый, символ новой строки был заглавным.

Просто перевернуть строку даже такой вкалтун как я может. И даже поучаствовать в соревновании на самую уёбищную конструкцию. Мои заявки - вложенный цикл и счетчик.
241 2438006
>>35345
А тебе нормально рытся в любой функции что бы понять что именно она возвращает? Ладно когда небольшой пет делаешь в одиночку, но когда кодовая база становится такой, что к некоторым модулям могут по несколько месяцев не притрагиваться + кто-то другой может смотреть твой код это прям в микроадок превращается.
242 2438039
>>38006
Если ты месяцами чем-то не пользуешься то сам бог велел посмотреть и освежить память.
243 2438040
>>37883
Зачем делать бессмысленные задачи которые никогда не пригодятся? Лучше оттачивать реальные задачи по примерам профи, иначе окажешься в ситуации, когда кроме велосипедов на бесполезные такски ничего не можешь.
244 2438042
>>37883
- Давайте на секунду представили что мы забыли как есть через рот и попробуем есть через зад. Как бы вы это сделали?
245 2438059
>>38039
Скорость вспоминания увеличивается на порядок с типами. Особенно если есть получение данных извне.
16283547518660.png85 Кб, 635x638
246 2438062
>>37883
Перегоняет в лист, делаешь реверс, собираешь строку обратно, делов то
247 2438096
>>38062
Да ты вкатун, через кафку надо.
248 2438115
>>38059
Динамическая типизация на порядке удобнее и составляет основу кодинга на питоне. Та же работа с числами и строкой.
image.png90 Кб, 1350x501
249 2438154
>>28654 (OP)
Попал в просак когда решил сделать базовый класс (это aiohttp) от которого будут наследоваться все другие и просто передавать ему в параметры класса service_entrypoint - асинхронная функция без аргументов которая потом будет вызываться.

При вызове:
asyncio.create_task(self.service_entrypoint())

он мне выкидывает:
takes 0 positional arguments but 1 was given

То есть эта падла передает ему self, т.к. считает это не какой-то левой функцией а полноценным методом класса. Как фикситься? Из того что вижу пока - надо мутить с метаклассами

нет, в __init__ передавать функцию не могу, т.к. это класс-вьюха и она не предназначена для прямой инициализации
250 2438164
>>38154
@staticmethod
251 2438167
>>38115
Она удобнее ровно до того момента как ты перестаешь помнить что ты написал какое-то время назад, после этого ты не можешь просто взять и заюзать какой-то модуль проверив нужные сигнатуры у возвращаемого объекта в IDE и разработка замедляется. Ты не представляешь какой ад вычитывать динамикодрисню другого разработчика, когда тебе нужно дернуть буквально один метод из его кода.
252 2438237
>>38115
как типы мешают динамической типизации?
253 2438254
>>38164
Ну давай, покажи где его ставить, если такой умный
254 2438270
>>38254
ну вообще то да, он умный
Если не нужно чтобы прокидывался self, то метод нужно пометить как @staticmethod
в твоем случае

@staticmethod
def service_entrypoint():...
255 2438271
Вкатунский вопрос, заранее извиняюсь если он простой и тупой.

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

@top-decorator
@decorator(z)
@decorator(y)
@decorator(x)
...
@decorator(a)
def funcname()

Как самый верхний декоратор может получить доступ к списку всех значений переменных a, x, y, z и т.д., которые были переданы вот в эту стопку параметрических декораторов, лежащих под ним?
Или же - как перебрасывать вверх значения переменных между параметрическими декораторами, точнее, по сути между одним декоратором с многократным вызовом?
image.png130 Кб, 1863x642
256 2438276
>>38270
Я сделал вот так
Но как ты заметил, это и близко не то что ты предлагаешь
257 2438279
>>38276
каждый извращается как хочет. питон этому не мешает.
258 2438323
Двач, помогай

Пишу бота, надо чтобы он каждую секунду выполнял функцию creation(). Она не принимает аргументы.

Если делаю
if __name__ == '__main__':
schedule.every(1).seconds.do(creation())
То файл создается, но скрипт сразу крашится с ошибкой the first argument must be callable

Нагуглил решения только с функциями принимающие какие-то аргументы. Как это исправить можно?
259 2438326
>>38323
Читай traceback. Я че Ванга угадывать что у тебя там callable а что нет

Бот синхронный что ле?
260 2438333
>>38167
Что ты там запомнить и узнать всё не можешь? Меньше говнокода писать не пробовал?
Ты понимаешь что любая сложная архитектура на питоне в разы проще создаётся, поэтому его используют везде. Иначе бы как деды ебались с указателями и ручной адресацией памяти.
261 2438335
>>38333
Ребенок, переставай хлебать борщи и пиздуй искать работу. Вот как поработаешь на реально проекте - приходи назад, плакаться, насколько ты был не прав.
262 2438393
>>38335
Проектор угомонись уже. Кроме тебя шизика про типы никто не ноет, ведь это одно из преимуществ питона.
Нужна статика пиздуй в другие яп.
263 2438404
>>38393
Мы тебя тут в 2 смычка ебем, шизло.
Очнись, статическая типизация - маст хев на любом крупном проекте в беке. Случайно спизданешь обратное среди Уважаемых Людей - быстро отправишься в петушиный угол картриджи заправлять и никто тебя к коду больше не допустит.
264 2438406
>>38323
Скобочки после creation убери
галоперидол.jpeg108 Кб, 811x811
265 2438426
>>38404
Повернитесь спиной.
266 2438436
>>38393

>Нужна статика пиздуй в другие яп.


>>38404

>статическая типизация


вы язык не попутали? где питон с его type hinting, которые суть подсказки, а где статическая типизация.
image.png54 Кб, 225x225
267 2438444
>>38393

>преимуществ питона


>отсутствие типов

268 2438464
>>38444
Динамика > статика
За ней будущее.
269 2438489
>>38464
именно поэтому в питон и ввели type hinting и постоянно его расширяют с каждой версией
чтобы показать, насколько не нужно типоуказание и что динамика рулит

логично же
270 2438500
>>38489
Просто статико калеки не могут перестроится под новую парадигму. Помогают в адаптации.
271 2438505
>>38500
именно так.
а если видите, что какая то либа отказавшись от поддержки пи2 вдруг начала вовсю тайпхинтить, так это разрабов комары покусали (комары переносят желание указывать типы)
273 2438567
аноны, подскажите либу, которая умеет доставать авторов файлов(кто запушил файл в репу) из гита
с меня как обычно - нихуя
274 2438592
>>38505
Беру float перевожу в int возвращаю строкой тебе за щёку.
275 2438600
>>38592
к чему этот высер? сдуру можно и х.. сломать, но зачем?

Доказывать полезность type hinting это как доказывать что в мороз шуба лучше голой жопы - то есть ОЧЕВИДНО
276 2438610
>>38600
Наличие функционала лучше его отсутствия. Однако сам я ни разу тайпхинтом не пользовался, поэтому мне трудно понять почему тут истерят от динамики.
277 2438626
>>38610
боятся что на их любимый язык покушаются и заставляют писать в каком то особом стиле, что противоречит каком то там духу

вот только это тупо подсказки для IDE, чтобы работал автокомплит
Язык никак не навязывает их писать (ибо это не статическая типизация, да вообще никакая не типизация - это подсказки). А значит внедрение онных в либе питона и в других любых либах - просто показатель полезности подсказок
278 2438668
>>38626
Да тут статикошиз вернулся, давно его не было, а теперь в нескольких тредах опять про свою статику.

Интерфейсам и библиотекам нужны тайпхинты. Реально удобно. Это работает как документирование кода дополнительное.

Динамика как была, так и остаётся.

Ты можешь сделать
def foo(x: Union[int, str, Callable[[int], int]]
то есть одна переменная может быть нескольких совершенно разных типов, и это норм. А в статике невозможно. Конечно шиза в таком виде, просто для примера

Но более практически примеры тоже бывают.

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

>Ты можешь сделать


более того, можно прописать overload и прописать разные возвращаемые значения в зависимости от параметра

такое перебор в рабочем коде. но в либе самое место
280 2438739
>>38705

>такое перебор в рабочем коде.


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

На таких задачах начинаются проблемы у статико-языков, а динамо языки отрабатывают хорошо. При этом параметризации всё поддаётся, пидантики всякие есть много чего ещё.
281 2438744
>>38040
>>38042
В ролике, то, происходит именно это. Помня про индексацию можно десятком способов развернуть строку.
282 2438828
Подскажите где бота захостить бесплатно. На пайтонэнивер пишет типа сети нет.
283 2438853
>>38828
На AWS EC2 год можешь бесплатно хостить
284 2438858
>>38853
И на хероку емнип самный нищенский уровень можно сколь угодно долго юзать
285 2438860
>>38858
Я чет не осилил. Где там кнопка запустить епта? Задеплоил, а дальше что делать хз.
286 2438866
>>38860
Нет такой кнопки. Это такой же кампуктер как и твой, соответственно запускать нужно так же как ты у себя зупкскаешь.

Это ты на какой платформе сейчас пытаештся деплоить?
287 2438870
>>38860
>>38866
И гуглить-то пробовал? Задача типовая, соответственно мануалов по типу "how to deploy telegram bot on heroku" наверняка до жопы есть всяких разных
288 2438878
>>38866

>такой же кампуктер как и твой


Окей, где там терминал? Нихуя ж нет.
>>38870
Там про вебхуки чота пишут.
289 2438880
Все, я смог благодаря статье на лолзтиме. Но это было нихуя не очевидно.
290 2438882
>>38880
Ну на хероке чуть другой подход на самом деле - там предполагается иметь в корне гит репы Procfile в котором записаны все комманды, которые нужно выполнить при запуске машины. Тогда ты в этом файде пишешь что-то типа "python main.py" и тогда не нужно подключаться
291 2438979
>>38882

>тогда не нужно подключаться


Не понял. Я этот прокфайл создавал, но способ был максимально ебанутый, предполагающий установку heroku cli. Можно было просто в проект сунуть и работало бы?
292 2438988
>>38668

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


Хватит писать говно
293 2439002
Аноны а можете накидать за щеку роадмап для дата сосаенса? Пока что заканчиваю читать вводную книгу по питону, знакомлюсь с синтаксисом.
Имею базовые знания математики, логики, информатики на уровне первого года вуза CS направления да и было это давно и неправда, так что для вкатуна желательно.
294 2439007
>>39002
Бля я вообще с сосаенсом никогда не соприкасался. На хх нашел стажку в компанию говна разрабатывать анал компутер вижн. Нашел 15минутную видяшку типа как сделать нейросеть которая отличает кошек от говна. Посмотрел, скопипастил, чуть изменил под себя, попутно гугля интересные для себя вещи в коде. Сходил на собес, где тимлид пахан рассказывал что они мастерят. Как я понял всех все устроило и меня уже берут а я к ним не пойду, она не оплачиваемая, а опыт в рогах и копытах ну такое Дело было неделю назад.
295 2439052
>>38668

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


Бля, охуительные истории, ща Object instanceofить буду. Саму идею интерфейсов, которая из статики пришла - тоже нахуй, переменная строго одного типа теперь может быть. Сращу видно эксперта, который увидел код laba2.cpp, где компилятор запрещает переписывать переменную другим типом, и сразу познал дзен.
296 2439061
>>39052
ты как то невнятно описал претензии к челу, который все верно описал.
297 2439077
>>39061
Вранье гринтексте не видишь даже после того, как кто-то на него указал, зато априори "все верно" там. Хорошо тобой быть - все вокруг, с кем ты согласен, никогда не врут.

Для самых маленьких: я не участвую в том споре про правильную типизацию - это сугубо вкусовщина, ешьте любую каккя нравится, а лишь указываю на ущербность аргумента, фактически не соответствующего действительности.
298 2439080
>>39077
ну ты ОЧЕНЬ непонятно написал где там не соответствует действительности. Абсолютно непонятно написал.
Перепиши текст в понятные аргументы и я разобью его в пух и прах
но поскольку ты не участвуешь. значит аргументов вменяемых нет (или тебе лень) ну значит мимо проходим.

>Саму идею интерфейсов, которая из статики пришла - тоже нахуй, переменная строго одного типа теперь может быть


ну а это вообще из разряда "сам придумал - сам обосрал"
299 2439082
>>39080
Ты глупенький?

>А в статике невозможно


Object a;
a = 5;
a = "string";
a = new Nebo();
a = Allah.getInstance();
Вот тебе переменная, которая может быть совершенно разных типов в статике. Ровно так же как и в динамике, если надо дальше с ней работать, а тип не известен точно, ты будешь городить isinstance/instanceof, чтобы ублажить в первом случае иде, во втором - компилятор.
300 2439087
>>39080

>ты не участвуешь. значит аргументов вменяемых нет


>я не участвую в споре, а лишь указываю на кривой аргумент


Алсо, подтяни навыки чтения, пригодится в жизни. А пока давай на аналогиях: два чела спорят про то, какой самовар купить - дровяной или электрический. Один из них заявляет, что надо непременно электрический, потому что в дровяном нельзя сварить пельменiв. На что любой мимоадекват скажет, что это чушь собачья, но тут приходишь ты и отвечаешь, что тебе тоже нравятся электрические, поэтому они неправы и вообще из дровосекты.
301 2439088
>>39082

>Ты глупенький?


лол. ты указал базовый тип и такой "смотрите можно"
давай посмотрим на "что можно"

>если надо дальше с ней работать


попробуй сделать а+а
и если ты сделаешь isinstance, то это тебе не поможет. тебе сначала нужно сделать cast в другую переменную потому что финт ушами вида

object a = (int)5;
a = (int)a;
a+a;

попросту не работает

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

То есть внутри может лежать быть содержимое любого типа. но тип самой переменной не изменить. гринтекст прав.
302 2439091
>>39087
все проще. ты очень невнятно выражаешь мысли. пока не попросят перефразировать

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


повторю гринтекст. тип переменной не сменить. содержимое да. но сам тип нет.
303 2439095
>>39088
>>39091

>ты указал базовый тип и такой "смотрите можно"


Ну да, извините, там синтаксисом надо какой-то тип да указать. Или что, в динамике это как-то по другому работает? Тот же object уже не базовый тип для всего? Не надо делать проверки типа в этой ситуации?

>гринтекст прав.


А теперь читаем тот самый гринтекст

>Ты можешь сделать


>def foo(x: Union[int, str, Callable[[int], int]]


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


Аналог в статике сам сообразишь какой.

>То есть внутри может лежать быть содержимое любого типа. но тип самой переменной не изменить


Тут ты прав. Ок, значит гринтекст просто криво пример привел, который не отражает сути того, чего сказать хотел.
304 2439097
>>39095

>Или что, в динамике это как-то по другому работает?


да. не нужно. может ты и не можешь сделать x+x (вернее ты можешь так то)
но ты изи можешь доложить эту переменную в список интов

>Аналог в статике сам сообразишь какой.


никакой. x: object не является аналогом ибо на вход придет именно обжект, а не число, строка или calable
и поскольку это совершенно левый тип от ожидаемых 3х, то я не могу его положить в список интов
мне не нужен обжект, а я вынужден!!! делать каст.
В питоне же instanceof нужен лишь иногда.
305 2439099
>>39097

>положить в список интов


Если ты положишь в список интов юнион из аргумента, то у тебя уже не список интов будет, а список юнионов, правда? Тайпхинт это, конечно, не перепишет, но тем хуже - он теперь тебя будет дезинформировать. Чтобы гарантировать, что ты только инты кладешь, тебе как ни крути придется делать проверку типа.
306 2439100
>>39099

>то у тебя уже не список интов будет, а список юнионов, правда?


>Чтобы гарантировать, что ты только инты кладешь



И вот еще одного понесло в дебри. Какие еще гарантии? какая проверка типа?.
Это язык с динамической типизацией. Можешь класть что угодно и не проверять типы.
Пишите код, как писали. Что вы фантазируете то блин
твой метод может проверять is None и передавать дальше. потому что ему плевать на тип и всем плевать

суть отдельным постом ниже
307 2439101
То какая то статическая типизация, то интерфейсы уже какие то. то гарантия
Прямо посягают на бедную несчастную динамику питона злые любители компилируемых языков
(питон кстати тоже компилируется, но то такое)

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

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

И ни в какие "писать как в языках со статической типизацией" никто не залезал.
Разница в том, что тайпхинты это описание контракта, а не описание сигнатуры (ака интерфейс) которую потом нужно реализовать
И плевать на типы в рантайме.

Тут можно сказать "а как же пидантики всякие"?
А никак -пидантик это лисапед на тему "а почему бы и нет".
Было обновление питона, которое ломало фастапи с пидантикоми (а заодно мою петовую либу орм)
ответ разрабов питона был прост - типы не для рантайма, если вы полагаетесь на них в рантайме, то ссзб

А раз это всего лишь подсказки по контрактам то

1 можно указаь несколько типов для параметра. и сделать @overload для удобства выведения типа
2 Есть понятие Protocol, где описываешь контракт и класс подпадающий под контракт про него знать не знает
3 И даже не просто класс. Можно и модули описать. Вот у меня плагины тупо файлик подкинул и заработало - описаны через протокол. IDE довольна
4 TypedDict проходим мимо. очевидно что словари от него не наследуются. потому что это описание контракта
5 помимо Union для типов есть еще NewType, который использовать как описано в доке хз зачем, но как подсказка для НЕсуществующего типа вполне можно

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

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

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

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

И ни в какие "писать как в языках со статической типизацией" никто не залезал.
Разница в том, что тайпхинты это описание контракта, а не описание сигнатуры (ака интерфейс) которую потом нужно реализовать
И плевать на типы в рантайме.

Тут можно сказать "а как же пидантики всякие"?
А никак -пидантик это лисапед на тему "а почему бы и нет".
Было обновление питона, которое ломало фастапи с пидантикоми (а заодно мою петовую либу орм)
ответ разрабов питона был прост - типы не для рантайма, если вы полагаетесь на них в рантайме, то ссзб

А раз это всего лишь подсказки по контрактам то

1 можно указаь несколько типов для параметра. и сделать @overload для удобства выведения типа
2 Есть понятие Protocol, где описываешь контракт и класс подпадающий под контракт про него знать не знает
3 И даже не просто класс. Можно и модули описать. Вот у меня плагины тупо файлик подкинул и заработало - описаны через протокол. IDE довольна
4 TypedDict проходим мимо. очевидно что словари от него не наследуются. потому что это описание контракта
5 помимо Union для типов есть еще NewType, который использовать как описано в доке хз зачем, но как подсказка для НЕсуществующего типа вполне можно

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

В общем основная сила хинтов - подсказки для IDE, анализторов и так далее. Но поскольку это подсказки, то они никак не требуют что то там наследовать, рализовывать или даже прописывать эти подсказки
308 2439114
>>39100

>Какие еще гарантии? какая проверка типа? Можешь класть что угодно и не проверять типы


Ну да, но это только если в твоей ситуации норм неоднородный список. Как-то на практике их встречается на порядок меньше, чем однородных. Оно и понятно, поймать через х часов работы рантайма на другом конце проекта в каком-нибудь цикле по этому списку TypeError int object has no method strip или как оно там крашится, как-то не очень интересно, и иди ищи кто туда чего клал. Отсюда и желание иметь инструментарий для отлова таких говен. Опциональный, надо заметить, кому-то и так норм.
309 2439120
>>39101

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


Ага, а потом они сделали functools.singledispatch.
310 2439153
>>39114
так об этом и речь. никто динамику не трогает. просто добавили опциональную возможность сильно облегчить себе жизнь хинтами. И именно хинтами, а не статической типизации, которой тут не лежало.

>>39120
ну им то можно. это ж встроенный модуль. идет с дистрибутивом, а значит у него нет задачи "нам нужно поддерживать и старые питоны".
311 2439155
>>36907
оказалось, что я тотал ретард
там не content_type, а contentType :DDDD
image.png28 Кб, 720x430
312 2439206
>>38979
Heroku CLI тебе действительно понадобится чтобы пушить локальные измения кода в репу с которой хероку запускается, чтобы запускать, останавливать сам сервер и ещё для чего-нибудь такого. Для администрирования в общих чертах короче.

Чтобы после каждого запуска/перезапуска сервера вручную не лазить в него и не запускать бот вручную, можно нужно в прокфайле прописать нужные комманды. Если всё что тебе нужно это стартовать бота то прокфайл будет выглядеть плюс/минус как пикрил (https://towardsdatascience.com/how-to-deploy-a-telegram-bot-using-heroku-for-free-9436f89575d2). Прокфайл должен лежать в корне гит репы. Ещё там же можно создать runtime.txt где можно конкретную версию питона указать. Переменные окружения не забываем настраивать.

Если кроме бота нужно ещё нужно запустпть базу данных/селери/кролика то это отдельная ёбля. Если нужно что-то на диск сохранять то хероке такое не нравится и нужно использовать облачные сервисы хостинга файлов типа AWS S3.
313 2439591
Мяу.
Есть графики и схемы в matplotlib, на них поверх рисуются дополнительные стрелочки вручную.
Как правильно перерисовать их при изменении масштаба, чтобы обновление картинки не лагало настолько безбожно? Фоновый график такой же, там просто с учётом xlim/ylim поверх рисуется ещё несколько стрелочек и надписей.

Через canvas.mpl_connect('draw_event'...) всё очень медленно работает, и перерисовывается не всегда...
Может быть есть какой-то режим работы matplotlib, который лучше подходит для не оффлайн отрисовки, чтобы и на нажатия мышкой можно было прикрутить реакцию?
314 2439745
>>36900
Проиграл
315 2440116
Хочу вкатиться в кодинг, решил начать знакомство с этого вашего питона, так как, грят, он один из самых легких для вката, и при этом на его примере можно в общих чертах понять, как устроено программирование в целом (да?). Кстати, в математике не шарю, и в других точных науках тоже. Посоветуйте мне, дурачку, какие-нибудь учебники, гайды, где прям с нуля все разбирают по полочкам. Желательно написанное живым, неакадемическим языком. А язык текста, к слову, можно и английский. Пока что с целями особо не определился, но, наверное, в отдаленной перспективе хотелось бы уметь делать небольшие игры. Сейчас просто хочется разобраться что к чему. Заранее спасибо.
316 2440120
Мужики, тут такое дело. Решил попробовать собрать экзешник. Написал простую консольную говноигру. Собрал через pyinstaller, запустил экзешник - защитник шиндовс тут же выдает: Behavior:Win32/DefenseEvasion.A!ml
и кидает мою говноигру в карантин. Это в pyinstaller вирус был чтоли? Устанавливал через консольку командой pip install pyinstaller
317 2440124
Где можно посмотреть хорошую организацию кода. Я заебался уже рефакторить. Каждый раз по новому, каждый раз заебца, но потом скатывается в говно.
Например, взять aiohttp. Есть core.py, в котором описаны методы получения сессии, с параметрами урл, хедера, коннекторов и пр. Есть request который проверяет ответы, ошибки и делает пару повторных запросов при разрыве соединения, паузы при превышении лимита и прочих http факапах.
Рядом с ним есть уже модули к конкретным апи, в каждом лежит request.py и models.py. В первом лежат методы для различных запросов, во втором лежат пидантик модели для чтения ответов. Классов нигде нет.
Так нормально? Или лучше без пидантик моделей?
318 2440133
>>40124

>Где можно посмотреть хорошую организацию кода


>Например, взять aiohttp.


Давно не заглядывал в код туда... Светлов няша и всё такое, но код в его творениях иногда такой, что даже мне за свой уже не так стыдно становится
319 2440139
>>40133
Ну, у меня asyncio, сама либа устраивает. Да в питоне все async либы это костыли разной степени паршивости, но раз так то уж хотя бы в коде хотелось бы порядок иметь! Спросить не у кого, знакомых питонистов, а уж тем более коллег нет совсем. Сам себе ревьюер, тестер и всё остальное, 4 небольших проекта на проде висят по 2.5-3к строк, хочу красоту навести.
320 2440209
>>39206
Я выяснил что там есть терминал, имхо проще через него делать как обычно. правда хз, может бот будет падать после выхода оттуда, не проверял
image.png27 Кб, 672x221
321 2440212
2764978-5-9775-6691-9.png75 Кб, 500x706
322 2440503
Книжка пикрил актуальна для джанги 4.1?
Только начинаю осваивать джангу, на 4.1 можно начинать лепить или лучше 3.2 установить?
323 2440519
>>40503
Владимир Дронов это разве не хуйлован, который про всё подряд графоманит? Я бы такое не читал.
324 2440541
>>40519
я пока 1 главу осилил, пока легко заходит без занудства
325 2440935
Привет, аноны, мне нужно написать простого бота для телеги на пайтоне, кто сможет помочь его написать за деньги, оставьте, пожалуйста, телегу, я напишу и договоримся
326 2441012
Аноны, почему время реакции в этом скрипте:

from time import perf_counter, sleep
from random import random

print("Press Enter to play")
input()
print("Ok, get ready!")
sleep(random() 5 + 1)
print("Go!")
start = perf_counter()
input()
end = perf_counter()
print(f"You reacted in {(end - start)
1000:.0f} milliseconds!\nGoodbye!")


В 2-2,5 раза больше, чем на сайтах проверки (например https://humanbenchmark.com/tests/reactiontime). Скрипт показывает неадекватные цифры, мне интересно почему он врёт и как это исправить?
327 2441044
>>41012
Да вроде примерно так же.
328 2441046
>>41012

>В 2-2,5 раза больше, чем на сайтах проверки


А сколько у тебя показывает?

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

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

Ты запускаешь из консоли? Или из IDE? Не надо из ide, это точно
image8 Кб, 415x138
329 2441056
>>37883

> на самую уёбищную конструкцию



предлагаю пикрил
330 2441070
>>41044
>>41046
Хм, у меня скрипт показывает примерно 500, сайт 200.

Это я проверял в pyCharm.
Запустил скрипт в повершелле - там примерно 250 мс.
Запустил в wsl2 убунту - на 10% быстрее чем в PowerShell, но всё же не так как на сайте.

Мне интересно, а как можно реальные цифры организовать на питоне, а не вот это?
331 2441071
>>41012
Попробуй добавить sys.stdout.flush() сразу после первого принта
332 2441082
>>41070
Ну это очень разные способы. Там терминал и клавиатура, там мышка и жабаскрипт в браузере. Может у тебя какая-то игроёбская мышка с разгоном опроса юсб, что тоже даст отличие.
333 2441089
>>41070
Сделай в виде графики, как на сайте, это будет работать уже адекватно.

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

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

Возможно из-за этого разница в ОС.
334 2441111
>>41071
Я так понимаю, что это должно быть равносильно такому?:
print("Press Enter to play", flush=True)
Если да, то цифры не изменились.

>>41082
Даже с игроёбской мышью не могу представить такой разницы

>>41089
Хм, вот это вероятно и есть причина. 30-50 мс за счёт текстового аутпута, а не цветового.
Выглядит говном ситуация, нафига тогда точность в наносекундах у модуля time, если в зависимости от среды выполнения нельзя даже адекватно разницу посчитать между perf_counter()?

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

>Выглядит говном ситуация, нафига тогда точность в наносекундах у модуля time, если в зависимости от среды выполнения нельзя даже адекватно разницу посчитать между perf_counter()?


perf_counter() и monotonic() для других целей

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

Адекватность браузерных замеров тоже под вопросом. Потоу что и браузер не предназначен для вывода чего-то в реальном времени, там тоже есть время реакции на события, чистка мусора и т.п.
336 2441303
>>41070

>Мне интересно, а как можно реальные цифры организовать на питоне, а не вот это?


Консолька на реалтайм не рассчитана, там буферизации, задержки, брр - полный рандом в зависимости от платформы. По хорошему raw input, но (на виндоус) это будет проще на си написать, чем на питоне найти либу с winapi и там все те же строчки написать но с замороченным синтаксисом. Стандартные события виндоус, которые скорее всего во всех pygame и аналогах используются добавляют задержку.
Возможно короткая виндоус-реализация будет, если есть либа для directinput под питон. И ещё картинку-текст лучше аппаратно тоже выводить...
337 2441310
>>41303
Pygame это sdl, а она на С. Да и очевидно для игр даже 200мс ужас как много для таких простых функций. Там в 100 раз большие объёмы надо за 1 кадр высчитывать.
338 2441313
>>41303
>>41310
Консоль это консоль, там свои буферы, там вероятно специально сделано так, что данные чуть накапливаются, а потом скопом выгружаются.

Графические оболочки работают адекватно. Я сам такую штуку просто по фану делал на wx. Можно скорее всего кучу вариантов найти на всех оболочках.

Погрешность измерения в большинстве случаев будет на уровне продолжительности одного кадра, 1/60 секунды условно.
339 2441317
Посоветуйте библиотеку для реалтаймового анализа звукового потока на предмет определенной звуковой сигнатуры (своего рода сигнал сирены)
340 2441325
>>41313
Всё ещё нужно отключать двойную буферизацию - и вообще я имел ввиду, что не нужно через условный tkinter что-то перерисовывать, лучше что-то вроде pygame.
341 2441390
Спасибо за ответы, для меня это видимо рано пока. Попробую разобраться с stdin/out, что это и как работает в Питоне.
16601083109500.jpg132 Кб, 509x676
342 2441430
Холлош.
Делаю либу для того чтобы аудикокниги через silero генерить, вот пришёл к тому что очень требуется либка которая помогала бы форматировать текст. Убирать лишние пробелы, и вайтспейсы (табуляции, лишние переводы строки и т.д.)

Если доставать на сухую контент из epub он выглядит как срака полная. Есть что на примере?
343 2441508
>>41430
Может через какой-нибудь текстовый движок пропускать и всё?
16387272787760.mp41,7 Мб, mp4,
854x480, 0:27
344 2441509
>>41430

>16601083109500.jpg

345 2442050
>>41317
есть детектор голоса https://github.com/wiseman/py-webrtcvad
346 2442217

>попробуй ретерн вместо принт

347 2442221
>>40935
я немного этим занимался, пиши @Obre4en1
348 2442229
>>40935
Есть опыт в создании асинхронных ботов на aiogram. @k1ll_m3_plz
349 2442267
>>42229
Нам нужны синхронные боты, есть опыт?
350 2442281
>>42267
а зачем хотеть синхронные боты?
какие есть аргументы в пользу синхронности кроме никаких?
351 2442332
Вопрос к практикующим анонам с опытом - вы часто юзаете ли стандартные библиотеки а-ля collections и itertools в своем коде?

Вот допустим в той же pandas/numpy вроде всё и так есть. Но это на мой нубасовский взгляд.
352 2442405
>>42332
Сравнил теплое с мягким
353 2442410
>>42332
Достаточно часто, пандасы это большущие комбайны, которые нужны для специфических случаев и нужно тащить их в зависимости если точно не уверен.
354 2442488
>>42332
Очень часто использую itertools.count
Замена трёх строчек кода, но тут вопрос стиля больше

Другие какие-то штуки оттуда как-то разово использовал, но по факту редко.

Из collections ChainMap довольно практичная и полезная штука, остальным по-моему не пользовался на практике.

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

Конечно, это если твой код не полностью построен на какой-то библиотеке.

functools ещё есть, есть рекомендации использовать partial оттуда, но лично я это чаще игнорю и делаю люмбды или же стои локальные функции.
355 2442498
>>42281
ты рофлишь? синхронные могут сразу синхронно перекрывать треды.
а асинхронные срут вразнобой
356 2442499
>>42332
Очень часто датаклассы использую, второй по популярности - functools.wraps, иногда использую всякие вещи из functools и collections, itertools почти не пользуюсь.
357 2442504
>>42498

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


переведи на понятный.
358 2442518
Здравствуйте все. Порой у питона находятся очень хорошие утилиты, которые я удачно пизжу, но так как в питоне я хуй простой, то перевожу их в standalone exe всякими свистелками-перделками из сети. Теперь вот понадобилось то же самое сделать с этой вот штукой https://pypi.org/project/mcrcon/ (не для майнкрафта, rcon используется дохуя где), оно переводится, но ничего в консоль не выводит. Если паке установить то mcrcon или mcrcon --help выдаёт хоть что-то. Если же превратить пакет в exe, то в консоли пусто. Помогите перевести или перевидите, пожалуйста, этот пакет в exe (x86 по возможности)
359 2442526
Дали тестовое, я ебался с ним неделю и сделал только половину, в итоге заебался и сказал им, что не буду доделывать, все правильно сделал?
360 2442547
>>42526
Какую именно задачу на тестововое дали?
361 2442601
Пацаны, в чем разница добавления метакласса через атрибут __meta__ в теле класса и через опцию meta= ?
362 2442609
>>42332
itertools достаточно часто.
collections не использую совсем, сейчас посмотрел - вроде бы и нет особо полезных штук, а если и есть, будет несложно написать что-то своё поверх стандартных типов. А если код про скорость, то это не про питон, и либо через извращения с numpy делать, или с numba, либо, да я не знаю..

Почему numpy до сих пор не стандартная библиотека - не очень понятно, он же чаще того же itertools используется.
363 2442613
>>42547
Сделать сайт, конструктор форм для компании, на 7 экранов где-то.
364 2442615
>>41509
Анальник, пытающийся казаться Мужиковым Мужиком, это то еще зрелище
365 2442622
>>42609

>не очень понятно, он же чаще того же itertools используется.


у кого чаще? пока не понадобилось всякие там научные штуки - и не использовал даже.
image.png2 Кб, 261x67
366 2442633
Тыкаю в http://restful-booker.herokuapp.com/ Постманом, если важно, но на этапе создания токена, по дефолтному логин-паролю отфуболивает пиком. И пример для тела пробовал, и в парамс, результат один.
Это в демке дело, или у меня руки из жопы?
367 2442638
>>42633
Не тот тред, сорре.
368 2442647
>>42622
У меня. А что, питон для чего-то ещё используют? Ну, я математик, питон - вспомогательный язык, у меня три без половины программы без numpy, если не считать небольший файлов-скриптов, которые вместо батников.
369 2442652
>>42647
это язык общей направленности. на нем пишут все что не лень
370 2442659
Что кроме питона нужно учить, чтобы богом интернета быть?
371 2442663
>>42659
Чтобы быть Богом всего -> https://www.haskell.org/
372 2442669
>>42659
мемы
373 2442670
>>28654 (OP)
Кто-то может представить больших куколдизм чем разработка с flake и ему подобными "слишком умными" линтерами?

Found too many `elif` branches
High Jones complexity
Found negated condition
Found upper-case constant in a class

Какая-то скриптовая чмонька, указывает тебе как писать код? Пиздец, все равно что бабу ебать, когда над тобой мамка стоит и говорит что и как делать. Тут уж лучше и правда другого ебаря пригласить чтоб все за тебя сделал.
374 2442673
>>42332
Зависит от того где, как и кем запускается скрипт. Наколеночный glue скрипт я могу и без внешних библиотек написать, ибо чинить по патчноутам ваши йоба-комбайны при обновлении питона сил никаких нет.
375 2442674
>>42670
ну так то все эти претензии нормальные
код должен читаться легко.

А если ты пишешь чисто для себя, то и линтеры ни используешь же.
376 2442679
>>42674

>too many `elif` branches


Ебать, давай-ка расскажи мне сколько в моем коде должно быть ветвей)) Что сам-то бдешь делат ькогда поймешь что кондишенов уже больше 3?

>High Jones complexity


Вообще пук в лужу

>negated condition


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

>upper-case constant in a class


Ору вместе с моими enum-ами

Там еще есть такой ништяк как "used 'in' not with set container" - скриптопетух не в курсе как set/dict работают
377 2442681
>>42679

>Что сам-то бдешь делат ькогда поймешь что кондишенов уже больше 3?


возьму match или выделю метод где заменю на return

>High Jones complexit


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

>negated condition


а вот за это на кол. такие вещи трудно читаются, особенно если они среди многих or/and

>upper-case constant in a class


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

>скриптопетух не в курсе как set/dict работают


зачем тогда используешь линтер
378 2442686
>>42681

>зачем тогда используешь линтер


Может потому что петухи в тиме прикрутили его гитлабовскому пайплайну?
379 2442689
>>42686
ну видимо им не нравится читать любителей "выражаться затейливо"
380 2442690
>>42670
Да забей, через некоторое время код будет сохраняться в промежуточном представлении, и каждый разработчик будет видеть код со своими отступами и настройками стиля, и возможно даже с другими именами переменных.
381 2442697
Сап.
Не могу понять почему превышен лимит времени. До этого думал, что создал вечный вайл, пару раз его переработал, не помогает. Наверное дело в том, что использую поиск в ширину вместо в глубину. Но в графе все вершины, кроме одной обходятся единожды и оба поиска по сути идентичны. Или в глубину обработает все быстрее? Или проблема в чем-то другом?
пик 1 - задача
пик 2 - попытки
https://pastebin.com/M98ZqAPg - код
382 2442722
>>42679
Адепты Чистого Кода это опущенные, с ними даже общаться не нужно. В их "Библии" указано даже число строк сколько максимум может быть тело функции. Как, думаете сколько это? Воздуха в грудь набрали? 8, ага
383 2442745
>>42663
хах, да ты заебал)
384 2442749
>>42722
Ну, ставить пробелы вокруг операторов - не такая плохая идея (я ставлю вокруг ==, = и подобных, и не ставлю вокруг +, *), но вот с количеством строк - я тут показывал код, где функция на 113 строк длинная - но она выполняет одну логическую функцию, и кому я показывал сказали что всё понятно в коде сразу.

>>42697
А дашь ссылку на задачку, хочу сам потыкать. Так без цифр вообще не хочется пробовать написать или изучать твой код...
385 2442771
>>42722
не путай адептов чистого кода с адептами читаемого кода
вон с моржовым оператром можно так замутить что хрен распарсишь, а работать будет
386 2442806
>>42771
Читаемый код очень важен в больших проектах, иначе скролинг этих слепленных портянок превратится в настоящий ад где захочется убить автора.
387 2442844
>>42806
Папка пишет код читаемым несмотря на линтеры. Линтеры лишь ограничивают Папку.
В тему идут только линтеры форматирования вроде black или mypy для типов, если ты сумел его нормально прикрутить, а не через жопу (как чаще бывает). flake - нахуй
388 2442876
>>42844
Чет этот папка вместо того, чтобы быть гигачадом и отказаться работать в тиме с неудобным ему линтером / продавить свои правила для линтера, тихо ест что дают в тиме и изливает свое нытье на двачах.
389 2442881
>>42876
Проект может быть интересным, но 23-х летний тимлид услышал что-то про хорошие практики и решил внедрить на проекте самые лучшие техники.

Задача в том, чтобы убедить не увлекаться слишком сильно.

Разрабы этих флаков реально какие-то пидорасы неадекватные.

Я за то, чтобы код был читаемый и чтобы за некоторые практики по рукам давать, но должна быть адекватность.
390 2442922
Есть тут аноны, которые работали с ppadb, нужна ваща помощь.
391 2442943
>>42881
В сухом остатке чед папка работает гребцом по правилам, писанным вирджин лидом-зумером.
392 2443070
>>42881
Тащемта хлопья и настроить можно, что считать ошибками, а что нет.
394 2443325
Почему он добавляет буквально "\n", а не новую строку?
395 2443332
>>42050
Спасибо! Это всё же немного не то. В моем случае там именно сирена с определенными частотными характеристиками, которые в остальном потоке не встречаются.
Штош, попробую поработать с исходниками на С, а там глядишь кто-то ещё что-то посоветует.
396 2443333
>>42050
Ах да, у меня ещё и не веб-поток, а аудиопоток, которые исходит от другого приложения.
ПИТОНЯШКИ У НАС ПРОБЛЕМА! 397 2443334
ПИТОНЯШКИ У НАС ПРОБЛЕМА!

кажется я нашел в жс-дрисне превосходящий функционал!

нужно срочно разобраться в это вопросе

а именно - найти шорткат для булевой инверсии с присвоением. то что имеется ебанная простыня

и самое главное - как организовать няшный рефакторинг без ЗЛОПИДАРСКИХ КЛАСОВ С ОБОССАННЫМ БОЙЛЕРПЛЕЙТОМ СУКА !?

чето пиздец я разволновался, надеюсь на твою скорую помощь анончик!
2022-08-23x03:41:24.jpg25 Кб, 473x299
398 2443335
хух, пол дела сделано
816ec6c0dee0207d15f22bd.jpg66 Кб, 559x420
399 2443336
>>43334
наркоман штоле?
2022-08-23x06:12:17.jpg244 Кб, 2321x1398
400 2443341
we are almost there pytonyashque!

осталось дождаться пока проснуться ФП господа и пояснят как обойти ботлнек со стейтом
image.png1 Кб, 155x33
401 2443356
Пацаны, как убрать из стринга вот подобную текстовую формацию смайлов? Детектить и удалять весь текст посреди двух двоеточий не вариант, так как бывают случаи, когда они используются по делу. Но ничего другого в голову не приходит. Так что к детекту по колонам добавлю еще 2 критерия: латиница и кол-во символов <20. Но уверен есть вариант лучше.
403 2443395
>>43341
Мда. Этот теперь в две жопы срет сразу и в питон-тред и в жс-тред.
Мань, что ты ерзаешь туда-сюда? Нахера ты учишь, будучи вкатышем, язык для фронта И язык для бэка? Ты определись уже.

А то так и будешь сидеть лаба1.руjs в треды постить.
404 2443397
>>43325
потому что '\n' - это \n
а новая строка - это "\n"
2022-08-23x09:18:40.jpg91 Кб, 1841x1120
405 2443409
scr.png21 Кб, 352x164
406 2443414
>>43409
шнобель, ты?
407 2443429
>>43414
Почему шнобель?
Давно этого анона тут вижу. Мне кажется, у него от длительного вката немного кукуха барахлить стала
408 2443457
>>43429
тут мало настолько токсичных персонажей, как шнобель.
и он любит, обосравшись, нападать с оскорблениями типа такого >>43409
"это не я обосрался, это ты додик-даун"
image.png5 Кб, 912x81
409 2443472
Есть лист объектов. Какой самый эффективный способ взять индексы только тех единичек, которые повторяются?
410 2443473
>>42876
Щенок, хоть в курсе, с кем базаришь?
image.png31 Кб, 1219x71
411 2443474
412 2443475
>>43472

>Какой самый эффективный способ


for
413 2443489
>>43475
Ну мне ничего в голову, кроме такой кринжы не приходит:

for index, value in (enumerate(array):
____if value == 1 and array[index+1] == 1:
...
414 2443498
Сап, возникла задача - есть список координат (штук 10 к примеру) и нужно между точками составить автомобильный маршрут ну и нарисовать это на пикче. Есть либы в питоне? то что чекаю - нихуя не строит - просто прямую линию рисует между точками.
415 2443500
>>43489
я тебе перезвоню..
416 2443501
>>43498

> Есть либы в питоне?


есть.
417 2443503
>>43500
Пиздец, ебло, ты до сих пор работу что ли не нашло?) Сколько уже блять месяцев прошло а ты до сих пор тут срешь?
что за нелепая и неэффективная хуета на 1м скрине? ничего удивительного что ты нахуй на рынке никому не нужен
image.png3 Кб, 69x51
418 2443504
Че эт такое?
419 2443514
>>43504
ничего удивительного что ты нахуй на рынке никому не нужен
420 2443516
>>43514
Я против рынка. Я коммунист.
421 2443517
>>43516
Пиздец, ебло)
422 2443525
>>43501
а какие?
423 2443537
>>43457
Я имею ввиду почему у этого шизоида погремуха Шнобель?
Жид что ли? Так они не тупые, а этот прям даун.
424 2443557
>>43537
несколько тредов назад сдианонили, и оказалось, что пациент - обладатель греческого профиля огромного жидовского шнобеля то есть
425 2443560
>>43557
Есть фото?
Я коллекционирую шизиков.
Такой кадр в моей коллекции не помешал бы.
428 2443651
Посоветуйте современные книги по питону.
Или выскажите мнение по лутцу(начал с него).
Меня впринципе не пугает стиль лутца, всё ок. Вопрос больше в актуальности того, что он там рассказывает.
429 2443656
>>43651

>выскажите мнение по лутцу


5 из 10. Много воды, но сам язык он разбирает по косточкам.
Смысла не вижу его именно читать. Лучше держать его под рукой и обращаться к нему время от времени.
430 2443658
>>43651
И еще вопрос, что действительно пишется на питоне и за что деньгу иметь можно на практике?

По запросам в гугле там целый набор, от игр до космолётов, но я же понимаю, что игры там 1 из миллиона делается на питоне, а космодесантом мне не стать.
431 2443671
>>43658
МЛ, бекенд, компьютер вижн, дата саенс, девопс очевидно тут не только в питон уметь надо
432 2443709
>>43671

>МЛ


Это у которого на бекенде все на сишке?

>бекенд


ну что то сложнее запросов к бд нахуй надо, не осилит с нормальным перфомансом...
433 2443711
>>43709

>Это у которого на бекенде все на сишке?


Весь питон на сишке. И?
434 2443749
>>43709
Может найдешь наконец работу, чтоб поскорее выбраться из манямирка?
Screenshot20220823-191409VK.jpg524 Кб, 1080x2400
435 2443979
Мнение?
436 2444015
>>43979
ебать да это же ИСКУСCТВЕННЫЙ ИНТЕЛЛЕКТ
437 2444060
А хули из класса А вызывается метод если из класса Б его вызываю? Неужели нельзя запомнить, какие методы есть у текузего класса и из него в первую очередь звать. И как мне звать из класса Б когда одинаковые имена в разных классах? Что за хуйня?

https://ideone.com/yTs8Xv
438 2444069
>>28654 (OP)
Где можно спиздить про пайчарм для линуха?
Раньше был ресурс который выдавал ключи для продуктов жидбрейнс, но его прикрыли
B.PNG33 Кб, 497x798
439 2444075
>>44060
Вот скрин для тех кому лень переходить.

Класс Б ничего не знает про 2 других класса. И делая класс Б ожидаю, что и методы будут из класса Б вызываться
440 2444079
>>44060

>А хули из класса А вызывается метод если из класса Б его вызываю


>вызывает метод из А по правилам mro


>...

441 2444080
>>44079
Я как разрабодчик класса Б и подумать не мог, что кто-то захочет унаследоваться от него и от ещё какого-то класса, у которого будет метод с таким же именем. Как мне такое надо было нормально делать чтобы не словить такой нежданчик?
изображение.png46 Кб, 563x487
442 2444090
>>44060
Мог бы и сам попробовать-догадаться.
А теперь догадайся что будет, если снизу ты объявишь классы E(C,D) и F(D,C)
443 2444110
>>44080
А вот это никак. Я помню наследовался от класса, и создал сложную переменную, по типу urllib3_client - и всюду ошибки высыпались. Оказывается, по какой-то случайности в родном классе была такая же переменная, лол.
изображение.png9 Кб, 253x303
444 2444141
>>43325
Я даже не могу уловить что ты спрашиваешь. \n - символ переноса строки.
Если ты выведешь строку, он тебе может так и написать с \n и другими спецсимволами. Если ты напишешь print, то он будет переносить строку, но это потому что в print есть специальный код для этого (скорее всего не в ней, а ниже, ну да не суть)

>>43472

>самый эффективный способ


В плане кода или в плане производительности?
https://ideone.com/Ao5iKb
Быстрее всего через нумбу будет, второе по скорости извращение вроде моего на нумпи. Да, преобразовать лист в нумпи-массив, посчитать, и потом обратно в лист будет быстрее, чем что угодно с листом бесполезным и тормозным.
445 2444204
>>44080
Замечание правильное. В других языках есть и private-члены, и protected-члены и слово virtual.
В питоне можно использовать двойное подчеркивание
__hello() или вызывать нужную версию B.hello(self)
446 2444213
>>44069

>Где можно спиздить про пайчарм для линуха?


нет разницы линукс это или винда. решение одинаковое
a.jpg10 Кб, 611x157
447 2444295
448 2444302
опятб выходишь на связь
449 2444441
>>44213
Так какое? Где ломаный годный пуйчарм?
450 2444448
>>44441
Cброс триала, там пару файлов удалить нужно
451 2444451
>>44448
Делал так год назад. Больше не канает
452 2444466
>>44451
мб за год что-то поменялось и теперь надо удалить 3 файла а не 2? не думал, долбоеб?
453 2444473
работу найти не думал, долбоеб?
454 2444486
Помогите плс с парсингом, я даже не вкатун, просто пытаюсь некоторые свои задачи решать через код, понимаю очень мало.
Вот у меня есть страница и там значит такая структура
div class = content inner
<section>
<table>
<tbody>
<tr>
<td>
<section>
<table>
<tbody>
<tr>
<td>
<section>
</section>
Вот я хочу с помощью бьютифулсупа получить содержимое второго section -> tr
а я как не подступлюсь к этому говну с .find или .find_all я или получаю огромную кучу несортируемой хуйни либо упираюсь в первый section/первый table итд
как выцепить-то бля!
455 2444522
Я просто нихуя если честно не понял почему просто нет поиска элемента по XPath втф
456 2444542
>>44522
Сначала берет либу где нет xpath
А потом удивляется
457 2444546
>>44542
А де есть
458 2444548
459 2444551
>>44548
Уже нашел но спс
460 2444553
>>43563
А, так там задача не только под питон, и можно си выбрать.
Может, эм, язык говно просто тормозное, не? Там же натурально даже в простом коде разница в сотню раз с си.


Я написал вроде как быстрый код, но тесты крупные скопировать не могу, а на сайте пишет "вердикт: RUNTIME_ERROR" без объяснения причин.
Если написать другой, потупее и в лоб, то, ну вот: https://pastebin.com/2h9BFeGq
Не знаю ничего про графы и что это такое, и откуда они тут берутся, просто написал как решал бы такую задачу. Графы это разве не про нахождение кратчайшего пути, если у тебя карта есть в виде графа?

>https://pastebin.com/M98ZqAPg


У тебя какая-то хуета со словарями и deque, я даже не знаю что это в питоне. У тебя же обычного массива достаточно для решения такой задачи, который (по крайне мере в с++) на порядок быстрее любого ассоциативного, который тут совсем не нужен. Там короче цифры к кольцам сходятся, я нахожу кольца и нумерую их - ученики из кольца останавливаются на себе же, ученики присоединяющиеся к кольцам останавливаются на первом ученике попавшем в кольце. А у тебя хуета с полным перебором, где ты дублируешь вычисления многократно с каким-то хреновым асимптотическим временем вычисления - боюсь представить как твой код на 100к учениках заработает...
462 2444580
Ладно с xpath тоже нихуя не просто всё оказалось, возвращает пустую хуйню скотина.
463 2444596
>>44570
Блэ, вот норм мужицкий ответ. А не невнятные виляния очком что делал анон пару постов назад. Сам нихуяшеньки не знал но корчил из себя дохуя умудренного
464 2444604
>>44060
Это называется C3-линеаризация. Почитай, как в питоне работает множественное наследование.
465 2444608
>>44080
Ответ: если человек хочет множественно наследоваться от классов, которые для множественного наследования не предназначались - это его проблемы. По-хорошему, множественное наследование должно выглядить как "1 основной класс плюс миксины к нему".
Также можно использовать __ перед названием функции, это специально предназначено для избегания конфликта при наследовании (в pep8 так написано).
466 2444609
>>44570>>44441
А что даёт по сравнению с обычным пучармом?
467 2444650
>>44609
русификатор
468 2444659
Аноны, стоит ли учить черепашью графику? Где она применяется?
469 2444681
Есть две траектории движения из разных отрезков. Как сравнить, насколько они совпадают/не совпадают. Наверняка должна быть библиотека.
470 2444685
>>44681
А там одинаковое количество точек, или может быть такое, что в одной в десять раз больше, и в каких-то местах сгущения, и при этом одна из траекторий ещё и повёрнута?
Задача настолько общая, что сходу можно десятки подходов придумать - и в зависимости от входных данных какие-то подходы теряют осмысленность.
471 2444691
>>44685
В том-то и дело, что разное.
Вот я подумываю всё вограть в систему координат и интерполировать точки целыми числами.
472 2444697
>>44685
Или ещё придумал нарисовать эти отрезки на картиеке с заданной площадью, потом использовать величины площади пересечения по сравнению в общими. Кажется, что-то такое видел в opencv, но поди и попроще библиотеки есть.
473 2444699
>>44691

>интерполировать точки целыми числами.


Хуита. Лучше для каждой точки траектории найди ближайшую точку из соседней траектории (причём с соблюдением порядка (чтобы не было петель пройденных в другую сторону), то есть чтобы ближайшая точка из второй траектории по индексу была больше или как последняя обработанная.), и как меру сходства взять отношение (среднеквадратичного расстояния до точек соседней - расстояние между точками в этом месте)/(расстояние между точками в этом месте) - ну или там меру сам выберешь подходящую. Лучше вместо расстояния до ближайшей точки взять расстояния до кубического сплайна (особенно если траектория физическая и там была инерция) построенного по второй траектории, и следить за порядком всё так же.
Такой алгоритм и меру сходства выдаст, и позволит найти такое, если в первой траектории отрезок от 10% до 40% совпадает с отрезком второй траектории от 70% до 90%.

Мяу, могу накидать код, если дашь по десять кривых. Чтобы степень зашумлённости посмотреть и сложности траекторий.
474 2444701
>>44697
Тоже хуета, нечувствительная к мелким деталям и обходу петель не в том направлении. И ещё плохо применимая для 3d, у тебя (у твоего компьютера) крыша поедет рендерить трёхмерный массив, если там мелкие детали есть.
Безымянный.png15 Кб, 768x220
475 2444720
Сап. Мб кто-нибудь может сообразить. Как в джанго сделать аннотацию количества записей, за исключением тех, которые пустые? (blank то есть)
У меня есть типа товар, у товара отзывы и оценки. Я хочу отображать количество того и другого. Собственно оценка - это поле отзыва, можно просто оценить, а можно добавить ещё текст. Ну и вот, получается количество оценок - это количество всех записей в таблице отзывов, относящихся к товару, потому что нельзя создать отзыв без оценки. А вот количество отзывов (в смысле с текстом) - это количество записей в таблице отзывов, относящихся к товару, у которых в поле текст пустая строка типа. Ну и вот че-то не работает. Я вот так сделал. И у меня всегда количество отзывов и количество оценок одинаковое. То есть типа всегда отрабатывает default у Case. Хотя если в шелле смотрю, то текст у отзыва - пустая строка.
476 2444788
>>44720
Ну в общем, я подумал, что все равно наверное каждый раз запрашивать такую хуевину у бд, когда кто-то просто на страницу зашел, как-то не очень и добавил просто эти поля к товару, а запросы эти агрегирующие запускаю в методе сейв в модели отзыва и сохраняю их в товаре. Типа считаю всё это только когда кто-то отзыв оставил или поменял.
477 2444789
Сап, имеется одна формочка в tkinter + функционал. В нее пользователь вводит некие данные. Нормально что я сохраняю данные в xml или json, чтобы при повторной загрузке их вывести частично на формочку? Или есть более изящный способ сохранения данных, введенных пользователем. Применение бд "заказчик" не поймет, тк функционал довольно простой.
ток не обоссывайте, не являюсь программистом, поэтому тут спрашиваю
478 2444799
>>44789
Не понятно, что и как ты сохраняешь

Ты можешь использовать в качестве базы sqlite, идёт среди стандартных библиотек питона, дополнительных зависимостей нет, никакие дополнительные сервисы не поднимаются
479 2444803
>>44789
И ещё

sqlite хорош тем, что ты можешь сохранять данные в БД, довольно надёжно

Если ты работаешь в режиме разовых дампов, то может тебе проще сохранять в формате pickle. Так ты можешь сохранять данные любой сложности, всякие классы и т.п. json всё-таки сильно ограничен по возможностям
480 2444819
>>44799
Скажем так, сохраняю: id, дату, путь, название. По факту это данные для бд, но проблема в том, что итоговое приложение надо будет через pyinstaller преобразовать в exe, а надо ли для работы sqlite устанавливать на другой комп саму sqlite, как с postgres или нет? Потому что нужно учесть перспективу раздачи другим пользователям, а ходить по всем и ставить тонну вспомогательного софта не хочется и такое решение задачи не примут.
>json всё-таки сильно ограничен по возможностям
Мне только записать, прочитать, удалить ненужное

>формате pickle


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

>Если ты работаешь в режиме разовых дампов


здесь я тебе не скажу что да как, ибо это более продвинутый уровень надо иметь, либо опыт выполнения проектов. У меня пока уровень написания скриптов, а не хоть какого-то легковесного приложения.
481 2444871
>>44819

>надо ли для работы sqlite устанавливать


Дальше не читал, ответ - не надо.
482 2444888
Бля лол, на торентах нет ломанутого пайчарма? Чет способы описанные выше пиздец шизофрения, что с удалением что с левым сайтом.

мимо студентота с бесплатным профешшионал
483 2444889
>>44819
Смотри документацию на питон, раздел "модули".

sqlite это штатный модуль, sqlite3 называется. Всё сохраняется в один файл.

Впрочем тебе скорее всего это не нужно, а нужно именно в json. Или в pickle.

Короче храни в json, если же будешь понимать, что что-то явно не так, формулируй задачу и задавай вопросы. Довольно часто серьёзный софт хранит данные в json, это нормально.
484 2444890
>>44888
Для тебя МС трудилась, создавала бесплатный VS Code, шикарная IDE. А ты всё свои вороватые замашки проявляешь.

Есть решения свободные, бери и пользуй. Хочешь такого энтерпрайза, ну купи, блин. Уважай чужой труд.
485 2444893
>>44890
Я ж говорю, мне ближайшие 4 года похуй, у меня анлимитед подписка на все. Сама суть интересна, почему нормально не крякнули. Могу предположить что с теми ебанутыми способами он может обновляться

А визикод ну хз, вряд ли он может столько сколько пайчарм. Когда-то в детстве пользовал вижуал студию для плюсов, но тот же силайон в разы удобнее и функциональнее.
486 2444924
>>44888

>Бля лол, на торентах нет ломанутого пайчарма?


Есть. но там будет оригинальный пишарм и тот же подход что "с левым сайтом"
487 2444927
>>44893

>Сама суть интересна, почему нормально не крякнули


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

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


ну он и легче. не у всех мощные машины.
488 2444929
>>28654 (OP)
Символ Питона желто-голубой - это если присмотреться, то это свастон в цветах укр. флага?
489 2444950
>>44889
Спасибо, анон
bce4f71c-c16c-4a61-8604-9bbd2fccb297.jfif11 Кб, 592x167
490 2445015
491 2445121
>>44929
Герб Азова, скоро Пыня начнёт отстреливать питонистов
492 2445137
Тут чел на созвоне упомянул какой-то "калгрин" для питона, который анализирует траты RAM в рантайме. Но нагуглить ничего не могу
493 2445155
>>45137
о у вас в команда Настоящий Программист.
короче, тулза называется valgrind. Вот какой там аналог ее в питоне - неебу.
494 2445158
>>45137
Кал грин это когда дисбактериоз, надо таблеточек пропить с бактериями.
image.png27 Кб, 1006x180
495 2445195
В алхимии не избыточен ли подобный вызов? self.session это разумеется AsyncSession. Он работает, но я хз, обязательно ли вызывать session.commit в конце
496 2445221
>>45195
Да, обязательно, чтобы данные сохранились
497 2445233
>>45137
калгрины по-моему для анализа ветвей исполнения и производительности

Смотри стек с ключевыми словами
kcachegrind, pyprof2calltree
498 2445241
>>45195
Лучше транзакцию открой session.begin(), в конце будет автоматом комит
499 2445268
перекатите спец скриптом
500 2445441
>>44699
Тоже не очень хорошо. Вот одна траектория вообще в какой-то момент разварачивается на 180 градусов, просто расстояния этого не учтут.
501 2445475
>>45441
Это уже нужно траектории смотреть.
Взять производную, смотреть чтобы скалярное произведение было положительное, или тем же кодом ещё и производные проверять. Ну это так, вариант сходу.

Дайте мне уже траектории, я же проверить хочу как моя идея сработает, а генерировать - ну, они тогда очень простыми будут, а генерация сложных будет сложнее кода проверки соответствия.
502 2445488
Ну и какую книгу взять в 2022?
503 2445531
>>45488
В рот возьми
504 2445644
Доброй ночи, аноны, хочу попросить совет или какой нибудь гайд для вкатывания. Пробывал проходить курсы на степике, от задач которые там даются прихуел от жизни. Поймал разочарование полное что забил хуй. И вот хочу спросить либо мне это не дано, либо же я пошёл по какому то не правильному пути?

Заранее благодарю
505 2445652
>>45644
Зачем тебе именно питон? Какая сфера интересна?
OFFTOP 506 2445666
Heroku прислал письмо, где сказано об окончании халявного хостинга с ноября 2022 года. Кто куда мигрирует? Желательно бесплатный или копеечный хостинг.
507 2445722
>>45652
Хотелось бы вкатиться в веб разработку для начала, и далее изучить автоматизацию
508 2445751
>>45722

> веб разработку


тебе в php-тред

> далее изучить автоматизацию


автоматизацию чего?
509 2445757
>>45722
Изучай джанго.
Делай пет, так и изучишь.
Вон, анон в другом треде борду свою запилил.
510 2445796
>>45751

>тебе в php-тред


с чего вдруг.
511 2445867
Почему старый как говно мамонта петухон одновременно является зумерским языком в наши дни? Откуда такое противоречие, в каком-то детском мультике главный герой писал на петухоне?
512 2445882
>>45796
в веб на рынке рф - пхп вакансий больше
>>45867
курсов дохуя, реклама на каждом шагу учи питон за час зарабатывай 300к/сек
513 2445883
>>45882

>в веб на рынке рф - пхп вакансий больше


но самоуважение тоже нужно иметь
514 2445936
Есть один сервис. У него есть жирный стейт, снапшот которого иногда запрашивают клиенты, при этом для каждого клиента применяются определенные фильтры и сами данные на выходе выглядят для каждого немного по разному. Обычно они запрашивают его одновременно и поэтому сервис не всегда успевает отдать его за приемлемое время. Пока сделан костыль, при запросе снапшота эта задача отдается в отдельные процессы на каждого клиента, в принципе все отрабатывает достаточно быстро, но есть одно НО в виде жирнючего стейта который дублируется на каждый процесс. Сам снапшот во время раздачи не меняется. Собственно есть ли в пистоне аналог расшареной памяти между несколькими процессами?
515 2445991
>>45936
нахуй они одновременно запрашивают? они ебанутые?
516 2446088
>>45936
Что-то вроде shared memory есть, ты можешь посмотреть в доке на модуль multiprocessing, но там что-то очень ограниченное.

Я этим никогда не пользовался, даже тестировать не пробовал, я как понимаю, нормальную shared memory на уровене питон-данных ты всё равно не сделаешь, возникают проблемы те же, для чего GIL придумывали, проблемы синхнонизации ещё.

В питоне всё на счётчиках ссылок, вот у тебя в двух процессах что-то ссылается на объект из shared memory. Как ты будешь счётчики ссылок синхронизировать?

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

В какой момент ты создаёшь клиенты? У тебя посикс? Ты можешь делать отдельные процессы уже после изменения стейка, использую метод fork для того, чтобы порождать подпроцессы.
517 2446094
>>45936
Ещё одно, насколько я помню, если ты форкаешь процесс, но при этом не меняешь данные, то реально в памяти хранится только одна физическая копия, размножение делается, если ты что-то реально меняешь в памяти.

По крайней мере на виртуальных машинах такое что-то работает.

Надо уточнять-проверять, сейчас немного лень. Но если тебе важно, проверь вот это вот.
518 2446442
519 2446444
Тред утонул или удален.
Это копия, сохраненная 7 ноября 2022 года.

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

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