Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 596 97 137
Питон тред №160 /python/ Аноним 03/04/23 Пнд 10:18:39 2661284 1
600x600.u2.jpg 21Кб, 600x600
600x600
image.png 502Кб, 754x651
754x651
Тред, посвящённый языку программирования Питон, #160

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

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

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

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

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

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

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

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

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

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

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

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

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9
Аноним 03/04/23 Пнд 11:00:08 2661328 2
15801877101060.jpg 54Кб, 640x476
640x476
Эцново я.
подскажите, почему примеры aiohttp внутри fastapi, которые я нахожу в гугле, такие сложные? Вот, например (с первой страницы в гугле)
https://github.com/raphaelauv/fastAPI-aiohttp-example/blob/master/src/fastAPI_aiohttp/fastAPI.py

Мне нужно просто подать запрос к другом серверу и чтобы это все крутилсь в ЕДИНОМ цикле с fastapi.
Разве нужно мутить этот ужас?
Аноним 03/04/23 Пнд 11:39:41 2661402 3
Джангисты на месте?
Как мне вытащить кверисет из базы, и потом фильтровать по нему, не создавая новые хиты в базу\кэш?

def __init__():
self.all_shit = Shit.objects.all()

def get_some_shit(self, shit_name):
self.all_shit.filter(name=shit_name)
Аноним 03/04/23 Пнд 11:58:08 2661426 4
>>2661328
бля, Гопота охуенна:
я написал простой пример и мучался почему он не работает. нагуглил какую-то хрень по ссылке.
Оказалось я просто забыл await перед respose.text() добавить.

Тупые ошибки фиксит на раз!

Впрочем это все еще не значит, что она понимает идею моей программы в целом.
Аноним 03/04/23 Пнд 12:03:16 2661430 5
>>2661402
> self.all_shit = Shit.objects.all()
> self.all_shit.filter(name=shit_name)

это образует лишь 1 запрос в бд, так как кверисеты ленивые
Аноним 03/04/23 Пнд 12:05:01 2661432 6
>>2661430
self.get_some_shit('asdfasdf') вызывается сотни раз. И создается сотни хитов в базу\кэш.
Аноним 03/04/23 Пнд 12:17:53 2661443 7
>>2661432
Ну значит что-то неправильно сделано.
Может там внешняя функция сотни раз вызывается.
Аноним 03/04/23 Пнд 12:49:11 2661497 8
>>2661146 →
>память это нейронные связи. старые неиспользуемые связи разрушаются в процессе забывания, механизма освобождения места для новой инфы. новые связи образуются в процессе обучения поверх забытого
Чувак, это так не работает даже в обычных программных нейросетях. Даже в самых простых нейросетях у тебя знания меняются от того, что просто меняются веса связей, сеть, которая много знает, может иметь столько же связей, сколько и не обученная.

Потом просто знания бесполезны, ну будешь таким Вассерманом всё знающим, всё равно с Гуглом и ГПТ конкурировать не сможешь. Ты конкретные вещи забываешь, а вот идеи остаются, в том числе как одни понятия применяются на другие. Этими идеями ты потом пользуешься, сам того не осознавая.
Аноним 03/04/23 Пнд 12:52:05 2661504 9
>>2661432
давно не пользовался джангой, проебал нейросвязи

Но попробуй почитать про prefetch_related и select_related, это как раз о том, что тебе нужно. В доке джанго всё описано
1 03/04/23 Пнд 12:54:31 2661509 10
сап питон что лучше питон или с++ и приведите хотя бы 2 аргумента
Аноним 03/04/23 Пнд 15:07:10 2661727 11
setdefault(key[, default])
If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.

А вот это [, default] что означает?
Аноним 03/04/23 Пнд 17:55:27 2661889 12
>>2661509
От задач. На питоне:
> писать проще
> результат получаешь быстрее
> очень, SUKA, универсально: гуй, скрипты, демоны, API, WEB, всё, что угнодно.
На крестах... Ну, средний код будет быстрее отрабатывать.
Правда, хорошо бы понимать, что для десктопного ПО такая скорость никуда не упирается потому, что задержки 0,01с от 0,1с узверь не отличит, а на сервере они потеряются за ожиданиями ответов от БД, внешних API и т.п.
Аноним 03/04/23 Пнд 17:56:41 2661891 13
>>2661727
>А вот это [, default] что означает?
Необязательный аргумент, стандартная нотация.
Аноним 03/04/23 Пнд 20:37:54 2662023 14
Зашкварно ли вслух произносить что программируешь на петухоне?
Аноним 03/04/23 Пнд 20:49:59 2662035 15
>>2662023
>программируешь
Говори, что кодируешь/пишешь скрипты, не надо говорить «программирую», это неверное сведение.
Аноним 03/04/23 Пнд 20:52:23 2662039 16
>>2662023
Даже если в кругу питанистов сделать такой каминг аут, то побъют в лучшем случае.
Аноним 03/04/23 Пнд 20:58:58 2662047 17
я РАЗРАБАТЫВАЮ на питоне
Аноним 03/04/23 Пнд 21:00:35 2662051 18
не могу хранить ссылку на объект, но могу хранить инт
self.parent = 42

который является ключом в глобальном дикте ссылок на объекты
__nodes = {42: object at ...}

и достается в таком виде:
parent = __nodes[self.parent]

насколько это медленней чем хранить ссылку на объект?
Аноним 03/04/23 Пнд 21:02:25 2662054 19
>>2662047
Доложите разработанный размер
Аноним 03/04/23 Пнд 21:04:52 2662056 20
>>2662051
Тебе бенчмарки делать запрещают?
Аноним 03/04/23 Пнд 21:07:11 2662060 21
Аноним 03/04/23 Пнд 21:09:01 2662062 22
Аноним 03/04/23 Пнд 21:13:04 2662066 23
>>2662062
заебал сделай за меня
Аноним 03/04/23 Пнд 22:59:19 2662120 24
image.png 8Кб, 705x158
705x158
image.png 19Кб, 705x262
705x262
>var1, var2, var3 = map ( int, input().split() )
Что тут происходит?
Почему оно не тульпится?
У меня не выходит почему-то ни со скобочками, ни без...
Аноним 03/04/23 Пнд 23:02:05 2662125 25
>>2661426
> Впрочем это все еще не значит, что она понимает идею моей программы в целом.
Впрочем это всё еще не значит, что ты понимаешь идею твоей программы в целом.
Аноним 04/04/23 Втр 03:55:09 2662217 26
>>2662120
map это ленивый объект, он выдает значения по запросу.
Можешь зафорсить туплю через tuple(map), она заставит его работать и вытянет всё.
В гринтексте распаковка вытягивает.
Скобки вообще нихуя не значат в данном контексте.
Аноним 04/04/23 Втр 07:21:12 2662239 27
image.png 210Кб, 500x1013
500x1013
Напоминаю, что Питон - ненастоящий язык, работы на нем нет! Никто не делает программы или веб-приложения на питоне, это всё наеб от производителей курсов.
Вакансии, которые вы видите - это дата сайнс, и там вам нужна в первую очередь математика, а не питон.
Хотите вкатиться в айтишку - учите java, c++ или node-js.
Аноним 04/04/23 Втр 07:27:09 2662240 28
Аноним 04/04/23 Втр 07:29:55 2662241 29
image 34Кб, 381x373
381x373
>>2662239
Двачую этого интеллектуального господина. Нет ума осилить С — иди на панель.
Аноним 04/04/23 Втр 07:57:53 2662246 30
>>2662239
У нас в конторе целая связка прожектов на фласке. В B2B оно прекрасно вытеснило ASP.
Аноним 04/04/23 Втр 09:25:15 2662292 31
>>2662217
>ленивый объект
Это что-то вроде итерации цикла?

> В гринтексте распаковка вытягивает.
А почему тульпа не вытягивает?
Аноним 04/04/23 Втр 10:56:48 2662355 32
image.png 11Кб, 398x208
398x208
>>2662292
Это что-то вроде генератора.
>А почему тульпа не вытягивает?
Это просто скобки.
1 - выражение в скобках
2 - тупля с одним элементом - результатом выражения
3 - инициализация тупли мапом-итераблей

Вообще, мап сейчас считается околодепрекейтед хуйней. Сейчас делают или генэкспы или компрехеншены в зависимости от необходимости.
Аноним 04/04/23 Втр 11:03:48 2662362 33
image.png 3Кб, 338x68
338x68
>>2662355
Ещё можно распаковочку сделать, забавно. Но это чисто в целях самообразования, лол.
Аноним 04/04/23 Втр 12:24:35 2662402 34
>>2662355
> Сейчас делают или генэкспы или компрехеншены в зависимости от необходимости
Покажи, плиз, как использовать генэкспы или компрехеншны для применения int() ко всем разделенным пробелам значениям строки - input().split()
Аноним 04/04/23 Втр 12:31:23 2662409 35
Почему
list.sort()
изменяет данные
а
sorted(list)
нет?
Аноним 04/04/23 Втр 12:34:23 2662411 36
>>2662409
вопрос интересует с позиции архитектуры и идеологии языка
Аноним 04/04/23 Втр 12:43:13 2662421 37
>>2662402
Это длинный пост с многими поинтами, который мне лень писать, извини. В целом синтаксис (int(n) for n in input().split()), но тебе уже не обязательно ограничиваться просто int, можно всё сделать за один заход.
>>2662409
>>2662411
sort это метод листа, который изменяет его. sorted сортирует любую итераблю, возвращая новый сортированный лист. Это принципиально разные вещи.
Аноним 04/04/23 Втр 13:20:41 2662442 38
>>2662409
Не знаешь лямбда исчисления и бета-редукции?
Фатальная ошибка!
Аноним 04/04/23 Втр 13:45:09 2662452 39
Начинаю дрочить литкод.
Аноним 04/04/23 Втр 14:00:04 2662469 40
>>2661284 (OP)
Поясняю малолетним дебилам почему Селери говно и вместо него все адекваты давно юзают Фауст:

1. Синхронный
2. Громоздкий
3. Не оптимизирован под работу со стримами данных
4. До сих пор нет поддержки Кафки
Аноним 04/04/23 Втр 14:07:54 2662481 41
>>2662469
Все давно юзают pezdiuk. Он и кафку поддерживает, и каклетки.
Аноним 04/04/23 Втр 14:39:15 2662501 42
Обесните почему в питоне такие нелогичные тернарные операторы.
Сишка:
условие ? true : false
z = (x > y) ? x : y;

Питон:
true условие фолс
z = x if x > y else y

Наверняка же у этой бредятины были какие-то оправдания?
Аноним 04/04/23 Втр 14:40:46 2662503 43
>>2662421
> Это принципиально разные вещи.
А я знаю что это принципиально разные вещи. Я спрашиваю, зачем в языке вперемешку встроенные функции, которые меняют данные, и не меняют?
Аноним 04/04/23 Втр 14:45:18 2662505 44
>>2662501
Ну типа типичная домохозяйка думает так как пишется на питоне
А равняется Б если Г иначе Д
Сравни с:
А равняется Если Г то Б иначе Д
Аноним 04/04/23 Втр 14:56:21 2662514 45
>>2662505
А кто сказал, что домохозяйка не думает
>если Г, то А равняется Б, иначе Д
?
Аноним 04/04/23 Втр 15:27:17 2662534 46
Добрый день, тред фриланса мёртв, а мне нужен простенький парсер, на реализацию которого самому нет времени. Нужно с вики спарсить список станций метро СПБ и Москвы, чтобы потом в удобном формате закинуть в бд. Желательно при помощи BeautifulSoup, чтобы я мог проверить и поддерживать если что.
@Serious_Sam
Аноним 04/04/23 Втр 15:34:21 2662538 47
>>2662503
Господи Боже мой 🚬🧐, жалкий 💻👨🦽не знает каким образом строиться семантика 👅 программирования и задаёт ¬🧠 вопросы.
Аноним 04/04/23 Втр 16:39:54 2662591 48
>>2662503
Ну так у тебя может быть задача изменить объект, не создавая новый. А может быть наоборот, тебе нужно создать новый объект. Обе ситуации довольно обычны, поэтому нужны функции-методы для каждой из задач.
Аноним 04/04/23 Втр 17:04:22 2662620 49
>>2662591
Ну, ладно. У меня просто подопечный и так забывает присвоить результат выражения переменной, а тут ещё такое, совсем запутается. Вообще Питон как язык для обучения такое себе, должен сказать. Слишком богатый синтакс, слишком много разных концепций понапихано
Аноним 04/04/23 Втр 17:08:54 2662628 50
>>2662620
А, ещё изобилие в сети и на SO примернов как из второго питона, так и из третьего питона разных версий, тоже не очень способствует, как с многострадальным форматированием строк, где уже сменилось два стандарта, причем внутри третьего питона
Аноним 04/04/23 Втр 17:09:51 2662632 51
>>2662469
Официальная версия сдохла уже 3 года как и не поддерживает новые версии пистона, остались только форки от васянисов
Аноним 04/04/23 Втр 18:06:05 2662694 52
Аноним 04/04/23 Втр 18:07:05 2662698 53
>>2661426
> Да, существует асинхронный аналог set() в Python. Это asyncio.Queue, который также обеспечивает избежание дубликатов элементов. Метод put() добавляет элемент в очередь, при этом если элемент уже присутствует в очереди, он не добавляется повторно.

Нет
Аноним 04/04/23 Втр 18:14:47 2662713 54
>>2662694
На замену асинхронные таски, а селери используют старперы на джанге
Аноним 04/04/23 Втр 18:57:47 2662759 55
>>2662713
Асинхронные таски для cpu-bound не подойдут. Если у тебя один сервис крутится и библиотек multiprocessing и concurrent недостаточно, то тут имеет смысл или делать полноценную распределенную архитектуру или, если у тебя есть один сервис, которому нужно скидывать жирные таски, то проблем с использованием celery нет. Фауст это именно стрим процессинг + стейт для обработки кучи сообщений в секунду для кафки.
Аноним 04/04/23 Втр 20:11:49 2662837 56
>>2662620
>Слишком богатый синтакс, слишком много разных концепций понапихано
Когда я его учил (с поправкой, что для меня это был не первый ЯП и, наверное, даже не в первой десятке), мне показалось, что на фоне всего, с чем я уже знаком, тут столько синтаксического сахара, упрощающего написание кода, что я рискую словить синтаксический диабет.
>>2662628
> с многострадальным форматированием строк, где уже сменилось два стандарта, причем внутри третьего питона
Не сменилось, а добавилось. Старые не выкорчёвывали. Другое дело, что новые настолько удобнее и лучше, что старые как-то сразу стали deprecated.
Аноним 04/04/23 Втр 20:15:00 2662841 57
>>2662501
>Наверняка же у этой бредятины были какие-то оправдания?
В отличии от первого, крайне хуёвого примера по дизайну, во втором ты просто читаешь фразу и она сразу говорит, что делает. И не надо выискивать значочки в строке.
Аноним 04/04/23 Втр 20:16:37 2662842 58
>>2662534
>список станций метро СПБ и Москвы
Можно вытянуть и руками, автоматизировать - дольше.
Аноним 04/04/23 Втр 20:21:39 2662848 59
>>2662759
Кафку ещё настроить надо
Аноним 04/04/23 Втр 21:32:38 2662900 60
>>2662534
у вас там че, "хакатон" ? или вы втроем в разные чаты написали?
Аноним 04/04/23 Втр 21:35:09 2662905 61
Аноним 04/04/23 Втр 21:43:51 2662916 62
На чём реализовать очередь, суть такова — приходит много тасков, они маркированные, можно организовывать разные очереди по маркеру (тегу), в некоторых очередях, если приходит следующий таск, то удаляются первые пять (или все) до этого с таким же маркером (тегом).
1 04/04/23 Втр 21:52:51 2662927 63
джава будто лучше не
Аноним 04/04/23 Втр 22:23:22 2662948 64
>>2662837
> Старые не выкорчёвывали.
Дык тем хуже.
Аноним 04/04/23 Втр 22:24:52 2662949 65
>>2662841
Первый пример охуенный по дизайну.
Условие? кейс1 : кейс2

>во втором ты просто читаешь фразу и она сразу говорит, что делает.
Как и первая, только в первой условие засунуто между действием по варианту 1 и действием по варианту 2
Аноним 04/04/23 Втр 22:30:43 2662953 66
Аноним 04/04/23 Втр 22:34:55 2662956 67
>>2662953
дело не в этом, это объективно некрасивая мешанина
do some_code if true else do other_code

смешаны в кучу котлеты и мухи
Аноним 04/04/23 Втр 22:39:19 2662959 68
>>2662956
condition code1 code2
code1 condition code2
Пиздец, СЛОМАННЫЙ ДИЗАЙН.
Аноним 04/04/23 Втр 23:16:20 2662979 69
>>2662842
Кстати, про метро. Вспомнил об одном проекте:
https://pmetro.su/
можно скачать у них схему метро в своём специальном формате pmz, насколько я помню, pmz представляет из себя zip-архив с пачкой простых файлов, среди которых: png со схемой, много чего ещё и XML с самими станциями. Вот оттуда, при желании, можно взять данные считай без парсинга. Обновляется регулярно.
Аноним 04/04/23 Втр 23:18:37 2662980 70
image.png 350Кб, 680x602
680x602
>>2662979
Ностальгия.

Не думал, что он обновляется. А вон оно как.
Аноним 04/04/23 Втр 23:19:02 2662981 71
>>2662916
Ни в коем случае не используй редис, лучше подожди пока умные дядьки напишут фреймворк под твою задачу.
Аноним 04/04/23 Втр 23:22:05 2662983 72
>>2662501
Ты просто решил доебаться на пустом месте. Не нравится - не используй.
Аноним 04/04/23 Втр 23:24:59 2662987 73
>>2662501
гвидо накринжил, думая, что будет база
Аноним 05/04/23 Срд 03:06:24 2663081 74
>>2662842
Питерские станции ещё куда ни шло, но Московские будет геморно, а потом через год Собянин откроет 10 новых станций и мне вместо повторного вызова функции придётся руками обновлять.
>>2662900
Я только сюда писал, поделись кто ещё такой хренью страдает.
Аноним 05/04/23 Срд 06:45:32 2663119 75
>>2663081
через год москвичи обновят сайт, и тебе придется руками обновлять парсер
Аноним 05/04/23 Срд 08:54:57 2663147 76
Аноним 05/04/23 Срд 08:57:08 2663148 77
>>2663081
Да в чатах в телеге. 3 апреля тот же вопрос задали и послали вручную эксельку заполнять.

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

Хуй теперь буду отвечать в треде, раз такое дело
Аноним 05/04/23 Срд 09:03:49 2663150 78
>>2663147
статьи в википедии ежедневно обновляются и меняются


кстати, англовики там еще и редизайн сделала, который очевидно раскатают и на языковые вики
Аноним 05/04/23 Срд 09:51:20 2663189 79
>>2662239
>node-js
Особенно в СНГ)))00
Тут уж лучше сразу на свалку идти ночевать
Аноним 05/04/23 Срд 10:21:21 2663209 80
Стоит ли ставить в не очень новый debian 11 который я обычно запускаю в WSL, другие версии питона?
И как вообще это делать?
Распидорасит весь системный софт?

Думал нормальненько дожить на python 3.9, но кодерский паравоз бежит вперед слишком быстро и нихуя не работает нормально aiohttp.
Аноним 05/04/23 Срд 10:21:52 2663210 81
>>2662981
Редиска не пойдёт. Уже выполняющийся таск затирать нельзя. И нужен не ttl, а именно затирание новой задачей старых. Не должно быть так, что всё протухнет — должна исполниться хотя бы одна задача (таск).
Аноним 05/04/23 Срд 10:26:31 2663214 82
>>2663148
Так в треде кроме лабораторок с вкатунами и нет никого. Кому надо тот и так знает, а сложные вопросы не ответит никто
Аноним 05/04/23 Срд 11:54:00 2663262 83
Аноны, я тут считал хэш кучи мелких файлов.
hashlib.md5(data).hexdigest()
Где, data это прочитанный в бинарном виде файл.
Файлов всего около тысячи, первый раз раз хэши считались долго, секунд 15 наверно. Когда второй раз запустил всё сделалось за пару секунд.

