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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №160 /python/ 2661284 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #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
15801877101060.jpg54 Кб, 640x476
2 2661328
Эцново я.
подскажите, почему примеры aiohttp внутри fastapi, которые я нахожу в гугле, такие сложные? Вот, например (с первой страницы в гугле)
https://github.com/raphaelauv/fastAPI-aiohttp-example/blob/master/src/fastAPI_aiohttp/fastAPI.py

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

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

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

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

Впрочем это все еще не значит, что она понимает идею моей программы в целом.
5 2661430
>>661402

> self.all_shit = Shit.objects.all()


> self.all_shit.filter(name=shit_name)



это образует лишь 1 запрос в бд, так как кверисеты ленивые
6 2661432
>>661430
self.get_some_shit('asdfasdf') вызывается сотни раз. И создается сотни хитов в базу\кэш.
7 2661443
>>661432
Ну значит что-то неправильно сделано.
Может там внешняя функция сотни раз вызывается.
8 2661497
>>2661146 →

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


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

Потом просто знания бесполезны, ну будешь таким Вассерманом всё знающим, всё равно с Гуглом и ГПТ конкурировать не сможешь. Ты конкретные вещи забываешь, а вот идеи остаются, в том числе как одни понятия применяются на другие. Этими идеями ты потом пользуешься, сам того не осознавая.
9 2661504
>>661432
давно не пользовался джангой, проебал нейросвязи

Но попробуй почитать про prefetch_related и select_related, это как раз о том, что тебе нужно. В доке джанго всё описано
1 10 2661509
сап питон что лучше питон или с++ и приведите хотя бы 2 аргумента
11 2661727
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] что означает?
12 2661889
>>661509
От задач. На питоне:

> писать проще


> результат получаешь быстрее


> очень, SUKA, универсально: гуй, скрипты, демоны, API, WEB, всё, что угнодно.


На крестах... Ну, средний код будет быстрее отрабатывать.
Правда, хорошо бы понимать, что для десктопного ПО такая скорость никуда не упирается потому, что задержки 0,01с от 0,1с узверь не отличит, а на сервере они потеряются за ожиданиями ответов от БД, внешних API и т.п.
13 2661891
>>661727

>А вот это [, default] что означает?


Необязательный аргумент, стандартная нотация.
14 2662023
Зашкварно ли вслух произносить что программируешь на петухоне?
15 2662035
>>662023

>программируешь


Говори, что кодируешь/пишешь скрипты, не надо говорить «программирую», это неверное сведение.
16 2662039
>>662023
Даже если в кругу питанистов сделать такой каминг аут, то побъют в лучшем случае.
17 2662047
я РАЗРАБАТЫВАЮ на питоне
18 2662051
не могу хранить ссылку на объект, но могу хранить инт
self.parent = 42

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

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

насколько это медленней чем хранить ссылку на объект?
19 2662054
>>662047
Доложите разработанный размер
20 2662056
>>662051
Тебе бенчмарки делать запрещают?
21 2662060
>>662056
я не умею
23 2662066
>>662062
заебал сделай за меня
24 2662120

>var1, var2, var3 = map ( int, input().split() )


Что тут происходит?
Почему оно не тульпится?
У меня не выходит почему-то ни со скобочками, ни без...
25 2662125
>>661426

> Впрочем это все еще не значит, что она понимает идею моей программы в целом.


Впрочем это всё еще не значит, что ты понимаешь идею твоей программы в целом.
26 2662217
>>662120
map это ленивый объект, он выдает значения по запросу.
Можешь зафорсить туплю через tuple(map), она заставит его работать и вытянет всё.
В гринтексте распаковка вытягивает.
Скобки вообще нихуя не значат в данном контексте.
image.png210 Кб, 500x1013
27 2662239
Напоминаю, что Питон - ненастоящий язык, работы на нем нет! Никто не делает программы или веб-приложения на питоне, это всё наеб от производителей курсов.
Вакансии, которые вы видите - это дата сайнс, и там вам нужна в первую очередь математика, а не питон.
Хотите вкатиться в айтишку - учите java, c++ или node-js.
28 2662240
>>662239
Вкатун, спок.
image34 Кб, 381x373
29 2662241
>>662239
Двачую этого интеллектуального господина. Нет ума осилить С — иди на панель.
30 2662246
>>662239
У нас в конторе целая связка прожектов на фласке. В B2B оно прекрасно вытеснило ASP.
31 2662292
>>662217

>ленивый объект


Это что-то вроде итерации цикла?

> В гринтексте распаковка вытягивает.


А почему тульпа не вытягивает?
image.png11 Кб, 398x208
32 2662355
>>662292
Это что-то вроде генератора.

>А почему тульпа не вытягивает?


Это просто скобки.
1 - выражение в скобках
2 - тупля с одним элементом - результатом выражения
3 - инициализация тупли мапом-итераблей

Вообще, мап сейчас считается околодепрекейтед хуйней. Сейчас делают или генэкспы или компрехеншены в зависимости от необходимости.
image.png3 Кб, 338x68
33 2662362
>>662355
Ещё можно распаковочку сделать, забавно. Но это чисто в целях самообразования, лол.
34 2662402
>>662355

> Сейчас делают или генэкспы или компрехеншены в зависимости от необходимости


Покажи, плиз, как использовать генэкспы или компрехеншны для применения int() ко всем разделенным пробелам значениям строки - input().split()
35 2662409
Почему
list.sort()
изменяет данные
а
sorted(list)
нет?
36 2662411
>>662409
вопрос интересует с позиции архитектуры и идеологии языка
37 2662421
>>662402
Это длинный пост с многими поинтами, который мне лень писать, извини. В целом синтаксис (int(n) for n in input().split()), но тебе уже не обязательно ограничиваться просто int, можно всё сделать за один заход.
>>662409
>>662411
sort это метод листа, который изменяет его. sorted сортирует любую итераблю, возвращая новый сортированный лист. Это принципиально разные вещи.
38 2662442
>>662409
Не знаешь лямбда исчисления и бета-редукции?
Фатальная ошибка!
39 2662452
Начинаю дрочить литкод.
40 2662469
>>661284 (OP)
Поясняю малолетним дебилам почему Селери говно и вместо него все адекваты давно юзают Фауст:

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

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

Наверняка же у этой бредятины были какие-то оправдания?
43 2662503
>>662421

> Это принципиально разные вещи.


А я знаю что это принципиально разные вещи. Я спрашиваю, зачем в языке вперемешку встроенные функции, которые меняют данные, и не меняют?
44 2662505
>>662501
Ну типа типичная домохозяйка думает так как пишется на питоне
А равняется Б если Г иначе Д
Сравни с:
А равняется Если Г то Б иначе Д
45 2662514
>>662505
А кто сказал, что домохозяйка не думает

>если Г, то А равняется Б, иначе Д


?
46 2662534
Добрый день, тред фриланса мёртв, а мне нужен простенький парсер, на реализацию которого самому нет времени. Нужно с вики спарсить список станций метро СПБ и Москвы, чтобы потом в удобном формате закинуть в бд. Желательно при помощи BeautifulSoup, чтобы я мог проверить и поддерживать если что.
@Serious_Sam
47 2662538
>>662503
Господи Боже мой 🚬🧐, жалкий 💻👨🦽не знает каким образом строиться семантика 👅 программирования и задаёт ¬🧠 вопросы.
48 2662591
>>662503
Ну так у тебя может быть задача изменить объект, не создавая новый. А может быть наоборот, тебе нужно создать новый объект. Обе ситуации довольно обычны, поэтому нужны функции-методы для каждой из задач.
49 2662620
>>662591
Ну, ладно. У меня просто подопечный и так забывает присвоить результат выражения переменной, а тут ещё такое, совсем запутается. Вообще Питон как язык для обучения такое себе, должен сказать. Слишком богатый синтакс, слишком много разных концепций понапихано
50 2662628
>>662620
А, ещё изобилие в сети и на SO примернов как из второго питона, так и из третьего питона разных версий, тоже не очень способствует, как с многострадальным форматированием строк, где уже сменилось два стандарта, причем внутри третьего питона
51 2662632
>>662469
Официальная версия сдохла уже 3 года как и не поддерживает новые версии пистона, остались только форки от васянисов
52 2662694
>>662632
А что на замену?
53 2662698
>>661426

> Да, существует асинхронный аналог set() в Python. Это asyncio.Queue, который также обеспечивает избежание дубликатов элементов. Метод put() добавляет элемент в очередь, при этом если элемент уже присутствует в очереди, он не добавляется повторно.



Нет
54 2662713
>>662694
На замену асинхронные таски, а селери используют старперы на джанге
55 2662759
>>662713
Асинхронные таски для cpu-bound не подойдут. Если у тебя один сервис крутится и библиотек multiprocessing и concurrent недостаточно, то тут имеет смысл или делать полноценную распределенную архитектуру или, если у тебя есть один сервис, которому нужно скидывать жирные таски, то проблем с использованием celery нет. Фауст это именно стрим процессинг + стейт для обработки кучи сообщений в секунду для кафки.
56 2662837
>>662620

>Слишком богатый синтакс, слишком много разных концепций понапихано


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

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


Не сменилось, а добавилось. Старые не выкорчёвывали. Другое дело, что новые настолько удобнее и лучше, что старые как-то сразу стали deprecated.
57 2662841
>>662501

>Наверняка же у этой бредятины были какие-то оправдания?


В отличии от первого, крайне хуёвого примера по дизайну, во втором ты просто читаешь фразу и она сразу говорит, что делает. И не надо выискивать значочки в строке.
58 2662842
>>662534

>список станций метро СПБ и Москвы


Можно вытянуть и руками, автоматизировать - дольше.
59 2662848
>>662759
Кафку ещё настроить надо
60 2662900
>>662534
у вас там че, "хакатон" ? или вы втроем в разные чаты написали?
61 2662905
>>662125
ну охуеть теперь.

Ну тогда объясни мне мою программу.

И кстати, что тут понаписали? это централизированный пул соединений?

https://github.com/raphaelauv/fastAPI-aiohttp-example/blob/master/src/fastAPI_aiohttp/fastAPI.py
62 2662916
На чём реализовать очередь, суть такова — приходит много тасков, они маркированные, можно организовывать разные очереди по маркеру (тегу), в некоторых очередях, если приходит следующий таск, то удаляются первые пять (или все) до этого с таким же маркером (тегом).
1 63 2662927
джава будто лучше не
64 2662948
>>662837

> Старые не выкорчёвывали.


Дык тем хуже.
65 2662949
>>662841
Первый пример охуенный по дизайну.
Условие? кейс1 : кейс2

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


Как и первая, только в первой условие засунуто между действием по варианту 1 и действием по варианту 2
66 2662953
>>662949
Ты просто привык.
67 2662956
>>662953
дело не в этом, это объективно некрасивая мешанина
do some_code if true else do other_code

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

Не думал, что он обновляется. А вон оно как.
71 2662981
>>662916
Ни в коем случае не используй редис, лучше подожди пока умные дядьки напишут фреймворк под твою задачу.
72 2662983
>>662501
Ты просто решил доебаться на пустом месте. Не нравится - не используй.
73 2662987
>>662501
гвидо накринжил, думая, что будет база
74 2663081
>>662842
Питерские станции ещё куда ни шло, но Московские будет геморно, а потом через год Собянин откроет 10 новых станций и мне вместо повторного вызова функции придётся руками обновлять.
>>662900
Я только сюда писал, поделись кто ещё такой хренью страдает.
75 2663119
>>663081
через год москвичи обновят сайт, и тебе придется руками обновлять парсер
76 2663147
>>663119
Википедию?
77 2663148
>>663081
Да в чатах в телеге. 3 апреля тот же вопрос задали и послали вручную эксельку заполнять.

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

Хуй теперь буду отвечать в треде, раз такое дело
78 2663150
>>663147
статьи в википедии ежедневно обновляются и меняются

кстати, англовики там еще и редизайн сделала, который очевидно раскатают и на языковые вики
79 2663189
>>662239

>node-js


Особенно в СНГ)))00
Тут уж лучше сразу на свалку идти ночевать
80 2663209
Стоит ли ставить в не очень новый debian 11 который я обычно запускаю в WSL, другие версии питона?
И как вообще это делать?
Распидорасит весь системный софт?

Думал нормальненько дожить на python 3.9, но кодерский паравоз бежит вперед слишком быстро и нихуя не работает нормально aiohttp.
81 2663210
>>662981
Редиска не пойдёт. Уже выполняющийся таск затирать нельзя. И нужен не ttl, а именно затирание новой задачей старых. Не должно быть так, что всё протухнет — должна исполниться хотя бы одна задача (таск).
82 2663214
>>663148
Так в треде кроме лабораторок с вкатунами и нет никого. Кому надо тот и так знает, а сложные вопросы не ответит никто
83 2663262
Аноны, я тут считал хэш кучи мелких файлов.
hashlib.md5(data).hexdigest()
Где, data это прочитанный в бинарном виде файл.
Файлов всего около тысячи, первый раз раз хэши считались долго, секунд 15 наверно. Когда второй раз запустил всё сделалось за пару секунд.

Чому так?
Если питух где-то на диске собирает хэш этих файлов то я бы хотел это говно удалить.
84 2663263
>>663262

>питух


Питухон я имел в виду конечно, дома петухов не держу, честно!
85 2663293
>>663263
Поздно, спускай штаны, ебать будем
86 2663297
>>663119
Просто в таблице на вики появятся новые строки, формат таблицы врядли изменится(надеюсь).
>>663148
Я без понятия чё ты параноишь, у меня свой проект, под который эта шляпа нужна, ни в каких хакатонах и фриланс заказах не участвую( хотя уже кажется нашёл на бирже чела который сделает это за копейки пока двачеры параноят)
87 2663311
>>663293
FFFFFFFUUUUUUUUU......
15499618957290.jpg46 Кб, 640x640
88 2663328
>>663311

> пишет на питоне


> не хочет ебаться в жопы

89 2663370
>>663262
Может в оперативе. Попробуй оперативу затереть.
90 2663435
>>663328
Ты тот Васян-охранник, кому "среднее полное нинужно"? Узнал я тебя по чувству юмора
91 2663486
>>663435
Какой охранник, я магистр
92 2663605
Как эту динамическую типизацию дрочить то.
zalupa = classZalupa()
list = []
list.append(zalupa)
size = list[0].zalupaSize