Чому так?
Если питух где-то на диске собирает хэш этих файлов то я бы хотел это говно удалить.
Аноним 05/04/23 Срд 11:55:05 2663263 84
>>2663262
>питух
Питухон я имел в виду конечно, дома петухов не держу, честно!
Аноним 05/04/23 Срд 12:32:48 2663293 85
>>2663263
Поздно, спускай штаны, ебать будем
Аноним 05/04/23 Срд 12:45:27 2663297 86
>>2663119
Просто в таблице на вики появятся новые строки, формат таблицы врядли изменится(надеюсь).
>>2663148
Я без понятия чё ты параноишь, у меня свой проект, под который эта шляпа нужна, ни в каких хакатонах и фриланс заказах не участвую( хотя уже кажется нашёл на бирже чела который сделает это за копейки пока двачеры параноят)
Аноним 05/04/23 Срд 13:09:22 2663311 87
Аноним 05/04/23 Срд 13:32:59 2663328 88
15499618957290.jpg 46Кб, 640x640
640x640
>>2663311
> пишет на питоне
> не хочет ебаться в жопы
Аноним 05/04/23 Срд 14:37:19 2663370 89
>>2663262
Может в оперативе. Попробуй оперативу затереть.
Аноним 05/04/23 Срд 16:20:51 2663435 90
>>2663328
Ты тот Васян-охранник, кому "среднее полное нинужно"? Узнал я тебя по чувству юмора
Аноним 05/04/23 Срд 17:10:56 2663486 91
>>2663435
Какой охранник, я магистр
Аноним 05/04/23 Срд 19:35:36 2663605 92
Как эту динамическую типизацию дрочить то.
zalupa = classZalupa()
list = []
list.append(zalupa)
size = list[0].zalupaSize

Это будет работать, но на последней строке среда не знает что лежит в листе, никаких подсказочек при вводе и если я захочу переименовать zalupaSize на sizeZalupa, то буду это делать руками во всём проекте.
Можно как-то исправить это?
Аноним 05/04/23 Срд 20:10:54 2663641 93
>>2663605
Добавить типов
list: list[classZalupa] = []
Pycharm автоматически изменит последнюю сигнатуру если через него рефакторить
Аноним 06/04/23 Чтв 02:48:23 2663849 94
>>2663605
ты зачем переопределил list, балда
Аноним 06/04/23 Чтв 23:31:43 2664659 95
А помните были такие IronPython и Jython? Я помню!
Аноним 07/04/23 Птн 05:27:52 2664731 96
>>2664659
да ты бы и Boo вспомнил
Аноним 07/04/23 Птн 11:40:47 2664793 97
Прочитал как "питун-тред"
Аноним 07/04/23 Птн 17:01:56 2665166 98
show.png 9Кб, 270x120
270x120
Нормально, что у меня нет особого интереса читать http://composingprograms.com/pages/23-sequences.html ? Читаю про деревья и ловлю себя на мысли, что начальный запал вникать в какую-то абстрактную отдалённую хуйню пропал и на данном этапе материал книги воспринимается как нагромождение абстракций, которые не ясно как использовать и как они связаны с программированием.
Аноним 07/04/23 Птн 17:08:12 2665171 99
>>2665166
Ну так если ты всё умеешь и тебе этого не надо - не читай. Это же абстрактная хуйня для дурачков, вот ты, ты умный. Угу.
Аноним 07/04/23 Птн 17:16:26 2665180 100
>>2665171
Что за проекции начинаются? Я не писал, что я всё умею, если бы я всё умел, то я бы вообще сюда не писал. Я не писал, что деревья - хуйня для дурачков.
Я просто написал, что мне стало скучно читать этот учебник и что не понимаю, что конкретно я буду уметь, когда пойму принцип работы деревьев. А в ответе на свой пост я надеялся получить мнение анона об учебнике, о том, правильно ли использовать его для изучения принципов программирования, если ничего до этого не читал и нормально ли, что абстрактные вещи учатся тяжело и не охотно.
А ты хуйню какую-то спизданул мимо.
Аноним 07/04/23 Птн 17:16:33 2665181 101
>>2665166
Итерабли и их функциональные пайплайны это сам сок.
Не ебливый костыльный ооп, а вот это.
Аноним 07/04/23 Птн 17:40:39 2665234 102
15833836048890.webm 1663Кб, 360x360, 00:00:53
360x360
>>2661284 (OP)
Пацаны! Подскажите плез, как вы остаётесь креативными и пишите код по 12 часов в сутки 6 дней в неделю?
Аноним 07/04/23 Птн 17:54:01 2665247 103
>>2665234
Я не креативен и не пишу код дохуя часов.
Я в основном на отходосах и натужно пишу код на пхп-перле-питоне-шеллах, чтобы поркыть расходы.
Писал бы и на шарпах-жавах, но лень ставить иде.
Не зацикливайся на языках, it's all the same shit.
Аноним 07/04/23 Птн 18:13:51 2665284 104
>>2665247
>пхп-перле-питоне-шеллах, чтобы поркыть расходы
Фрилансер что ли?
Аноним 07/04/23 Птн 18:27:01 2665300 105
>>2663209
>debian 11 который я обычно запускаю в WSL
Поставь рядом Ubuntu 22.04 и всё будет ОК.
Аноним 07/04/23 Птн 18:28:03 2665301 106
>>2665247
я просто не понимаю, как люди сосредотачиваются под музыку
мне вообще тишина нужна
>>2665284
я вообще безработный и не программист
Аноним 07/04/23 Птн 18:33:51 2665304 107
>>2663605
>если я захочу переименовать zalupaSize на sizeZalupa, то буду это делать руками во всём проекте.
Ну, создай в классе магический метод __len__, это будет более тру.
https://habr.com/ru/articles/186608/
Но вообще говоря, то, что ты описываешь это не про динамическую типизацию, такая проблема даже в самых статических случаях будет.
Аноним 07/04/23 Птн 18:57:04 2665329 108
>>2665234
>Пацаны! Подскажите плез, как вы остаётесь креативными и пишите код по 12 часов в сутки 6 дней в неделю?
Насколько я понимаю, есть только одно, что поможет в такой постановке вопроса: правильный режим переключения контекстов. И оно, насколько я понял, неуниверсально.
Поизучай отдельно:
https://alexthunder.livejournal.com/290612.html
и про метод помидора, про него написано очень много, при чём есть разные практики, тайминги и замечания.

>>2665301
>я просто не понимаю, как люди сосредотачиваются под музыку
Нужна правильная музыка. Мне, например, очень зашла нейромузыка из приложения Яндекс.Музыка на телефоне: только звук, ни слов, ни ещё чего-то, за что сознание может зацепиться, зато блюмкает приятно.
Аноним 07/04/23 Птн 19:02:14 2665340 109
Как нынче правильно запускать fastapi ?
Какая связь между uvicorn и gunicorn ?

Почему когда я vscode через менюшку прощу добавить в проект docker ( а так можно делать и я считаю стоит делать)
он собирает мне docker-compose.debug.yml какой-то левый с gunicorn ?
Всем нужен gunicorn ?

Стоит ли упоминать, что отладка в docker-compose не работает...
Аноним 07/04/23 Птн 19:06:15 2665345 110
Аноним 07/04/23 Птн 19:08:12 2665347 111
>>2665300
У меня стока места нет.

Ну я поставил эту срамоту - pyenv и python 3.11
Стоит ли говорить, что при установке и сборке с нуля все равно насыпало варнингов и работать в VSCode не так уж удобно?
Хотя я надрочился выбирать версию python и в принципе жить можно.
Аноним 07/04/23 Птн 19:58:17 2665448 112
>>2665347
Свежие питоны требуют в системе свежих GLib, а слишком новые GLib - потенциально поломают половину системы. Поэтому мейнтейнеры иногда ограничивают максимальную версию доступных пакетов. Собственно, скорее всего оно у тебя даже не скомпилится руками.

Мне проще, у меня Ubuntu на железе, а дебиан или центось, при необходимости, я и в докере запущу:
> $ docker images
> REPOSITORY TAG IMAGE ID CREATED SIZE
> debian 11 f5b06fd90040 2 weeks ago 124MB
> centos 7 eeb6ee3f44bd 18 months ago 204MB
Аноним 07/04/23 Птн 20:09:22 2665471 113
>>2665448
Все собралося, за исключением небольших варнингов.
Ты же не думаешь, что кто-то кроме долбоебов использует centos ?
Аноним 07/04/23 Птн 22:30:14 2665624 114
>>2665471
> Ты же не думаешь, что кто-то кроме долбоебов использует centos ?
Увы и ах!
У половины моих контрагентов седьмая цента, ещё у трети - восьмой рхел (которого у меня нет, дорого, так что тестировать приходится прямо на их проде, естественно, всех предупреждаю о побочках).
Я каждый раз полыхаю так, что видно из космоса, когда оказывается, что мне придётся снова связываться с этим окаменевшим говном мамонта, на котором окажется питон 3.6 (и соберётся из сырцов 3.8 - максимум) и ансамбль 2.11 какой-нибудь.
Аноним 07/04/23 Птн 23:44:27 2665664 115
Снимок1.PNG 9Кб, 312x211
312x211
Снимок2.PNG 6Кб, 258x203
258x203
Нужно запилить кастомные коды ошибок для JsonResponse в Fastapi.
Какой из вариантов более "clear code"вый?
Аноним 08/04/23 Суб 00:26:15 2665684 116
>>2665664
>кастомные коды ошибок для JsonResponse в Fastapi.
Вообще плохая идея, как по мне. Есть HTTP-коды, которые ты можешь скармливать через raise в случае ошибок, или штатно указать корректный код, зачем тебе тут кастом?
Чтобы тот, кто будет делать фронт - страдал?
Аноним 08/04/23 Суб 00:31:15 2665686 117
Подскажите, пожалуйста, кто тут не прав (если я, то в чём и как правильно):
BASH:
> echo "pass" | sha256sum
> 9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2 -
Python:
>>> from hashlib import sha256
>>> sha256("pass".encode('utf-8')).hexdigest()
'd74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1'
Почему, применяя один и тот же (по-идее) хэш-алгоритм к одной и той же (по-идее) строке я получаю разные результаты?
Аноним 08/04/23 Суб 00:38:24 2665690 118
>>2665687
Ити жи пассатижи!
echo удивило. Хотя можно было и догадаться. Спасибо!
Аноним 08/04/23 Суб 01:12:23 2665698 119
>>2665684
Это не http-код, а код в body, т.е. схема жсон респонса такая: {"code”: ErrorCode_instance, ”message": CustomMessageText}.
Аноним 08/04/23 Суб 01:22:16 2665701 120
image.png 7Кб, 411x33
411x33
А чем тебе обычный способ передачи сообщения об ошибке не угодил? Он точно так же возвращает джейсона, строку можешь передать свою, если надо.
Я просто пытаюсь понять, может, я сам не прав и мне надо перерписать всё КЕМ...
Аноним 08/04/23 Суб 01:35:45 2665706 121
>>2665701
1) Потому что на разные эксепшены навешены свои хэндлеры.
2) Потому что detail в таком виде вернёт фронту plain text, а не объект.

Я же хочу для всех ошибок возвращать ErrorResponse с атрибутами code и message, т.к. контроллер может вернуть хттп 400 по нескольким разным причинам.
Т.е.:
1) упал на валидации токена -> хттп 400, код 40001, мессаге инвалид кредентиалс;
2) упал на валидации тела -> хттп 400, кож 40002, мессаге бади валидатор еррор;
и т.п. для 401/403/5ХХ.
Аноним 08/04/23 Суб 05:36:24 2665739 122
>>2665234
А я не пишу так активно, я чё дебил что-ли. Строчку код 24/7 юез выходных где-то месяц, а потом полгода сижу как овощь
Аноним 08/04/23 Суб 06:38:43 2665759 123
>>2665234
просто не взрослею после 22 лет
Аноним 08/04/23 Суб 10:54:16 2665817 124
image.png 27Кб, 311x283
311x283
>>2665234
На самом деле это всё: >>2665329 , конечно, работает, но только до одного момента. Пока у тебя есть интерес. Хоть какой-то. Пока интерес сильный, тебе ничего не надо, когда его нет - тебе ничего не поможет.
Если тебя всё заебало и ты понимаешь, что вертел ты на хую в тысячный раз писать один и тот же код для новых клиентов - надо что-то менять. Предметную область, фреймворк, язык, работу, в конце концов отрасль.
Когда станет скучно, заебёт вконец, ты либо будешь писать 10 строк полезного кода в день, либо будешь механически впечатывать шаблонный код, работа по интеллектуальному уровню будет на уровне "отстоять смену у станка" 50 лет назад безо всякой автоматизации.
Аноним 08/04/23 Суб 14:21:21 2666119 125
Нюфаг итт.
pyinstaller вопрос.
У меня программка разбита на файлики, в которых подключаются другие файлики и так далее.
Я правильно понял, что pyinstaller вложенные вложения, так сказать, не видит и не читает?
Аноним 08/04/23 Суб 14:35:55 2666146 126
Антуаны, у меня вопрос.
А можно как-то запустить приложение в одном окне, а трассировать в другом? Ну, VSCode, например, может показывать значения переменных, расставлять точки останова и пр., но запускает при этом приложение у себя в подвале, а у меня там портянки текста, мне бы консоль на отдельном экране видеть.
Аноним 08/04/23 Суб 20:15:17 2666529 127
Изучаю классы. Как сделать кучу переменных автоматизированно?

Вот есть у меня простой класс Person с атрибутами имя и возраст. Хочу допустим я создать 50 человек - не буду же я руками создавать ivan = Person("Ivan", 20), Alesha = Person(...) ....
Аноним 08/04/23 Суб 20:51:33 2666583 128
>>2666529
Создай список "persons"
В цикле вызывай конструктор с параметрами.
Аноним 08/04/23 Суб 21:07:18 2666612 129
Притон, блядь. Как можно было назвать язык программирования притоном?
Алекс 08/04/23 Суб 22:32:14 2666784 130
Аноним 08/04/23 Суб 23:16:09 2666831 131
>>2666119
Не, ня правільна. Ён усе чытае. Стартуй pyinstaller у дырэкторыі дзе зьмяшчоны твой __main__.py. Таксама магчыма дадаць яму бібліятэкі парамэтрам --paths
Аноним 08/04/23 Суб 23:52:46 2666836 132
>>2666529
persons = [Person() for i in range(50)]
Аноним 09/04/23 Вск 04:04:32 2666903 133
>>2666583
>>2666836
А в каких переменных хранятся эти "люди" и как получать к ним доступ?
Аноним 09/04/23 Вск 10:24:39 2666959 134
>>2666903
Тебе нужно сделать свой генератор c фейковыми данными, можно сделать создание рандомного списка из string.ascii_letters
Еще можно заморочиться и заюзать эту либу, если хочешь что-то осмысленное
https://faker.readthedocs.io/en/master/
Аноним 09/04/23 Вск 10:31:05 2666963 135
Хм-м.
>>> a: dict = []
>>> type(a)
<class 'list'>
Я даже не знаю, норма ли это.
Аноним 09/04/23 Вск 10:35:13 2666968 136
>>2666903
В данном случае у тебя появляется лист "persons" и эти "люди" будут элементами этого листа.
Обратиться сможешь либо в цикле, например:
> for i in persons:
> ....age = i.get_age()
либо по индексу, например:
> age = persons[-5].get_age()
Аноним 09/04/23 Вск 11:30:11 2666984 137
>>2666963
А че не так? порядок и приоритет действий чекай
Аноним 09/04/23 Вск 14:14:48 2667039 138
>>2666959
Фейковые имена похуй какие, мне и имя 1, имя 2 сойдёт.

>>2666968
Понял, попробую использовать. Но это все равно все будет объектами словаря. А можно ли в питоне создать обычные переменные во время исполнения кода? Чтобы код создавал переменные вида ivan = Person() и чтобы потом использовать ivan.name, а не persons[0].name
Аноним 09/04/23 Вск 14:18:22 2667041 139
>>2667039
Чел, чекай ооп в питухоне, чтобы не быть батхертом.
Аноним 09/04/23 Вск 17:18:11 2667218 140
>>2667039
А зачем? В чем смысл?
Аноним 09/04/23 Вск 17:45:25 2667260 141
>>2667218
Просто интересно возможно ли это в принципе и где это используют.
Аноним 09/04/23 Вск 19:14:23 2667416 142
Аноним 09/04/23 Вск 19:17:14 2667419 143
>>2666963
dict - это подсказка. Ты всё так же можешь присваивать что угодно (но зачем идти против подсказки, бля).
Аноним 09/04/23 Вск 21:11:16 2667595 144
>>2667260
Так не делают нигде. Вдруг у тебя потом будет не 50, а 20, или 1000. И что потом? Программу переписывать будешь каждый раз? А если у них имена будут другие?
Аноним 09/04/23 Вск 21:37:43 2667616 145
image.png 3Кб, 379x119
379x119
>>2666963
type hints нужны для крупных проектов для использования в связке с IDE
если ты используешь их просто так, то ты сам себе стреляешь в ногу
Аноним 10/04/23 Пнд 06:54:24 2667780 146
>>2667616
Квкие крупные проекты, они используются в валидаторах типа пидантика или ещё какой залупы, там тип важен и это не подсказка нихера
Аноним 10/04/23 Пнд 10:04:10 2667840 147
>>2667039
>Чтобы код создавал переменные вида ivan = Person() и чтобы потом использовать ivan.name, а не persons[0].name
Можно. И, более того, именно так это и работает. Другое дело, что юзверей ты хранишь в эрзац-БД, из расчёта, что их будет дохуялиард. Если у тебя немного объектов (предсказуемое количество, обусловленное логикой), то, конечно, делается что-то в духе
> ivan = Person("Ivan", 22)
Аноним 10/04/23 Пнд 10:31:45 2667857 148
Блин. Оказывается, for i in list не перебирает все элементы, а делает что-то типа for i in range(len(list)): list я надеялся на более технологичный вариант, который именно перебирает элементы. Хорошо хоть наебать систему просто.

a = [1, 1, 2, 2, 3, 3]
for i in a:
....if i == 2:
........a.remove(i)
print(a)
> [1, 1, 2, 3, 3]
a = [1, 1, 2, 2, 3, 3]
for i in a[::-1]:
....if i == 2:
........a.remove(i)
print(a)
> [1, 1, 3, 3]

Сука, мелочь, а я, наверное, час потратил на дебаг.
Аноним 10/04/23 Пнд 10:37:43 2667863 149
>>2667857
Ты мог и просто сделать a[:] во втором примере. Но вообще, код выглядит как срань потому что ты сначала делаешь копию, потом итерируешься по ней и вызываешь remove, который тоже итерируется по листу до первого вхождения.
Аноним 10/04/23 Пнд 10:42:48 2667867 150
>>2667857
Да ты почти в любом языке обосрешься, мутируя итерируемый объект. Это БЭД ПРАКТИС, ёпта.
Аноним 10/04/23 Пнд 13:09:10 2667997 151
>>2667863
Мне тоже не нравится. Но нужно почистить лист от вхождений по маске и для этого как бы есть ремув.
>>2667867
>Да ты почти в любом языке обосрешься, мутируя итерируемый объект.
Если идти с конца, то нумерация не поедет и это работает. А что думаешь, правильнее? Сначала сделать временный лист/тупл с тем, что надо удалить и потом пройтись уже по нему циклом?.. Звучит ещё страньше, а больше ничего в голову не приходит.