Это будет работать, но на последней строке среда не знает что лежит в листе, никаких подсказочек при вводе и если я захочу переименовать zalupaSize на sizeZalupa, то буду это делать руками во всём проекте.
Можно как-то исправить это?
93 2663641
>>663605
Добавить типов
list: list[classZalupa] = []
Pycharm автоматически изменит последнюю сигнатуру если через него рефакторить
94 2663849
>>663605
ты зачем переопределил list, балда
95 2664659
А помните были такие IronPython и Jython? Я помню!
96 2664731
>>664659
да ты бы и Boo вспомнил
97 2664793
Прочитал как "питун-тред"
show.png9 Кб, 270x120
98 2665166
Нормально, что у меня нет особого интереса читать http://composingprograms.com/pages/23-sequences.html ? Читаю про деревья и ловлю себя на мысли, что начальный запал вникать в какую-то абстрактную отдалённую хуйню пропал и на данном этапе материал книги воспринимается как нагромождение абстракций, которые не ясно как использовать и как они связаны с программированием.
99 2665171
>>665166
Ну так если ты всё умеешь и тебе этого не надо - не читай. Это же абстрактная хуйня для дурачков, вот ты, ты умный. Угу.
100 2665180
>>665171
Что за проекции начинаются? Я не писал, что я всё умею, если бы я всё умел, то я бы вообще сюда не писал. Я не писал, что деревья - хуйня для дурачков.
Я просто написал, что мне стало скучно читать этот учебник и что не понимаю, что конкретно я буду уметь, когда пойму принцип работы деревьев. А в ответе на свой пост я надеялся получить мнение анона об учебнике, о том, правильно ли использовать его для изучения принципов программирования, если ничего до этого не читал и нормально ли, что абстрактные вещи учатся тяжело и не охотно.
А ты хуйню какую-то спизданул мимо.
101 2665181
>>665166
Итерабли и их функциональные пайплайны это сам сок.
Не ебливый костыльный ооп, а вот это.
15833836048890.webm1,6 Мб, webm,
360x360, 0:53
102 2665234
>>661284 (OP)
Пацаны! Подскажите плез, как вы остаётесь креативными и пишите код по 12 часов в сутки 6 дней в неделю?
103 2665247
>>665234
Я не креативен и не пишу код дохуя часов.
Я в основном на отходосах и натужно пишу код на пхп-перле-питоне-шеллах, чтобы поркыть расходы.
Писал бы и на шарпах-жавах, но лень ставить иде.
Не зацикливайся на языках, it's all the same shit.
104 2665284
>>665247

>пхп-перле-питоне-шеллах, чтобы поркыть расходы


Фрилансер что ли?
105 2665300
>>663209

>debian 11 который я обычно запускаю в WSL


Поставь рядом Ubuntu 22.04 и всё будет ОК.
106 2665301
>>665247
я просто не понимаю, как люди сосредотачиваются под музыку
мне вообще тишина нужна
>>665284
я вообще безработный и не программист
107 2665304
>>663605

>если я захочу переименовать zalupaSize на sizeZalupa, то буду это делать руками во всём проекте.


Ну, создай в классе магический метод __len__, это будет более тру.
https://habr.com/ru/articles/186608/
Но вообще говоря, то, что ты описываешь это не про динамическую типизацию, такая проблема даже в самых статических случаях будет.
108 2665329
>>665234

>Пацаны! Подскажите плез, как вы остаётесь креативными и пишите код по 12 часов в сутки 6 дней в неделю?


Насколько я понимаю, есть только одно, что поможет в такой постановке вопроса: правильный режим переключения контекстов. И оно, насколько я понял, неуниверсально.
Поизучай отдельно:
https://alexthunder.livejournal.com/290612.html
и про метод помидора, про него написано очень много, при чём есть разные практики, тайминги и замечания.

>>665301

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


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

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

Стоит ли упоминать, что отладка в docker-compose не работает...
110 2665345
>>665329
спасибо, посмотрю
111 2665347
>>665300
У меня стока места нет.

Ну я поставил эту срамоту - pyenv и python 3.11
Стоит ли говорить, что при установке и сборке с нуля все равно насыпало варнингов и работать в VSCode не так уж удобно?
Хотя я надрочился выбирать версию python и в принципе жить можно.
112 2665448
>>665347
Свежие питоны требуют в системе свежих 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

113 2665471
>>665448
Все собралося, за исключением небольших варнингов.
Ты же не думаешь, что кто-то кроме долбоебов использует centos ?
114 2665624
>>665471

> Ты же не думаешь, что кто-то кроме долбоебов использует centos ?


Увы и ах!
У половины моих контрагентов седьмая цента, ещё у трети - восьмой рхел (которого у меня нет, дорого, так что тестировать приходится прямо на их проде, естественно, всех предупреждаю о побочках).
Я каждый раз полыхаю так, что видно из космоса, когда оказывается, что мне придётся снова связываться с этим окаменевшим говном мамонта, на котором окажется питон 3.6 (и соберётся из сырцов 3.8 - максимум) и ансамбль 2.11 какой-нибудь.
115 2665664
Нужно запилить кастомные коды ошибок для JsonResponse в Fastapi.
Какой из вариантов более "clear code"вый?
116 2665684
>>665664

>кастомные коды ошибок для JsonResponse в Fastapi.


Вообще плохая идея, как по мне. Есть HTTP-коды, которые ты можешь скармливать через raise в случае ошибок, или штатно указать корректный код, зачем тебе тут кастом?
Чтобы тот, кто будет делать фронт - страдал?
117 2665686
Подскажите, пожалуйста, кто тут не прав (если я, то в чём и как правильно):
BASH:

> echo "pass" | sha256sum


> 9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2 -


Python:

>>> from hashlib import sha256


>>> sha256("pass".encode('utf-8')).hexdigest()


'd74ff0ee8da3b9806b18c877dbf29bbde50b5bd8e4dad7a3a725000feb82e8f1'
Почему, применяя один и тот же (по-идее) хэш-алгоритм к одной и той же (по-идее) строке я получаю разные результаты?
118 2665690
>>665687 (Del)
Ити жи пассатижи!
echo удивило. Хотя можно было и догадаться. Спасибо!
119 2665698
>>665684
Это не http-код, а код в body, т.е. схема жсон респонса такая: {"code”: ErrorCode_instance, ”message": CustomMessageText}.
image.png7 Кб, 411x33
120 2665701
А чем тебе обычный способ передачи сообщения об ошибке не угодил? Он точно так же возвращает джейсона, строку можешь передать свою, если надо.
Я просто пытаюсь понять, может, я сам не прав и мне надо перерписать всё КЕМ...
121 2665706
>>665701
1) Потому что на разные эксепшены навешены свои хэндлеры.
2) Потому что detail в таком виде вернёт фронту plain text, а не объект.

Я же хочу для всех ошибок возвращать ErrorResponse с атрибутами code и message, т.к. контроллер может вернуть хттп 400 по нескольким разным причинам.
Т.е.:
1) упал на валидации токена -> хттп 400, код 40001, мессаге инвалид кредентиалс;
2) упал на валидации тела -> хттп 400, кож 40002, мессаге бади валидатор еррор;
и т.п. для 401/403/5ХХ.
122 2665739
>>665234
А я не пишу так активно, я чё дебил что-ли. Строчку код 24/7 юез выходных где-то месяц, а потом полгода сижу как овощь
123 2665759
>>665234
просто не взрослею после 22 лет
image.png27 Кб, 311x283
124 2665817
>>665234
На самом деле это всё: >>665329 , конечно, работает, но только до одного момента. Пока у тебя есть интерес. Хоть какой-то. Пока интерес сильный, тебе ничего не надо, когда его нет - тебе ничего не поможет.
Если тебя всё заебало и ты понимаешь, что вертел ты на хую в тысячный раз писать один и тот же код для новых клиентов - надо что-то менять. Предметную область, фреймворк, язык, работу, в конце концов отрасль.
Когда станет скучно, заебёт вконец, ты либо будешь писать 10 строк полезного кода в день, либо будешь механически впечатывать шаблонный код, работа по интеллектуальному уровню будет на уровне "отстоять смену у станка" 50 лет назад безо всякой автоматизации.
125 2666119
Нюфаг итт.
pyinstaller вопрос.
У меня программка разбита на файлики, в которых подключаются другие файлики и так далее.
Я правильно понял, что pyinstaller вложенные вложения, так сказать, не видит и не читает?
126 2666146
Антуаны, у меня вопрос.
А можно как-то запустить приложение в одном окне, а трассировать в другом? Ну, VSCode, например, может показывать значения переменных, расставлять точки останова и пр., но запускает при этом приложение у себя в подвале, а у меня там портянки текста, мне бы консоль на отдельном экране видеть.
127 2666529
Изучаю классы. Как сделать кучу переменных автоматизированно?

Вот есть у меня простой класс Person с атрибутами имя и возраст. Хочу допустим я создать 50 человек - не буду же я руками создавать ivan = Person("Ivan", 20), Alesha = Person(...) ....
128 2666583
>>666529
Создай список "persons"
В цикле вызывай конструктор с параметрами.
129 2666612
Притон, блядь. Как можно было назвать язык программирования притоном?
131 2666831
>>666119
Не, ня правільна. Ён усе чытае. Стартуй pyinstaller у дырэкторыі дзе зьмяшчоны твой __main__.py. Таксама магчыма дадаць яму бібліятэкі парамэтрам --paths
132 2666836
>>666529
persons = [Person() for i in range(50)]
133 2666903
>>666583
>>666836
А в каких переменных хранятся эти "люди" и как получать к ним доступ?
134 2666959
>>666903
Тебе нужно сделать свой генератор c фейковыми данными, можно сделать создание рандомного списка из string.ascii_letters
Еще можно заморочиться и заюзать эту либу, если хочешь что-то осмысленное
https://faker.readthedocs.io/en/master/
135 2666963
Хм-м.

>>> a: dict = []


>>> type(a)


<class 'list'>
Я даже не знаю, норма ли это.
136 2666968
>>666903
В данном случае у тебя появляется лист "persons" и эти "люди" будут элементами этого листа.
Обратиться сможешь либо в цикле, например:

> for i in persons:


> ....age = i.get_age()


либо по индексу, например:

> age = persons[-5].get_age()

137 2666984
>>666963
А че не так? порядок и приоритет действий чекай
138 2667039
>>666959
Фейковые имена похуй какие, мне и имя 1, имя 2 сойдёт.

>>666968
Понял, попробую использовать. Но это все равно все будет объектами словаря. А можно ли в питоне создать обычные переменные во время исполнения кода? Чтобы код создавал переменные вида ivan = Person() и чтобы потом использовать ivan.name, а не persons[0].name
139 2667041
>>667039
Чел, чекай ооп в питухоне, чтобы не быть батхертом.
140 2667218
>>667039
А зачем? В чем смысл?
141 2667260
>>667218
Просто интересно возможно ли это в принципе и где это используют.
142 2667416
>>667039
Можно, но не нужно.
143 2667419
>>666963
dict - это подсказка. Ты всё так же можешь присваивать что угодно (но зачем идти против подсказки, бля).
144 2667595
>>667260
Так не делают нигде. Вдруг у тебя потом будет не 50, а 20, или 1000. И что потом? Программу переписывать будешь каждый раз? А если у них имена будут другие?
image.png3 Кб, 379x119
145 2667616
>>666963
type hints нужны для крупных проектов для использования в связке с IDE
если ты используешь их просто так, то ты сам себе стреляешь в ногу
146 2667780
>>667616
Квкие крупные проекты, они используются в валидаторах типа пидантика или ещё какой залупы, там тип важен и это не подсказка нихера
147 2667840
>>667039

>Чтобы код создавал переменные вида ivan = Person() и чтобы потом использовать ivan.name, а не persons[0].name


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

> ivan = Person("Ivan", 22)

148 2667857
Блин. Оказывается, 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]



Сука, мелочь, а я, наверное, час потратил на дебаг.
149 2667863
>>667857
Ты мог и просто сделать a[:] во втором примере. Но вообще, код выглядит как срань потому что ты сначала делаешь копию, потом итерируешься по ней и вызываешь remove, который тоже итерируется по листу до первого вхождения.
150 2667867
>>667857
Да ты почти в любом языке обосрешься, мутируя итерируемый объект. Это БЭД ПРАКТИС, ёпта.
151 2667997
>>667863
Мне тоже не нравится. Но нужно почистить лист от вхождений по маске и для этого как бы есть ремув.
>>667867

>Да ты почти в любом языке обосрешься, мутируя итерируемый объект.


Если идти с конца, то нумерация не поедет и это работает. А что думаешь, правильнее? Сначала сделать временный лист/тупл с тем, что надо удалить и потом пройтись уже по нему циклом?.. Звучит ещё страньше, а больше ничего в голову не приходит.

Кстати, идти с конца - практика, которую когда-то подсказали куда более опытные товарищи, которые в отличии от меня именно кодингом живут.
152 2668020
>>667997

>Если идти с конца, то нумерация не поедет и это работает


Ты не по тому же листу итерируешься, а по его копии, потом вызываешь remove, который итерируется уже по оригинальному листу пока не найдет заданное значение. Поскольку количество вхождений "2" в копию очевидно такое же, то оно и работает корректно. Сделай вместо a[::-1] a[:] и у тебя будет такой же результат.
С таким же расходом памяти, но более идеоматично и быстрее будет так
a = [1, 1, 2, 2, 3, 3]
a = [i for i in a if i != 2]
153 2668028
>>667997
Можно с конца, можна через генератор и зарядить дальше. Для небольших списков можно компрехен.
todel = {1,2,3}
gen = (el for el in lst if el not in todel)
154 2668119
Объясните самым простым примером зачем нужен class, обхожусь без него и не вижу смысла в применении. Понятно что мелких говноскриптах оно особо не нужен.
Но где вот прям использование по делу?
155 2668121
>>668119
В больших говноскриптах.
Посмотри какую-то небольшую либу вроде requests как там всё организовано.
156 2668151
>>668119
Там где есть state
157 2668156
>>668151
Функцыя таксама дазваляе захаваць становішча як пераменную асяроддзя.
158 2668175
>>668156
Мин аннамым сине, жунне тел белэн сулэш
159 2668191
>>668175
Можно с вами?

Дрыг прыг чик пык
160 2668200
>>668119
нахуй не нужон. никто не пользуется этим говном
161 2668270
>>668020

>a = [1, 1, 2, 2, 3, 3]


>a = [i for i in a if i != 2]


Спасибо за подробное пояснение!
Так и сделал, работает и смотрится норм. Почитал про ремув, потестировал, слегка разочаровался, что он бегает. Я что-то был чуть лучшего мнения о Питоне. То есть со стороны кода всё гут, но внутри не так красиво, как ожидаю.
>>668028
Спасибо!

У меня это пока заглушки перед переездом данных в БД, но хочется писать нормально сразу. Спасибо!
Пробовал писать сразу в базу, но там половина кода уходит на подключение, выборы, курсоры... Решил обкатать логику без этого всего сначала.
questio.PNG26 Кб, 604x365
162 2668273
Помогите тупому, как сделать функцию которая будет выполняться паралельно основной программе.
В кратце функция должна присылать уведомление всем юзерам в определенное время.
Вот на скрине то что я сделал, код работает, все присылается, но остальные функции бота перестают работать.
Оно же вроде должно быть паралельным потоком, но нихуя.
163 2668393
>>668270

>Я что-то был чуть лучшего мнения о Питоне


Ты просто не очень его знаешь, удаление по элементу без прохода по массиву ты ни в каком языке не сделаешь. Для удаления по индексу есть pop
164 2668397
>>668393

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


А если ты обходишь список, то в i во всех случаях попадает копия элемента? И никогда - ссылка на него?
Если ссылка, то можно придумать, как исключить каррент айтем.
165 2668406
>>668397

>А если ты обходишь список, то в i во всех случаях попадает копия элемента? И никогда - ссылка на него?


Если это изменяемый объект, то ссылка, если не изменяемый то значение.

>Если ссылка, то можно придумать, как исключить каррент айтем.


Просто нормальный счетчик с pop.
166 2668439
>>668397
Это не копия, это дополнительная переменная, то есть на объекте просто увеличили счетчик ссылок.
167 2668467
>>668273
Зачем тебе екзекутор?
И в чем прикол asyncio.gather с одной функцией?
168 2668471
Про list.copy() видимо не знает никто.
>>668270
Вот это вполне нормальное решение, чем не нравится? Созданием второго списка? А вы подумайте логически как по шагам сделать это в одном листе с сохранением индекса
169 2668475
>>668471
Чем копи отличается от полного слайса, который известная идиома?
170 2668502
>>668397

>во всех случаях попадает копия элемента? И никогда - ссылка на него?


В питоне все типы ссылочные, в нём не имеет смысла разделение на value и reference.
171 2668504
>>668467

>Зачем тебе екзекутор?


По стандарту нужен в библиотеке aiorgam для работы с телеграм ботами.

>И в чем прикол asyncio.gather с одной функцией?


Я просто до этого запускал вне асинхронной функции и без него не работало.
172 2668703
>>668502
Тем не менее, если вот ты обходишь лист, у тебя есть указатель на элемент листа, но для удаления элемента из листа ремув не берёт готовую ссылку, а проходит по всему листу до подходящего вхождения.
173 2668721
>>668703

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


Это ссылка на объект, о листе он никакой информации не имеет. remove ты изначально неправильно использовал. Если ты хочешь быстрого удаления из листа, то тебе нужно удалять по индексу.
174 2668840
>>668393

>Для удаления по индексу есть pop


А как же del?
175 2669003
Да, малютки, хотел разработать JRPG на Pygame, но не знаю, как передавать данные из низших классов в классы выше уровнем, поэтому обсёр. Это конец.
176 2669017
>>669003
Японцы баттл ссыте замутили на 2кб озу и 1.5мгц процессоре, а ты на такой хуйне обосрался. Стыдно!
177 2669055
>>669017
Иди нахер, помогай или не отвечай, ок?
178 2669058
>>669055
Ну вот, у тебя в простом ответе троичная логика. Тебе надо на sql делать jrpg.
179 2669114
>>669003
вот так:

self.game.data['pook'] = self.srenk
180 2669145
Я правильно понимаю что переменные внутри класса без self. - это общие данные класса?
181 2669152
182 2669179
>>669114
Спасибо, братан, надеюсь когда-нибудь стать таким же крутым и помогать бро.
183 2669208
>>669179
Ты никогда не станешь крутым, спрашивая ответы на элементраные вопросы. Надо давать результат, даже извлекая его через жопу.
184 2669218
>>669208
Ну по сути я извлёк ответ из жопы, задав свой вопрос здесь.
185 2669225
>>669218
Тебе надо изучить си и посмотреть, как работает вм питона. Тогда ты сможешь давать советы из жопы. Вот там выдлелся лист х на разрядность системы, а ты своим выражением утопил эту ололо-оптимизацию в говне. Вот так надо смотреть.
А потом идти в си-тред и спрашивать, что значат полтора звездочки в выражении.
telegram-cloud-photo-size-2-5307499415512139948-y.jpg80 Кб, 1280x204
186 2669231
Двач, помоги
Пытаюсь написать скрейпер сайтов на реквестах. Наткнулся на случай, который не понимаю как обходить. При каждом новом запросе в ссылку добавляется новая часть, аналогичная предыдущим и так до бесконечности. Никаких ошибок типа максимальной рекурсии не выдает. Я хз даже как гуглить.

Пример пикрил и Parameter on Hostname Root в разделе URLs тут https://crawler-test.com/
187 2669239
>>669225
Честно, признаюсь, пытался пару дней назад начать что-то делать на C++. Знаю, что малютки используют библиотеку SDL2, потому после того как скачал компилятор mingw, поставил её, но эта шлюха отказывалась работать что бы я не делал. Поэтому забросли эту дрисню.
188 2669262
>>669231
Объебос, не parameter on hostname root, а Parameter Removal хотя возможно оба
рейт ми 189 2669586
190 2669738
>>669586
Где каменты на китайском? Мы вам перезвоним.
191 2669771
Что рекомендуете для компиляции файлов в .exe файл?
192 2669787
>>669771
MSVC конечно же.
193 2669796
>>669787
Не смешно.
194 2669895
Друзья, помогите пожалуйста, не понимай как сделать иллюзию ожидания (пропуска кадров, не знаю как это назвать) в Pygame, прочтите комментарии.
Буду вечно благодарен за помощь.
https://pastebin.com/z8bKhLcw
195 2669954
>>661284 (OP)
Вот яркий пример того что значит "быть слишком умным не к месту":
https://habr.com/ru/articles/728194/
Петушок ударился в генераторы и предлагает засрать нахуй свой код ими. Поменять легко читаемую и легко отлаживают конструкцию на плохо читаемую и неотлаживаемую без каких-то профитов по производительности даже (и где-то наоборот она и хуже станет)
image41 Кб, 650x367
196 2669964
>>669954
Дык, это же питон. Здесь много высокомерных чванливых пидорасов, ебущихся хуями в грязное половое ачько с говном, а потом сосущими эти гонорейные хуи друг у друга. Это норма.

Не стоит такое прямо вводить как догматику и писать код исключительно гомосексуально (даже если ты питонист). Но как разминку для ума или как некие приёмы, которые иногд аудобно или интересно использовать в своём обычном коде, который ещё и другим читать (или себе через год) — да, полезно, ящетаю.
197 2670045
>>669954
Забавно, что он просит за свои услуги от 7к евро, при этом жиденько обсирается в комментах про коды ошибок, "ну я сам из мира assемблера" и "мне надо было отдать пол миллиона точек" -> "тут я наврал, было максимум 17 тысяч".
Снимок.PNG63 Кб, 1347x657
198 2670047
>>670045
Бля, из-за новой капчи пик не добавился.
199 2670279
>>669954
по-моему чувак просто решил потроллить
200 2670504
>>661284 (OP)
Всем привет, что почитать/посмотреть такого, что бы максимально разобраться в асинхронности?
Нужно ли мне для этого так же вникать в многопоточность/многопроцессорность или достаточно условно асинкио только знать и все?
В общем жду любых подсказок/советов, спасибо:)
201 2670514
>>670504
Асинхронность, трединг (многопоточность) и мультипроцессинг (параллельные вычисления) — это абсолютно разные вещи.

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

Asynchronous vs Multithreading and Multiprocessing Programming (The Main Difference)
202 2670561
Боже, какие же машин лернинг дебилы ублюдки
1 видео: "Братаны, ща напишем топ нейронку без библиотек, всё понятно и вообще клёво"
https://www.youtube.com/watch?v=fa3BE_VwyS4
9 видео: "Так ребятки устанавливаем Петухон и тысячу библиотек гойды, через видосов 50 сделаем топ проект"
https://www.youtube.com/watch?v=jdDMBNWt42Y
203 2670564
>>670561
Ну ты бы ещё посмотрел "кто обоссытся первым челлендж".
Надо смотреть видео из удеми с улыбчивым индийским школьником и кудахтаньем куриц во дворе.
204 2670571
>>670564
Ты пытаешься троллить, но получается какая-то глупость. Мне просто жаль, что нет нормального урока, который помог бы мне в сфере Дата Сайенс.
205 2670578
>>670571
Я пытаюсь сказать тебе, что на ютубе не стоит искать вменяемых видео по айти. Они бывают, но это единичные исключения.
А ты видимо зумерок, который и жопу без ютуба подтереть не может, да?
206 2670582
>>670514
Почитал статей, тогда вопрос сокращу до:
Всем привет, что почитать/посмотреть такого, что бы максимально разобраться в асинхронности?
Сам пока читаю все, на что наткнусь, но все же буду не против более конкретным советам.
207 2670587
>>670578
И как ты советуешь изучать Машин Лернинг. С точным указанием ресурсов/ссылками. Если не сможешь ответить - оформляй срыгос с борды.
208 2670606
>>670587
Читай книги, лекции с институтов и соотвествующих курсов.
Найди людей с нужных направлений и попроси их сливать лабораторные и всякое такое.
скачай курсы скилбоксов, если верхнее сложно, но лучше смени направление)
209 2670614
>>670587
Я тебе ничем не обязан, срыгосник, просто обозначил, что ты ешь говно и почему оно на вкус как говно почему-то. Так что стоит поискать что-то получше.
А пока можешь оформлять свои молодежные срыгосы обратно на ютубчик. СТАВЬ ПАЛЬЧИК ВВЕРХ.
210 2670622
>>670571

>нормального урока, который помог бы мне в сфере Дата Сайенс.


Тебе надо матстат, линал и тервер изучить, а инструментарий в Питоне для этого элементарен — хуяришь в ноутбуке, вооружившись пандас и нумпи, вот и всё.
211 2670625
>>670587

>изучать Машин Лернинг