Кстати, идти с конца - практика, которую когда-то подсказали куда более опытные товарищи, которые в отличии от меня именно кодингом живут.
Аноним 10/04/23 Пнд 13:25:24 2668020 152
>>2667997
>Если идти с конца, то нумерация не поедет и это работает
Ты не по тому же листу итерируешься, а по его копии, потом вызываешь remove, который итерируется уже по оригинальному листу пока не найдет заданное значение. Поскольку количество вхождений "2" в копию очевидно такое же, то оно и работает корректно. Сделай вместо a[::-1] a[:] и у тебя будет такой же результат.
С таким же расходом памяти, но более идеоматично и быстрее будет так
a = [1, 1, 2, 2, 3, 3]
a = [i for i in a if i != 2]
Аноним 10/04/23 Пнд 13:31:58 2668028 153
>>2667997
Можно с конца, можна через генератор и зарядить дальше. Для небольших списков можно компрехен.
todel = {1,2,3}
gen = (el for el in lst if el not in todel)
Аноним 10/04/23 Пнд 15:28:13 2668119 154
Объясните самым простым примером зачем нужен class, обхожусь без него и не вижу смысла в применении. Понятно что мелких говноскриптах оно особо не нужен.
Но где вот прям использование по делу?
Аноним 10/04/23 Пнд 15:30:20 2668121 155
>>2668119
В больших говноскриптах.
Посмотри какую-то небольшую либу вроде requests как там всё организовано.
Аноним 10/04/23 Пнд 15:58:50 2668151 156
Аноним 10/04/23 Пнд 16:09:09 2668156 157
>>2668151
Функцыя таксама дазваляе захаваць становішча як пераменную асяроддзя.
Аноним 10/04/23 Пнд 16:38:10 2668175 158
>>2668156
Мин аннамым сине, жунне тел белэн сулэш
Аноним 10/04/23 Пнд 16:47:30 2668191 159
>>2668175
Можно с вами?

Дрыг прыг чик пык
Аноним 10/04/23 Пнд 16:58:13 2668200 160
>>2668119
нахуй не нужон. никто не пользуется этим говном
Аноним 10/04/23 Пнд 18:04:25 2668270 161
>>2668020
>a = [1, 1, 2, 2, 3, 3]
>a = [i for i in a if i != 2]
Спасибо за подробное пояснение!
Так и сделал, работает и смотрится норм. Почитал про ремув, потестировал, слегка разочаровался, что он бегает. Я что-то был чуть лучшего мнения о Питоне. То есть со стороны кода всё гут, но внутри не так красиво, как ожидаю.
>>2668028
Спасибо!

У меня это пока заглушки перед переездом данных в БД, но хочется писать нормально сразу. Спасибо!
Пробовал писать сразу в базу, но там половина кода уходит на подключение, выборы, курсоры... Решил обкатать логику без этого всего сначала.
Аноним 10/04/23 Пнд 18:07:29 2668273 162
questio.PNG 26Кб, 604x365
604x365
Помогите тупому, как сделать функцию которая будет выполняться паралельно основной программе.
В кратце функция должна присылать уведомление всем юзерам в определенное время.
Вот на скрине то что я сделал, код работает, все присылается, но остальные функции бота перестают работать.
Оно же вроде должно быть паралельным потоком, но нихуя.
Аноним 10/04/23 Пнд 20:03:41 2668393 163
>>2668270
>Я что-то был чуть лучшего мнения о Питоне
Ты просто не очень его знаешь, удаление по элементу без прохода по массиву ты ни в каком языке не сделаешь. Для удаления по индексу есть pop
Аноним 10/04/23 Пнд 20:10:07 2668397 164
>>2668393
>удаление по элементу без прохода по массиву ты ни в каком языке не сделаешь.
А если ты обходишь список, то в i во всех случаях попадает копия элемента? И никогда - ссылка на него?
Если ссылка, то можно придумать, как исключить каррент айтем.
Аноним 10/04/23 Пнд 20:22:24 2668406 165
>>2668397
>А если ты обходишь список, то в i во всех случаях попадает копия элемента? И никогда - ссылка на него?
Если это изменяемый объект, то ссылка, если не изменяемый то значение.
>Если ссылка, то можно придумать, как исключить каррент айтем.
Просто нормальный счетчик с pop.
Аноним 10/04/23 Пнд 20:51:39 2668439 166
>>2668397
Это не копия, это дополнительная переменная, то есть на объекте просто увеличили счетчик ссылок.
Аноним 10/04/23 Пнд 21:58:28 2668467 167
>>2668273
Зачем тебе екзекутор?
И в чем прикол asyncio.gather с одной функцией?
Аноним 10/04/23 Пнд 22:03:13 2668471 168
Про list.copy() видимо не знает никто.
>>2668270
Вот это вполне нормальное решение, чем не нравится? Созданием второго списка? А вы подумайте логически как по шагам сделать это в одном листе с сохранением индекса
Аноним 10/04/23 Пнд 22:09:17 2668475 169
>>2668471
Чем копи отличается от полного слайса, который известная идиома?
Аноним 10/04/23 Пнд 22:39:23 2668502 170
>>2668397
>во всех случаях попадает копия элемента? И никогда - ссылка на него?
В питоне все типы ссылочные, в нём не имеет смысла разделение на value и reference.
Аноним 10/04/23 Пнд 22:45:51 2668504 171
>>2668467
>Зачем тебе екзекутор?
По стандарту нужен в библиотеке aiorgam для работы с телеграм ботами.
>И в чем прикол asyncio.gather с одной функцией?
Я просто до этого запускал вне асинхронной функции и без него не работало.
Аноним 11/04/23 Втр 10:11:25 2668703 172
>>2668502
Тем не менее, если вот ты обходишь лист, у тебя есть указатель на элемент листа, но для удаления элемента из листа ремув не берёт готовую ссылку, а проходит по всему листу до подходящего вхождения.
Аноним 11/04/23 Втр 10:46:01 2668721 173
>>2668703
>у тебя есть указатель на элемент листа
Это ссылка на объект, о листе он никакой информации не имеет. remove ты изначально неправильно использовал. Если ты хочешь быстрого удаления из листа, то тебе нужно удалять по индексу.
Аноним 11/04/23 Втр 12:47:32 2668840 174
>>2668393
>Для удаления по индексу есть pop
А как же del?
Аноним 11/04/23 Втр 14:46:16 2669003 175
Да, малютки, хотел разработать JRPG на Pygame, но не знаю, как передавать данные из низших классов в классы выше уровнем, поэтому обсёр. Это конец.
Аноним 11/04/23 Втр 14:55:16 2669017 176
>>2669003
Японцы баттл ссыте замутили на 2кб озу и 1.5мгц процессоре, а ты на такой хуйне обосрался. Стыдно!
Аноним 11/04/23 Втр 15:23:14 2669055 177
>>2669017
Иди нахер, помогай или не отвечай, ок?
Аноним 11/04/23 Втр 15:25:32 2669058 178
>>2669055
Ну вот, у тебя в простом ответе троичная логика. Тебе надо на sql делать jrpg.
Аноним 11/04/23 Втр 16:17:22 2669114 179
>>2669003
вот так:

self.game.data['pook'] = self.srenk
Аноним 11/04/23 Втр 16:45:01 2669145 180
Я правильно понимаю что переменные внутри класса без self. - это общие данные класса?
Аноним 11/04/23 Втр 16:49:09 2669152 181
Аноним 11/04/23 Втр 17:19:00 2669179 182
>>2669114
Спасибо, братан, надеюсь когда-нибудь стать таким же крутым и помогать бро.
Аноним 11/04/23 Втр 17:41:06 2669208 183
>>2669179
Ты никогда не станешь крутым, спрашивая ответы на элементраные вопросы. Надо давать результат, даже извлекая его через жопу.
Аноним 11/04/23 Втр 17:47:43 2669218 184
>>2669208
Ну по сути я извлёк ответ из жопы, задав свой вопрос здесь.
Аноним 11/04/23 Втр 17:53:13 2669225 185
>>2669218
Тебе надо изучить си и посмотреть, как работает вм питона. Тогда ты сможешь давать советы из жопы. Вот там выдлелся лист х на разрядность системы, а ты своим выражением утопил эту ололо-оптимизацию в говне. Вот так надо смотреть.
А потом идти в си-тред и спрашивать, что значат полтора звездочки в выражении.
Аноним 11/04/23 Втр 17:59:48 2669231 186
telegram-cloud-[...].jpg 80Кб, 1280x204
1280x204
Двач, помоги
Пытаюсь написать скрейпер сайтов на реквестах. Наткнулся на случай, который не понимаю как обходить. При каждом новом запросе в ссылку добавляется новая часть, аналогичная предыдущим и так до бесконечности. Никаких ошибок типа максимальной рекурсии не выдает. Я хз даже как гуглить.

Пример пикрил и Parameter on Hostname Root в разделе URLs тут https://crawler-test.com/
Аноним 11/04/23 Втр 18:02:23 2669239 187
>>2669225
Честно, признаюсь, пытался пару дней назад начать что-то делать на C++. Знаю, что малютки используют библиотеку SDL2, потому после того как скачал компилятор mingw, поставил её, но эта шлюха отказывалась работать что бы я не делал. Поэтому забросли эту дрисню.
Аноним 11/04/23 Втр 18:22:36 2669262 188
>>2669231
Объебос, не parameter on hostname root, а Parameter Removal хотя возможно оба
рейт ми Аноним 11/04/23 Втр 23:14:54 2669586 189
Аноним 12/04/23 Срд 06:44:39 2669738 190
>>2669586
Где каменты на китайском? Мы вам перезвоним.
Аноним 12/04/23 Срд 08:37:36 2669771 191
Что рекомендуете для компиляции файлов в .exe файл?
Аноним 12/04/23 Срд 08:57:59 2669787 192
Аноним 12/04/23 Срд 09:10:13 2669796 193
Аноним 12/04/23 Срд 12:01:11 2669895 194
Друзья, помогите пожалуйста, не понимай как сделать иллюзию ожидания (пропуска кадров, не знаю как это назвать) в Pygame, прочтите комментарии.
Буду вечно благодарен за помощь.
https://pastebin.com/z8bKhLcw
Аноним 12/04/23 Срд 12:45:06 2669954 195
>>2661284 (OP)
Вот яркий пример того что значит "быть слишком умным не к месту":
https://habr.com/ru/articles/728194/
Петушок ударился в генераторы и предлагает засрать нахуй свой код ими. Поменять легко читаемую и легко отлаживают конструкцию на плохо читаемую и неотлаживаемую без каких-то профитов по производительности даже (и где-то наоборот она и хуже станет)
Аноним 12/04/23 Срд 13:00:54 2669964 196
image 41Кб, 650x367
650x367
>>2669954
Дык, это же питон. Здесь много высокомерных чванливых пидорасов, ебущихся хуями в грязное половое ачько с говном, а потом сосущими эти гонорейные хуи друг у друга. Это норма.

Не стоит такое прямо вводить как догматику и писать код исключительно гомосексуально (даже если ты питонист). Но как разминку для ума или как некие приёмы, которые иногд аудобно или интересно использовать в своём обычном коде, который ещё и другим читать (или себе через год) — да, полезно, ящетаю.
Аноним 12/04/23 Срд 14:17:29 2670045 197
>>2669954
Забавно, что он просит за свои услуги от 7к евро, при этом жиденько обсирается в комментах про коды ошибок, "ну я сам из мира assемблера" и "мне надо было отдать пол миллиона точек" -> "тут я наврал, было максимум 17 тысяч".
Аноним 12/04/23 Срд 14:18:19 2670047 198
Снимок.PNG 63Кб, 1347x657
1347x657
>>2670045
Бля, из-за новой капчи пик не добавился.
Аноним 12/04/23 Срд 16:32:17 2670279 199
>>2669954
по-моему чувак просто решил потроллить
Аноним 12/04/23 Срд 19:11:30 2670504 200
>>2661284 (OP)
Всем привет, что почитать/посмотреть такого, что бы максимально разобраться в асинхронности?
Нужно ли мне для этого так же вникать в многопоточность/многопроцессорность или достаточно условно асинкио только знать и все?
В общем жду любых подсказок/советов, спасибо:)
Аноним 12/04/23 Срд 19:17:26 2670514 201
>>2670504
Асинхронность, трединг (многопоточность) и мультипроцессинг (параллельные вычисления) — это абсолютно разные вещи.

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

Asynchronous vs Multithreading and Multiprocessing Programming (The Main Difference)
Аноним 12/04/23 Срд 19:50:01 2670561 202
Боже, какие же машин лернинг дебилы ублюдки
1 видео: "Братаны, ща напишем топ нейронку без библиотек, всё понятно и вообще клёво"
https://www.youtube.com/watch?v=fa3BE_VwyS4
9 видео: "Так ребятки устанавливаем Петухон и тысячу библиотек гойды, через видосов 50 сделаем топ проект"
https://www.youtube.com/watch?v=jdDMBNWt42Y
Аноним 12/04/23 Срд 19:53:24 2670564 203
>>2670561
Ну ты бы ещё посмотрел "кто обоссытся первым челлендж".
Надо смотреть видео из удеми с улыбчивым индийским школьником и кудахтаньем куриц во дворе.
Аноним 12/04/23 Срд 19:57:13 2670571 204
>>2670564
Ты пытаешься троллить, но получается какая-то глупость. Мне просто жаль, что нет нормального урока, который помог бы мне в сфере Дата Сайенс.
Аноним 12/04/23 Срд 20:00:18 2670578 205
>>2670571
Я пытаюсь сказать тебе, что на ютубе не стоит искать вменяемых видео по айти. Они бывают, но это единичные исключения.
А ты видимо зумерок, который и жопу без ютуба подтереть не может, да?
Аноним 12/04/23 Срд 20:01:31 2670582 206
>>2670514
Почитал статей, тогда вопрос сокращу до:
Всем привет, что почитать/посмотреть такого, что бы максимально разобраться в асинхронности?
Сам пока читаю все, на что наткнусь, но все же буду не против более конкретным советам.
Аноним 12/04/23 Срд 20:04:42 2670587 207
>>2670578
И как ты советуешь изучать Машин Лернинг. С точным указанием ресурсов/ссылками. Если не сможешь ответить - оформляй срыгос с борды.
Аноним 12/04/23 Срд 20:16:48 2670606 208
>>2670587
Читай книги, лекции с институтов и соотвествующих курсов.
Найди людей с нужных направлений и попроси их сливать лабораторные и всякое такое.
скачай курсы скилбоксов, если верхнее сложно, но лучше смени направление)
Аноним 12/04/23 Срд 20:26:01 2670614 209
>>2670587
Я тебе ничем не обязан, срыгосник, просто обозначил, что ты ешь говно и почему оно на вкус как говно почему-то. Так что стоит поискать что-то получше.
А пока можешь оформлять свои молодежные срыгосы обратно на ютубчик. СТАВЬ ПАЛЬЧИК ВВЕРХ.
Аноним 12/04/23 Срд 20:32:40 2670622 210
>>2670571
>нормального урока, который помог бы мне в сфере Дата Сайенс.
Тебе надо матстат, линал и тервер изучить, а инструментарий в Питоне для этого элементарен — хуяришь в ноутбуке, вооружившись пандас и нумпи, вот и всё.
Аноним 12/04/23 Срд 20:33:49 2670625 211
>>2670587
>изучать Машин Лернинг
Ты DataScience и MashineLearning не путай. Это сильно разные вещи.
Аноним 12/04/23 Срд 20:48:39 2670644 212
>>2670625
Сто мильйонов где платят, девка на ютубе сказала.
Аноним 13/04/23 Чтв 00:40:27 2670775 213
Аноны, подскажите пожалуйста как решить. Есть несколько функций, в одной из них есть try, except, в одном из except вносятся изменения(удаляются по индексу) в список который используется как аргумент в 2 функциях. Сперва выскакивает вообще рандомное значение из списка, а если повторить запрос ошибка - "circular reference detected".
Я вообще не шарю в питоне, чисто хочу для себя одну штуку сделать.
Аноним 13/04/23 Чтв 00:52:42 2670784 214
image.png 34Кб, 632x288
632x288
image.png 82Кб, 792x719
792x719
>>2670775
Вот код, скорее всего я пиздец какое говно написал, но уже часа 3 пытаюсь поправить чтобы нормально работало и ничего :(
Аноним 13/04/23 Чтв 01:04:15 2670788 215
>>2670784
удалил лишний while, забыл с теста прошлого.
Всё равно сперва в ans выдаёт просто role, а затем и в ans и в context - Circular reference detected.
Аноним 13/04/23 Чтв 07:36:10 2670831 216
image 218Кб, 462x407
462x407
Аноним 13/04/23 Чтв 13:54:48 2671076 217
image.png 17Кб, 874x97
874x97
Аноним 13/04/23 Чтв 14:12:31 2671097 218
image.png 2Кб, 72x73
72x73
Как ограничить размер оси, не обрезая сам график?
Аноним 13/04/23 Чтв 14:14:59 2671101 219
image.png 18Кб, 880x118
880x118
>>2671097
О!
Объясни пожалуйста кое-что по поводу графиков
Аноним 13/04/23 Чтв 14:34:30 2671119 220
>>2671101
Запусти да посмотри.
Аноним 13/04/23 Чтв 15:53:58 2671206 221
>>2671101
будет, он в отельном окошке откроется
Аноним 13/04/23 Чтв 18:36:03 2671400 222
>>2669586
раскладку не заебался переключать?
Аноним 13/04/23 Чтв 18:59:31 2671415 223
Аноним 13/04/23 Чтв 19:14:34 2671431 224
>>2671415
Всё хуйня переделывай.

[H[J
главное_меню
1.) создать_меню< команда>
2.) создать_пункт< команда>
3.) назад< команда>
4.) выход< команда>
5.) сохранить< команда>
6.) загрузить< команда>
>>>
1
>>> создать_меню >>>
2
[H[J
главное_меню
1.) создать_меню< команда>
2.) создать_пункт< команда>
3.) назад< команда>
4.) выход< команда>
5.) сохранить< команда>
6.) загрузить< команда>
7.) 2< Меню>
>>>
вв
Traceback (most recent call last):
File "main.py", line 148, in <module>
консоль.цикл()
File "main.py", line 46, in цикл
я.выбрать_пункт(выбор)
File "main.py", line 96, in выбрать_пункт
выбор = целочисленное(выбор)
ValueError: invalid literal for int() with base 10: 'вв'
Аноним 13/04/23 Чтв 19:28:39 2671448 225
>>2671431
Сам отлаживай. Я code style commit сделал.
Есть два стула Аноним 14/04/23 Птн 12:21:35 2671935 226
Курс программирования на Python 3.6 Михаил Корнеев 2019 год https://learn.python.ru/

Добрый, добрый Python ООП Сергей Балакирев 2022 https://stepik.org/course/116336/promo

На какой сесть?

Мимо чел с айтишной вышкой но программировать не научили
Аноним 14/04/23 Птн 12:28:55 2671942 227
>>2671935
И английскому не научили?
Аноним 14/04/23 Птн 13:01:55 2671961 228
>>2671942
Уже приносил английские курсы в этот тред и их обоссали "курсы не нужны"

Приведи пример нормального, если шаришь.
Аноним 14/04/23 Птн 13:21:58 2671974 229
image.png 17Кб, 270x120
270x120
>>2671935
>>2671942
>>2671961

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

Я не вкатун с нуля, у меня есть база, знаю английский, и вместо шароебства по бордам я реально самообразовывался. Но не хотелось бы просмотреть условно говоря 10 часов курса, и понять, что хуйня, поэтому спрашиваю.
Аноним 14/04/23 Птн 13:30:08 2671984 230
>>2671961
Ещё раз в этом треде могу тебе порекомендовать jose salvatierra.
У него акцентик, но нормальный, не диарейный индусский.
Есть ещё челик русский, который по тематике, я скачал на каком-то варезнике, не могу найти сейчас.
Любого автора русских курсов надо ловить и пиздить арматурой, я серёзно.
Аноним 14/04/23 Птн 15:13:50 2672082 231
Поясните спецы тредовые, правильно ли я понимаю что для вызова бинарника из кода мне нужно вызывать process.call?
У меня есть sh скрипт в котором запускается утилита с ключами, ее хочу перенести в код, но если делать типа process.call('bash' -f 'apache2 хуе-мое') она не видит каталогов, а если process.call('apache2' -f'пук-среньк') то он не видит конфигурационных файлов хранящихся для юзера в $home/username
Или как то иначе такое надо запускать? И как мне код ошибки обработать? Потому что если он срабатывает то приложуха дохнет.
Аноним 14/04/23 Птн 19:01:55 2672364 232
Безымянный.png 43Кб, 968x514
968x514
Подскажите почему словарь d2 не хочет создаваться?
В d1 у нас обычный генератор и там я могу брать по два элемента(x, y) из списка(a2). А вот d2 и d3 вложенные генераторы и сразу по два элемента если брать выдает ошибку.
Это так задумано или я что-то делаю не так?
>>2671935
Вот сейчас как раз курс от Балакирева прохожу, только бесплатный который, для самых маленьких. Очень годный курс.
Аноним 14/04/23 Птн 20:10:26 2672408 233
>>2672364
так синтаксис неправильный. вместо а2 вставь свой листкомп и всё