Ты DataScience и MashineLearning не путай. Это сильно разные вещи.
212 2670644
>>670625
Сто мильйонов где платят, девка на ютубе сказала.
213 2670775
Аноны, подскажите пожалуйста как решить. Есть несколько функций, в одной из них есть try, except, в одном из except вносятся изменения(удаляются по индексу) в список который используется как аргумент в 2 функциях. Сперва выскакивает вообще рандомное значение из списка, а если повторить запрос ошибка - "circular reference detected".
Я вообще не шарю в питоне, чисто хочу для себя одну штуку сделать.
214 2670784
>>670775
Вот код, скорее всего я пиздец какое говно написал, но уже часа 3 пытаюсь поправить чтобы нормально работало и ничего :(
215 2670788
>>670784
удалил лишний while, забыл с теста прошлого.
Всё равно сперва в ans выдаёт просто role, а затем и в ans и в context - Circular reference detected.
image218 Кб, 462x407
216 2670831
>>669586
хуита
пикрил норм
image.png17 Кб, 874x97
217 2671076
image.png2 Кб, 72x73
218 2671097
Как ограничить размер оси, не обрезая сам график?
image.png18 Кб, 880x118
219 2671101
>>671097
О!
Объясни пожалуйста кое-что по поводу графиков
220 2671119
>>671101
Запусти да посмотри.
221 2671206
>>671101
будет, он в отельном окошке откроется
222 2671400
>>669586
раскладку не заебался переключать?
223 2671415
>>669586
Классно! Контрибучу!

https://pastebin.com/UYBKq4v9
224 2671431
>>671415
Всё хуйня переделывай.

[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: 'вв'
224 2671431
>>671415
Всё хуйня переделывай.

[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: 'вв'
225 2671448
>>671431
Сам отлаживай. Я code style commit сделал.
Есть два стула 226 2671935
Курс программирования на Python 3.6 Михаил Корнеев 2019 год https://learn.python.ru/

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

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

Мимо чел с айтишной вышкой но программировать не научили
227 2671942
>>671935
И английскому не научили?
228 2671961
>>671942
Уже приносил английские курсы в этот тред и их обоссали "курсы не нужны"

Приведи пример нормального, если шаришь.
image.png17 Кб, 270x120
229 2671974
>>671935
>>671942
>>671961

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

Я не вкатун с нуля, у меня есть база, знаю английский, и вместо шароебства по бордам я реально самообразовывался. Но не хотелось бы просмотреть условно говоря 10 часов курса, и понять, что хуйня, поэтому спрашиваю.
230 2671984
>>671961
Ещё раз в этом треде могу тебе порекомендовать jose salvatierra.
У него акцентик, но нормальный, не диарейный индусский.
Есть ещё челик русский, который по тематике, я скачал на каком-то варезнике, не могу найти сейчас.
Любого автора русских курсов надо ловить и пиздить арматурой, я серёзно.
231 2672082
Поясните спецы тредовые, правильно ли я понимаю что для вызова бинарника из кода мне нужно вызывать process.call?
У меня есть sh скрипт в котором запускается утилита с ключами, ее хочу перенести в код, но если делать типа process.call('bash' -f 'apache2 хуе-мое') она не видит каталогов, а если process.call('apache2' -f'пук-среньк') то он не видит конфигурационных файлов хранящихся для юзера в $home/username
Или как то иначе такое надо запускать? И как мне код ошибки обработать? Потому что если он срабатывает то приложуха дохнет.
Безымянный.png43 Кб, 968x514
232 2672364
Подскажите почему словарь d2 не хочет создаваться?
В d1 у нас обычный генератор и там я могу брать по два элемента(x, y) из списка(a2). А вот d2 и d3 вложенные генераторы и сразу по два элемента если брать выдает ошибку.
Это так задумано или я что-то делаю не так?
>>671935
Вот сейчас как раз курс от Балакирева прохожу, только бесплатный который, для самых маленьких. Очень годный курс.
233 2672408
>>672364
так синтаксис неправильный. вместо а2 вставь свой листкомп и всё

а двойной комп итерируется по каждому элементу пары отдельно, превращая лист из пар в плоский одномерный лист
234 2672415
>>671097
БАМП
image.png16 Кб, 270x120
235 2672439
>>671935
>>671974
>>671984

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

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

При устройстве больше смотрят на петпроекты я так понимаю?
236 2672442
>>672439

>Сколько времени у вкатуна не совсем с нуля, с моими входными данными, может уйти на становление джуном-питонистом?


Пол года-год, зависит от твоего желания и будет ли твоей первой вакухой джанга
237 2672572
Здарова мужики. Куда мл тред делася? Хотел спросить как на цветных изображениях сегментировать элементы по цвету легче всего? Есть способ без создания больших дадасетов? Или готовые инструменты?

Сейчас сделал без ml чисто математикой. Сначала сильно блюрю через denoising, потом через kmeans уменьшаю количество цветов и потом ещё скэлю получившееся цвета к 32ум заранее заданным цветам. После разделяю исходную картинку на 32 разные по одной на каждый цвет, На каждой сначала удаляю шум, потом dilate оставшихся элементов а потом, нахожу все компоненты связаности. Дальше для каждой компоненты связаности беру прямоугольный контур, проверяю что он не слишком большй и не маленькией и не силньно пересекается с другими. Из выбраных выбираю до 6ти самых близких к центру. Но получается так себе. Некоторые картинки нормально сегментировал, на некоторые вообще неправильно. Как улучшить без излишних усложнений?
238 2672664
>>672572
Какой мл? Ты куда зашел, чмоня? Мы здесь максимум умеем решать квадратные уравнения, а ты со своими нейронками.
239 2672669
Нужно склепать простейшую веб-формочку, которая по нажатию кнопки будет отправлять ответ в апишник. Ничего кроме питона, баша и SQL я не знаю, и веб-разработкой не особо интересуюсь, ибо я у мамы DBA.
Форме вообще не надо быть красивой, совсем. По сути, мне нужен веб-аналог tkinter'a.
Какие библиотеки пробовать? Мне очень не хочется пытаться разбираться с фласком.
240 2672681
>>672664
А куда с мл идти? Тред пропал. Я думал они в питон тред перекачевали
241 2672717
>>672669
Джанга, самую простую формочку можешь склепать через 2-3 часа знакомства.
242 2672903
Пытаюсь запарсить сайт с картинками https://giantessbooru.com/post/list
Проблема в том, что он как бе 18+ и питон выдаёт 403, потому что там при входе вопрос "а вам есть 18?". Пытался добавить в параметры "agreed=1" - не помогло.
В заголовках используется cloudflare, пытался обойти с помощью cloudscraper, cfscrape - нихрена.
При этом в браузере ссылка https://giantessbooru.com/post/list?agreed=1 прекрасно работает
Как победить?
243 2672927
>>672903
Выдери куку из браузера и ходи с ней? В селениуме так можно точно. В реквестс не пробовал, но может да.
изображение.png26 Кб, 873x191
244 2673104
>>672408
Кароче, вот более наглядный пример. Так и не понимаю, почему первый вариант работает, а второй нет? Ведь вложенный цикл во втором варианте это то же самое, что и первый вариант.
245 2673111
>>673104
Я мудила забейте, я все понял.
3de1dae58640e8f0b075e799c8360877.png320 Кб, 550x550
246 2673260
>>673111
саечку за испуг
247 2673377
Питонач, помогай, нахожусь в очень интересной, но трудной ситуации.

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

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

и если про линтер скажете про pylint - что лучше, попросить всех поставить себе прекоммит хуки и гонять его локально, или сделать обязательным при пуше с помощью экшенов? если второе - какое брать пороговое значение оценки? потому что если требовать 10/10 - у нас работа встанет, лол
247 2673377
Питонач, помогай, нахожусь в очень интересной, но трудной ситуации.

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

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

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

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

Мб посоны еще что-то дополнят.
249 2673480
>>673439

>sha3_512


Хопіць тваім унукам. Для звычайных патрэб дастаткова md5 ці sha1.
250 2673487
>>673377
Кожны пуш у любую галіну ў мяне праходзіць праз тэсты flake8, pylint, pytest, менавіта ў такім парадку. Калі на якой-небудзь стадыі вынік незадавальняльны, то дэплоя не будзе, пайплайн пакажа чырвоны статус.

Мне да халеры што чалавек ужывае лакальна. Хтосьці бяз тэстаў шмат разоў дзяўбецца ў чырвоны колер і ўсё бачаць ёлупня. Галоўнае каб пасля сябе прыбраў, то бок пакінуў зялёны статус.
show.png15 Кб, 270x120
251 2673567
>>666146
Сам спросил, сам отвечаю.
Нужно перейти в раздел "Run and Debug (Ctrl+Shift+D)", наверху есть выбор профилей дебага и шестерёнка их настройки. Когда тыкаешь на шестерёнку создаётся файл "launch.json", в нём есть параметр "console", его нужно изменить, переключить с дефолтного "integratedTerminal" на "externalTerminal".
show.png14 Кб, 270x120
252 2673580
>>670582
Та на ОП-пост отвечаешь, не читая. А там, между прочим, УЖЕ есть неплохой совет.
253 2673618
>>672439

>Сколько времени у вкатуна не совсем с нуля, с моими входными данными, может уйти на становление джуном-питонистом?


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

РОМА - МАНДА... О?ЕЛИ! Капча - такая капча.
show.png17 Кб, 270x120
254 2673752
>>673377
Простой ответ на сложный вопрос: обратитесь в девопс-агентство (например, Fevlake). Ну или наймите сеньора-довопса, но как его выбрать не имея экспертизы я не в курсе.

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


Второе. Строго и обязательно. Первое может кто-то не настроить или настроить неправильно и оно не будет работать.
255 2673767
Гуманитарий-вкатыш в DS/ML итт
если есть отдельный тред по DS/ML, не закидывайте камнями, дайте ссылку, поискал не нашёл

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

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

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

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

С меня, как водится, большое спасибо
256 2673777
>>673767

>пощёлкал алгоритмические задачки


Кому ты пиздишь. Пощелкать ты мог только изи уровень литкода.
257 2673799
>>673480
Okay but what do I read to get familiar with cryptography in general?
258 2673806
Почему ООП - де-факто стандарт коммерческой разработки? Во всех вакансиях его требуют. Почему для выполнения бизнес-задач недостаточно функций?
259 2673832
>>673806
Потому что знаешь как пишут эти вакансии? К тимлиду приходит совершенно ни хуя не понимающая рекрутерша и говорит "мне от тебя надо требования в вакансию". Причем если в команду набирают людей - то или их там не хватает и команда не справляется, или принято решение расширить команду как часть какой-то реорганизации.
Соответственно, тимлид почти точно будет заебан как собака - или технической работой и затыканием дырок, или бюрократией и политическим маняврированием чтобы спихнуть хуевые проекты с ебанутыми клиентами и забрать себе в команду хорошие. В любом случае, вакансию он будет писать на отъебись. Типа "ну что тут написать, мы вроде там иногда классы создаем и наследуем - ок, пишем ООП, нам надо не писать охуенно медленно - ок, пишем алгоритмы".
По факту, такое требование в вакансии не значит что вы будете целыми рабочими днями перетирать за полиморфизмы, паттерны и прочее. Но вообще понимать что такое ООП и что такое классы надо.

Конкретно по твоему вопросу - иногда такая абстракция как объект тупо удобней. Например, если у тебя есть много функций которые вызываются с одними и теми же аргументами и этих аргументов много - вместо того чтобы писать вызовы на две строки можно просто сделать эти функции методами класса, и класть аргументы в атрибуты класса при инициализации.
260 2673837
>>673806
Буйны доўгатэрміновы праэкт патрабуе больш сістэмнага падыходу, каб праз некалькі год іншы праграміст здолеў разабрацца і працягнуць працу. ААП спрыяе таму каб розныя праграмісты пісалі аднолькава.
261 2674189
Вопрос по телеграм-ботам, написанным на пайтоне, может сталкивался кто:
Хочу научить бота автоматом отправлять фото со своего сайта в канал, но проблема в том, что сами пикчи порой довольно большого размера (3-4Мб) и когда отправляешь вручную в канале, то там можно указать при отправке "сжимать фото", что меня более чем устраивает. А вот при отправке через бота методом send_photo нигде параметра для сжатия фото я не нашел в документации.
Можно ли как-то сжать фото при отправке через бота?
262 2674264
>>674189
Трэба сціскаць фота перад тым як даваць яго боту.

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")
263 2674377
>>674264
Все фотки разного разрешения и сжимать их под определенный размер может быть не лучшим решением.
Но идея интересная, попробую поиграться с методами pillow
image20 Кб, 270x120
264 2674379
>>674377
Лучше избегать этой гомосятины в боте. Как и советов написанных на трасянке — это реальные престарелые пидоры, которые алчут твоего грязного от гавна ачька.

PIL у тебя в мамяти отожрёт гигабайта два и начнёт подтекать, собирая гигантскую кучу мусора. Есть трюк — кидать ссылку на картинку, а не саму картинку. Телега сама скачает и пожмёт.
265 2674381
>>674379
А чего это пил отожрет? Он же будет в одной и той же переменной картинки конвертировать, значит ссылки на область памяти с прошлыми картинками будет удалять gc.
В пиле есть какой-то баг, который делает утечку памяти или ты просто спизданул что-то неподумав?

другой анон мимопроходил
266 2674383
>>674381

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


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

> или ты просто спизданул что-то неподумав?


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

Делал с дюжину графических ботов и всё время память от этого PIl разрасталась как весь пиздец. Либо ребутить часто, либо заниматься ухищрениями. Но не хранить нихуя никаких картинок и не делать с ними ничего. Ну, либо если бабла немеряно, то конечно, по традициям разработки последних 10 лет идти — а хули нам, ещё кластер купим под бота!
image5 Кб, 959x72
267 2674387
Бот должен занимать в памяти с десяток мегабайт и меньше. Нахуй не нужны многогигабайтные монстры.
268 2674390
>>674383
Т.е. ты нихуя не знаешь почему, но вот просто твой код хуево работал и по этому ты сейчас закатив глаза визжишь по хуи и мочу. Ясно.

Алсоу, если бы у тебя были мозги ты бы просто пошел и посмтрел куда в твоих кривых ботах память уходит и сделал бы хук чтобы её очищать. Ладно можешь мне не отвечать, я уже понял что по неосторожности написал визглявому школьнику.
269 2674396
>>674379
А дзе трасянка? Пакажы як слушна беларускай пісаць.
270 2674398
>>674396
Какова причина твоей трясанки?
271 2674409
>>674390
Отчпоканная в гавняное ачько свиноманька хочет осторожненько разузнать, а как же старшие товарищи узнают где она ачьком светит, что её ебут так часто почему память течёт. Ладно, манька, сжалюсь:

1. Подбирай пролапс из штанины.
2. Вытирай гавняные молекулы рукой.
3. Гугли tracemalloc, cProfile и pstats.
272 2674411
>>674409
А это ты проласпозависимый вкатун, сразу не признал. Вижу ты всё ИТТ позоришься, ну добро добро. Без колунов вроде тебя тут наверное было бы скучно.
273 2674757
>>673806
В том то и дело, что ООП это коммерческий стандарт. Его изначально "создавали" если так можно выразиться с прицелом на Кабан Кабаныча, чтобы он мог легко кодомакакау пидорнуть и другую на её место посадить без ущерба для себя. Это такой конвейер Генри Форда только в айти.
274 2674770
>>674757

>его изначально "создавали" если так можно выразиться с прицелом на Кабан Кабаныча


ЯПы и дохуя каких либ тоже, до этого айти нахуй никому не нужно было кроме институтов всяких где ни о каких бест практисах никто даже не думал.
275 2674792
>>674379
>>674383
>>674409
орнул с ГОВНОкодера. хорошо пишет, чертяка, жаль не код
276 2674982
Заморочился получить инфу что качает торрент, подключил WebUI, в браузере всё работает, нашел вот такой код как это реализовать на питоне, но он валит ошибками в самой библиотеке:
https://github.com/LakithaRav/uTorrent-client-python

Есть что-то подобное рабочее?
277 2674997
Сууука, чатгпт таки исправил чужую библиотеку: >>674982
Я только ставил маркеры и кидал ему коды ошибок, я в ахюе, усё пашет.

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

Ошибка "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'.
image.png19 Кб, 413x329
278 2675036
Что за хуйня тут происходит, почему вывод комманд разный? Я думал по дефолту там синтакс

>[start: end: step] в Python означает следующее:


>- start - начальный индекс выборки (по умолчанию 0);


>- end - конечный индекс выборки (по умолчанию длина строки или списка);


>- step - шаг выборки элементов (по умолчанию 1).

279 2675069
>>675036
забей. тут без поллитры не разберешься. а по окончанию эффекта поллитры всё забудешь
280 2675080
>>675036
Потому что так срез работает. В доках всё есть.
281 2675116
>>675036
Лустачка не зьмяшчае сымбаль з канчатковым індэксам, у тваім выпадку s[0] = 1. Калі не указваеш гэты індэкс, у лустачку ўваходзіць усё да хваста радка, то бок да s[-11]
282 2675320
>>661284 (OP)
Работаю в одной рашн галере
Инсайд инфа от HR-а и даже руководителя офиса: сейчас на рынке серьезный провис на питонистов, многих людей на бенче никак не могут пристроить на проект
ФСЕ
283 2675327
>>675320
Что такое провис на питонистов? Питонистов не хватает или наоборот их дохуя?
284 2675332
>>675327

>многих людей на бенче никак не могут пристроить на проект


Думай
285 2675343
>>675327
Нахуй не нужны никому.
По сути, популярность питона организована искусственно (да и он максимально упрощён для разметчиков данных с маленькими мозгами).

1. Отрасли надо было организовать вкат миллиона хомяков с надеждой, что часть из них пойдёт дальше.
2. Сильно раздували МЛ, давая глупому быдлу ощущение, что они тоже приобщены (хотя, матмодели программируют на С совсем другие люди с очень сильным интеллектом и дорогим обучением — питонисты только это применяют, как макаки подбирая коэффициенты в уже готовое).
286 2675344
>>675332
Не ебу что за бенч такой.
287 2675347
>>675320
Ко мне в личку стучаться продуктовые компании уже вторую неделю. Никогда не понимал тех, кто в галерное рабство идет.
288 2675348
>>675343

>питонисты только это применяют


Не разрабатывал компилятор плюсов - мужик
289 2675366
>>675347

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



Зачем?
290 2675380
>>661284 (OP)
Господа программисты и стремящиеся, подскажите пожалуйста!
Как эффективнее работать с большими json-ответами?
Допустим, я хочу застримить с бинанса примерно 1050-1150 тикеров, да так, что бы потом иметь возможность быстро посчитать то, что мне нужно, до следующего обновления данных через стрим. Примерно раз в 0.9 секунды.
Как это лучше сделать?
Я сделал тупо, и попробовал сразу через json.loads, а потом перевёл в пандасы, потому что так считать удобно.
Но мне кажется, что можно сделать лучше. А как, это я хочу узнать у вас.
291 2675383
>>675380
ах да, забыл написать, что таким образом я получаю ответ, ну или вижу ответ 200-350 тикеров, а не 1150 сколько мне нужно
292 2675391
>>675036
Потому что в первом случае он идет до конца строки, а во втором случае - до нулевого объекта не включительно.
293 2675395
>>675320
Похуй, никто из питонистов в здравом уме не будет искать работу в России. Ты бы еще айосеров попугал отсутствием работы в России.
294 2675466
list(set(some_random_init))

Аноны, some_random_init это список рандомных целых чисел. В этом выражении выше получается упорядоченный по возрастанию список.
Значит в момент преобразования сэта в список происходит его сортировка? Чому про это нигде не написано?
295 2675471
>>675380
Для начала попробуй заменить стандартную либу на orjson, если не устроит, то остается только сделать воркеры через мультипроцессинг, делать запросы из них и отправлять в мейнтред
296 2675472
>>675466

>Значит в момент преобразования сэта в список происходит его сортировка?


Нет, это особенности хешей интов, гугли как хештаблицы работают
image.png4 Кб, 274x119
297 2675477
>>675080
Мда? А почему тогда вот в этом примере он берёт нулевой объект ВКЛЮЧИТЕЛЬНО?
>>675391
298 2675504
>>675471
спасибо, сейчас буду разбираться

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

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

Я не профессиональный разработчик поэтому могу ошибаться.
299 2675547
>>675477
Ты че тупой чтоли? Начинает с индекса включительно заканчивает не включительно.
300 2675568
>>675547
Два вопроса, один, какова хуя?
Второй вопрос, а что можно прописать этой мрази, чтобы она заканчивала включительно? Или это возможно только с синтаксическим сахаром с пустым местом вместо аргумента?
301 2675623
Какой самый эффективный и питонический путь найти в списке целых чисел самое маленькое число, которое больше данного.

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

Должно находиться 9, можно как-то без цикла это сделать? Какой-нибудь встроенной функцией?
302 2675624
>>675623
цикл for
303 2675625
>>675624

>можно как-то без цикла это сделать?


>цикл for


Чел, ты.
304 2675627
305 2675637
>>675625
У тебя из задачи следует сложность O(n)
306 2675653
307 2675708
>>675623
как-то так покакал
result = min(list(filter(lambda x : x < 7, lst)))
308 2675710
>>675708
бля < на > еще поменяй
309 2675712
>>675708

>сделай цикл for - стандартно, читаемо и производительно


>нит! буду хуярить мешанину из лямбд, фильтров, редьюсеров и лямбд!

310 2675719
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
311 2675721
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

Так даже быстрее.
312 2675729
>>675719
>>675721
По best of 5 смотреть нельзя, нужно среднее значение
313 2675736
Зеленые вы мои
Когда вам нужно что-то посчитать то всегда задавайте вопрос: как бы настоящий гошник это посчитал? В гохе всегда все минимализировано и оттого пиздато. У гошников самые высокие зпки в беке. У гошников самые большие члены. Все не просто так
314 2675737
Аноны, как узнать длину отрезка, если его значения могу быть отрицательными.
Детализирую вопрос.

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

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

Как это всё можно считать одним каким-нибудь простым методом или уравнением?
image.png7 Кб, 298x221
315 2675738
>>675627
11 элемент нашёлся, заебись
316 2675742
>>675737
Бля только написал тут же сам допер abs(x-y) во я тупой, пиздец просто.
317 2675822
Таки выходит, что работу чисто на Пайтоне не найти, т.к. основные сферы применения это BigData и Девопс, самозамкнутые области, куда без специфичного опыта не пролезть. На нем только задачки хорошо решать алгоритмические.
318 2675836
>>675568

>Два вопроса, один, какова хуя?


Добро пожаловать в мир сиподобных языков. Тут принято начинать отсчет с 0, а не 1, но при этом не включать в диапазон верхнюю границу диапазона.
В джаве, например, это будет выглядеть так:
String s = "1234567890";
String ss = s.substring(0, 5);
319 2675837
>>675623
min_num = min([x for x in lst if x >7])
320 2675842
>>675822
Да, работы на питоне нет, не ходите сюда. Учите плюсы.
Screenshot1.png48 Кб, 658x137
321 2675861
Здравствуйте, я не программист, но в универе сказали, что должен уметь что-то, chat gpt не справляется, а я и подавно, помогите, пожалуйста
322 2675892
>>675836
В сиподобных языках нет ничего подобного наркосинтаксу [:]
[:5] [5:] и тем более [::-1]
323 2675923
Меня иногда удивляют такие >>675892 кадры
Потрать ты, блядь, 10 минут на документацию, которая идёт в любой книге второй главой или в любых видеоуроках четвёртым или пятым видео, где всё разжевано по 10 раз, но хуеплёт будет пиздеть на язык и на всё, что угодно, только не на свою лень.

>В сиподобных языках нет ничего подобного


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

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

А ещё есть глобальная функция slice (как и в других языках, внезапно), которая позволяет создавать объект среза как параметр для оператора взятия индекса:
slc = slice(0, 1, 10)
a = s[slc]
324 2675925
>>675923

>slc = slice(0, 1, 10)


slice(0, 10, 1) конечно же
325 2675947
>>675822
О, этот сладкий момент, когда юная макака обнаруживает, что она — написатель скриптов, скриптокодер, а НЕ ПРОГРАММИСТ.
326 2675948
>>675861
Это чистая математика, для нас слишком сложна. Если хочешь, объясню, что верхняя граница не включается в интервал, и как просуммировать пять чисел.
327 2675951
>>667616

>сам себе стреляешь в ногу


>a: dict


>присвоил a список


Бля, ты совсем идиот?))
328 2675955
>>675951
не знаю. надо подумать
329 2676041
>>675822
Ага-ага, а микросервисы и не требовательные к хайлоад сайты с сср никому, кроме своей самозамкнутости, не нужны.
330 2676053
С помощью петухона вообще можно сделать отображение окна без библиотек или в этой параше всё делается с помощью библиотек?
331 2676054
332 2676056
>>676053
Можно

import webbrowser
webbrowser.open("https://google.com")
333 2676060
>>676056
Даун, имеется в виду окно Windows.
334 2676061
>>676053
Можно

import subprocess
subprocess.run(["shutdown"])
335 2676071
>>676053

>без библиотек


Хех, я будучи студентом тоже не понимал почему нельзя просто писать просто без либ, на чистом питоне, это проходит.
336 2676073
>>676071
Что именно ты собрался писать "без библиотек"? Пузырьковую сортировку? Поиск подстроки?
337 2676080
>>676053
С помощью сисярпа вообще можно сделать отображение окна без библиотек или в этой параше всё делается с помощью dll из .net?
338 2676103
>>676073
Просто отображение окна. Ты читать не умеешь, чмо?
340 2676109
>>676104
Ты тупой? Смысл вопроса в возможности написать отображения окна без сторонних библиотек, нахер ты кидаешь ссылку на стороннюю библиотеку, ублюдок?
341 2676110
>>676104
tkinter — это и есть библиотека. Тот юнош, девственный мозгом и попкой, хочет сам рисовать системное окно средствами питона без библиотек. Сдаёцца мне, это просто невозможно. Всё равно понадобятся системные вызовы, а для них потребуется библиотека.
342 2676119
>>675947
Двачую, братан, только тот кто работает с С++ может носить гордое звание программиста, а все эти джавапетухи и петухонеры - просто пыль с их ногтей.
343 2676122
>>676109
Мальчик, подрастешь - поймешь
А сейчас спать марш - скоро дневной сон
344 2676130
>>676053
можно, принтами в консоль
345 2676136
>>676119
С++ — гавнина с хуя твоего папаши. Настоящий язык программирования — это (в моё время Алгол-68) Ада. На нём великие люди небесные колесницы программируют.
346 2676141
>>676136
begin
лол
end
image22 Кб, 270x120
347 2676142
>>676141
Что плохого в begin-end? Уж всяко лучше четырёх пробелов.
348 2676143
>>676142
Но хуже божественных скобочек.
Есть идеальный язык программироваия, С++, и всё остальное - либо жалкие копии, либо богомерзкая хуйня.
Питон - убогое кривое говно мамонта, которое никому не нужно и на котором нет никакой работы вне ML.
349 2676150
>>676130
Как?
image.png4 Мб, 2560x1440
350 2676152
>>676143

>убогое кривое говно мамонта, которое никому не нужно


Крестопетух поднял голос
image21 Кб, 270x120
351 2676338
>>676143
А, это ты тот трясущийся мамкин сисси-гидроцефал, освоивший Вижуал Бейсик в объёме 3 страницы и выдающий себя за знатока непонятного языка, за синим ачьком которого идёт отчаянная охота всех маститых мэтров ИТТ треда, начиная от мисье Пузырька и заканчивая Бульба Калом?

к:калич
352 2676371
>>671400
Можно и потерпеть, для меня важнее думать на русском языке. Зато я не заебался переводить названия на ангельский.
353 2676374
>>671415
Не надо доводить до абсурда, давать русские имена это оче удобно.
354 2676379
>>675380
>>675383
>>675471
Я разобрался. Он стримит всё, но только апдейты. Если по тикеру не было движения за последнюю секунду, то он его не показывает.
355 2676450
>>676110
Блять это стандартная либа, дурень.
Может ты еще многопоточность без импорта юзать будешь, да?
356 2676452
>>675395
Я ищу.
Имаджинируй свое ебало
357 2676455
>>669954
Чел тебе там черно по белому описали про плюсы генераторов...................
Один ты выдал какой то кринжовый высер..............
358 2676461
>>676455

>плюсы генераторов


Какие блять?))
Генераторы используются либо для экономии памяти (отложенные вычисления) либо для многозадачности (в основном в виде сопрограмм)
Ни о какой экономии памяти там не идет и речи. О многозадачности тоже. Челик там просто лепит генераторы по принципу "а че?? мне так кажется что красившее"

Что будет с чем после следованию советам петушка из хабр-поста:
Читаемость - снизится
Производительность - не изменится (на больших выборках даже упадет)
Отлаживаемость - снизится значительно
2023-04-1920-23.png137 Кб, 355x262
359 2676489
Пишу класс для работы с API. Каждая функция - вызов. Вижу, что код избыточен. Ок, оборачиваю в одну функцию и становится изящнее. Но что насчет динамического созданий функций? Есть магическая __getattr__, ок. А если мне нужно еще и передать в неё параметр, кроме имени? Мне кажется, что по любому уже все придумано.
360 2676513
>>676489
Тебе из __getattr__ нужно возвращать функцию, которая принимает параметры
361 2676969
>>661284 (OP)
Привет! Нужна помощь джангистов или причастных.
А чем вы бэкапите базы данных? Речь про sqlite
Попробовал django-dbbackup - и у меня не вышло.
Он вроде как что-то бэкапит, даже через крон, но восстановить базу данных (через dbrestore) не получается.
Я что-то делаю не так? Или есть какие-то более проверенные и популярные варианты?
362 2676970
>>676461
Нуууу. Отложенные вычисления. В чем проблема у тебя с пониманием этого?
363 2677336
>>676969
Ну есть python manage.py dumpdata > dump.json, django-admin loaddata dump.json
364 2677603
>>676489

>Но что насчет динамического созданий функций?


Нахуя?
365 2677606
>>661284 (OP)
Вассап программич. У меня возник вопрос касаемо ботов: как создаются боты в теллеграмме? Я имею в виду пользователей-ботов в телеграмме, которые наполняют канал как серая масса. Я в этом вопроссе ньюфаг, если можете подскажите что изучать/куда направиться .
366 2677656
for i, e in enumerate(lst):
....lst="replase some shit"

Аноны, когда я заменяю элемент в списке по индексу, список заного пересобирается под капотом или элемент заменяется по О(1) ?
367 2677657
>>676969
Ну я использую скрипт у себя на пк, который запускает rsync, конектится череез ssh к моей vps, оттуда забирает файл бд. Всё.
image34 Кб, 362x449
368 2677704
369 2677708
>>677606
Есть апи для ботов (api telegram bots), есть апи для юзерботов (ещё называют api telegram client). Под оба есть свои фреймворки. Под юзерботов — это telethon и pyrogram. Только под каждый инстанс придётся регаться на отдельный номер телефона.
370 2677808
>>665817

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


В чем проблема шаблоны делать?
371 2677809
Блять, какая мудацская новая капча стала, так сложно. Я минут пятнадцать пытался понять хуле ей от меня надо и нужно ли писать в ней знак вопросика посередине или нет. А оказалось что капча составляет слово, а под вопросом понимается буква этого слова.
Я вам че Вассерман чтобы такую хуйню решать?
372 2677837
>>677657
А что за скрипт?
Ну, мне бы для начала эту бд как-то из контейнера вытащить, а, как я понял, это нельзя сделать просто так.», нужно именно специальной приблудой копировать.
373 2677866
>>677809
Типичный соискатель на милорда перед вами.
374 2678053
>>677837
Какого еще контейнера?
sqlite это просто файлик.
375 2678144
А чому при выборочной сортировке и пузырьковой вывод разный?
Разве различие не в скорости сортировки?