а двойной комп итерируется по каждому элементу пары отдельно, превращая лист из пар в плоский одномерный лист
Аноним 14/04/23 Птн 20:19:21 2672415 234
Аноним 14/04/23 Птн 20:51:07 2672439 235
image.png 16Кб, 270x120
270x120
>>2671935
>>2671974
>>2671984

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

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

При устройстве больше смотрят на петпроекты я так понимаю?
Аноним 14/04/23 Птн 20:57:04 2672442 236
>>2672439
>Сколько времени у вкатуна не совсем с нуля, с моими входными данными, может уйти на становление джуном-питонистом?
Пол года-год, зависит от твоего желания и будет ли твоей первой вакухой джанга
Аноним 14/04/23 Птн 22:37:40 2672572 237
segmentsimage1.png 23Кб, 270x120
270x120
segmentsimage2.png 23Кб, 270x120
270x120
segmentsimage3.png 21Кб, 270x120
270x120
segmentsimage4.png 21Кб, 270x120
270x120
Здарова мужики. Куда мл тред делася? Хотел спросить как на цветных изображениях сегментировать элементы по цвету легче всего? Есть способ без создания больших дадасетов? Или готовые инструменты?

Сейчас сделал без ml чисто математикой. Сначала сильно блюрю через denoising, потом через kmeans уменьшаю количество цветов и потом ещё скэлю получившееся цвета к 32ум заранее заданным цветам. После разделяю исходную картинку на 32 разные по одной на каждый цвет, На каждой сначала удаляю шум, потом dilate оставшихся элементов а потом, нахожу все компоненты связаности. Дальше для каждой компоненты связаности беру прямоугольный контур, проверяю что он не слишком большй и не маленькией и не силньно пересекается с другими. Из выбраных выбираю до 6ти самых близких к центру. Но получается так себе. Некоторые картинки нормально сегментировал, на некоторые вообще неправильно. Как улучшить без излишних усложнений?
Аноним 15/04/23 Суб 01:37:17 2672664 238
>>2672572
Какой мл? Ты куда зашел, чмоня? Мы здесь максимум умеем решать квадратные уравнения, а ты со своими нейронками.
Аноним 15/04/23 Суб 02:14:51 2672669 239
Нужно склепать простейшую веб-формочку, которая по нажатию кнопки будет отправлять ответ в апишник. Ничего кроме питона, баша и SQL я не знаю, и веб-разработкой не особо интересуюсь, ибо я у мамы DBA.
Форме вообще не надо быть красивой, совсем. По сути, мне нужен веб-аналог tkinter'a.
Какие библиотеки пробовать? Мне очень не хочется пытаться разбираться с фласком.
Аноним 15/04/23 Суб 04:16:03 2672681 240
>>2672664
А куда с мл идти? Тред пропал. Я думал они в питон тред перекачевали
Аноним 15/04/23 Суб 08:28:14 2672717 241
>>2672669
Джанга, самую простую формочку можешь склепать через 2-3 часа знакомства.
Аноним 15/04/23 Суб 14:05:03 2672903 242
Пытаюсь запарсить сайт с картинками https://giantessbooru.com/post/list
Проблема в том, что он как бе 18+ и питон выдаёт 403, потому что там при входе вопрос "а вам есть 18?". Пытался добавить в параметры "agreed=1" - не помогло.
В заголовках используется cloudflare, пытался обойти с помощью cloudscraper, cfscrape - нихрена.
При этом в браузере ссылка https://giantessbooru.com/post/list?agreed=1 прекрасно работает
Как победить?
Аноним 15/04/23 Суб 14:37:48 2672927 243
>>2672903
Выдери куку из браузера и ходи с ней? В селениуме так можно точно. В реквестс не пробовал, но может да.
Аноним 15/04/23 Суб 19:18:35 2673104 244
изображение.png 26Кб, 873x191
873x191
>>2672408
Кароче, вот более наглядный пример. Так и не понимаю, почему первый вариант работает, а второй нет? Ведь вложенный цикл во втором варианте это то же самое, что и первый вариант.
Аноним 15/04/23 Суб 19:22:09 2673111 245
>>2673104
Я мудила забейте, я все понял.
Аноним 15/04/23 Суб 21:29:15 2673260 246
3de1dae58640e8f[...].png 320Кб, 550x550
550x550
Аноним 16/04/23 Вск 00:57:38 2673377 247
Питонач, помогай, нахожусь в очень интересной, но трудной ситуации.

Я вкатун-самоучка - по позиции вообще аналитик а не девелопер, пару лет клепал макросы на VBA, потом перешел на питон. В моей команде все такие же - бывшие ученые, бывшие аналитики, или люди прямо с курсов. Все умеем педалить юпитер ноутбуки и писать скрипты, но полноценных знаний хороших практик разработки нет.
За последнее время, на команду начало прилетать много задач, которые больше про разработку - автоматизация отчетности, сделать какой-то простенький фронтенд для одной аппликухи, и тд. Говнокодом и такой-то матерью справляемся, но становится очевидно что надо менять практики - было уже несколько отчетов которые отправили клиентам неправильно потому что не было тестов, были случаи когда у кого-то три месяца (!) не отправлялся важный алерт, а об этом не знали потому что не читали логи крона. Фактор автобуса 1 на каждом проекте, потому что документацию. никто не пишет. И так далее.
И пока что кроме меня - никто не видит в этом проблемы, все типа "ну как-то работает, и хуй с ним". Тимлид соглашается, что надо бы выработать какие-то другие практики, но он похоронен под завалами бюрократической работы и ему не до этого.

Я хочу попробовать выработать для нас какой-то базовый CI/CD пайплайн для начала. Научить людей нормально работать с гитом (чтобы вы понимали, для нашей команды сейчас пуши с локальной машины в мастер - норма, в большинстве реп мастер - единственная ветка), приучить использовать линтер и стайлер, начать делать ревью и мерджреквесты. Но опыта у меня у самого нет. Как мне в принципе подступиться к такому? Какие github action'ы - мастхэв для мерджей из дева в мейн? Надо ли требовать ревью при мерджах фичер-веток в дев, или хватит только из дева в мейн? Как приучить людей писать тесты на свой код? Какой линтер и стайлер лучше использовать? И т.д.

и если про линтер скажете про pylint - что лучше, попросить всех поставить себе прекоммит хуки и гонять его локально, или сделать обязательным при пуше с помощью экшенов? если второе - какое брать пороговое значение оценки? потому что если требовать 10/10 - у нас работа встанет, лол
Аноним 16/04/23 Вск 03:28:16 2673439 248
Анчоусы, вопрос не совсем по питону, но подскажите, что почитать по криптографии, прям что-нибудь базовое-вводное. Прилетела задача по хешированию сенситивных данных пользователей в базе, я таким раньше не занимался, спецификации в ТЗ никакой нет, просто "захешируй и все". Как понять, хватит ли мне условного sha3_512, который я нагуглил, или его недостаточно?


>>2673377
Могу рассказать про свой опыт, был 1-в-1 в твоей ситуации и с почти таким же бекграундом.
1. для начала выбери флоу работы с гитом. Популярные - гитхаб флоу, гит флоу. Я выбрал гит флоу, потому что он проще и удобнее.
2. закрой в репозиториях мастер на пуши. Только МРы, только хардкор.
3. напиши своим пацанам доку "гит 101". Я прям написал инструкцию как для дебилов со скриншотами из ИДЕшки и покрытием классических вопросов в стиле "вот у меня новый проект, как подключить его к гиту?", "как выделить ветку", "я долго не обновлял локальный мастер, и в него уже насрали другие разрабы, что делать?" и т.д.
4. для репозиториев командых проектов введи правило, что для аппрува мержа нужен минимум один лайк от кого-то другого
5. если проекты можно типизировать, то накидай базовое приложение. У меня в команде для этого есть базовое fastapi-приложение с уже готовой структурой приложения. Клонишь его себе и насаживаешь функционал на скелет.

Мб посоны еще что-то дополнят.
Аноним 16/04/23 Вск 08:54:10 2673480 249
>>2673439
>sha3_512
Хопіць тваім унукам. Для звычайных патрэб дастаткова md5 ці sha1.
Аноним 16/04/23 Вск 09:11:02 2673487 250
>>2673377
Кожны пуш у любую галіну ў мяне праходзіць праз тэсты flake8, pylint, pytest, менавіта ў такім парадку. Калі на якой-небудзь стадыі вынік незадавальняльны, то дэплоя не будзе, пайплайн пакажа чырвоны статус.

Мне да халеры што чалавек ужывае лакальна. Хтосьці бяз тэстаў шмат разоў дзяўбецца ў чырвоны колер і ўсё бачаць ёлупня. Галоўнае каб пасля сябе прыбраў, то бок пакінуў зялёны статус.
Аноним 16/04/23 Вск 11:21:42 2673567 251
show.png 15Кб, 270x120
270x120
>>2666146
Сам спросил, сам отвечаю.
Нужно перейти в раздел "Run and Debug (Ctrl+Shift+D)", наверху есть выбор профилей дебага и шестерёнка их настройки. Когда тыкаешь на шестерёнку создаётся файл "launch.json", в нём есть параметр "console", его нужно изменить, переключить с дефолтного "integratedTerminal" на "externalTerminal".
Аноним 16/04/23 Вск 11:53:56 2673580 252
show.png 14Кб, 270x120
270x120
>>2670582
Та на ОП-пост отвечаешь, не читая. А там, между прочим, УЖЕ есть неплохой совет.
Аноним 16/04/23 Вск 13:04:54 2673618 253
show.png 17Кб, 270x120
270x120
show.png 18Кб, 270x120
270x120
show.png 18Кб, 270x120
270x120
>>2672439
>Сколько времени у вкатуна не совсем с нуля, с моими входными данными, может уйти на становление джуном-питонистом?
Если ты не пинал хуи 6 лет, а учился, усваивал то, что тебе преподавали и всё такое, то на джуна ты уже тянешь и даже знаешь сильно больше, чем все вкатышки. Если же тупо отсиживал лекции и покупал курсовые... Ну, туда тебе и дорога.

РОМА - МАНДА... О?ЕЛИ! Капча - такая капча.
Аноним 16/04/23 Вск 14:52:54 2673752 254
show.png 17Кб, 270x120
270x120
>>2673377
Простой ответ на сложный вопрос: обратитесь в девопс-агентство (например, Fevlake). Ну или наймите сеньора-довопса, но как его выбрать не имея экспертизы я не в курсе.
>и если про линтер скажете про pylint - что лучше, попросить всех поставить себе прекоммит хуки и гонять его локально, или сделать обязательным при пуше с помощью экшенов?
Второе. Строго и обязательно. Первое может кто-то не настроить или настроить неправильно и оно не будет работать.
Аноним 16/04/23 Вск 15:11:34 2673767 255
image.png 7Кб, 382x97
382x97
image.png 15Кб, 872x75
872x75
Гуманитарий-вкатыш в DS/ML итт
если есть отдельный тред по DS/ML, не закидывайте камнями, дайте ссылку, поискал не нашёл

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

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

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

Подскажите, куда тыкаться чтобы научиться так делать. Я так понимаю, мне предстоит познакомиться с sickit-learn, keras и мб ещё какой-то либой, но всё, что я нашёл за первые полтора часа исследований, упирается в работу с числовыми массивами.

С меня, как водится, большое спасибо
Аноним 16/04/23 Вск 15:20:54 2673777 256
>>2673767
>пощёлкал алгоритмические задачки
Кому ты пиздишь. Пощелкать ты мог только изи уровень литкода.
Аноним 16/04/23 Вск 15:52:07 2673799 257
>>2673480
Okay but what do I read to get familiar with cryptography in general?
Аноним 16/04/23 Вск 15:58:29 2673806 258
Почему ООП - де-факто стандарт коммерческой разработки? Во всех вакансиях его требуют. Почему для выполнения бизнес-задач недостаточно функций?
Аноним 16/04/23 Вск 16:24:03 2673832 259
>>2673806
Потому что знаешь как пишут эти вакансии? К тимлиду приходит совершенно ни хуя не понимающая рекрутерша и говорит "мне от тебя надо требования в вакансию". Причем если в команду набирают людей - то или их там не хватает и команда не справляется, или принято решение расширить команду как часть какой-то реорганизации.
Соответственно, тимлид почти точно будет заебан как собака - или технической работой и затыканием дырок, или бюрократией и политическим маняврированием чтобы спихнуть хуевые проекты с ебанутыми клиентами и забрать себе в команду хорошие. В любом случае, вакансию он будет писать на отъебись. Типа "ну что тут написать, мы вроде там иногда классы создаем и наследуем - ок, пишем ООП, нам надо не писать охуенно медленно - ок, пишем алгоритмы".
По факту, такое требование в вакансии не значит что вы будете целыми рабочими днями перетирать за полиморфизмы, паттерны и прочее. Но вообще понимать что такое ООП и что такое классы надо.

Конкретно по твоему вопросу - иногда такая абстракция как объект тупо удобней. Например, если у тебя есть много функций которые вызываются с одними и теми же аргументами и этих аргументов много - вместо того чтобы писать вызовы на две строки можно просто сделать эти функции методами класса, и класть аргументы в атрибуты класса при инициализации.
Аноним 16/04/23 Вск 16:28:10 2673837 260
>>2673806
Буйны доўгатэрміновы праэкт патрабуе больш сістэмнага падыходу, каб праз некалькі год іншы праграміст здолеў разабрацца і працягнуць працу. ААП спрыяе таму каб розныя праграмісты пісалі аднолькава.
Аноним 16/04/23 Вск 22:46:00 2674189 261
Вопрос по телеграм-ботам, написанным на пайтоне, может сталкивался кто:
Хочу научить бота автоматом отправлять фото со своего сайта в канал, но проблема в том, что сами пикчи порой довольно большого размера (3-4Мб) и когда отправляешь вручную в канале, то там можно указать при отправке "сжимать фото", что меня более чем устраивает. А вот при отправке через бота методом send_photo нигде параметра для сжатия фото я не нашел в документации.
Можно ли как-то сжать фото при отправке через бота?
Аноним 17/04/23 Пнд 01:15:42 2674264 262
>>2674189
Трэба сціскаць фота перад тым як даваць яго боту.

from PIL import Image

im = Image.open(r"path-to-uploaded-file.jpg")
im = im.resize(800, 600)
im.save(r"path-to-new-file.jpg")
Аноним 17/04/23 Пнд 08:43:29 2674377 263
>>2674264
Все фотки разного разрешения и сжимать их под определенный размер может быть не лучшим решением.
Но идея интересная, попробую поиграться с методами pillow
Аноним 17/04/23 Пнд 08:47:28 2674379 264
image 20Кб, 270x120
270x120
>>2674377
Лучше избегать этой гомосятины в боте. Как и советов написанных на трасянке — это реальные престарелые пидоры, которые алчут твоего грязного от гавна ачька.

PIL у тебя в мамяти отожрёт гигабайта два и начнёт подтекать, собирая гигантскую кучу мусора. Есть трюк — кидать ссылку на картинку, а не саму картинку. Телега сама скачает и пожмёт.
Аноним 17/04/23 Пнд 09:06:43 2674381 265
>>2674379
А чего это пил отожрет? Он же будет в одной и той же переменной картинки конвертировать, значит ссылки на область памяти с прошлыми картинками будет удалять gc.
В пиле есть какой-то баг, который делает утечку памяти или ты просто спизданул что-то неподумав?

другой анон мимопроходил
Аноним 17/04/23 Пнд 09:24:45 2674383 266
>>2674381
>Он же будет в одной и той же переменной картинки конвертировать, значит ссылки на область памяти с прошлыми картинками будет удалять gc.
Наивный. Это в сферическом питоне так, собранном руками эльфов и установленном на божественном серваке.

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

Делал с дюжину графических ботов и всё время память от этого PIl разрасталась как весь пиздец. Либо ребутить часто, либо заниматься ухищрениями. Но не хранить нихуя никаких картинок и не делать с ними ничего. Ну, либо если бабла немеряно, то конечно, по традициям разработки последних 10 лет идти — а хули нам, ещё кластер купим под бота!
Аноним 17/04/23 Пнд 09:28:41 2674387 267
image 5Кб, 959x72
959x72
Бот должен занимать в памяти с десяток мегабайт и меньше. Нахуй не нужны многогигабайтные монстры.
Аноним 17/04/23 Пнд 09:34:29 2674390 268
>>2674383
Т.е. ты нихуя не знаешь почему, но вот просто твой код хуево работал и по этому ты сейчас закатив глаза визжишь по хуи и мочу. Ясно.

Алсоу, если бы у тебя были мозги ты бы просто пошел и посмтрел куда в твоих кривых ботах память уходит и сделал бы хук чтобы её очищать. Ладно можешь мне не отвечать, я уже понял что по неосторожности написал визглявому школьнику.
Аноним 17/04/23 Пнд 09:43:56 2674396 269
>>2674379
А дзе трасянка? Пакажы як слушна беларускай пісаць.
Аноним 17/04/23 Пнд 09:44:58 2674398 270
>>2674396
Какова причина твоей трясанки?
Аноним 17/04/23 Пнд 10:06:38 2674409 271
>>2674390
Отчпоканная в гавняное ачько свиноманька хочет осторожненько разузнать, а как же старшие товарищи узнают где она ачьком светит, что её ебут так часто почему память течёт. Ладно, манька, сжалюсь:

1. Подбирай пролапс из штанины.
2. Вытирай гавняные молекулы рукой.
3. Гугли tracemalloc, cProfile и pstats.
Аноним 17/04/23 Пнд 10:10:49 2674411 272
>>2674409
А это ты проласпозависимый вкатун, сразу не признал. Вижу ты всё ИТТ позоришься, ну добро добро. Без колунов вроде тебя тут наверное было бы скучно.
Аноним 17/04/23 Пнд 17:42:41 2674757 273
>>2673806
В том то и дело, что ООП это коммерческий стандарт. Его изначально "создавали" если так можно выразиться с прицелом на Кабан Кабаныча, чтобы он мог легко кодомакакау пидорнуть и другую на её место посадить без ущерба для себя. Это такой конвейер Генри Форда только в айти.
Аноним 17/04/23 Пнд 18:00:47 2674770 274
>>2674757
>его изначально "создавали" если так можно выразиться с прицелом на Кабан Кабаныча
ЯПы и дохуя каких либ тоже, до этого айти нахуй никому не нужно было кроме институтов всяких где ни о каких бест практисах никто даже не думал.
Аноним 17/04/23 Пнд 18:30:37 2674792 275
Аноним 17/04/23 Пнд 22:39:44 2674982 276
Заморочился получить инфу что качает торрент, подключил WebUI, в браузере всё работает, нашел вот такой код как это реализовать на питоне, но он валит ошибками в самой библиотеке:
https://github.com/LakithaRav/uTorrent-client-python

Есть что-то подобное рабочее?
Аноним 17/04/23 Пнд 23:12:53 2674997 277
Сууука, чатгпт таки исправил чужую библиотеку: >>2674982
Я только ставил маркеры и кидал ему коды ошибок, я в ахюе, усё пашет.

Вот его ответ, всю чужую мусорку исправил:

Ошибка "name='GUID', domain=None, path=None" может возникнуть, если ответ на запрос на получение токена не содержит cookie с именем GUID. Возможно, сервер не отправляет этот cookie в ответе или он называется по-другому.

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

Здесь вместо response.cookies['GUID'] используется response.cookies.get('GUID', None) or response.cookies.get('guid', None). Таким образом, если cookie с именем GUID отсутствует, функция будет искать cookie с именем guid. Если и его нет, то переменной guid будет присвоено значение None, и в дальнейшем функция вернет словарь cookies со значением None вместо 'GUID': None'.
Аноним 18/04/23 Втр 00:14:57 2675036 278
image.png 19Кб, 413x329
413x329
Что за хуйня тут происходит, почему вывод комманд разный? Я думал по дефолту там синтакс