нуб
376 2678159
Какой GUI на питоне сейчас самый актуальный?
377 2678194
>>677704
В примере опечатка, очевидно же. Вопрос вполне конкретный и без примера так-то.
378 2678203
>>677336
Если я делаю бэкап командой
dumpdata --exclude auth.permission --exclude contenttypes
То у меня все работает
Только вот есть один момент, я пока что не знаю, как засунуть это в крон
Почему-то call_comand не работает с аргументами
379 2678207
>>678194
Всмыслебля? Список не пересобирается, аутист.
380 2678218
>>678144
У тебя ошибка в реализации алгоритма. Точнее, даже, две: ты, когда пиздил не думая, умудрился даже if забыть.
381 2678219
>>678144
ты просто неправильно сделал
image.png49 Кб, 490x412
382 2678234
>>678218
>>678219

Но тут нет еще одного иф
383 2678247
>>678234
Ну... вапще да, канеш, можно и без иф лишнего.
Тут дело в том, что ты из функции хуй пойми чё возвращаешь. По идее, ты возвращаешь nums[последний] и nums [минимальный]. И нихуя с этим не делаешь. У функции своё пространство переменных и она ничего с глобальным списком не делает буквально.
384 2678248
Гайс, нужен ли ІELTS для работы удалено на западные компании?
В вузе есть бесплатные курсы ІELTS, в будущем планирую работать на зарубежную компанию удаленно, я знаю англ на среднем уровне, но про тест хз, если он не нужен для работы, то время не хочу тратить.
385 2678250
Гайс, нужен ли ІELTS для работы удалено на западные компании?
В вузе есть бесплатные курсы ІELTS, в будущем планирую работать на зарубежную компанию удаленно, я знаю англ на среднем уровне, но про тест хз, если он не нужен для работы, то время не хочу тратить.
386 2678252
>>678207
Какой список, аутист?
387 2678260
>>678252
По которому я тебе в глаза ссу.
388 2678261
>>678248

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


Осилишь конкуренцию с индусами и вьетнамцами, которые подчас на голову выше наших няш-гидроцефалов с кусрами па петону за спиной.
389 2678262
>>678260
Ты опять монитор обоссал, манюня.
390 2678264
>>678262
С каких пор ты монитор, гидроцефал в чулочках? Таблетки что ли сменили? Или у вас с папкой новая игра «проткни монитор» по пятницам, когда он нажирается? Сгинь к хуям, чючило, бля, не жужжи.
391 2678269
>>678248
Практически всем похуй, на курсы можешь походить что бы англюсик прокачать бесплатно.
392 2678310
>>677708
то есть нужно изучать API направление?
И для каждого клиектского бота нужен телефон ? Это что получается 500 ботов -500 номеров ? Где я сток найду?
393 2678311
>>678310

>то есть нужно изучать API направление?


Нет, выучи одну библиотеку. Наверное, пирограм лучше.

>Это что получается 500 ботов -500 номеров ? Где я сток найду?


Жопкой торгани. Твоя нужда — твои бабки. Тем более, ты засрать что-то хочешь, раз 500 ботов потребовалось. А это осуждаемое.
394 2678405
>>661284 (OP)
Подъебнули на собесе и задали следующий вопрос:

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

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

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

с помощью селениума паршу пару сайтов и на каждом сайте несколько однотипных ссылок, но один сайт постоянно по однотипным ссылкам выдает разные типы страницы (Т.е. Ссылка одна, а контент на сайте может быть одним из 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
396 2678595
>>678405
Чтобы создать функцию, которая будет проверять, попадает ли указанное число в заданный диапазон без создания итератора, мы можем использовать математические операции. Для этого достаточно определить, находится ли указанное число между начальным и конечным значением диапазона, и находится ли оно на соответствующем шаге.

Вот пример такой функции:
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.

Для проверки, находится ли указанное число в диапазоне, мы используем операторы сравнения и деление с остатком. Если шаг положительный, мы проверяем, находится ли число в диапазоне и находится ли оно на нужном шаге, используя операторы сравнения и деление с остатком. Если шаг отрицательный, мы делаем то же самое, но сначала меняем местами начальное и конечное значения диапазона.
397 2678650
>>678311
нет, думал создать телеграмм канал, но для старта нужно относительно много подписчиков, а в пустые каналы где 100-200 человек, мало кто пойдет
398 2678714
>>678650
Проще купить ботов.
399 2678782
>>678405
range это генератор, просто для провеки вхождения итерация или генерация не нужна. Что там релизовывать хуй проссышь, по-моему, даже в нубских книжках такие задачки есть.
400 2678786
>>678782

>range это генератор


Ну так проверь:
r = range(3)
list(r)
list(r)
image.png5 Кб, 209x205
401 2678788
402 2678789
>>678782

>range это генератор



Идиот? Идиот. Ебало вкатуна, который осилил только циклы, представили?
403 2678822
Ладно, это не генератор, тут сиранул, но и не итератор, это отдельная хуйня вообще.
Берем iter([1,2,3,4])[1] и хуй, рейндж может в такое и поиск как выше писали там не поэлементный, а логический. Это навскидку.
404 2678830
>>678822
Это класс, который содержит метода __iter__, __next__ и __contains__
405 2678832
>>678822

>навскидку


Ахуенна

>Берем iter([1,2,3,4])[1]


И идем нахуй
406 2678846
>>678830
А вот нихуя, это итерируемый объект и у 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))
407 2678850
>>678782
Генератор это конструкция из for и range.
For это цикл, range это итерируемый класс, а вместе это генератор.
image.png84 Кб, 1834x526
408 2678865
>>678846
Ну ок, но __iter__ не обязательно должен возвращать себя, там есть отдельный range_iterator для этого
409 2678877
>>678865
>>678846
>>678850
Скучная тема, смените.
410 2678891
>>678405
Похоже какой-то хуетой занимаются на этих ваших собесах. Нет чтобы просто посмотреть твой гитхаб чего ты там накодил и как пишешь, чтобы понять твой уровень понимания предмета и языка, а потом на основании этого что-то спрашивать, если вопросы остались.
Вместо этого какие-то КАВЕРЗНЫЕ ВОПРОСЫ задают, "что тяжелее пуд сена или пуд железа", "вилкой в глаз или в жопу раз"? Зачем кодомакаке вообще знать такие подробности, достаточно просто понимать суть range, что оно делает и основные места его применения, а если будет ситуация УЗКОГО МЕСТА, где надо байтоебить то я, как макака без опыта, в любом случае полезу в доки смотреть что-там по О-нотациям. А если нет УЗКОГО МЕСТА то и нахуй не надо это знать. всё равно инфа без практики быстро забывается.

В чем я не прав?
411 2678899
>>678891

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


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

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


Что бы ты в коде не делал самописные проверки вместо достаточно удобных практик. А вообще так можно про любое место на собесе сказать "просто посмотрю в доке"

>А если нет УЗКОГО МЕСТА то и нахуй не надо это знать. всё равно инфа без практики быстро забывается.


Не совсем, я про range один раз слышал, но запомнил, как и про вынос методов в отдельные переменные что бы ускорить выполнение, хотя ни разу не применял, необычные детали запоминаются очень хорошо.
412 2678909
>>678899

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


Это как?
Вот есть у нас self.method(), если я сделою hui = self.method()
И потом буду hui() вызвать это будет быстрее выполняться? Хуйня какая-то лишняя операция присвоения, и трата строки на то чтобы переложить пустое в порожнее.
413 2678925
>>678909
Да, именно так. В цикле получишь большую производительность, так как не вызывается gettattr у объекта.
414 2678991
>>678909
да, это будет значительно быстрее выполняться. земерь таймитом
415 2678992
>>678991
и я ни в коем случае не говорю, что теперь надо срать этим по всему коду. но это реально нужно в функциях, которые по 5 миллионов раз в секунду вызываются

мимо геймдев
416 2678993
>>678891

>Нет чтобы просто посмотреть твой гитхаб


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

>Зачем кодомакаке вообще знать такие подробности


Незачем. Но есть смысл спрашивать на собесах - чтоб отсеить побольше людей, т.к. их больно дохера
2023-04-2315-24-56.png18 Кб, 974x505
417 2679247
Хочу начать обучаться Django, создаю виртуальное окружение как в гайде, а вылезает такая ошибка. Что делать?
изображение.png128 Кб, 1979x1397
418 2679248
Дайте пожалуйста совет по дизайну апы. Предельно абстрактно:
Есть данные, которая может быть в разных форматах. Реализую для каждого из формата свой ридер-класс со стандартным интерфейсом. При этом сами форматы довольно различаются, но из любого из них я энивэй могу извлечь нужные мне данные для даунстрим анализа. Есть несколько форматов, в которые также планирую записывать - реализую по функции для каждого из них.
На уровень выше делаю класс, который оборачивает рутину по чтению/записи (условный метод рид - обмазан метод диспатчем по типу ридера), делает первичную обработку нормализацию осей на основе референса, но это в принципе неважно, извлекает/воссоздает как-нибудь нужную метадату, и когда все что надо сделано, возвращает инстанс другого класса, с которым уже можно как-то работать, делать нужные анализы, выдавать конечный результат и так дальше.
Ну и офк у меня отдельные модули лежат для того, чтобы делать разные этапы и разные вариации анализов, здесь все достаточно удобно и логично сегрегируется и никаких вопросов нет.
Для упрощения понимая шизойдной простыни смотри прекрасную мермейд схему ручной работы.
Так вообще норм в петухоне делать? Я замарачиваюсь с отдельными классами под ридеры, потому что ожидается, что регулярно будут высираться новые форматы, и хотелось бы максимально упростить потенциальную дрочьбу в будущем с их чтением, что я и делаю путем создания стандартизированного интерфейса.
Пока просто есть какой-то привкус жавы особенно явно бы ощущался, если бы я заменил функцию райтера на класс со статик методом., и ощущение, что излишним сегрегированием процессов я делаю какой-то физбаз-ентерпрайз.
У коллег по цеху лютый кал с костылями, обходящие разные форматы, и все объединено во вложенные мастеробъекты. Ну и на текущий момент, у меня все это реализовано в виде бэйзик-лайк жупутеровской тетрадки, так что выбора у меня, кроме как сделать все нормально, просто нет.

Если можете сказать, в чем я не прав, буду благодарен.
Еще буду очень благодарен, если направите меня на какие-нибудь гайды с бест практисами по дизайну пакетов/приложений на петухоне.
изображение.png128 Кб, 1979x1397
418 2679248
Дайте пожалуйста совет по дизайну апы. Предельно абстрактно:
Есть данные, которая может быть в разных форматах. Реализую для каждого из формата свой ридер-класс со стандартным интерфейсом. При этом сами форматы довольно различаются, но из любого из них я энивэй могу извлечь нужные мне данные для даунстрим анализа. Есть несколько форматов, в которые также планирую записывать - реализую по функции для каждого из них.
На уровень выше делаю класс, который оборачивает рутину по чтению/записи (условный метод рид - обмазан метод диспатчем по типу ридера), делает первичную обработку нормализацию осей на основе референса, но это в принципе неважно, извлекает/воссоздает как-нибудь нужную метадату, и когда все что надо сделано, возвращает инстанс другого класса, с которым уже можно как-то работать, делать нужные анализы, выдавать конечный результат и так дальше.
Ну и офк у меня отдельные модули лежат для того, чтобы делать разные этапы и разные вариации анализов, здесь все достаточно удобно и логично сегрегируется и никаких вопросов нет.
Для упрощения понимая шизойдной простыни смотри прекрасную мермейд схему ручной работы.
Так вообще норм в петухоне делать? Я замарачиваюсь с отдельными классами под ридеры, потому что ожидается, что регулярно будут высираться новые форматы, и хотелось бы максимально упростить потенциальную дрочьбу в будущем с их чтением, что я и делаю путем создания стандартизированного интерфейса.
Пока просто есть какой-то привкус жавы особенно явно бы ощущался, если бы я заменил функцию райтера на класс со статик методом., и ощущение, что излишним сегрегированием процессов я делаю какой-то физбаз-ентерпрайз.
У коллег по цеху лютый кал с костылями, обходящие разные форматы, и все объединено во вложенные мастеробъекты. Ну и на текущий момент, у меня все это реализовано в виде бэйзик-лайк жупутеровской тетрадки, так что выбора у меня, кроме как сделать все нормально, просто нет.

Если можете сказать, в чем я не прав, буду благодарен.
Еще буду очень благодарен, если направите меня на какие-нибудь гайды с бест практисами по дизайну пакетов/приложений на петухоне.
419 2679252
>>679247
Пашукай файл activate.bat і пішы адпаведны шлях да яго. Мабыць .venv\Scripts\activate
420 2679259
>>679252
И так, и сяк пробовал. Кроме того, папка Scripts по какой-то причине у меня называется bin.
421 2679263
>>679259
Знайдзі файл activate.bat праз пошук файлаў:
dir "activate.bat" /s
2023-04-2315-57-46.png40 Кб, 1038x798
422 2679275
>>679263
Я попробовал, не работает.
424 2679289
Кто пользуется redys-py asyncio, подскажите пжлст.
Делать connection pool для всего проекта как global var и дергать подключений оттуда или лучше просто вызывать экземпляры Redis (знаю что внутри он сам создаёт пул в таком случае). Или создать один экземпляр Redis на проект как global var?
И как пользоваться самим экземпляром Redis? Через контекст менеджер или без него? В доках через контекст менеджер он не используется, но методы aenter и aexit есть... Я не хочу явно вызывать .close() и не знаю надо ли это делать вообще..
425 2679292
>>679275
>>679259
У цябе ё файл activate.ps1. Выконвай кожны радок асобна:

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

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

dct["key"] в данном случае будет браться из словаря для каждого сравнения с элементом из списка или он возьмется один раз в начале?
Хочу знать нужно его в отдельную переменную выносить для такого случая.
2023-04-2316-31-54.png45 Кб, 1170x648
427 2679305
>>679292
Спасибо, анонче, очень выручил!
428 2679310
>>679304
всмысле браться
dict["key"] - это указатель на область памяти, где хранится значение.
429 2679319
>>679304
Судя по BINARY_SUBSCR в итерации for да.
Не знал, что там такая сложная хуйня для any происходит, интересно.
https://www.online-python.com/pFP2aSLy75
430 2679320
>>679310
Это вызов метода дикта для поиска аттрибута.
431 2679327
>>679319
Хотя это any + генераторное выражение, да.
432 2679339
>>679327
>>679319
Ну так что в итоге анон? Каждый раз берется для каждого сравнения в том конкретном примере?
433 2679342
434 2679345
>>679342
Ну и говно. Плохо сделоли.
435 2679347
>>679345
Там вообще много так в лоб сделано, если копаться.
Интересно, почему так. Чтобы не усложнять вм?
436 2679365
Могут ли в питоне быть вообще нужны для чего-либо functionality-only stateless классы?
437 2679390
>>679282
Чет лолировал с примера. Как будто на джаву вернулся.

Мимо краб
438 2679394
>>679390
Справа ж не ў Джаве, але ва ўзорах праектавання. Яны агульныя ва ўсіх аб'ектных мовах.
439 2679423
>>679394
Все так, но опять же, некоторые особенности некоторых языков, делают использование определенных паттернов лишними, либо сильно ограничивают их использование.
Тут еще важно понимать, что из-за того, что я на расте долго работал, я перестал наследование воспринимать все правильно, наследование кал, и для меня дико выглядит двухслойное наследование интерфейса. И, если рассматривать предлагаемую схему отправки сообщений в основной статье, то сразу возникает желание вместо декорирования, просто закинуть разные типы мессенжеров в очередь исполнения, и запускал бы все ей. Но это конечно из разряда "поговорил с учебным примером".
Ну и развивая мысль про ненужность и ограниченность паттернов. Какой-нибудь синглтон или пул просто не нужен в питоне да и нигде этот вафлепаттерн не нужен, будем откровенны, и его делать приходиться не самым очевидным пердолингом через метаклассы какие-нибудь. Так что можно считать, что синглтоны язык порешал.
440 2679430
Это Django settings.py BASE_DIR = Path(__file__).resolve().parent.parent
Откуда __file__ берётся? И как BASE_DIR так хитро используется? 'NAME': BASE_DIR / 'db.sqlite3',
441 2679434
>>679423
Не корми вниманиеблядь.
442 2679456
>>679320
В С, на котором написан Питон, это указатель на ключ и указатель на значение ключа. Свободин.
443 2679459
Что быстрее поиск ключа в словаре из 100 значений или поиск элемента в списке из 100 значений?
У поиска ключа сложность О(1), но она сама по себе большая. Вот думаю перекатывать такой лист в словарь. Просто надо будет в нем 1 из 100 значений искать тысячи раз.
444 2679462
>>679459
Ты же можешь timeit взять и замерить.
445 2679463
>>679459
Засеки.
Но вообще, если тебе известна нужная позиция в списке, то искать будет быстрее чем за О(n) потому что в петухоне лист - это массив ссылок.
Если тебе нужно будет сравнивать значения для поиска нужного элемента, то все зависит от того, насколько сложно происходит сравнение.
446 2679464
>>679456
Дурында, эти скобочки квадратные вызывают имплементацию __getitem__ для даннного класса, это называется subscription.
У листа свой (там как раз указатель, ибо это array объектов питоновских), у дикта свой. Т.к. дикт это хешмап, то считается тот самый хеш для забора значения.
image22 Кб, 986x396
447 2679470
>>679463
Засек. Словарь опережает индекс в десятки раз. Результат меня очень удивил. Зачем вообще лист нужен - удалить его из питона.
448 2679471
>>679289
Создаешь подключение и прокидываешь его куда нужно через dependency injection
449 2679472
>>679464
Мася, разверни исходники а не занимайся поеботой из демонстрации бутикода.
450 2679473
>>679430
__file__ - унутраная службовая пераменная пітона, шлях да бягучага файлу.
BASE_DIR - канстанта ў Джанге, шлях да галоўнай дырэкторыі праекту. Ня бачу ніякіх хітрыкаў у яе ўжыванні: BASE_DIR / 'db.sqlite3' - шлях да файла базы дадзеных. Перад ім NAME - уласцівасць аб'екту змяшчаючага наладкі БД.
451 2679474
>>679472
Ну посмотрим исходники.
Вот тут добавляется метод __getitem__ , который ссылается на dict_subscript
https://github.com/python/cpython/blob/main/Objects/dictobject.c#L3650
Смотрим dict_subscript
https://github.com/python/cpython/blob/main/Objects/dictobject.c#L2474

Теперь читай, ты у нас сишник дохуя.
452 2679487
>>679423
Вартасць узораў праектавання ў тым што іх усе ведаюць. Нават той жа singleton - калі да праекту далучыўся новы чалавек што пісаў іншай мовай, ён бачыць сінглтон і адразу разумее што гэта, як працуе і навошта.
453 2679493
hui, pizda, pok, hruk, var, foo, bar, allahakbar = some_funky_long_name(arg_one, arg_two, arg_tree, jopa, nu_skolko_mogno_srat_argumentami)

Аноны, как такую хуню записать красиво? Переименовывать не вариант.
454 2679501
>>679493
Разве что запаковать аргументы в туплю или лист и распаковать звездой при вызове, но хз, лучше ли это.
Interpreter.png12 Кб, 667x330
455 2679505
456 2679523
>>679470
Теперь проверь скорость, когда нужен перебор. Мжб лист лучше себя покажет.
457 2679525
>>679473
А теперь на человеческом.
458 2679554
>>679525
А балалайкай па срацы?
459 2679627
>>679282
Декоратор - это интересная идея. Но мне тут (тем более на текущем этапе) нет особого смысла инжектить и тем более стакать поведение Декоратор, к слову, юзаю для даунстрим анализа, там он прям норм ложится, учитывая душность и обилие шагов предобработки. На той схеме `wraper_cls` это фактически гигадаптер с дополнительным утилити методом для записи файла на диск, и методом для гармонизации.
Ну я в принципе понял теперь, что я не настолько уж и херовую вещь делаю.
Энивэй, спасибо за помощь.
460 2679636
Посоветуйте какой-нибудь линтер с хорошими проверками сложности кода.
Из адекватных видел линтер от wemake.services, но там помимо годных проверок на сложность, которые, правда, не всегда конфигурируются адекватно, есть куча васянского вахтерства.
В идеале, чтобы это был плагин на флейк, в котором собраны все проверки на сложность и ничего больше.
461 2679647
>>679636
mccabe plugin
462 2679648
>>679647
Там только цикломатическая сложность, которая в моем случае по дефолту обходиться из-за моей циклофобии.
463 2679683
>>679471
Так и делается, вопрос не в этом
464 2679792
Оказывается можно тригернуть свитч треда через time.sleep, охуеть просто
465 2679793
>>679683
Делаешь пул и юзаешь его по всему приложению
image.png57 Кб, 1006x378
466 2679921
Анон, как сделать чтоб Пайчарм атоматом перезапускал глюкнувшие скрипты
467 2679998
>>661284 (OP)
привет, помогите пожалуйста, уже голова болит

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

Так вот вопрос - как реализовать чтобы при получении сообщения с телеграм бота все эти функции прерывались и возобновлялись только после обработки сообщения с бота?
468 2680004
>>679921
засунуть в цикл с отловом Exception
Стикер512x512
469 2680188
Аноны, смотрите какая хуйня.

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

Чому так?
470 2680205
>>680188
Анус поставишь что айдишник одинаковый?
471 2680239
>>680188
Ты же даже import gc не сделал...
472 2680243
>>680188
потому что ты сначала принтаешь айдишник а потом меняешь значение var. Т.к. у тебя 2 переменные равны друг другу то айдишник одинаковый. Когда значение становится разным (var +=20) то айдишник var меняется.
поменяй две строки местами и получишь разные айдишники

>>680205
лучше ответьте на этот вопрос >>679998
Стикер128x128
473 2680252
>>680243

>переменные равны друг другу то айдишник одинаковый


атаноче
474 2680651
Хочу всего лишь нажимать на одну клавишу в одной игре.
Почему это удаётся в Блокноте и где угодно ещё, но не в самой игре, хоть в оконном, хоть в полноэкранном режиме?
https://pastebin.com/T9201SuC
На плюсах пробовал сделать, та же хрень. Срабатывает один раз, когда фокус переходит на окно игры, и всё на этом. И через win api с выбором конкретного субэлемента окна тоже делал, не работает.
В каком направлении вообще можно копать?
475 2680978
>>680651
попробуй от админа скрипт запускать
или автохоткей поставь
show.png9 Кб, 270x120
476 2681140
>>678891

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


Тащемта смотреть на опенсорс при устройстве на галеру, где будешь писать клозед сорс - максимальное лицемерие.
477 2681157
>>679247

>Что делать?


Откажись от запуска в винде. А то это ещё может потом аукнуться.
Как минимум запускайся в WSL2.
Базарю, винда - зло.
478 2681426
>>678405

>И чет я завис. Как это решать? Тут по факту метаматематика а не проганье даже


чисто проганье. Тебе надо знать, что существуют такие возможности, как перегрузка операторов, что угодно ты можешь определить, в том числе оператор in
смотри на метод __contains__
479 2681462
Помогите! Как импортировать файл из папки forms.
Файл main_form.ui.py
480 2681463
>>681462
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 не понимает-то????
481 2681468
>>681463
Раю зьмяніць імя файла, бо інакш імпартаваць яго магчыма праз importlib.util
482 2681473
>>681468
Дак а почему импорт не понимает расширение файла-то ??
Screenshot26.jpg97 Кб, 718x831
483 2681498
Всё же ООП рулит. Подумал как это скрипт мне запустить в другом файле нормально и это была прям попаболь, пока он был написано без класса, решил записать через класс и теперь просто изично. Буду и дальше практиковать писать чисто на ООП
484 2681538
>>681498
Первый раз в жизни попробовал написать программу с больше чем ордним файлом? При чём тут ООП? Это можно сделать просто написав функцию и вызвав её в другом модуле.

> != None


> складывает строки в цикле


Ты базовые вещи сначало изучи
485 2681565
>>681538
А мне нравится ;3
486 2681587
>>681473
корыто ёбанное, этот ваш ентот пистон.
487 2681592
Как импортировать файл из папки 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'

Мозг сломал и пипетку весь
488 2681604
>>681538
Ну none это без разницы, это я так написал. А вот составление слов, да, можно просто через '\n'.join
изображение.png26 Кб, 530x374
489 2681697
Объясните как работает streamlit?
Это какая-то максимально странная для меня ебананина.
Вроде все понятно, но нихуя не понятно :(

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

Почему сообщения не добавляются вверх, а перезаписываются?
490 2681782
>>681592
Не называй модули так (с точкой), не надо понтов. Переназови.
Или используй importlib.
upartasć-py.jpg75 Кб, 500x500
491 2681835
>>681782
Ты не разумееш, ён у нас упарты >>681592 >>681473 >>681463
Яму патрэбны толькі маральнае натхненне і падтрымка.
492 2681845
>>681835
да, да, да, я барашка.
493 2681848
>>681782
а можно пример с импортлиб?? Чтобы все файлы в папке импортировались (там есть ui(py)-файлы от QtDesignera !!!)
494 2681878
>>681848
Раю загружаць форму з файла *.ui што генерыруюецца Qt Designer'ам у фармаце XML. Будзе зручней рэдактаваць інтэрфэйс і генерыць нанава.

from PyQt5 import uic

class ...
uic.loadUi('qt/form.ui', self)
495 2681896
>>681848

>а можно пример с импортлиб?


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)
496 2681995
Так, анончики, поясните мне такую аномалию.
Оператор 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", а мне нужно чтобы возвращала или-или
497 2682012
Кто назвал в пандасах функции read_x to_x вместо того чтобы назвать read_x write_x или from_x to_x того труба шатал, пиздос как бесит, забываю как надо.
498 2682030
>>681995
Значение выражения '1' or 'm' равно '1'. Значение '1' and 'm' - 'm'.
499 2682031
>>682012
Зделой алиас.
изображение.png308 Кб, 600x506
500 2682059
Нужен совет касательно следующей дичи. Я делаю симуляцию Монополии на Python. Основной целью проекта является сделать Reinforcement Learning агентов в качестве игроков, чтобы они с нуля научились играть и нашли оптимальные стратегии. Сначала делал через Q-Learning, но проебался. По итогу, нашёл подход с использованием Monte Carlo Tree Search, который как мне кажется подходит больше, но в душе не ебу как реализовать его в в моём проекте. К примеру, что именно передавать агенту как state чтобы он мог делать какие-то стратегии.
На руках уже имеется готовое окружение, рабочие карточки Шанс и Общественная казна, оплата ренты, постройка домов и прочее. Единственное думаю выкинуть механику аукционов на хуй.
501 2682091
>>682059
мы тебе еще пару месяцев назад объясняли что в Монополию нельзя научиться играть. это рандом.
502 2682104
>>681878
>>681896
имел я в писю энтого питона

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

Как мне скопом (целиком) импортировать все файлы в этой ёба папке forms???
503 2682111
>>682030
Логично. Конструкция из or всегда возвращает первый элемент, а из and последний. А как сделать то, чтобы либо 1, либо m было при введении в input?
504 2682125
>>682104
Нахуй иди, тупарылый. Наймись в охрану или шофёром.
505 2682127
>>682111
Вводить пока, там не будет 1 или m, проверяя там 1 или там m.
506 2682153
>>681604
А ещё срезы замени на endswith.
image.png7 Кб, 139x397
507 2682164
>>681995

> Оператор 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')



>>682111

>Конструкция из or всегда возвращает первый элемент, а из and последний.


Нет, and - возвращает первый ложный элемент или последний.
508 2682168
>>682091

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


Хуйню несёшь.
509 2682175
>>682164

>ke=('1', 'm')


Да! Это именно то, что я и хотел. Спасибо.

>or возвращает первый истинный элемент или просто последний элемент.


>and - возвращает первый ложный элемент или последний.


Щас проверил, бля, внатуре
d=0 or 1 or 2
1
d=1 and 0 and 2
0
510 2682226
>>682153
Это очень старый скрипт, который я писал чуть ли не в самом начале. Решил его прикрутить к другой программке просто для теста, переписал по быстрому, там говнокод был куда хуже ещё даже.
511 2682270
>>682226
Зоойчем ты оправдываешься, каличный? Срать на тебя, что ты там когда писал.
512 2682277
Хотел бы сделать так, чтоб из модуля(ака package) в файле датабейз можно было добавлять новые функции к тому датабейз что выше:

> main.py


> database.py


> module_a/


> __init__.py


> database.py


Плюс как я вижу в том, что всё для модуля хранится в модуле, а не размазано по всему проекту.

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

А вопрос собственно вот в чем: насколько это зашкварно(я ни разу не видел чтоб так делали) и какие подводные?
513 2682279
>>682277

> main.py


> database.py


> module_a/__init__.py


> module_a/database.py