>[start: end: step] в Python означает следующее:
>- start - начальный индекс выборки (по умолчанию 0);
>- end - конечный индекс выборки (по умолчанию длина строки или списка);
>- step - шаг выборки элементов (по умолчанию 1).
Аноним 18/04/23 Втр 03:09:59 2675069 279
>>2675036
забей. тут без поллитры не разберешься. а по окончанию эффекта поллитры всё забудешь
Аноним 18/04/23 Втр 05:42:07 2675080 280
>>2675036
Потому что так срез работает. В доках всё есть.
Аноним 18/04/23 Втр 08:22:57 2675116 281
>>2675036
Лустачка не зьмяшчае сымбаль з канчатковым індэксам, у тваім выпадку s[0] = 1. Калі не указваеш гэты індэкс, у лустачку ўваходзіць усё да хваста радка, то бок да s[-11]
Аноним 18/04/23 Втр 13:20:41 2675320 282
>>2661284 (OP)
Работаю в одной рашн галере
Инсайд инфа от HR-а и даже руководителя офиса: сейчас на рынке серьезный провис на питонистов, многих людей на бенче никак не могут пристроить на проект
ФСЕ
Аноним 18/04/23 Втр 13:28:01 2675327 283
>>2675320
Что такое провис на питонистов? Питонистов не хватает или наоборот их дохуя?
Аноним 18/04/23 Втр 13:36:33 2675332 284
>>2675327
>многих людей на бенче никак не могут пристроить на проект
Думай
Аноним 18/04/23 Втр 13:47:23 2675343 285
>>2675327
Нахуй не нужны никому.
По сути, популярность питона организована искусственно (да и он максимально упрощён для разметчиков данных с маленькими мозгами).

1. Отрасли надо было организовать вкат миллиона хомяков с надеждой, что часть из них пойдёт дальше.
2. Сильно раздували МЛ, давая глупому быдлу ощущение, что они тоже приобщены (хотя, матмодели программируют на С совсем другие люди с очень сильным интеллектом и дорогим обучением — питонисты только это применяют, как макаки подбирая коэффициенты в уже готовое).
Аноним 18/04/23 Втр 13:47:24 2675344 286
>>2675332
Не ебу что за бенч такой.
Аноним 18/04/23 Втр 13:48:25 2675347 287
>>2675320
Ко мне в личку стучаться продуктовые компании уже вторую неделю. Никогда не понимал тех, кто в галерное рабство идет.
Аноним 18/04/23 Втр 13:49:49 2675348 288
>>2675343
>питонисты только это применяют
Не разрабатывал компилятор плюсов - мужик
Аноним 18/04/23 Втр 14:04:33 2675366 289
>>2675347
> Ко мне в личку стучаться продуктовые компании уже вторую неделю.

Зачем?
Аноним 18/04/23 Втр 14:17:05 2675380 290
binancelogo.png 6Кб, 512x512
512x512
json.png 9Кб, 550x288
550x288
ловушка.webm 1745Кб, 1280x720, 00:00:17
1280x720
ы.png 36Кб, 440x304
440x304
>>2661284 (OP)
Господа программисты и стремящиеся, подскажите пожалуйста!
Как эффективнее работать с большими json-ответами?
Допустим, я хочу застримить с бинанса примерно 1050-1150 тикеров, да так, что бы потом иметь возможность быстро посчитать то, что мне нужно, до следующего обновления данных через стрим. Примерно раз в 0.9 секунды.
Как это лучше сделать?
Я сделал тупо, и попробовал сразу через json.loads, а потом перевёл в пандасы, потому что так считать удобно.
Но мне кажется, что можно сделать лучше. А как, это я хочу узнать у вас.
Аноним 18/04/23 Втр 14:18:50 2675383 291
>>2675380
ах да, забыл написать, что таким образом я получаю ответ, ну или вижу ответ 200-350 тикеров, а не 1150 сколько мне нужно
Аноним 18/04/23 Втр 14:26:39 2675391 292
>>2675036
Потому что в первом случае он идет до конца строки, а во втором случае - до нулевого объекта не включительно.
Аноним 18/04/23 Втр 14:28:31 2675395 293
>>2675320
Похуй, никто из питонистов в здравом уме не будет искать работу в России. Ты бы еще айосеров попугал отсутствием работы в России.
Аноним 18/04/23 Втр 16:02:49 2675466 294
list(set(some_random_init))

Аноны, some_random_init это список рандомных целых чисел. В этом выражении выше получается упорядоченный по возрастанию список.
Значит в момент преобразования сэта в список происходит его сортировка? Чому про это нигде не написано?
Аноним 18/04/23 Втр 16:09:17 2675471 295
>>2675380
Для начала попробуй заменить стандартную либу на orjson, если не устроит, то остается только сделать воркеры через мультипроцессинг, делать запросы из них и отправлять в мейнтред
Аноним 18/04/23 Втр 16:10:36 2675472 296
>>2675466
>Значит в момент преобразования сэта в список происходит его сортировка?
Нет, это особенности хешей интов, гугли как хештаблицы работают
Аноним 18/04/23 Втр 16:30:52 2675477 297
image.png 4Кб, 274x119
274x119
>>2675080
Мда? А почему тогда вот в этом примере он берёт нулевой объект ВКЛЮЧИТЕЛЬНО?
>>2675391
Аноним 18/04/23 Втр 16:58:08 2675504 298
>>2675471
спасибо, сейчас буду разбираться

а вот насчёт мультипроцессинга
я планировал использовать мультипроцессинг для получения обновлений статуса тикеров через спот запросы
я собираюсь проверять наверное раз в 30 секунд - 1 минуту статусы тикеров, что бы они были торгуемые, TRADING и MARKET, и там ещё по некоторым характеристикам

просто использовать мультипроцессинг для создания постоянно обновляемой таблицы я не могу даже представить как нормально сделать, потому что это получается нужно:
1. подключить несколько стримов
2. получить часть данных из списка тикеров через каждый стрим
3. свести всё это в одну таблицу
4. посчитать то, что мне нужно
5. и поставить ордер на покупку/продажу в соответсвии с расчётами
6. и всё это сделать за примерно 0.9 секунды

Я не профессиональный разработчик поэтому могу ошибаться.
Аноним 18/04/23 Втр 17:38:38 2675547 299
>>2675477
Ты че тупой чтоли? Начинает с индекса включительно заканчивает не включительно.
Аноним 18/04/23 Втр 17:58:35 2675568 300
>>2675547
Два вопроса, один, какова хуя?
Второй вопрос, а что можно прописать этой мрази, чтобы она заканчивала включительно? Или это возможно только с синтаксическим сахаром с пустым местом вместо аргумента?
Аноним 18/04/23 Втр 19:11:39 2675623 301
Какой самый эффективный и питонический путь найти в списке целых чисел самое маленькое число, которое больше данного.

num = 7
lst = (1,3,5,9,11,73)

Должно находиться 9, можно как-то без цикла это сделать? Какой-нибудь встроенной функцией?
Аноним 18/04/23 Втр 19:12:52 2675624 302
Аноним 18/04/23 Втр 19:14:40 2675625 303
>>2675624
>можно как-то без цикла это сделать?
>цикл for
Чел, ты.
Аноним 18/04/23 Втр 19:14:48 2675627 304
Аноним 18/04/23 Втр 19:26:00 2675637 305
>>2675625
У тебя из задачи следует сложность O(n)
Аноним 18/04/23 Втр 19:40:17 2675653 306
Аноним 18/04/23 Втр 20:51:48 2675708 307
>>2675623
как-то так покакал
result = min(list(filter(lambda x : x < 7, lst)))
Аноним 18/04/23 Втр 20:53:41 2675710 308
>>2675708
бля < на > еще поменяй
Аноним 18/04/23 Втр 20:53:57 2675712 309
>>2675708
>сделай цикл for - стандартно, читаемо и производительно
>нит! буду хуярить мешанину из лямбд, фильтров, редьюсеров и лямбд!
Аноним 18/04/23 Втр 21:01:30 2675719 310
python -m timeit "num = 7; lst = (1,3,5,9,11,73); min(filter(lambda x: x > num, lst))"
500000 loops, best of 5: 530 nsec per loop

python -m timeit "num = 7; lst = (1,3,5,9,11,73); min(x for x in lst if x > num)"
500000 loops, best of 5: 444 nsec per loop
Аноним 18/04/23 Втр 21:02:58 2675721 311
python -m timeit "num = 7; lst = (1,3,5,9,11,73); min([x for x in lst if x > num])"
1000000 loops, best of 5: 381 nsec per loop

Так даже быстрее.
Аноним 18/04/23 Втр 21:17:27 2675729 312
>>2675719
>>2675721
По best of 5 смотреть нельзя, нужно среднее значение
Аноним 18/04/23 Втр 21:24:11 2675736 313
Зеленые вы мои
Когда вам нужно что-то посчитать то всегда задавайте вопрос: как бы настоящий гошник это посчитал? В гохе всегда все минимализировано и оттого пиздато. У гошников самые высокие зпки в беке. У гошников самые большие члены. Все не просто так
Аноним 18/04/23 Втр 21:25:43 2675737 314
Аноны, как узнать длину отрезка, если его значения могу быть отрицательными.
Детализирую вопрос.

Вот есть точка А:-7 и есть точка Б:20
Расстояние между этими точками: 27
Тут просто, можно взять например модуль abs() каждого числа и сложить, но нужен полиморфизм нах.

Если А:-7, а Б:-5 то расстояние между ними равно: 2
Если А:20, а Б:-15 то расстояние между ними: 35

Как это всё можно считать одним каким-нибудь простым методом или уравнением?
Аноним 18/04/23 Втр 21:32:10 2675738 315
image.png 7Кб, 298x221
298x221
>>2675627
11 элемент нашёлся, заебись
Аноним 18/04/23 Втр 21:35:16 2675742 316
>>2675737
Бля только написал тут же сам допер abs(x-y) во я тупой, пиздец просто.
Аноним 18/04/23 Втр 23:33:01 2675822 317
Таки выходит, что работу чисто на Пайтоне не найти, т.к. основные сферы применения это BigData и Девопс, самозамкнутые области, куда без специфичного опыта не пролезть. На нем только задачки хорошо решать алгоритмические.
Аноним 19/04/23 Срд 00:12:10 2675836 318
>>2675568
>Два вопроса, один, какова хуя?
Добро пожаловать в мир сиподобных языков. Тут принято начинать отсчет с 0, а не 1, но при этом не включать в диапазон верхнюю границу диапазона.
В джаве, например, это будет выглядеть так:
String s = "1234567890";
String ss = s.substring(0, 5);
Аноним 19/04/23 Срд 00:14:31 2675837 319
>>2675623
min_num = min([x for x in lst if x >7])
Аноним 19/04/23 Срд 00:23:08 2675842 320
>>2675822
Да, работы на питоне нет, не ходите сюда. Учите плюсы.
Аноним 19/04/23 Срд 01:05:46 2675861 321
Screenshot1.png 48Кб, 658x137
658x137
Здравствуйте, я не программист, но в универе сказали, что должен уметь что-то, chat gpt не справляется, а я и подавно, помогите, пожалуйста
Аноним 19/04/23 Срд 04:38:18 2675892 322
>>2675836
В сиподобных языках нет ничего подобного наркосинтаксу [:]
[:5] [5:] и тем более [::-1]
Аноним 19/04/23 Срд 07:31:14 2675923 323
Меня иногда удивляют такие >>2675892 кадры
Потрать ты, блядь, 10 минут на документацию, которая идёт в любой книге второй главой или в любых видеоуроках четвёртым или пятым видео, где всё разжевано по 10 раз, но хуеплёт будет пиздеть на язык и на всё, что угодно, только не на свою лень.

>В сиподобных языках нет ничего подобного
Ну так в си-подобных языках это делается через for, а в питоне нет си-подобного for.

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

А ещё есть глобальная функция slice (как и в других языках, внезапно), которая позволяет создавать объект среза как параметр для оператора взятия индекса:
slc = slice(0, 1, 10)
a = s[slc]
Аноним 19/04/23 Срд 07:34:40 2675925 324
>>2675923
>slc = slice(0, 1, 10)
slice(0, 10, 1) конечно же
Аноним 19/04/23 Срд 08:53:08 2675947 325
>>2675822
О, этот сладкий момент, когда юная макака обнаруживает, что она — написатель скриптов, скриптокодер, а НЕ ПРОГРАММИСТ.
Аноним 19/04/23 Срд 08:55:33 2675948 326
>>2675861
Это чистая математика, для нас слишком сложна. Если хочешь, объясню, что верхняя граница не включается в интервал, и как просуммировать пять чисел.
Аноним 19/04/23 Срд 08:56:21 2675951 327
>>2667616
>сам себе стреляешь в ногу
>a: dict
>присвоил a список
Бля, ты совсем идиот?))
Аноним 19/04/23 Срд 09:03:36 2675955 328
>>2675951
не знаю. надо подумать
Аноним 19/04/23 Срд 11:09:25 2676041 329
>>2675822
Ага-ага, а микросервисы и не требовательные к хайлоад сайты с сср никому, кроме своей самозамкнутости, не нужны.
Аноним 19/04/23 Срд 11:25:37 2676053 330
С помощью петухона вообще можно сделать отображение окна без библиотек или в этой параше всё делается с помощью библиотек?
Аноним 19/04/23 Срд 11:26:36 2676054 331
Аноним 19/04/23 Срд 11:26:44 2676056 332
Аноним 19/04/23 Срд 11:28:43 2676060 333
>>2676056
Даун, имеется в виду окно Windows.
Аноним 19/04/23 Срд 11:28:45 2676061 334
>>2676053
Можно

import subprocess
subprocess.run(["shutdown"])
Аноним 19/04/23 Срд 11:43:05 2676071 335
>>2676053
>без библиотек
Хех, я будучи студентом тоже не понимал почему нельзя просто писать просто без либ, на чистом питоне, это проходит.
Аноним 19/04/23 Срд 11:46:21 2676073 336
>>2676071
Что именно ты собрался писать "без библиотек"? Пузырьковую сортировку? Поиск подстроки?
Аноним 19/04/23 Срд 11:50:48 2676080 337
>>2676053
С помощью сисярпа вообще можно сделать отображение окна без библиотек или в этой параше всё делается с помощью dll из .net?
Аноним 19/04/23 Срд 12:26:38 2676103 338
>>2676073
Просто отображение окна. Ты читать не умеешь, чмо?
Аноним 19/04/23 Срд 12:30:48 2676104 339
Аноним 19/04/23 Срд 12:38:30 2676109 340
>>2676104
Ты тупой? Смысл вопроса в возможности написать отображения окна без сторонних библиотек, нахер ты кидаешь ссылку на стороннюю библиотеку, ублюдок?
Аноним 19/04/23 Срд 12:39:00 2676110 341
>>2676104
tkinter — это и есть библиотека. Тот юнош, девственный мозгом и попкой, хочет сам рисовать системное окно средствами питона без библиотек. Сдаёцца мне, это просто невозможно. Всё равно понадобятся системные вызовы, а для них потребуется библиотека.
Аноним 19/04/23 Срд 12:46:09 2676119 342
>>2675947
Двачую, братан, только тот кто работает с С++ может носить гордое звание программиста, а все эти джавапетухи и петухонеры - просто пыль с их ногтей.
Аноним 19/04/23 Срд 12:47:14 2676122 343
>>2676109
Мальчик, подрастешь - поймешь
А сейчас спать марш - скоро дневной сон
Аноним 19/04/23 Срд 12:52:52 2676130 344
>>2676053
можно, принтами в консоль
Аноним 19/04/23 Срд 12:56:24 2676136 345
>>2676119
С++ — гавнина с хуя твоего папаши. Настоящий язык программирования — это (в моё время Алгол-68) Ада. На нём великие люди небесные колесницы программируют.
Аноним 19/04/23 Срд 13:00:35 2676141 346
Аноним 19/04/23 Срд 13:01:22 2676142 347
image 22Кб, 270x120
270x120
>>2676141
Что плохого в begin-end? Уж всяко лучше четырёх пробелов.
Аноним 19/04/23 Срд 13:03:19 2676143 348
>>2676142
Но хуже божественных скобочек.
Есть идеальный язык программироваия, С++, и всё остальное - либо жалкие копии, либо богомерзкая хуйня.
Питон - убогое кривое говно мамонта, которое никому не нужно и на котором нет никакой работы вне ML.
Аноним 19/04/23 Срд 13:09:02 2676150 349
Аноним 19/04/23 Срд 13:11:08 2676152 350
image.png 4058Кб, 2560x1440
2560x1440
>>2676143
>убогое кривое говно мамонта, которое никому не нужно
Крестопетух поднял голос
Аноним 19/04/23 Срд 17:31:09 2676338 351
image 21Кб, 270x120
270x120
>>2676143
А, это ты тот трясущийся мамкин сисси-гидроцефал, освоивший Вижуал Бейсик в объёме 3 страницы и выдающий себя за знатока непонятного языка, за синим ачьком которого идёт отчаянная охота всех маститых мэтров ИТТ треда, начиная от мисье Пузырька и заканчивая Бульба Калом?

к:калич
Аноним 19/04/23 Срд 17:59:33 2676371 352
>>2671400
Можно и потерпеть, для меня важнее думать на русском языке. Зато я не заебался переводить названия на ангельский.
Аноним 19/04/23 Срд 18:01:27 2676374 353
>>2671415
Не надо доводить до абсурда, давать русские имена это оче удобно.
Аноним 19/04/23 Срд 18:13:29 2676379 354
>>2675380
>>2675383
>>2675471
Я разобрался. Он стримит всё, но только апдейты. Если по тикеру не было движения за последнюю секунду, то он его не показывает.
Аноним 19/04/23 Срд 19:40:51 2676450 355
>>2676110
Блять это стандартная либа, дурень.
Может ты еще многопоточность без импорта юзать будешь, да?
Аноним 19/04/23 Срд 19:44:28 2676452 356
>>2675395
Я ищу.
Имаджинируй свое ебало
Аноним 19/04/23 Срд 19:50:58 2676455 357
>>2669954
Чел тебе там черно по белому описали про плюсы генераторов...................
Один ты выдал какой то кринжовый высер..............
Аноним 19/04/23 Срд 20:00:39 2676461 358
>>2676455
>плюсы генераторов
Какие блять?))
Генераторы используются либо для экономии памяти (отложенные вычисления) либо для многозадачности (в основном в виде сопрограмм)
Ни о какой экономии памяти там не идет и речи. О многозадачности тоже. Челик там просто лепит генераторы по принципу "а че?? мне так кажется что красившее"

Что будет с чем после следованию советам петушка из хабр-поста:
Читаемость - снизится
Производительность - не изменится (на больших выборках даже упадет)
Отлаживаемость - снизится значительно
Аноним 19/04/23 Срд 20:25:05 2676489 359
2023-04-1920-23.png 137Кб, 355x262
355x262
Пишу класс для работы с API. Каждая функция - вызов. Вижу, что код избыточен. Ок, оборачиваю в одну функцию и становится изящнее. Но что насчет динамического созданий функций? Есть магическая __getattr__, ок. А если мне нужно еще и передать в неё параметр, кроме имени? Мне кажется, что по любому уже все придумано.
Аноним 19/04/23 Срд 20:45:10 2676513 360
>>2676489
Тебе из __getattr__ нужно возвращать функцию, которая принимает параметры
Аноним 20/04/23 Чтв 13:01:48 2676969 361
>>2661284 (OP)
Привет! Нужна помощь джангистов или причастных.
А чем вы бэкапите базы данных? Речь про sqlite
Попробовал django-dbbackup - и у меня не вышло.
Он вроде как что-то бэкапит, даже через крон, но восстановить базу данных (через dbrestore) не получается.
Я что-то делаю не так? Или есть какие-то более проверенные и популярные варианты?
Аноним 20/04/23 Чтв 13:03:05 2676970 362
>>2676461
Нуууу. Отложенные вычисления. В чем проблема у тебя с пониманием этого?
Аноним 20/04/23 Чтв 18:56:56 2677336 363
>>2676969
Ну есть python manage.py dumpdata > dump.json, django-admin loaddata dump.json
Аноним 20/04/23 Чтв 23:27:53 2677603 364
>>2676489
>Но что насчет динамического созданий функций?
Нахуя?
Аноним 20/04/23 Чтв 23:33:20 2677606 365
>>2661284 (OP)
Вассап программич. У меня возник вопрос касаемо ботов: как создаются боты в теллеграмме? Я имею в виду пользователей-ботов в телеграмме, которые наполняют канал как серая масса. Я в этом вопроссе ньюфаг, если можете подскажите что изучать/куда направиться .
Аноним 21/04/23 Птн 01:47:49 2677656 366
for i, e in enumerate(lst):
....lst="replase some shit"

Аноны, когда я заменяю элемент в списке по индексу, список заного пересобирается под капотом или элемент заменяется по О(1) ?
Аноним 21/04/23 Птн 01:51:54 2677657 367
>>2676969
Ну я использую скрипт у себя на пк, который запускает rsync, конектится череез ssh к моей vps, оттуда забирает файл бд. Всё.
Аноним 21/04/23 Птн 08:32:08 2677704 368
image 34Кб, 362x449
362x449
Аноним 21/04/23 Птн 08:40:12 2677708 369
>>2677606
Есть апи для ботов (api telegram bots), есть апи для юзерботов (ещё называют api telegram client). Под оба есть свои фреймворки. Под юзерботов — это telethon и pyrogram. Только под каждый инстанс придётся регаться на отдельный номер телефона.
Аноним 21/04/23 Птн 11:47:51 2677808 370
>>2665817
>тебя всё заебало и ты понимаешь, что вертел ты на хую в тысячный раз писать один и тот же код для новых клиентов
В чем проблема шаблоны делать?
Аноним 21/04/23 Птн 11:51:49 2677809 371
Блять, какая мудацская новая капча стала, так сложно. Я минут пятнадцать пытался понять хуле ей от меня надо и нужно ли писать в ней знак вопросика посередине или нет. А оказалось что капча составляет слово, а под вопросом понимается буква этого слова.
Я вам че Вассерман чтобы такую хуйню решать?
Аноним 21/04/23 Птн 12:46:46 2677837 372
>>2677657
А что за скрипт?
Ну, мне бы для начала эту бд как-то из контейнера вытащить, а, как я понял, это нельзя сделать просто так.», нужно именно специальной приблудой копировать.
Аноним 21/04/23 Птн 13:33:14 2677866 373
>>2677809
Типичный соискатель на милорда перед вами.
Аноним 21/04/23 Птн 17:45:39 2678053 374
>>2677837
Какого еще контейнера?
sqlite это просто файлик.
Аноним 21/04/23 Птн 19:33:06 2678144 375
image.png 43Кб, 543x565
543x565
image.png 4Кб, 284x40
284x40
image.png 44Кб, 161x150
161x150
А чому при выборочной сортировке и пузырьковой вывод разный?
Разве различие не в скорости сортировки?


нуб
Аноним 21/04/23 Птн 19:45:46 2678159 376
Какой GUI на питоне сейчас самый актуальный?
Аноним 21/04/23 Птн 20:20:43 2678194 377
>>2677704
В примере опечатка, очевидно же. Вопрос вполне конкретный и без примера так-то.
Аноним 21/04/23 Птн 20:29:00 2678203 378
>>2677336
Если я делаю бэкап командой
dumpdata --exclude auth.permission --exclude contenttypes
То у меня все работает
Только вот есть один момент, я пока что не знаю, как засунуть это в крон
Почему-то call_comand не работает с аргументами
Аноним 21/04/23 Птн 20:35:04 2678207 379
>>2678194
Всмыслебля? Список не пересобирается, аутист.
Аноним 21/04/23 Птн 20:47:39 2678218 380
>>2678144
У тебя ошибка в реализации алгоритма. Точнее, даже, две: ты, когда пиздил не думая, умудрился даже if забыть.
Аноним 21/04/23 Птн 20:47:51 2678219 381
>>2678144
ты просто неправильно сделал
Аноним 21/04/23 Птн 21:05:40 2678234 382
image.png 49Кб, 490x412
490x412
Аноним 21/04/23 Птн 21:19:38 2678247 383
>>2678234
Ну... вапще да, канеш, можно и без иф лишнего.
Тут дело в том, что ты из функции хуй пойми чё возвращаешь. По идее, ты возвращаешь nums[последний] и nums [минимальный]. И нихуя с этим не делаешь. У функции своё пространство переменных и она ничего с глобальным списком не делает буквально.
Аноним 21/04/23 Птн 21:26:13 2678248 384
Гайс, нужен ли ІELTS для работы удалено на западные компании?
В вузе есть бесплатные курсы ІELTS, в будущем планирую работать на зарубежную компанию удаленно, я знаю англ на среднем уровне, но про тест хз, если он не нужен для работы, то время не хочу тратить.
Аноним 21/04/23 Птн 21:26:44 2678250 385
Гайс, нужен ли ІELTS для работы удалено на западные компании?
В вузе есть бесплатные курсы ІELTS, в будущем планирую работать на зарубежную компанию удаленно, я знаю англ на среднем уровне, но про тест хз, если он не нужен для работы, то время не хочу тратить.
Аноним 21/04/23 Птн 21:28:35 2678252 386
>>2678207
Какой список, аутист?
Аноним 21/04/23 Птн 21:35:18 2678260 387
>>2678252
По которому я тебе в глаза ссу.
Аноним 21/04/23 Птн 21:36:30 2678261 388
>>2678248
>в будущем планирую работать на зарубежную компанию удаленно
Осилишь конкуренцию с индусами и вьетнамцами, которые подчас на голову выше наших няш-гидроцефалов с кусрами па петону за спиной.
Аноним 21/04/23 Птн 21:37:22 2678262 389
>>2678260
Ты опять монитор обоссал, манюня.
Аноним 21/04/23 Птн 21:42:29 2678264 390
>>2678262
С каких пор ты монитор, гидроцефал в чулочках? Таблетки что ли сменили? Или у вас с папкой новая игра «проткни монитор» по пятницам, когда он нажирается? Сгинь к хуям, чючило, бля, не жужжи.
Аноним 21/04/23 Птн 21:52:14 2678269 391
>>2678248
Практически всем похуй, на курсы можешь походить что бы англюсик прокачать бесплатно.
Аноним 21/04/23 Птн 22:55:45 2678310 392
>>2677708
то есть нужно изучать API направление?
И для каждого клиектского бота нужен телефон ? Это что получается 500 ботов -500 номеров ? Где я сток найду?
Аноним 21/04/23 Птн 22:58:58 2678311 393
>>2678310
>то есть нужно изучать API направление?
Нет, выучи одну библиотеку. Наверное, пирограм лучше.

>Это что получается 500 ботов -500 номеров ? Где я сток найду?
Жопкой торгани. Твоя нужда — твои бабки. Тем более, ты засрать что-то хочешь, раз 500 ботов потребовалось. А это осуждаемое.
Аноним 22/04/23 Суб 09:39:33 2678405 394
>>2661284 (OP)
Подъебнули на собесе и задали следующий вопрос:

Структура range в Питоне вообще-то не является генератором, это отдельный объект, можно убедиться сделав следующее:
1_000_000_000 in range(1, 10_000_000_000)

И он посчитает почти мгновенно, потому что итераций нет и range сам определяет, попадет указанное число в диапазон или нет. Напишите свою реализацию подобного алгоритма которая работает с числами:
def (target, start, end, step)

И чет я завис. Как это решать? Тут по факту метаматематика а не проганье даже
Аноним 22/04/23 Суб 09:53:03 2678414 395
сам ананасы, подскажите че за дела

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

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

Но прикол ещё в том, что в обычном браузере (не селениума) страничка всегда однотипная, че за хуйня ваще как с этим бороться?

У браузера стоят
--window-size=1920,1080
--disable-software-rasterizer
--disable-crash-reporter
--enable-javascript
--disable-gpu
--start-maximized
--headless
--disable-extensions
--disable-logging
--disable-in-process-stack-traces
Аноним 22/04/23 Суб 14:18:56 2678595 396
>>2678405
Чтобы создать функцию, которая будет проверять, попадает ли указанное число в заданный диапазон без создания итератора, мы можем использовать математические операции. Для этого достаточно определить, находится ли указанное число между начальным и конечным значением диапазона, и находится ли оно на соответствующем шаге.

Вот пример такой функции:
def is_in_range(target, start, end, step=1):
if step == 0:
raise ValueError("step cannot be zero")
if step > 0:
return start <= target < end and (target - start) % step == 0
else:
return end <= target < start and (start - target) % (-step) == 0

Эта функция принимает четыре аргумента: целевое число, начальное значение диапазона, конечное значение диапазона и шаг (по умолчанию равен 1). Если шаг равен нулю, функция возбудит исключение ValueError.

Для проверки, находится ли указанное число в диапазоне, мы используем операторы сравнения и деление с остатком. Если шаг положительный, мы проверяем, находится ли число в диапазоне и находится ли оно на нужном шаге, используя операторы сравнения и деление с остатком. Если шаг отрицательный, мы делаем то же самое, но сначала меняем местами начальное и конечное значения диапазона.
Аноним 22/04/23 Суб 15:36:11 2678650 397
>>2678311
нет, думал создать телеграмм канал, но для старта нужно относительно много подписчиков, а в пустые каналы где 100-200 человек, мало кто пойдет
Аноним 22/04/23 Суб 16:45:03 2678714 398
>>2678650
Проще купить ботов.
Аноним 22/04/23 Суб 18:52:05 2678782 399
>>2678405
range это генератор, просто для провеки вхождения итерация или генерация не нужна. Что там релизовывать хуй проссышь, по-моему, даже в нубских книжках такие задачки есть.
Аноним 22/04/23 Суб 18:55:31 2678786 400
>>2678782
>range это генератор
Ну так проверь:
r = range(3)
list(r)
list(r)
Аноним 22/04/23 Суб 18:57:34 2678788 401
image.png 5Кб, 209x205
209x205
Аноним 22/04/23 Суб 18:57:56 2678789 402
>>2678782
>range это генератор

Идиот? Идиот. Ебало вкатуна, который осилил только циклы, представили?
Аноним 22/04/23 Суб 20:02:02 2678822 403
Ладно, это не генератор, тут сиранул, но и не итератор, это отдельная хуйня вообще.
Берем iter([1,2,3,4])[1] и хуй, рейндж может в такое и поиск как выше писали там не поэлементный, а логический. Это навскидку.
Аноним 22/04/23 Суб 20:19:42 2678830 404
>>2678822
Это класс, который содержит метода __iter__, __next__ и __contains__
Аноним 22/04/23 Суб 20:21:51 2678832 405
>>2678822
>навскидку
Ахуенна

>Берем iter([1,2,3,4])[1]
И идем нахуй
Аноним 22/04/23 Суб 20:48:33 2678846 406
>>2678830
А вот нихуя, это итерируемый объект и у range, как и у генератора нет метода __next__.
Вот, сам проверь.

a=1,2,3
b=a.__iter__()
print(dir(a))

print(dir(b)) #есть метод __next__

c=range
print(dir(c))

d=[(i) for i in range(len(a))]
print(dir(d))
Аноним 22/04/23 Суб 20:54:46 2678850 407
>>2678782
Генератор это конструкция из for и range.
For это цикл, range это итерируемый класс, а вместе это генератор.
Аноним 22/04/23 Суб 21:45:58 2678865 408
image.png 84Кб, 1834x526
1834x526
>>2678846
Ну ок, но __iter__ не обязательно должен возвращать себя, там есть отдельный range_iterator для этого
Аноним 22/04/23 Суб 21:56:01 2678877 409
Аноним 22/04/23 Суб 22:24:57 2678891 410
>>2678405
Похоже какой-то хуетой занимаются на этих ваших собесах. Нет чтобы просто посмотреть твой гитхаб чего ты там накодил и как пишешь, чтобы понять твой уровень понимания предмета и языка, а потом на основании этого что-то спрашивать, если вопросы остались.
Вместо этого какие-то КАВЕРЗНЫЕ ВОПРОСЫ задают, "что тяжелее пуд сена или пуд железа", "вилкой в глаз или в жопу раз"? Зачем кодомакаке вообще знать такие подробности, достаточно просто понимать суть range, что оно делает и основные места его применения, а если будет ситуация УЗКОГО МЕСТА, где надо байтоебить то я, как макака без опыта, в любом случае полезу в доки смотреть что-там по О-нотациям. А если нет УЗКОГО МЕСТА то и нахуй не надо это знать. всё равно инфа без практики быстро забывается.

В чем я не прав?
Аноним 22/04/23 Суб 22:55:46 2678899 411
>>2678891
>Нет чтобы просто посмотреть твой гитхаб чего ты там накодил и как пишешь, чтобы понять твой уровень понимания предмета и языка, а потом на основании этого что-то спрашивать, если вопросы остались
Многие разработчики в гитхабе имеют либо нихуя либо просто очень простые проекты что бы технологию пощупать. Плюс ты мог это просто спиздить с чужого аккаунта поменяв название переменных.


>Зачем кодомакаке вообще знать такие подробности, достаточно просто понимать суть range, что оно делает и основные места его применения, а если будет ситуация УЗКОГО МЕСТА, где надо байтоебить то я, как макака без опыта, в любом случае полезу в доки смотреть что-там по О-нотациям.
Что бы ты в коде не делал самописные проверки вместо достаточно удобных практик. А вообще так можно про любое место на собесе сказать "просто посмотрю в доке"

>А если нет УЗКОГО МЕСТА то и нахуй не надо это знать. всё равно инфа без практики быстро забывается.
Не совсем, я про range один раз слышал, но запомнил, как и про вынос методов в отдельные переменные что бы ускорить выполнение, хотя ни разу не применял, необычные детали запоминаются очень хорошо.
Аноним 22/04/23 Суб 23:26:30 2678909 412
>>2678899
>как и про вынос методов в отдельные переменные что бы ускорить выполнение
Это как?
Вот есть у нас self.method(), если я сделою hui = self.method()
И потом буду hui() вызвать это будет быстрее выполняться? Хуйня какая-то лишняя операция присвоения, и трата строки на то чтобы переложить пустое в порожнее.
Аноним 23/04/23 Вск 00:08:58 2678925 413
>>2678909
Да, именно так. В цикле получишь большую производительность, так как не вызывается gettattr у объекта.
Аноним 23/04/23 Вск 07:38:17 2678991 414
>>2678909
да, это будет значительно быстрее выполняться. земерь таймитом
Аноним 23/04/23 Вск 07:40:51 2678992 415
>>2678991
и я ни в коем случае не говорю, что теперь надо срать этим по всему коду. но это реально нужно в функциях, которые по 5 миллионов раз в секунду вызываются

мимо геймдев
Аноним 23/04/23 Вск 07:41:48 2678993 416
>>2678891
>Нет чтобы просто посмотреть твой гитхаб
Есть смысл смотреть только если у тебя есть проект со значительным количеством звездочек

>Зачем кодомакаке вообще знать такие подробности
Незачем. Но есть смысл спрашивать на собесах - чтоб отсеить побольше людей, т.к. их больно дохера
Аноним 23/04/23 Вск 15:29:33 2679247 417
2023-04-2315-24[...].png 18Кб, 974x505
974x505
Хочу начать обучаться Django, создаю виртуальное окружение как в гайде, а вылезает такая ошибка. Что делать?
Аноним 23/04/23 Вск 15:30:12 2679248 418
изображение.png 128Кб, 1979x1397
1979x1397
Дайте пожалуйста совет по дизайну апы. Предельно абстрактно:
Есть данные, которая может быть в разных форматах. Реализую для каждого из формата свой ридер-класс со стандартным интерфейсом. При этом сами форматы довольно различаются, но из любого из них я энивэй могу извлечь нужные мне данные для даунстрим анализа. Есть несколько форматов, в которые также планирую записывать - реализую по функции для каждого из них.
На уровень выше делаю класс, который оборачивает рутину по чтению/записи (условный метод рид - обмазан метод диспатчем по типу ридера), делает первичную обработку нормализацию осей на основе референса, но это в принципе неважно, извлекает/воссоздает как-нибудь нужную метадату, и когда все что надо сделано, возвращает инстанс другого класса, с которым уже можно как-то работать, делать нужные анализы, выдавать конечный результат и так дальше.
Ну и офк у меня отдельные модули лежат для того, чтобы делать разные этапы и разные вариации анализов, здесь все достаточно удобно и логично сегрегируется и никаких вопросов нет.
Для упрощения понимая шизойдной простыни смотри прекрасную мермейд схему ручной работы.
Так вообще норм в петухоне делать? Я замарачиваюсь с отдельными классами под ридеры, потому что ожидается, что регулярно будут высираться новые форматы, и хотелось бы максимально упростить потенциальную дрочьбу в будущем с их чтением, что я и делаю путем создания стандартизированного интерфейса.
Пока просто есть какой-то привкус жавы особенно явно бы ощущался, если бы я заменил функцию райтера на класс со статик методом., и ощущение, что излишним сегрегированием процессов я делаю какой-то физбаз-ентерпрайз.
У коллег по цеху лютый кал с костылями, обходящие разные форматы, и все объединено во вложенные мастеробъекты. Ну и на текущий момент, у меня все это реализовано в виде бэйзик-лайк жупутеровской тетрадки, так что выбора у меня, кроме как сделать все нормально, просто нет.

Если можете сказать, в чем я не прав, буду благодарен.
Еще буду очень благодарен, если направите меня на какие-нибудь гайды с бест практисами по дизайну пакетов/приложений на петухоне.
Аноним 23/04/23 Вск 15:35:21 2679252 419
>>2679247
Пашукай файл activate.bat і пішы адпаведны шлях да яго. Мабыць .venv\Scripts\activate
Аноним 23/04/23 Вск 15:44:20 2679259 420
2023-04-2315-41[...].png 16Кб, 978x409
978x409
2023-04-2315-42[...].png 20Кб, 723x263
723x263
>>2679252
И так, и сяк пробовал. Кроме того, папка Scripts по какой-то причине у меня называется bin.
Аноним 23/04/23 Вск 15:50:56 2679263 421
>>2679259
Знайдзі файл activate.bat праз пошук файлаў:
dir "activate.bat" /s
Аноним 23/04/23 Вск 15:58:38 2679275 422
2023-04-2315-57[...].png 40Кб, 1038x798
1038x798
>>2679263
Я попробовал, не работает.
Аноним 23/04/23 Вск 16:01:45 2679282 423
Аноним 23/04/23 Вск 16:05:43 2679289 424
Кто пользуется redys-py asyncio, подскажите пжлст.
Делать connection pool для всего проекта как global var и дергать подключений оттуда или лучше просто вызывать экземпляры Redis (знаю что внутри он сам создаёт пул в таком случае). Или создать один экземпляр Redis на проект как global var?
И как пользоваться самим экземпляром Redis? Через контекст менеджер или без него? В доках через контекст менеджер он не используется, но методы aenter и aexit есть... Я не хочу явно вызывать .close() и не знаю надо ли это делать вообще..
Аноним 23/04/23 Вск 16:11:03 2679292 425
>>2679275
>>2679259
У цябе ё файл activate.ps1. Выконвай кожны радок асобна:

cd \django\djsite
PowerShell
.venv\bin\activate.ps1

Мусіць змяніцца запрашэнне на PS, потым на (venv)
Аноним 23/04/23 Вск 16:35:00 2679304 426
Аноны смотрите:
if any(dct["key"] == _p for _p in all_that_shit_nigga):

dct["key"] в данном случае будет браться из словаря для каждого сравнения с элементом из списка или он возьмется один раз в начале?
Хочу знать нужно его в отдельную переменную выносить для такого случая.
Аноним 23/04/23 Вск 16:38:08 2679305 427
2023-04-2316-31[...].png 45Кб, 1170x648
1170x648
>>2679292
Спасибо, анонче, очень выручил!
Аноним 23/04/23 Вск 16:50:48 2679310 428
>>2679304
всмысле браться
dict["key"] - это указатель на область памяти, где хранится значение.
Аноним 23/04/23 Вск 17:05:34 2679319 429
Аноним 23/04/23 Вск 17:07:10 2679320 430
>>2679310
Это вызов метода дикта для поиска аттрибута.
Аноним 23/04/23 Вск 17:10:13 2679327 431
>>2679319
Хотя это any + генераторное выражение, да.
Аноним 23/04/23 Вск 17:18:46 2679339 432
>>2679327
>>2679319
Ну так что в итоге анон? Каждый раз берется для каждого сравнения в том конкретном примере?
Аноним 23/04/23 Вск 17:20:27 2679342 433
Аноним 23/04/23 Вск 17:21:10 2679345 434
>>2679342
Ну и говно. Плохо сделоли.
Аноним 23/04/23 Вск 17:22:46 2679347 435
>>2679345
Там вообще много так в лоб сделано, если копаться.
Интересно, почему так. Чтобы не усложнять вм?
Аноним 23/04/23 Вск 17:39:16 2679365 436
Могут ли в питоне быть вообще нужны для чего-либо functionality-only stateless классы?
Аноним 23/04/23 Вск 17:54:58 2679390 437
>>2679282
Чет лолировал с примера. Как будто на джаву вернулся.