фикс, отступы убрало разумеется
514 2682315
>>682277
Ладно, хуйню написал. Внезапно лучше имплементировать бд для модуля в модуле и импортировать эту бд, раз у меня в принципе все функции не особо завязаны на конкретно тот датабейз на верхнем уровне.
515 2682371
>>682175

>Щас проверил


На пике ещё веселее. Это, кстати, надо иметь в виду, потому что можно наебаться с типами. Зато даёт некоторый простор, например, для эф-строк
Капча релейтед.
image.png49 Кб, 902x530
516 2682387
сап програмач, правда ли что можно вкатиться в веб приложения на питоне очень быстро(за полтора-два месяца) и найти первую работу? Если нет, подскажите куда можно за такой период чему то научиться и начать зарабатывать, только законное.
517 2682404
>>682387

>за полтора-два месяца


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


Вкусно и точка, курьер, охранник. Если права есть — водитель. Можно помощником слесаря, плотника, столяра, токаря, сантехника вкатываться, потом самый низший разряд получить. Есть вариант — золотари. Вечная тема. Только бочку арендовать.
sosat.png13 Кб, 293x123
518 2682407
>>682387
Всё можно, главное пройти курсы скиллбокса по моей реферальной ссылочке.
519 2682425
>>681835
в /ukr марш
520 2682429
>>679921
Как понять глюкнувшие? Ты хочешь чтобы он у тебя их вечно крутил в фоне?
521 2682667
>>682387
Учи php и html, а не Припон тогда, если хочешь быстро. Я задрачиваю в Питон по 4-8 часов в день на протяжении 4 месяцев почти без перерыва и освоил только процентов 5% от всей базы. Могу текстовый квест через ООП написать или программу типо магазина без подглядывания в букварь каждые две минуты, а парсер какой-нибудь самостоятельно с нуля уже хуй осилю.
522 2682669
>>682371
Странная херня. Кто-нибудь знает почему так?
image.png3 Кб, 637x191
524 2682912
>>682669
Акстись, это дефолтное поведение для большинства ЯПов
525 2683150
>>682667
Что можно там 4 месяца учить по 8-6 часов? А парсеры за вечере на читая статью на хабре можно написать.

Сорян за душнину. Самому интересно
image.png4 Кб, 710x101
526 2683151
Поясните почему у -1 и -2 хэш одинаковый? Что питону мешало отдать при хеше -1 отдать -1?
527 2683202
>>683150
С нуля язык так и учат. Плюс, надо решать десятки примеров по каждому выученному параграфу. Иначе ты будешь таким же пидарасом как местный ляцвин, тупое существо, почти скот.
528 2683294
>>683150

>Что можно там 4 месяца учить по 8-6 часов?


А можно ли выучить Питон полность? Все библиотеки, весь функционал, все возможности? Наверное от балды сотник книжек всякие непонятные дядьки по Питону пишут, воду льют из пустого в порожнее. Во ебланы! Не то что дядя Федя с двача.

>парсеры за вечере на читая статью на хабре можно написать.


Так любой может и я могу, а ты попробуй без подглядел в документацию и копипастинг из гитхабика.
529 2683301
>>683294
Ні ў воднай мове праграмаваньня не вывучаюць усе бібліятэкі. Нармалёва будзе ведаць толькі тое што спатрэбілася для працы.
image5 Кб, 200x144
530 2683306
>>683294

>без копипастинг


Сука, бей его!
531 2683323
>>683301

>Ні ў воднай мове праграмаваньня не вывучаюць усе бібліятэкі


Ну так естественно, потому что это невозможно.

>толькі тое што спатрэбілася


А если спатрееблися сделать что-то, что могло бы облегчить твою работу, а ты даже не подозревал о существовании такой фичи?
532 2683756
>>682125
лучше наймусь шофёром, по твоей мамке ездить хуем.
533 2683870
суп моему тупому вопросу.

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

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

*отредактировал, чтобы не шокировать особо "нежных"
534 2683882
>>683870

>суп


Значение выясни, микроцефал.
535 2684004
>>683870
ну берешь и делаешь
import forms
или
from forms import *
или ты откуда хочешь это импортировать то?
536 2684073
>>683882
выяснил супу твоему роту моему органу.
537 2684074
>>684004
подожди. Так выдаёт ошибку. Типа видимо не понимает точки в файлах
538 2684107
>>684074
Что пишет в ошибке?
539 2684253
>>684107
Ну вот попробуй для прикола импортировать 2 файла (любые) py, но с расширением с точкой. Или чтобы в названии были точки.
Ну как ещё сказать.
540 2684257
>>684107
не может найти файл пишет.
541 2684276
>>684257
Так он и не найдет, потому что в имени файла точка. Переименуй все модули через Ctrl+A, F12. Только расширения не меняй.
542 2684390
>>684276
да вы издеваетесь.
Ну питончик, что, он не умеет в расширения файлов???
543 2684391
Аноны!
544 2684410
>>684390
Ты, пидорас тупой, ui это не расширение, а имя. Убери перед ним точку и все запашет.
545 2684421
Можно ли в PyCharm выполнить автозамену табуляции с пробелов на табы и наоборот? Если да, то как это сделать?
546 2684479
>>684410
О, Боги!
Как тебя свет носит ещё. Ещё не сдох?
Ещё для дибилов поясняю.

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

Тебе ещё пояснить нужно???
547 2684481
>>684421
не стоит, не парся.
спасибо.mp4636 Кб, mp4,
550x360, 0:08
548 2684487
549 2684493
>>684487
живи долго
550 2684522
>>684479
Для себя поясни, человек дождя.
Zalupa.ui - так должен выглядеть ui файл.
Zalupa.py - так должен выглядеть py файл.
У тебя Zal_upa.ui.py - в файле должна стоять только одна точка; перед расширением. А у тебя их две - одна в имени, где ее быть не должно, а вторая перед расширением, там где она и должна быть. По-этому import и не импортирует, он читает файлы с точками в имени, гуманоид ты тупорылый.
Zalupa_ui.py - вот как оно должно выглядеть.
551 2684552
>>684522
Та нет, О, Двуликий Анус!!!
файл я же сказал - ПОСЛЕ ОБРАБОТКИ ЧЕРЕЗ компилятор pyuic6.
После того, как кайлы перекомпилируются - их имена становятся типа frm_mainhuy.ui.py
И внутренности у них (для тех даунов кто даже это не знает, а знает только джанко и прочую онлайн-поебень!) - типа портянка класса ui-form и внешнего вида.
552 2684557
>>684522
вот у меня есть видео файл "ya.ebal.tvoyu.memka.mp4" - это нормальный файл, или ты, ёбыч, только такие имена типа "a1.py" перевариваешь??
553 2684561
>>684522
файлы, если не ты в курсе, могут называться makaka.ebala.svoyu.pipisku.txt
Или ya,piton.v.rot.vstavil.chto.budet.py
И это _легальные_ имена файлов в файловой системе. Я вот о чём.
554 2684571
>>684561

>ya,piton.v.rot.vstavil.chto.budet.py


Тогда импортируй такой файл через интерпретатор. А ещё лучше анус свой импортируй в Нигерию, чтобы тебя макаки драли, потому что даже макака больше поймет, чем ты, ебанушка.
555 2684577
>>684571
Ну так твоя мамка-обезьяна уже импортировала хуй твоего папки-гибона из Нигерии. Мне-то зачем.
556 2684739
>>684479
фаил нормально переименуй.
557 2684809
>>684739
Анон, без этого никак не решить вопрос?
558 2684865
Кароч, тупая срань на доске, у меня две точки в названии файла, фалов 105 штук.
Быстро мне, скоты, сказали, как их импортировать в виде модулей. Готовый код.
Screenshot29.jpg100 Кб, 1864x515
559 2685134
Создал новый проект, ибо было нужно нормально виртуалку поставить, перетащил туда файлы из другого и в итоге не работает проверка модулей, установлены они или нет, какие классы там спрятаны и методы тоже не находит толком
560 2685408
>>683151
Глупый мясной мешок, слушай сюда:

Причина, по которой хэш-функция Python возвращает -2 вместо -1, заключается в том, как она реализована в CPython. Для отрицательных целых чисел хэш-значение может быть отрицательным, поэтому CPython добавляет 2^64, чтобы сделать его положительным. Однако для -1 результирующее значение является наибольшим возможным целым числом, которое зарезервировано для коллизий хэша. Поэтому вместо этого CPython возвращает -2.
561 2685644
>>685134
У цябе памылка. btn_dissable мусе быць з адной літарай s: btn_disable.
Снимок экрана (3).png139 Кб, 1366x768
562 2685715
Че ему надо то? Скомпилировал екзешник через pyinstaller, все работает, брат жив. Компилирую через Autopytoexe - exe не открывается.
563 2685731
>>685715
У наладках Autopytoexe абяры Console Application, альбо прыбяры ўсе print().
564 2685737
>>685731
Да, помогло. Спасибо.
565 2685934
>>661284 (OP)
Господа, подскажите пожалуйста.
А вообще возможно, в принципе, на питоне сделать следующим образом?
1.Запустить стрим данных, например с бинанса.
2. С помощью мультитрединга, каждые, например 15 секунд, делать обычный реквест запрос на этот бинанс для получения данных, которые я не могу получить через стрим, но не прерывая стрим.
3. Использовать обновленные полученные данные из простого реквест запроса в функции, которая вызывает стрим, но самое главное не прерывать стрим данных.

капча - наука
566 2685941
>>685934
можно
567 2685946
>>685941
а точно?)
а то я щас как спущу 3 дня на то, что в принципе нельзя сделать, ухх
спасибо
568 2685958
>>685946
А что нет то. На питоне можно почти всё, главная его проблема, что это почти всё может быть от 5 аж до 100 раз медленее, чем на C++ условном.
569 2685966
>>685958
Я спрашиваю, потому что я не профессиональный программист)
и не хочу изобретать велосипед или решать нерешаемые задачи
гораздо эффективнее спросить опытных людей

капча - дикарь
570 2685972
>>685966
Ну хз тогда как ты за три дня планируешь написать, если не знаешь ничего. Мультитрейдинг всё же через копипасту сложно заставить работать
571 2685978
>>685934
Можно, но нужно тред-сейф структуры использовать, потому что обосраться как нехуй делать. Еще можно асинхронность попробовать, но там другие подводные
572 2685987
>>685972
я примерно представляю как это сделать,
у меня есть все, кроме вот этой мультитрединговой перемычки

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

тем более, мало ли, мне посоветуют обратить внимание на что-ниубудь, на что я бы сам не обратил внимание
капча - король
573 2685988
>>685978
Ну асинхронность под его задачи вряд ли подойдёт.

Нужно разбивать задачи на несколько потоков, что бы после ещё и получать сигналы от этих потоков не прерывая их. Асинхронность это всё тот же один поток, где функции просто тормозят своё выполнение, если ничего пока не делают и дают порулить другим.
574 2685991
>>685987
Ну в целом, твоя задача и не смотрится как что-то тяжелое. Погугли, думаю разберёшься.
575 2685993
>>685978
>>685972
ну вот например, мне бы и в голову не пришло обратить внимание на

>тред-сейф структуры


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

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

> асинхронность попробовать


я размышлял над этим, но потом пришёл к выводу, что я не смогу её нормально воткнуть, мне там неудобно будет
выбор был между мультитрендингом и мультипроцессингом
576 2685996
>>685991
угу, спасибо (неиронично)
577 2686002
>>684809
нормально делай - нормально будет
578 2686018
>>685988

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


Так стрим обрабатывается батчами/сообщениями, там между ними прирывания как раз, хотя хз какой у него драйвер там и что вообще за стрим
579 2686102
>>682104
>>683870
>>684479
Як справы? Змагаешся ці атрымалася штосці?
580 2686144
>>686102
Нихт. Не получается. Думаю сдаться, и всё-таки по-уебански не далать расширение файлов. А сделать как и по-идиотски следует, типа *.py. Жаль конечно. Грёбаный язык не умеет в расширения файлов. Ну что поделать, такой вот он. Не всем везёт.
581 2686145
>>686102
Нихт. Не получается. Думаю сдаться, и всё-таки по-уебански не далать расширение файлов. А сделать как и по-идиотски следует, типа *.py. Жаль конечно. Грёбаный язык не умеет в расширения файлов. Ну что поделать, такой вот он. Не всем везёт.
582 2686154
>>686144
>>684479
Ніколі не здавайся, нахіляй тэхналёгію пад сябе. Бо не чалавек існуе для кампутара, але кампутар для чалавека.

Я напісаў табе гатовае рашэнне. Пакладзі ў дырэкторы forms файл __init__.py са зместам https://www.online-python.com/hGp6rz9gnO
583 2686163
>>686002
я нормально всех ебу. Нормально сделаю????
584 2686168
>>686102
Так, анон. Ну ты предлагаешь просканировать директорию. Найти фсе вайлы на . py. Их просканировать, и исполнить (execute) . Ну это решение "в лоб" называется. Я так сам смогу сделать. Можно ли в вашем "петоне" сделать так, чтобы файлы .ui.py смог бы импортировать по-нормальному, без извращений????
585 2686223
>>686168
Точки это часть синтаксиса доступа к модулям в пакетах. Так что если хочешь точки в именах, то импортируй через жопу, очевидно же.
586 2686253
Q all! Посоветуйте нетривиальные каналы на ютубе по питону. База вроде есть, хочется посмотреть как нормальные люди пишут код с использованием разных фич языка.
587 2686302
>>686253
Канал Ержана. Там много базы для смешариков. Но иногда он обсуждает разные интересные пакеты, и сторонние штуки, и некоторые неочевидные вещи. В целом норм фича ревью канал, можно посмотреть вечерком.
588 2686392
>>686223
ну подожди. точки это нормальные имена файлов же!!!
590 2686474
>>686163
нет
592 2686649
>>686392
В линупсах почти все символы валидны в именах. Сделай и импортируй файл с двоеточием в имени, например.
593 2686675
>>686392
Только не для импорта.
594 2686956
>>686649
>>686675
Спасибо вам, Анончики!! Я понял. А то все посылают только.
Имя при импорте в питоне существенно, и не использовать точки.
595 2703019
>>682429
Ну да, боты в телеге вечно работают и норм, а мой виснет через время или пайчарм вылетает
596 2715268
Бан чек, сорри
Тред утонул или удален.
Это копия, сохраненная 19 июня 2023 года.

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

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