Мимо краб
Аноним 23/04/23 Вск 17:57:02 2679394 438
>>2679390
Справа ж не ў Джаве, але ва ўзорах праектавання. Яны агульныя ва ўсіх аб'ектных мовах.
Аноним 23/04/23 Вск 18:18:56 2679423 439
>>2679394
Все так, но опять же, некоторые особенности некоторых языков, делают использование определенных паттернов лишними, либо сильно ограничивают их использование.
Тут еще важно понимать, что из-за того, что я на расте долго работал, я перестал наследование воспринимать все правильно, наследование кал, и для меня дико выглядит двухслойное наследование интерфейса. И, если рассматривать предлагаемую схему отправки сообщений в основной статье, то сразу возникает желание вместо декорирования, просто закинуть разные типы мессенжеров в очередь исполнения, и запускал бы все ей. Но это конечно из разряда "поговорил с учебным примером".
Ну и развивая мысль про ненужность и ограниченность паттернов. Какой-нибудь синглтон или пул просто не нужен в питоне да и нигде этот вафлепаттерн не нужен, будем откровенны, и его делать приходиться не самым очевидным пердолингом через метаклассы какие-нибудь. Так что можно считать, что синглтоны язык порешал.
Аноним 23/04/23 Вск 18:22:31 2679430 440
Это Django settings.py BASE_DIR = Path(__file__).resolve().parent.parent
Откуда __file__ берётся? И как BASE_DIR так хитро используется? 'NAME': BASE_DIR / 'db.sqlite3',
Аноним 23/04/23 Вск 18:25:52 2679434 441
>>2679423
Не корми вниманиеблядь.
Аноним 23/04/23 Вск 18:56:25 2679456 442
>>2679320
В С, на котором написан Питон, это указатель на ключ и указатель на значение ключа. Свободин.
Аноним 23/04/23 Вск 19:00:07 2679459 443
Что быстрее поиск ключа в словаре из 100 значений или поиск элемента в списке из 100 значений?
У поиска ключа сложность О(1), но она сама по себе большая. Вот думаю перекатывать такой лист в словарь. Просто надо будет в нем 1 из 100 значений искать тысячи раз.
Аноним 23/04/23 Вск 19:04:57 2679462 444
>>2679459
Ты же можешь timeit взять и замерить.
Аноним 23/04/23 Вск 19:05:22 2679463 445
>>2679459
Засеки.
Но вообще, если тебе известна нужная позиция в списке, то искать будет быстрее чем за О(n) потому что в петухоне лист - это массив ссылок.
Если тебе нужно будет сравнивать значения для поиска нужного элемента, то все зависит от того, насколько сложно происходит сравнение.
Аноним 23/04/23 Вск 19:06:11 2679464 446
>>2679456
Дурында, эти скобочки квадратные вызывают имплементацию __getitem__ для даннного класса, это называется subscription.
У листа свой (там как раз указатель, ибо это array объектов питоновских), у дикта свой. Т.к. дикт это хешмап, то считается тот самый хеш для забора значения.
Аноним 23/04/23 Вск 19:16:17 2679470 447
image 22Кб, 986x396
986x396
>>2679463
Засек. Словарь опережает индекс в десятки раз. Результат меня очень удивил. Зачем вообще лист нужен - удалить его из питона.
Аноним 23/04/23 Вск 19:17:09 2679471 448
>>2679289
Создаешь подключение и прокидываешь его куда нужно через dependency injection
Аноним 23/04/23 Вск 19:19:45 2679472 449
>>2679464
Мася, разверни исходники а не занимайся поеботой из демонстрации бутикода.
Аноним 23/04/23 Вск 19:25:23 2679473 450
>>2679430
__file__ - унутраная службовая пераменная пітона, шлях да бягучага файлу.
BASE_DIR - канстанта ў Джанге, шлях да галоўнай дырэкторыі праекту. Ня бачу ніякіх хітрыкаў у яе ўжыванні: BASE_DIR / 'db.sqlite3' - шлях да файла базы дадзеных. Перад ім NAME - уласцівасць аб'екту змяшчаючага наладкі БД.
Аноним 23/04/23 Вск 19:25:33 2679474 451
Аноним 23/04/23 Вск 19:35:19 2679487 452
>>2679423
Вартасць узораў праектавання ў тым што іх усе ведаюць. Нават той жа singleton - калі да праекту далучыўся новы чалавек што пісаў іншай мовай, ён бачыць сінглтон і адразу разумее што гэта, як працуе і навошта.
Аноним 23/04/23 Вск 19:41:39 2679493 453
hui, pizda, pok, hruk, var, foo, bar, allahakbar = some_funky_long_name(arg_one, arg_two, arg_tree, jopa, nu_skolko_mogno_srat_argumentami)


Аноны, как такую хуню записать красиво? Переименовывать не вариант.
Аноним 23/04/23 Вск 19:45:26 2679501 454
>>2679493
Разве что запаковать аргументы в туплю или лист и распаковать звездой при вызове, но хз, лучше ли это.
Аноним 23/04/23 Вск 19:47:10 2679505 455
Interpreter.png 12Кб, 667x330
667x330
Аноним 23/04/23 Вск 20:11:47 2679523 456
>>2679470
Теперь проверь скорость, когда нужен перебор. Мжб лист лучше себя покажет.
Аноним 23/04/23 Вск 20:12:23 2679525 457
>>2679473
А теперь на человеческом.
Аноним 23/04/23 Вск 20:52:10 2679554 458
>>2679525
А балалайкай па срацы?
Аноним 23/04/23 Вск 22:30:38 2679627 459
>>2679282
Декоратор - это интересная идея. Но мне тут (тем более на текущем этапе) нет особого смысла инжектить и тем более стакать поведение Декоратор, к слову, юзаю для даунстрим анализа, там он прям норм ложится, учитывая душность и обилие шагов предобработки. На той схеме `wraper_cls` это фактически гигадаптер с дополнительным утилити методом для записи файла на диск, и методом для гармонизации.
Ну я в принципе понял теперь, что я не настолько уж и херовую вещь делаю.
Энивэй, спасибо за помощь.
Аноним 23/04/23 Вск 22:54:57 2679636 460
Посоветуйте какой-нибудь линтер с хорошими проверками сложности кода.
Из адекватных видел линтер от wemake.services, но там помимо годных проверок на сложность, которые, правда, не всегда конфигурируются адекватно, есть куча васянского вахтерства.
В идеале, чтобы это был плагин на флейк, в котором собраны все проверки на сложность и ничего больше.
Аноним 23/04/23 Вск 23:41:57 2679647 461
Аноним 23/04/23 Вск 23:51:03 2679648 462
>>2679647
Там только цикломатическая сложность, которая в моем случае по дефолту обходиться из-за моей циклофобии.
Аноним 24/04/23 Пнд 01:47:08 2679683 463
>>2679471
Так и делается, вопрос не в этом
Аноним 24/04/23 Пнд 11:26:09 2679792 464
Оказывается можно тригернуть свитч треда через time.sleep, охуеть просто
Аноним 24/04/23 Пнд 11:32:37 2679793 465
>>2679683
Делаешь пул и юзаешь его по всему приложению
Аноним 24/04/23 Пнд 13:56:22 2679921 466
image.png 57Кб, 1006x378
1006x378
Анон, как сделать чтоб Пайчарм атоматом перезапускал глюкнувшие скрипты
Аноним 24/04/23 Пнд 14:58:04 2679998 467
>>2661284 (OP)
привет, помогите пожалуйста, уже голова болит

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

Так вот вопрос - как реализовать чтобы при получении сообщения с телеграм бота все эти функции прерывались и возобновлялись только после обработки сообщения с бота?
Аноним 24/04/23 Пнд 15:00:10 2680004 468
>>2679921
засунуть в цикл с отловом Exception
Аноним 24/04/23 Пнд 18:10:02 2680188 469
Стикер 0Кб, 512x512
512x512
Аноны, смотрите какая хуйня.

class Test:
....def __init__(self):
........self.var = 5
....def some(self):
........var = self.var
........print(f'id var: {id(var)}',f'id self.var: {id(self.var)}',sep='\n')
........var += 20
........#self.var = var
........print(f'var: {var}',f'self.var: {self.var}',sep='\n')
Test().some()

var и self.var имеют один ID, но разные значения внутри метода .some

Чому так?
Аноним 24/04/23 Пнд 18:21:44 2680205 470
>>2680188
Анус поставишь что айдишник одинаковый?
Аноним 24/04/23 Пнд 18:50:14 2680239 471
>>2680188
Ты же даже import gc не сделал...
Аноним 24/04/23 Пнд 18:51:26 2680243 472
>>2680188
потому что ты сначала принтаешь айдишник а потом меняешь значение var. Т.к. у тебя 2 переменные равны друг другу то айдишник одинаковый. Когда значение становится разным (var +=20) то айдишник var меняется.
поменяй две строки местами и получишь разные айдишники

>>2680205
лучше ответьте на этот вопрос >>2679998
Аноним 24/04/23 Пнд 18:58:27 2680252 473
Стикер 0Кб, 128x128
128x128
>>2680243
>переменные равны друг другу то айдишник одинаковый
атаноче
Аноним 25/04/23 Втр 11:13:33 2680651 474
Хочу всего лишь нажимать на одну клавишу в одной игре.
Почему это удаётся в Блокноте и где угодно ещё, но не в самой игре, хоть в оконном, хоть в полноэкранном режиме?
https://pastebin.com/T9201SuC
На плюсах пробовал сделать, та же хрень. Срабатывает один раз, когда фокус переходит на окно игры, и всё на этом. И через win api с выбором конкретного субэлемента окна тоже делал, не работает.
В каком направлении вообще можно копать?
Аноним 25/04/23 Втр 16:26:00 2680978 475
>>2680651
попробуй от админа скрипт запускать
или автохоткей поставь
Аноним 25/04/23 Втр 19:11:25 2681140 476
show.png 9Кб, 270x120
270x120
>>2678891
>Нет чтобы просто посмотреть твой гитхаб чего ты там накодил и как пишешь, чтобы понять твой уровень понимания предмета и языка, а потом на основании этого что-то спрашивать, если вопросы остались.
Тащемта смотреть на опенсорс при устройстве на галеру, где будешь писать клозед сорс - максимальное лицемерие.
Аноним 25/04/23 Втр 19:25:02 2681157 477
>>2679247
>Что делать?
Откажись от запуска в винде. А то это ещё может потом аукнуться.
Как минимум запускайся в WSL2.
Базарю, винда - зло.
Аноним 26/04/23 Срд 01:28:03 2681426 478
>>2678405
>И чет я завис. Как это решать? Тут по факту метаматематика а не проганье даже
чисто проганье. Тебе надо знать, что существуют такие возможности, как перегрузка операторов, что угодно ты можешь определить, в том числе оператор in
смотри на метод __contains__
Аноним 26/04/23 Срд 03:27:53 2681462 479
Помогите! Как импортировать файл из папки forms.
Файл main_form.ui.py
Аноним 26/04/23 Срд 03:32:40 2681463 480
>>2681462
Traceback (most recent call last):
File "C:\Users\user\Desktop\test1.py", line 1, in <module>
from forms.main_form.ui import ClassName as cn
ModuleNotFoundError: No module named 'forms.main_form'

Да блять почему расширение *.ui.py не понимает-то????
Аноним 26/04/23 Срд 03:56:32 2681468 481
>>2681463
Раю зьмяніць імя файла, бо інакш імпартаваць яго магчыма праз importlib.util
Аноним 26/04/23 Срд 04:50:02 2681473 482
>>2681468
Дак а почему импорт не понимает расширение файла-то ??
Аноним 26/04/23 Срд 07:25:40 2681498 483
Screenshot26.jpg 97Кб, 718x831
718x831
Всё же ООП рулит. Подумал как это скрипт мне запустить в другом файле нормально и это была прям попаболь, пока он был написано без класса, решил записать через класс и теперь просто изично. Буду и дальше практиковать писать чисто на ООП
Аноним 26/04/23 Срд 09:06:32 2681538 484
>>2681498
Первый раз в жизни попробовал написать программу с больше чем ордним файлом? При чём тут ООП? Это можно сделать просто написав функцию и вызвав её в другом модуле.

> != None
> складывает строки в цикле
Ты базовые вещи сначало изучи
Аноним 26/04/23 Срд 09:56:33 2681565 485
Аноним 26/04/23 Срд 10:34:36 2681587 486
>>2681473
корыто ёбанное, этот ваш ентот пистон.
Аноним 26/04/23 Срд 10:38:41 2681592 487
Как импортировать файл из папки forms.
Файл main_form.ui.py ???

Выдаёт ошибку:

Traceback (most recent call last):
File "C:\Users\user\Desktop\test1.py", line 1, in <module>
from forms.main_form.ui import ClassName as cn
ModuleNotFoundError: No module named 'forms.main_form'


Мозг сломал и пипетку весь
Аноним 26/04/23 Срд 10:47:51 2681604 488
>>2681538
Ну none это без разницы, это я так написал. А вот составление слов, да, можно просто через '\n'.join
Аноним 26/04/23 Срд 12:54:02 2681697 489
изображение.png 26Кб, 530x374
530x374
Объясните как работает streamlit?
Это какая-то максимально странная для меня ебананина.
Вроде все понятно, но нихуя не понятно :(

вот код чата : https://pastebin.com/XwBiXyxv (да, это действительно весь код для довольно сложного приложения-чата)

Почему сообщения не добавляются вверх, а перезаписываются?
Аноним 26/04/23 Срд 14:12:18 2681782 490
>>2681592
Не называй модули так (с точкой), не надо понтов. Переназови.
Или используй importlib.
Аноним 26/04/23 Срд 15:07:01 2681835 491
upartasć-py.jpg 75Кб, 500x500
500x500
>>2681782
Ты не разумееш, ён у нас упарты >>2681592 >>2681473 >>2681463
Яму патрэбны толькі маральнае натхненне і падтрымка.
Аноним 26/04/23 Срд 15:17:19 2681845 492
>>2681835
да, да, да, я барашка.
Аноним 26/04/23 Срд 15:19:28 2681848 493
>>2681782
а можно пример с импортлиб?? Чтобы все файлы в папке импортировались (там есть ui(py)-файлы от QtDesignera !!!)
Аноним 26/04/23 Срд 15:30:48 2681878 494
>>2681848
Раю загружаць форму з файла *.ui што генерыруюецца Qt Designer'ам у фармаце XML. Будзе зручней рэдактаваць інтэрфэйс і генерыць нанава.

from PyQt5 import uic

class ...
uic.loadUi('qt/form.ui', self)
Аноним 26/04/23 Срд 15:37:40 2681896 495
>>2681848
>а можно пример с импортлиб?
import importlib.util

spec = importlib.util.spec_from_file_location(name="MODUL_BULBAYOB", location="/path/to/main_form.ui.py")
my_module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(my_module)
Аноним 26/04/23 Срд 17:01:59 2681995 496
Так, анончики, поясните мне такую аномалию.
Оператор or возвращает True только если один из объектов заданных в условии является True.
Вот я задал условие, что если один объектов истинный, то он возвращает один из них:

inp=input('Введите 1 или m: ')
if inp=='1' or 'm':
print('Huy')
#любой элемент через input возвращает True
else:
print('Jopa')

А если так, то:
ke='1' or 'm'
inp=input('Введите 1 или m: ')
if inp==ke:
print('Huy')
#возвращает только единицу, при вбивании "m" или любого другого значения возвращает False

Через And тоже какая-то хуйня
ke='1' and 'm'
inp=input('Введите 1 или m: ')
if inp==ke:
print('Huy')

Возвращает Huy только с "m", а мне нужно чтобы возвращала или-или
Аноним 26/04/23 Срд 17:38:29 2682012 497
Кто назвал в пандасах функции read_x to_x вместо того чтобы назвать read_x write_x или from_x to_x того труба шатал, пиздос как бесит, забываю как надо.
Аноним 26/04/23 Срд 18:21:41 2682030 498
>>2681995
Значение выражения '1' or 'm' равно '1'. Значение '1' and 'm' - 'm'.
Аноним 26/04/23 Срд 18:23:40 2682031 499
Аноним 26/04/23 Срд 19:06:56 2682059 500
изображение.png 308Кб, 600x506
600x506
Нужен совет касательно следующей дичи. Я делаю симуляцию Монополии на Python. Основной целью проекта является сделать Reinforcement Learning агентов в качестве игроков, чтобы они с нуля научились играть и нашли оптимальные стратегии. Сначала делал через Q-Learning, но проебался. По итогу, нашёл подход с использованием Monte Carlo Tree Search, который как мне кажется подходит больше, но в душе не ебу как реализовать его в в моём проекте. К примеру, что именно передавать агенту как state чтобы он мог делать какие-то стратегии.
На руках уже имеется готовое окружение, рабочие карточки Шанс и Общественная казна, оплата ренты, постройка домов и прочее. Единственное думаю выкинуть механику аукционов на хуй.
Аноним 26/04/23 Срд 20:15:46 2682091 501
>>2682059
мы тебе еще пару месяцев назад объясняли что в Монополию нельзя научиться играть. это рандом.
Аноним 26/04/23 Срд 20:31:00 2682104 502
>>2681878
>>2681896
имел я в писю энтого питона

вот у меня есть папка forms
в ней куча файлов типа frm_suka.ui.py от кала после компилятора pyuic6

Как мне скопом (целиком) импортировать все файлы в этой ёба папке forms???
Аноним 26/04/23 Срд 20:38:43 2682111 503
>>2682030
Логично. Конструкция из or всегда возвращает первый элемент, а из and последний. А как сделать то, чтобы либо 1, либо m было при введении в input?
Аноним 26/04/23 Срд 21:18:42 2682125 504
>>2682104
Нахуй иди, тупарылый. Наймись в охрану или шофёром.
Аноним 26/04/23 Срд 21:21:18 2682127 505
>>2682111
Вводить пока, там не будет 1 или m, проверяя там 1 или там m.
Аноним 26/04/23 Срд 22:20:22 2682153 506
>>2681604
А ещё срезы замени на endswith.
Аноним 26/04/23 Срд 22:39:52 2682164 507
image.png 7Кб, 139x397
139x397
>>2681995

> Оператор or возвращает True только если один из объектов заданных в условии является True.
Ноуп. or возвращает первый истинный элемент или просто последний элемент.

>inp=input('Введите 1 или m: ')
>if inp=='1' or 'm':
Вангую, что ты хотел тут логику типа
> if inp in ('1', 'm'):

>ke='1' or 'm'
Хм-м. Вангую:
>ke=('1', 'm')


>>2682111
>Конструкция из or всегда возвращает первый элемент, а из and последний.
Нет, and - возвращает первый ложный элемент или последний.
Аноним 26/04/23 Срд 22:45:16 2682168 508
>>2682091
> в Монополию нельзя научиться играть. это рандом.
Хуйню несёшь.
Аноним 26/04/23 Срд 23:03:46 2682175 509
>>2682164
>ke=('1', 'm')
Да! Это именно то, что я и хотел. Спасибо.
>or возвращает первый истинный элемент или просто последний элемент.
>and - возвращает первый ложный элемент или последний.
Щас проверил, бля, внатуре
d=0 or 1 or 2
1
d=1 and 0 and 2
0
Аноним 27/04/23 Чтв 00:58:30 2682226 510
>>2682153
Это очень старый скрипт, который я писал чуть ли не в самом начале. Решил его прикрутить к другой программке просто для теста, переписал по быстрому, там говнокод был куда хуже ещё даже.
Аноним 27/04/23 Чтв 08:33:47 2682270 511
>>2682226
Зоойчем ты оправдываешься, каличный? Срать на тебя, что ты там когда писал.
Аноним 27/04/23 Чтв 08:53:34 2682277 512
Хотел бы сделать так, чтоб из модуля(ака package) в файле датабейз можно было добавлять новые функции к тому датабейз что выше:
> main.py
> database.py
> module_a/
> __init__.py
> database.py
Плюс как я вижу в том, что всё для модуля хранится в модуле, а не размазано по всему проекту.

По самой реализации: main.py импортирует и запускает module/database.py, который в свою очередь импортирует и database.py и добавляет в него свои функции и переменные. Всё остальное что использует database уже имеет дело с модифицированной его версией.

А вопрос собственно вот в чем: насколько это зашкварно(я ни разу не видел чтоб так делали) и какие подводные?
Аноним 27/04/23 Чтв 08:54:59 2682279 513
>>2682277
> main.py
> database.py
> module_a/__init__.py
> module_a/database.py
фикс, отступы убрало разумеется
Аноним 27/04/23 Чтв 09:24:30 2682315 514
>>2682277
Ладно, хуйню написал. Внезапно лучше имплементировать бд для модуля в модуле и импортировать эту бд, раз у меня в принципе все функции не особо завязаны на конкретно тот датабейз на верхнем уровне.
Аноним 27/04/23 Чтв 10:03:21 2682371 515
image.png 2Кб, 94x126
94x126
show.png 7Кб, 270x120
270x120
>>2682175
>Щас проверил
На пике ещё веселее. Это, кстати, надо иметь в виду, потому что можно наебаться с типами. Зато даёт некоторый простор, например, для эф-строк
Капча релейтед.
Аноним 27/04/23 Чтв 10:28:07 2682387 516
image.png 49Кб, 902x530
902x530
сап програмач, правда ли что можно вкатиться в веб приложения на питоне очень быстро(за полтора-два месяца) и найти первую работу? Если нет, подскажите куда можно за такой период чему то научиться и начать зарабатывать, только законное.
Аноним 27/04/23 Чтв 10:41:22 2682404 517
>>2682387
>за полтора-два месяца
>куда можно за такой период чему то научиться и начать зарабатывать
Вкусно и точка, курьер, охранник. Если права есть — водитель. Можно помощником слесаря, плотника, столяра, токаря, сантехника вкатываться, потом самый низший разряд получить. Есть вариант — золотари. Вечная тема. Только бочку арендовать.
Аноним 27/04/23 Чтв 10:46:16 2682407 518
sosat.png 13Кб, 293x123
293x123
>>2682387
Всё можно, главное пройти курсы скиллбокса по моей реферальной ссылочке.
Аноним 27/04/23 Чтв 11:10:15 2682425 519
Аноним 27/04/23 Чтв 11:12:16 2682429 520
>>2679921
Как понять глюкнувшие? Ты хочешь чтобы он у тебя их вечно крутил в фоне?
Аноним 27/04/23 Чтв 15:25:14 2682667 521
>>2682387
Учи php и html, а не Припон тогда, если хочешь быстро. Я задрачиваю в Питон по 4-8 часов в день на протяжении 4 месяцев почти без перерыва и освоил только процентов 5% от всей базы. Могу текстовый квест через ООП написать или программу типо магазина без подглядывания в букварь каждые две минуты, а парсер какой-нибудь самостоятельно с нуля уже хуй осилю.
Аноним 27/04/23 Чтв 15:31:56 2682669 522
>>2682371
Странная херня. Кто-нибудь знает почему так?
Аноним 27/04/23 Чтв 16:52:05 2682768 523
Аноним 27/04/23 Чтв 19:01:17 2682912 524
image.png 3Кб, 637x191
637x191
>>2682669
Акстись, это дефолтное поведение для большинства ЯПов
Аноним 28/04/23 Птн 03:57:13 2683150 525
>>2682667
Что можно там 4 месяца учить по 8-6 часов? А парсеры за вечере на читая статью на хабре можно написать.

Сорян за душнину. Самому интересно
Аноним 28/04/23 Птн 03:59:40 2683151 526
image.png 4Кб, 710x101
710x101
Поясните почему у -1 и -2 хэш одинаковый? Что питону мешало отдать при хеше -1 отдать -1?
Аноним 28/04/23 Птн 08:09:42 2683202 527
>>2683150
С нуля язык так и учат. Плюс, надо решать десятки примеров по каждому выученному параграфу. Иначе ты будешь таким же пидарасом как местный ляцвин, тупое существо, почти скот.
Аноним 28/04/23 Птн 10:19:05 2683294 528
>>2683150
>Что можно там 4 месяца учить по 8-6 часов?
А можно ли выучить Питон полность? Все библиотеки, весь функционал, все возможности? Наверное от балды сотник книжек всякие непонятные дядьки по Питону пишут, воду льют из пустого в порожнее. Во ебланы! Не то что дядя Федя с двача.
>парсеры за вечере на читая статью на хабре можно написать.
Так любой может и я могу, а ты попробуй без подглядел в документацию и копипастинг из гитхабика.
Аноним 28/04/23 Птн 10:29:24 2683301 529
>>2683294
Ні ў воднай мове праграмаваньня не вывучаюць усе бібліятэкі. Нармалёва будзе ведаць толькі тое што спатрэбілася для працы.
Аноним 28/04/23 Птн 10:43:50 2683306 530
image 5Кб, 200x144
200x144
>>2683294
>без копипастинг
Сука, бей его!
Аноним 28/04/23 Птн 11:17:20 2683323 531
>>2683301
>Ні ў воднай мове праграмаваньня не вывучаюць усе бібліятэкі
Ну так естественно, потому что это невозможно.
>толькі тое што спатрэбілася
А если спатрееблися сделать что-то, что могло бы облегчить твою работу, а ты даже не подозревал о существовании такой фичи?
Аноним 28/04/23 Птн 19:20:19 2683756 532
>>2682125
лучше наймусь шофёром, по твоей мамке ездить хуем.
Аноним 28/04/23 Птн 20:54:52 2683870 533
суп моему тупому вопросу.

есть папка forms
в ней куча файлов типа frm_suka.ui.py от компилятора pyuic6

Как мне целиком импортировать все файлы в этой папке forms?

*отредактировал, чтобы не шокировать особо "нежных"
Аноним 28/04/23 Птн 21:04:51 2683882 534
>>2683870
>суп
Значение выясни, микроцефал.
Аноним 28/04/23 Птн 23:00:00 2684004 535
>>2683870
ну берешь и делаешь
import forms
или
from forms import *
или ты откуда хочешь это импортировать то?
Аноним 29/04/23 Суб 00:44:45 2684073 536
>>2683882
выяснил супу твоему роту моему органу.
Аноним 29/04/23 Суб 00:45:37 2684074 537
>>2684004
подожди. Так выдаёт ошибку. Типа видимо не понимает точки в файлах
Аноним 29/04/23 Суб 07:08:45 2684107 538
>>2684074
Что пишет в ошибке?
Аноним 29/04/23 Суб 12:42:45 2684253 539
>>2684107
Ну вот попробуй для прикола импортировать 2 файла (любые) py, но с расширением с точкой. Или чтобы в названии были точки.
Ну как ещё сказать.
Аноним 29/04/23 Суб 12:47:42 2684257 540
>>2684107
не может найти файл пишет.
Аноним 29/04/23 Суб 13:03:51 2684276 541
>>2684257
Так он и не найдет, потому что в имени файла точка. Переименуй все модули через Ctrl+A, F12. Только расширения не меняй.
Аноним 29/04/23 Суб 15:03:42 2684390 542
>>2684276
да вы издеваетесь.
Ну питончик, что, он не умеет в расширения файлов???
Аноним 29/04/23 Суб 15:05:41 2684391 543
Аноны!
Аноним 29/04/23 Суб 15:24:01 2684410 544
>>2684390
Ты, пидорас тупой, ui это не расширение, а имя. Убери перед ним точку и все запашет.
Аноним 29/04/23 Суб 15:36:20 2684421 545
Можно ли в PyCharm выполнить автозамену табуляции с пробелов на табы и наоборот? Если да, то как это сделать?
Аноним 29/04/23 Суб 16:48:43 2684479 546
>>2684410
О, Боги!
Как тебя свет носит ещё. Ещё не сдох?
Ещё для дибилов поясняю.

в папке forms есть файлы *.ui.py

Тебе ещё пояснить нужно???
Аноним 29/04/23 Суб 16:50:02 2684481 547
Аноним 29/04/23 Суб 16:55:50 2684487 548
спасибо.mp4 636Кб, 550x360, 00:00:08
550x360
Аноним 29/04/23 Суб 17:06:43 2684493 549
Аноним 29/04/23 Суб 17:47:00 2684522 550
>>2684479
Для себя поясни, человек дождя.
Zalupa.ui - так должен выглядеть ui файл.
Zalupa.py - так должен выглядеть py файл.
У тебя Zal_upa.ui.py - в файле должна стоять только одна точка; перед расширением. А у тебя их две - одна в имени, где ее быть не должно, а вторая перед расширением, там где она и должна быть. По-этому import и не импортирует, он читает файлы с точками в имени, гуманоид ты тупорылый.
Zalupa_ui.py - вот как оно должно выглядеть.
Аноним 29/04/23 Суб 18:42:53 2684552 551
>>2684522
Та нет, О, Двуликий Анус!!!
файл я же сказал - ПОСЛЕ ОБРАБОТКИ ЧЕРЕЗ компилятор pyuic6.
После того, как кайлы перекомпилируются - их имена становятся типа frm_mainhuy.ui.py
И внутренности у них (для тех даунов кто даже это не знает, а знает только джанко и прочую онлайн-поебень!) - типа портянка класса ui-form и внешнего вида.
Аноним 29/04/23 Суб 18:56:13 2684557 552
>>2684522
вот у меня есть видео файл "ya.ebal.tvoyu.memka.mp4" - это нормальный файл, или ты, ёбыч, только такие имена типа "a1.py" перевариваешь??
Аноним 29/04/23 Суб 19:04:06 2684561 553
>>2684522
файлы, если не ты в курсе, могут называться makaka.ebala.svoyu.pipisku.txt
Или ya,piton.v.rot.vstavil.chto.budet.py
И это _легальные_ имена файлов в файловой системе. Я вот о чём.
Аноним 29/04/23 Суб 19:45:27 2684571 554
>>2684561
>ya,piton.v.rot.vstavil.chto.budet.py
Тогда импортируй такой файл через интерпретатор. А ещё лучше анус свой импортируй в Нигерию, чтобы тебя макаки драли, потому что даже макака больше поймет, чем ты, ебанушка.
Аноним 29/04/23 Суб 20:03:17 2684577 555
>>2684571
Ну так твоя мамка-обезьяна уже импортировала хуй твоего папки-гибона из Нигерии. Мне-то зачем.
Аноним 30/04/23 Вск 00:13:32 2684739 556
>>2684479
фаил нормально переименуй.
Аноним 30/04/23 Вск 02:02:27 2684809 557
>>2684739
Анон, без этого никак не решить вопрос?
Аноним 30/04/23 Вск 08:46:42 2684865 558
Кароч, тупая срань на доске, у меня две точки в названии файла, фалов 105 штук.
Быстро мне, скоты, сказали, как их импортировать в виде модулей. Готовый код.
Аноним 30/04/23 Вск 17:50:07 2685134 559
Screenshot29.jpg 100Кб, 1864x515
1864x515
Создал новый проект, ибо было нужно нормально виртуалку поставить, перетащил туда файлы из другого и в итоге не работает проверка модулей, установлены они или нет, какие классы там спрятаны и методы тоже не находит толком
Аноним 01/05/23 Пнд 00:08:11 2685408 560
>>2683151
Глупый мясной мешок, слушай сюда:

Причина, по которой хэш-функция Python возвращает -2 вместо -1, заключается в том, как она реализована в CPython. Для отрицательных целых чисел хэш-значение может быть отрицательным, поэтому CPython добавляет 2^64, чтобы сделать его положительным. Однако для -1 результирующее значение является наибольшим возможным целым числом, которое зарезервировано для коллизий хэша. Поэтому вместо этого CPython возвращает -2.
Аноним 01/05/23 Пнд 13:08:00 2685644 561
>>2685134
У цябе памылка. btn_dissable мусе быць з адной літарай s: btn_disable.
Аноним 01/05/23 Пнд 14:47:32 2685715 562
Снимок экрана ([...].png 139Кб, 1366x768
1366x768
Че ему надо то? Скомпилировал екзешник через pyinstaller, все работает, брат жив. Компилирую через Autopytoexe - exe не открывается.
Аноним 01/05/23 Пнд 14:59:20 2685731 563
>>2685715
У наладках Autopytoexe абяры Console Application, альбо прыбяры ўсе print().
Аноним 01/05/23 Пнд 15:07:36 2685737 564
>>2685731
Да, помогло. Спасибо.
Аноним 01/05/23 Пнд 19:12:15 2685934 565
ы1.jpg 57Кб, 491x437
491x437
ы2.jpg 120Кб, 491x437
491x437
ы3.jpg 111Кб, 491x437
491x437
ы4.jpg 115Кб, 491x437
491x437
>>2661284 (OP)
Господа, подскажите пожалуйста.
А вообще возможно, в принципе, на питоне сделать следующим образом?
1.Запустить стрим данных, например с бинанса.
2. С помощью мультитрединга, каждые, например 15 секунд, делать обычный реквест запрос на этот бинанс для получения данных, которые я не могу получить через стрим, но не прерывая стрим.
3. Использовать обновленные полученные данные из простого реквест запроса в функции, которая вызывает стрим, но самое главное не прерывать стрим данных.

капча - наука
Аноним 01/05/23 Пнд 19:20:08 2685941 566
Аноним 01/05/23 Пнд 19:26:06 2685946 567
>>2685941
а точно?)
а то я щас как спущу 3 дня на то, что в принципе нельзя сделать, ухх
спасибо
Аноним 01/05/23 Пнд 19:41:09 2685958 568
>>2685946
А что нет то. На питоне можно почти всё, главная его проблема, что это почти всё может быть от 5 аж до 100 раз медленее, чем на C++ условном.
Аноним 01/05/23 Пнд 19:48:31 2685966 569
>>2685958
Я спрашиваю, потому что я не профессиональный программист)
и не хочу изобретать велосипед или решать нерешаемые задачи
гораздо эффективнее спросить опытных людей

капча - дикарь
Аноним 01/05/23 Пнд 19:55:57 2685972 570
>>2685966
Ну хз тогда как ты за три дня планируешь написать, если не знаешь ничего. Мультитрейдинг всё же через копипасту сложно заставить работать
Аноним 01/05/23 Пнд 20:00:00 2685978 571
>>2685934
Можно, но нужно тред-сейф структуры использовать, потому что обосраться как нехуй делать. Еще можно асинхронность попробовать, но там другие подводные
Аноним 01/05/23 Пнд 20:11:06 2685987 572
>>2685972
я примерно представляю как это сделать,
у меня есть все, кроме вот этой мультитрединговой перемычки

но например, то, что я хочу сделать - нельзя сделать, потому что есть какое-нибудь условие/событие Х(икс) изза которого не получится

тем более, мало ли, мне посоветуют обратить внимание на что-ниубудь, на что я бы сам не обратил внимание
капча - король
Аноним 01/05/23 Пнд 20:13:21 2685988 573
>>2685978
Ну асинхронность под его задачи вряд ли подойдёт.

Нужно разбивать задачи на несколько потоков, что бы после ещё и получать сигналы от этих потоков не прерывая их. Асинхронность это всё тот же один поток, где функции просто тормозят своё выполнение, если ничего пока не делают и дают порулить другим.
Аноним 01/05/23 Пнд 20:14:35 2685991 574
>>2685987
Ну в целом, твоя задача и не смотрится как что-то тяжелое. Погугли, думаю разберёшься.
Аноним 01/05/23 Пнд 20:15:52 2685993 575
>>2685978
>>2685972
ну вот например, мне бы и в голову не пришло обратить внимание на
>тред-сейф структуры
я даже не знал, что такое существует, а теперь знаю
спасибо!

чатжпт мне про такое не рассказывал

> асинхронность попробовать
я размышлял над этим, но потом пришёл к выводу, что я не смогу её нормально воткнуть, мне там неудобно будет
выбор был между мультитрендингом и мультипроцессингом
Аноним 01/05/23 Пнд 20:17:37 2685996 576
>>2685991
угу, спасибо (неиронично)
Аноним 01/05/23 Пнд 20:23:19 2686002 577
>>2684809
нормально делай - нормально будет
Аноним 01/05/23 Пнд 20:36:28 2686018 578
>>2685988
>Асинхронность это всё тот же один поток, где функции просто тормозят своё выполнение, если ничего пока не делают и дают порулить другим.
Так стрим обрабатывается батчами/сообщениями, там между ними прирывания как раз, хотя хз какой у него драйвер там и что вообще за стрим
Аноним 01/05/23 Пнд 23:35:25 2686102 579
Аноним 02/05/23 Втр 01:23:26 2686144 580
>>2686102
Нихт. Не получается. Думаю сдаться, и всё-таки по-уебански не далать расширение файлов. А сделать как и по-идиотски следует, типа *.py. Жаль конечно. Грёбаный язык не умеет в расширения файлов. Ну что поделать, такой вот он. Не всем везёт.
Аноним 02/05/23 Втр 01:24:04 2686145 581
>>2686102
Нихт. Не получается. Думаю сдаться, и всё-таки по-уебански не далать расширение файлов. А сделать как и по-идиотски следует, типа *.py. Жаль конечно. Грёбаный язык не умеет в расширения файлов. Ну что поделать, такой вот он. Не всем везёт.
Аноним 02/05/23 Втр 02:17:25 2686154 582
>>2686144
>>2684479
Ніколі не здавайся, нахіляй тэхналёгію пад сябе. Бо не чалавек існуе для кампутара, але кампутар для чалавека.

Я напісаў табе гатовае рашэнне. Пакладзі ў дырэкторы forms файл __init__.py са зместам https://www.online-python.com/hGp6rz9gnO
Аноним 02/05/23 Втр 02:53:40 2686163 583
>>2686002
я нормально всех ебу. Нормально сделаю????
Аноним 02/05/23 Втр 03:28:37 2686168 584
>>2686102
Так, анон. Ну ты предлагаешь просканировать директорию. Найти фсе вайлы на . py. Их просканировать, и исполнить (execute) . Ну это решение "в лоб" называется. Я так сам смогу сделать. Можно ли в вашем "петоне" сделать так, чтобы файлы .ui.py смог бы импортировать по-нормальному, без извращений????
Аноним 02/05/23 Втр 08:38:52 2686223 585
>>2686168
Точки это часть синтаксиса доступа к модулям в пакетах. Так что если хочешь точки в именах, то импортируй через жопу, очевидно же.
Аноним 02/05/23 Втр 09:43:09 2686253 586
Q all! Посоветуйте нетривиальные каналы на ютубе по питону. База вроде есть, хочется посмотреть как нормальные люди пишут код с использованием разных фич языка.
Аноним 02/05/23 Втр 10:56:52 2686302 587
>>2686253
Канал Ержана. Там много базы для смешариков. Но иногда он обсуждает разные интересные пакеты, и сторонние штуки, и некоторые неочевидные вещи. В целом норм фича ревью канал, можно посмотреть вечерком.
Аноним 02/05/23 Втр 12:51:59 2686392 588
>>2686223
ну подожди. точки это нормальные имена файлов же!!!
Аноним 02/05/23 Втр 12:57:31 2686396 589
Аноним 02/05/23 Втр 14:38:47 2686474 590
Аноним 02/05/23 Втр 14:39:21 2686475 591
Аноним 02/05/23 Втр 17:13:49 2686649 592
>>2686392
В линупсах почти все символы валидны в именах. Сделай и импортируй файл с двоеточием в имени, например.
Аноним 02/05/23 Втр 17:41:59 2686675 593
>>2686392
Только не для импорта.
Аноним 03/05/23 Срд 01:53:09 2686956 594
>>2686649
>>2686675
Спасибо вам, Анончики!! Я понял. А то все посылают только.
Имя при импорте в питоне существенно, и не использовать точки.
Аноним 18/05/23 Чтв 12:24:37 2703019 595
>>2682429
Ну да, боты в телеге вечно работают и норм, а мой виснет через время или пайчарм вылетает
Аноним 29/05/23 Пнд 16:05:05 2715268 596
Бан чек, сорри
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов