Двач.hk не отвечает.
Вы видите копию треда, сохраненную 14 мая 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
diveintopython.gif3,4 Мб, 1044x1002
Питон № 157 /python/ 2616755 В конец треда | Веб
Тред, посвящённый языку программирования Питон

Предыдущий: >>2603452 (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: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
2 2616762
>>2616734 →
Никак, делай через сет.
3 2616792
>>2616438 →

>не зря у нас в универе с и с++ в приоритете


Они в приоритете потому что их преподают уже лет 30, а что-то новое в программу универ очень тяжело принимает. Вообще нынешнее костное университетское образование это развод уровня ммм, преподают хуиту актуальную десятки лет назад.
4 2616799
list = ['foo']
names = ['foo','bar']
out= {k:'element in list' if k in list else k:'not in list' for k in names}

Аноны. Чому эта хуйня не работает объясните? Если то же самое написать через dict() всё работает.
image.png3 Кб, 216x111
5 2616800
Почему сегодня воскресенье, а питон говорит, что суббота?
6 2616803
>>16800
Потому что понедельник это ноль.
7 2616805
>>16803
Охуенно.
8 2616810
>>16799
Потому что k:v в дикт компрехене это фиксированный синтаксис.
https://docs.python.org/3/reference/expressions.html#dictionary-displays
Видишь там expression:expression, вот это оно, твой иф там нахуй не уперся.
Короче, делаешь сет из одного из списков и потом
[val for val in lst if val in set], это оптимальный способ.
9 2616827
>>16810
Хотя, conditional подпадает под expression. Тогда можно так.
out= {k:'element in list' if k in list else 'not in list' for k in names}
10 2616829
>>16810
Спасибо за инфу. Но ты кстати тоже немного ошибся, анон. Не надо там ни какие сеты делать
Просто после элса надо ставить не пару ключ значение а только значение.

А что кстати быстрее компрэханшн или функция dict()?
11 2616837
>>16829
Надо бенчить.
16695801966470.png283 Кб, 811x590
12 2617041
>>16755 (OP)
Лольку скормили, суки.
13 2617216
>>16799

Ошибка: синтаксическая ошибка в словарном выражении. Условие if должно находиться после ключа и двоеточия.

Изменения, которые были внесены:

переименована переменная list в lst, так как list - это зарезервированное слово в Python;
добавлены кавычки вокруг фразы 'element in list', чтобы указать, что это строка;
перемещено условие if после двоеточия и ключа, чтобы соответствовать синтаксису словарного выражения.


Пример измененного кода:

lst = ['foo']
names = ['foo', 'bar']
out = {k: 'element in list' if k in lst else 'not in list' for k in names}
Стикер536 Кб, 250x250
14 2617226
Гыгы. А говорил низзя.

Нет, try и if - это разные конструкции в Python, предназначенные для разных задач, и их нельзя использовать взаимозаменяемо.

Напищи такой же код заменив if на конструкцию try except
x = 5
if x < 10:
print("x меньше 10")


Можно заменить оператор if на конструкцию try-except, используя исключение ValueError, например, вот так:
x = 5
try:
assert x < 10
print("x меньше 10")
except AssertionError:
pass
15 2617247
>>17226
Заебись милордский код. Вкатуны, вешайтесь.
16 2617280
>>17226
Ой бля. Ебал я эти абсёрты потом выковыривать из кода.
17 2617285
>>17280

x = 5
try:
if x < 10:
print("x меньше 10")
except:
pass

Или

x = 5
try: print("x меньше 10") if x < 10 else None
except: pass
18 2617298
>>16792
А как же ФУНДАМЕНТАЛЬНЫЕ ЗНАНИЯ? Переписывание в тетрадь под диктовку препода его конспекта из Фихтенгольца
19 2617318
>>17298
Крутые челы по Зоричу чились.
20 2617329
Поймал я чатгпт на тупняке, кидает примеры из старых версий языка и так по кругу.

WebDriverWait(driver, 77).until((EC.text_to_not_be((By.ID, "LUL"), "") or (EC.text_to_not_start_with((By.ID, "LUL"), "Loading"))))

Посоветуйте на что выделенное болдом можно поменять, чтобы драйвер ждал пока LUL равен пустой строке или начинался с "Loading".

Моя вполне работающая реализация была вот такая, но понятно что это костыль, хочу правильнее:
while (driver.find_element(By.XPATH, '//[@id="LUL"]').get_attribute('value') == "") or (driver.find_element(By.XPATH, '//[@id="LUL"]').get_attribute('value').startswith("Loading")):
time.sleep(1)
21 2617345
Аноны, я правильно понимаю, что len() это статичная переменная, а не например какая-то "процедура пересчитывания", которая каждый раз при вызове гоняет список?
Т.е. если мне надо часто брать длину списка, мне не нужно записывать его длину в отдельную переменную, можно спокойно каждый раз к его len() обращаться?
22 2617346
>>17345
...или словаря.
23 2617348
>>17345
Да, это атрибут типа данных
24 2617350
>>17345
len() это именно функция. Под капотом она вызывает метод __len__() переданного ей объекта и уже сам объект решает, возвращать какую-то статичную переменную или считать свою длину каждый раз.

>>17348
На завод
25 2617351
>>17350
Т.е. у списка лучше брать __len__ без прокси функции? Это питонически?
26 2617352
>>17350
добавлю что у списка и словаря длина не считается каждый раз заново. Так что записывать самому не нужно
27 2617354
>>17351
Питонически len(), так как более красиво и читаемо.
плюс len() кидает TypeError если длины нет, а если вызывать __len__() у объекта, в котором он не реализован - получишь AttributeError.
Разные уровни абстракции. Питонически всё же лучше максимально сократить количество вызовов Dunder методов в своём коде.
28 2617355
У базовых объектов под капотом этот лен записан отдельно, там ничего не считается, а берется сразу оттуда.
У себя можешь как хочешь делать.
29 2617400
может знает кто годные курсы на степике кроме как поколение python?
по либам какимнибудь или алгоритмам, только не совсем протухшее

не обязательно степик, просто формат видео совсем не перевариваю, а там зашло решение задачек, но чот я так понял на степике кроме поколения годноты нет вовсе
1MJJlbVj4UajCdCOWLUq3jA.png672 Кб, 1280x692
30 2617415
А вот мне стало интересно - какие концепции в питоне\вообще в программировании оказались для вас самыми сложными для понимания? делитесь, гсопода. и еще, - сможете ли вы теперь обьяснить эту сложную концепцию, уложившись в две строки, так чтобы тупой понял?
31 2617417
Бля какой же FastAPI АХУЕННЫЙ
32 2617422
>>17415
Метапрограммирование
IMG20220131104525423.jpg24 Кб, 377x266
33 2617448
>>17226
Запускаю этот код с флагами оптимизации. Ой, а что это он не работает?
34 2617521
>>16792
а вот хуй. У меня охуительные преподы были. Сразу всё понял и по борланду, и ява, и основы ПК, и ИИ. Так что пиписькой тебе в рот.
35 2617526
>>17521
Только логике забыли тебя научить - даже ошибку выжившего не понимаешь
36 2617532
>>17415
Концепции костылирования. Очень сложно понять, до сих пор не могу объяснить. Во вторую депрессию свалишься спустя 3 месяца настоящей работы, когда больше станешь читать чужой код, нежели писать свой.
image.png370 Кб, 900x900
37 2617746
38 2617959
>>17415
async, await, yield до кучи
Но это не только у питона.
39 2618151
>>16755 (OP)
блять у меня встал
40 2618205
>>17417
писать анонимный чат используя фэстапи это хорошая идея?
b9e016cef58d294fe7fce2efb6daf525.jpg78 Кб, 533x800
41 2618216
Вопросы от Жака Фреско для проверки знаний:
отвечать сходу без гугла

1) сколько сможете назвать в питоне строковых методов?
2) сколько списковых?
42 2618229
>>18216
В душе не ебу ответа ни на один из этих вопросов.

мимо крепкий мидол
43 2618232
>>18216
Там тех строковых штук 30, кто их помнить будет кроме самых ходовых?
44 2618263
>>18216
Нахуй надо, для этого есть документация. Строковых насколько помню 30+, списковых около 15
45 2618271
Смысл учить эти методы, когда можно пару раз прочитать документацию и просто понять что они умеют, чтобы не писать велосипеды в следующий раз.

Документацию открыть можно всегда, но вот если ты не знаешь что метод для твоей задачи существует ты и не подумаешь о том что какой-то твой можно сократить.
46 2618308
Аноны кто знаком с openpyxl ?
Вот мы берем значение ячейки
cell = sheet.cell(row=1, column=1).value

Если ячейка пустая возвращается None, но как известно офисные тёти сраки любят оставлять в ячейках пробелы, так что
Проверки "is None" недостаточно, нужно ещё стрипнуть строку strip.
Но строку None стрипнуть нельзя
Вот и приходится:

cell = sheet.cell(row=1, column=1).value
if cell:
cell = cell.strip()
if cell:
pass

Как эту хуйню упростить? Сделать более элегантной, питонической, я хуй знаю. Строки в никуда уходят смотреть больно.
image.png5 Кб, 309x148
47 2618309
срочно нужна помощь, как правильно задать здесь аннотацию?
48 2618315
>>18308
Ты итерируйся, а не ровы-хуёвы, а там уже циклом управляешь по ситуации.
49 2618316
>>18309
Tuple[str, list]
50 2618317
>>18316
а если по другому как-нибудь можно?
51 2618330
>>18216
Может тебе ещё все атрибуты класса object пересказать? Или все магические методы?
52 2618337
>>18309
List[Tuple[str, List[int]]]

Вообще зависит от того как ты используешь эти данные.
Возможно List заменить на Iterable будет лучше
53 2618338
Какие же петухонщики говноеды, пиздец просто.
54 2618343
>>18338
Так что же ты пришел, хочешь чтобы съели тебя?
55 2618355
>>18216
дохуя / дохуя
ебать.png193 Кб, 413x390
56 2618359
>>18216

>1) сколько сможете назвать в питоне строковых методов?


да помню все их наизусть

>2) сколько списковых?


11
57 2618400
>>18216
Пошел нахуй!
58 2618407
>>18151
Души своего питона!
59 2618795
>>17351
Нет, у питона автоматом длина во всех объектах записывается во время его создания или изменения.

Магические методы в питонах не вызываются обычно в коде, это чисто для классов, допустим если ты захочешь как-то модифицировать подсчёт элементов в списке, что бы это было не просто число, а какое-то сообщение в добавок
60 2618846
Сап двач , посоветуйте норм книгу по Джанге для ньюфага
61 2618871
>>18846
У Джанго отличная документация, считай полноценная книга, лучше не напишут уже. Для работы с джанго на практики просто иди на ютуб
62 2618903
РЕБЯТА ХЕЛПАНИТЕ ПЛИЗ!!!

Суть вот в чем, я захожу на сайт, на страницу с модалкой для авторизации, мне сервер назначает временный кук, когда я залогинился, кук меняется на новый и живет пока я не закрою окно/перезагружу страницу. Вот в чем мой вопрос, порядок действий при авторизации:
1.отправляется пост запрос на сервер
2.сервер в ответе назначает новую куку
3.меня залогинивает

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

Не знаю правильно ли я описал, но затуп с request cookies / response cookies
63 2618945
>>18903
Нихуя не понял что тебе надо.
64 2618972
Срочно нужна помощь анона. УЖЕ учусь на python, прошел БАЗовые курсы на степике, но так и не решил, в какого именно питониста вкатываться? Подскажите критерии для входа там во фронтед, дата сайнс или че еще есть
65 2618975
>>18945
Есть тг? Могу туда написать подробнее
66 2618977
>>18972
junior vkatun developer
67 2618996
>>18977
Ну я и что)
68 2619011
>>16755 (OP)
Привет, получил затык
есть данные в БД необходимо, чтобы телеграм бот выводил данные из БД в ответ на команду

При выводе в терминал получаю всю таблицу
Если пытаюсь скормить результат боту - бот выводит только первое значение
рабочий + закоменченный
Куда копать?

https://pastebin.com/2z9XMBn6
69 2619022
>>19011
Воспринимай bot.reply_to как return. То есть один раз дёрнул - ответ ушёл, цикл закончился.
Тебе надо сериализовать таблицу в одну строку например join'ами и вернуть уже её.
70 2619027
>>19022
Пынял, спасибо
peetoohon.jpg6 Кб, 218x135
71 2619217
Сегодня часа три корячился над написанием крестиков ноликов, в которых игровое поле представлено списком из трёх списков, одна функция его печатает, вторая ставит крестик/нолик в определённой части списка и третья проверяет наличие комбинации из трёх одинаковых символов, а всё это вызывается из одной главной функции. Так и не сделал, наваял какого-то огромного франкенштейна и вышел из пайчарма когда шестерёнки в мозге уже окончательно отказывались работать. Завтра встану и опять буду пытаться. Какой же я тупой гуманитарий, это пиздец, вайтишник хуев. Вот какого хуя три иностранных языка освоил до уровня ~C1 вообще играючи, а когда стоит задача сделать что-то вот такое конкретное, то есть представить в голове алгоритм/схему, разбить на куски и реализовать мозг работает как будто я даун аутист с айсикью 50? В школе/универе всегда были проблемы с математикой, физикой, геометрией, всем короче где есть какие-то формулы и задачи. Как блять качать эту часть мозга? Понятно что наверное есть изначальная предрасположенность технарь/гуманитарий, но я не поверю что нельзя как-то прокачать свою технарьскую часть мозга даже будучи конченным говнонитарием.

питухон вкатун стажём 1.5 месяца
72 2619226
>>19217
Когда допишешь, апгрейдни до бесконечной доски.
73 2619265
>>19217
Осваивай Numpy, не трать время не бесполезные костыли.

>Как блять качать эту часть мозга?


Тебе нужно прокачать способность не делать костыли. Постепенно освоишься, полтора месяца ещё не так уж и много.

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

И для новичков в питоне подобные попытки писать костыли и являются главной проблемой в начале, потому что питон позволяет это делать, лол. На питоне легко такой хуйни навертеть, когда ты лишь едва-едва выучил синтаксис, что самая простенькая программка отправит твой комп в нокаут.
Стикер536 Кб, 250x250
74 2619294
>>19217

>Как блять качать эту часть мозга?


Никак, есть предрасположенности. У нас был класс с айтиуклоном, один день вообще в универ на занятия ездили. Так вот уже из ауе быдла были селектированы более склонные и желающие заниматься айти и там я и пара человек тащили, остальным похуй было. Когда я попал в универ там все где-то на моём уровне были и только пара человек реально лучше соображали. И вот к нам попал тип который вообще всё играючи решал то на что у других десятки минут уходили.
Это тупо талант, да и к тому же нахуй не нужный, лучше простое человеческое счастье.
Да а дрочи код особенно в обучении с чатомджипити, эта штукенция обучение точно перевернет, учителя скуфы сразу нахуй.
75 2619334
r = requests.get(url, stream=True)
with open(filename, "wb") as file:
...for block in r.iter_content(chunk_size = 1024):
......if block:
.........file.write(block)

Аноны, у меня логика сломалась поясните за вот эту хуйню.
Что будет, если последний chunk меньше 1024. Он что не сохранится? Я именно так вижу. Но на практике всё сохраняется. Чому? ЯНХНП
76 2619339
>>19334
С чего бы? Выдает значение по достижению chunk_size или конца файла.
CT-2021-vennbranded-775x775.png100 Кб, 775x775
77 2619435
>>19217

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


С чего это ты решил, что автоматически, что называется из коробки должен уметь решать такие задачи? Может ты еще и высшую математику знаешь с рождения? Выставляешь себя типа умным, а сам дурак, не понимаешь элементарного, что ты дилетант в алгоритмах/программировании. Это нормально, все дилетанты пока не научатся. Догнал? Надо учиться.

>три иностранных языка освоил до уровня ~C1


Толсто

>вообще играючи


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

Обучение программированию/алгоритмам это не заучивание слов и их значений на незнакомом языке. Это как минимум мышление абстракциями, как в алгебре, оперируя кодом и данными абстрактно, представляя их как xyz. Это способность вести рассуждения, находить закономерности, делать логические выводы. Это и чисто алгоритмическое мышление, которое отличается от алгебраического. Для обобщения придумали термин "вычислительное мышление" (computational thinking). Короче, немного сбился с мысли, если есть желание порассуждать, то пиши, только учти, что на неадекватную херню адекватных ответов от меня не дождешься.
78 2619457
>>19435
С какой целью ты лопнул с утра пораньше?
79 2619583
Что такое стек, хеш-таблицы? Нахуя они нужны? Для чего эта залупа, если задачи решаются без них? Можно на языке для плебеев объяснить?
80 2619584
>>19583
Ебать тебя не должно, если ты не разработчик cumпиляторов или не низкоуровневик, но для большего понимания хорошо разбираться в том, в какой области памяти у тебя что лежит и какие структуры для этого используются.
81 2619585
Аноны, а ключ из словаря берется по O(1) ?

я другой анон, не этот >>19583
82 2619593
>>19585
Сам разобрался, можете не отвечать.
83 2619709
>>19583

>Что такое стек, хеш-таблицы?



>>19584

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


Чиво? Какие еще области памяти? Стек это структура данных, как и хеш-таблица.
84 2619713
>>19709

>Какие еще области памяти?


Такие, где твои данные в этих самых структурах лежат.
pleb.png137 Кб, 688x659
85 2619714
86 2619715
>>19714

>для преобразования ключа в индекс



Сдается мне чатбот обосрался.
87 2619728
>>19715
Поясни, в чем он неправ
88 2619730
>>19715
Нет, всё правильно. Лежит в массиве, хеш это вычисление индекса в этом массиве с разрешением коллизий.
89 2619838
>>19713
Лучше бы ты молчал, за умного бы сошел. При чем тут память? При чем тут компиляторы? Бред сивой кобылы.
90 2619839
>>19715
Нет, это ты обосрался. Не ты ли это --> >>19584 >>19713 наговнял? Очень похоже.
чзнх.jpg6 Кб, 129x102
91 2619868
купил ноту. поставил шарм значит. а тут все в таком говне. как фиксить?
92 2619871
>>19839
Нет это был не я. Просто мое абстрактное мышление под "индексом" нечто другое представляет. Нечто упорядоченное, а под хэшем я представлял некую извилистую, но точную карту до объекта, которая у каждого уникальная как адрес в памяти.
Ну индекс и индекс, хорошо. Рад новым знаниям.
shizlo.png114 Кб, 1531x924
93 2619875
>>19838
Не буду молчать. Если челику надо про стек почитать, пусть ещё почитает про кучу, стек вызовов и как это в памяти организовано.

>>19839
Шизик, успокойся.
94 2619911
>>19871

>у каждого уникальная


У хеш-функций случаются коллизии. Когда один и тот же хеш указывает на разные данные.

>>19875

>пусть ещё почитает про кучу, стек вызовов и как это в памяти организовано


Не имеет ничего общего с алгоритмами на основе стека

>>19875
Обосрался, имей честь и признаться.
95 2619918
>>19911

>алгоритмами на основе стека


>стек вызовов


>стековая память


>стек


Обсираюсь тебе на ебало, так уж и быть.
96 2619922
>>19911

>У хеш-функций случаются коллизии. Когда один и тот же хеш указывает на разные данные.


Верится с трудом, чел. Это бы означало, что на такую систему нельзя полагаться и в ней нет смысла.
97 2619929
>>19922
Хочешь не верь, но у тех же алгоритмов семейств MD и SHA есть коллизии, но их тяжело отлавливать.
98 2619975
>>19929
Дай ссылочку.
100 2620036
>>19911

> Когда один и тот же хеш указывает на разные данные.


Скорее наоборот.
101 2620049
>>19997

>MD и SHA


Так в пайтоне с 3.4 версии используется SipHash
102 2620053
>>20049
Речь о реализации хешмапов, в которых бывают коллизии, которые нужно резолвить правильно, причем тут алгоритмы?
103 2620065
>>20053
Т.е. к питону это всё не относится потому что в нем хешмапы на siphash ?
104 2620095
>>20065
https://stackoverflow.com/questions/327311/how-are-pythons-built-in-dictionaries-implemented
Ну так ты спрашивай про конкретную реализацию, а не общее понятие.
105 2620098
>>20065
Чел, любая хэш функция, которая отображает множество ключей на меньшее множество индексов, будет иметь коллизии в какой-то момент.
106 2620107
>>20098

>Чел, любая хэш функция


Почему это? Есть конкретные уязвимости у конкретных реализаций. Про siphash написано что он не имеет тех уязвимостей которые были у MD и SHA, например.

>>20095
Ну и что ты притащил? Какой-то пост 14 летней давности с общей инфой про хэшмапы.
107 2620111
>>20107
Ответы почитай.
108 2620117
>>20107

>Почему это?


По принципу Дирихле. Если например у тебя множество ключей - это строки длиной десять строчных символов английского алфавита, то всего таких ключей будет 26^10. Чтобы гарантированно избежать коллизий, нужно выделить столько же индексов в хэш-таблице.
109 2620138
>>19918
Иди на хер, дура. Анон спрашивал про стек как структуру данных, которую он будет использовать в алгоритмах. Ты пишешь про не нужную ему хуйню, внутреннее устройство языка программирования, которое к алгоритмам и структурам данным не относится. Засунь себе в жопу это всё.

>>19922

>Верится с трудом


Бля, тут что тебе угадай мелодию что ли? Верю - не верю. Да мне пох, веришь ты или нет. Иди изучай тему.
110 2620159
>>20138
Да не рвись ты так, шизоблядина. Он конкретно спросил "что такое стек, хэш-функция и зачем это нужно", никакого контекста про структуру данных не было, это ты уже за него додумал. Обтекай.
111 2620167
>>20159

>хэш-функция


Хэш-таблица конечно же, своими хэшами заебали уже сверху.
112 2620179
>>20159

>никакого контекста про структуру данных не было


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

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


Ты так малясь проигнорил это, зато доебался до "памяти", когда как "стек" является и структурой данных и как отдельная реализация памяти и как организация работы программы.
Ещё раз. Где в его вопросе фигурируют "структуры данных" и "алгоритм"? Нигде, это ты за него додумал. Но раз ему не хватило мозгов погуглить, ему дали общий ответ на его общий вопрос.
114 2620199
>>19584
Я тебя не понял, что ты написал. Я вкатун, мне советовали изучить структуры данных и алгоритмы, поэтому и спросил про стек и хеш-таблицу, потому что это первые попавшиеся непонятные мне слова.
>>19714
Понял. Спасибо. А есть какие-то конкретные задачи, гдп на примерах поясняется чем использование стека/хеш-таблицы лучше? Второе используется в БД или я нихуя не понял опять? Ну типа у нас есть какая-то ключ (например, ID) и мы по нему можем вытащить всю информацию? Это принцип работы хеш-таблицы? Сорри за нубские вопросы. Из алгоритмов я вообще пока понял только сортировку пузырьком. Или >>19584 прав был и джуну это не нужно знать?
115 2620211
>>20199

>Я тебя не понял, что ты написал.


В чем проблема это загуглить?

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


Почитай их описание и сам прикинь, в чем они могут быть полезны.
Словари и множества в питоне реализованы на основе хэш-таблиц, а вызов вложенных функций реализован на основе стека.

>Или >>19584 прав был и джуну это не нужно знать?


Джуну надо знать про эти слова и что они могут значить, но на практике ты редко эти структуры сам реализуешь, всё это сделано за тебя.
116 2620214
>>20199
Ты прямо совсем платиновые вопросы задаешь, на которые отвечают в любом курсе по питону. Типичная задача на стек: проверка скобочной последовательности на правильность, на хэш-таблицу - проверка наличия дубликата в списке.
117 2620217
>>20196
Баран, стек - АТД, структура данных, и ничего более. То что эта структура данных используется в механизме вызова функций и для хранения некоторых данных в рантайме языков программирования, - ничего не значит. Если бы стек вызовов называли массивом, ты бы орал, что массив это стек вызовов?

>>20196

>Где в его вопросе фигурируют "структуры данных" и "алгоритм"? Нигде, это ты за него додумал.


Баран, стек - АТД. Всё. Он спросил что такое стек и хеш-таблица, что подразумевает, что имеются ввиду структуры данных. И то и другое АТД. И вообще, если с помощью стека реализовано много разных фич, не означает, что под стеком понимают их. Только долбоебы так думают. Стек - АДТ. Всё.
118 2620230
>>20199
Ты так ничего и не поймешь. То есть поймешь, но не сразу. Чтобы понять одно, нужно знать другое. И так по цепочке. Если есть куча времени, желания и сил, то можешь пытаться охватить как можно больше одновременно. Я так делал. Это долгий путь. Тебе не хватает наглядности. Посмотри "тренировки по алгоритмам" от Яндекса на ютубе. Еще есть "тренировки по алгоритмам 2.0" и недавно запустили 3.0. И старайся что изучаешь переводить в код, запускать, изменять. Так ты намного быстрее будешь усваивать знания.

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

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

Сайтов с задачами великое множество. Используй что хочешь. Можешь попробовать проект Эйлер. Не бойся смотреть готовые решения. Не пытайся все решить сам с первого раза. Все равно, даже подсмотрев у кого то, ты не сможешь с первого раза повторить реализацию на память. Кроме того, будут попадаться похожие задачи, но под которые нужно что то менять, это тоже будет способствовать самостоятельному составлению решения, пусть и на основе базового предыдущего. Изучай разные методы решения, грубые, изящные, всякие. Главное именно все реализовывать в коде.
119 2620233
>>20211

>вызов вложенных функций реализован на основе стека


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

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


Зачем хуйне учишь? Умничаешь, иди сам поучись лучше. Когда попросят реализовать простейшую структуру как стек и он не сможет, это будет фейл.
120 2620238
Пиздец какой-то бариста-вкатун задал мммаксимально тупой вопрос уровня "ыыыы а що такое погромировать" и сцепились два УЧИТЕЛЯ, спорят кто лучше ему жопу подтер. А надо было просто его в гугл послать, потому что сам вкатун ни одной единственной извилиной не пошевелил для своего "обучения".
121 2620243
>>20217
Да не гори ты так, а то геморрой на весь тред вылез.
Орёшь пока только ты, как и продолжаешь игнорировать полный ответ, доёбываясь до конкретных слов как удобно тебе. Как и обосрался бы с ответом, если бы тебя спросили "что такое куча и стек", будь ты таким же упёртым АТДшником.
122 2620248
>>20233

>хранящей данные вызовов.


Но он хранит не только их.

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


Учу, и хорошо, что не по треду в /pr/.

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


Для этого достаточно прочитать википедию, вспомнить про список и реализовать класс с 2 методами, а работодатель просить тебя будет не типы данных реализовывать, а таски закрывать с сроком вчера.
123 2620266
>>20238
Его также и послали, я не УЧИТЕЛЬ, но другой УЧИТЕЛЬ доебался за контекст.
124 2620314
Аноны, какой самый питонический путь чтобы убрать\удалить\отключить метод у наследуемого класса? На стаковерфлоу советуют 1) изначально пересмотреть наследование чтобы не пришлось ничего удалять 2) перезаписать метод заглушками

Без этих двух вариантов неужели нет общепринятой практики на этот счет? В Си например для этого есть приватность - которой в питоне нет. А как?
125 2620334
>>20314
Солид говорит, что изначально не должно быть такого метода.
126 2620355
>>18903
У цябе памалковыя уяўленьні. Кука вызначаецца сэрверам, а не тваім запытам. Кука, калі, ты, кліент яе маеш, будзе заўсёды дасылацца на адпаведны сэрвэр.

1. POST запыт змяшчае імя карыстальніка й пароль, таксама адрас server.com/login ці загад command=auth, гэтыя словы ты сам выдумляеш.

2. сэрвэр, калі бачыць request.path=login ці request.command=auth, правярае username & password. Калі знайшліся, то да адказу сэрвера ў response.header дадаецца кука session=ik48h48u7fhwsdreig2... ВАЖНА, дадаць гэтую куку да адказу патрэбна перад пачаткам вываду старонкі, каб яна была ў хэдары. Cэрвэр мае сгенерыць і захаваць гэты session.

Усё. Табе патрэбна напісац код другога пункту для сэрвэра.
127 2620359
>>20314
Існуе агульная канвенцыя пачынаць назву асабістага(private) метада з двух падкрэсьлянняў:
def __my_private_method():
...
129 2620381
Хочу сделать телеграм бота что бы на нем учить питон. На каком бесплатном хосте можно его запустить и тестить?
130 2620383
>>20381
На локалхосте, очевидно.
131 2620392
>>20314
Пиздец ООП головного мозга
132 2620415
>>20392
А ты в какой парадигме петухонируешь???
133 2620485
>>20314

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

ты можешь только переопределить, чтобы принтил "пошёл нахуй" в консольку
134 2620581
А можно в вижиал студио всякими колорамами расскрасить текст именно в окошке аутпут? В терминале он и так раскрашен. Ставил всякие Output Colorizer толку ноль.
135 2620641
только учусь питону, и решил совместить аннотации типов и декораторы в коде. вышел пикрил... помогите пж.
136 2620658
>>20641
Тебе интерпретатор намекает на 14 и 22 строки.
Твоя задекорированная функция что-то возвращает? Да.
Значение внутри декоратора, которое должно возвращаться функцией, возвращается? Нет.
Внутри декоратора wrapper должен возвращать результат работы func(n).
137 2620662
>>20658
так? у меня "Код до выволнения фунции g:" на несколько экранов.
138 2620665
>>20662

>так?


Так у тебя второй print не отработает, выноси в отдельную переменную и потом её возвращай после второго print.
139 2620674
>>20665
кого выносить в отдельную переменную О_о? Проблема в декораторе или в функции g? Можешь начинающему написать здесь правильный код с 11 до 22 строки, пожалуйста.
140 2620676
>>20674
Да что, блядь, непонятного? Напиши res = func(n) и после второго print напиши return res.
142 2620692
>>20688
Ну и? Код работает, а что тебе конкретно надо от твоего кода, ты так и не объяснил, а додумывать и искать контекст, как тут любят, я не буду.
143 2620700
>>20692
я рассчитывал что вывод будет такимЖ

Код до выволнения фунции g:
55
Код, который сработал после выволнения фунции g
144 2620715
>>20700
Для начала ещё раз прочитай, что такое рекурсия. Потом можешь поэтапно посмотреть, не на примере n = 10, а n = 3 или 4, как у тебя отрабатывает декоратор.
Если тебе нужен только финальный результат, то закомментируй @decorator над g и вместо print(g(10)) напиши decorator(g)(10).
145 2620721
>>20715
окей, буду лучше поэтапно учить питон.
146 2620825
res = (foo + '/').startswith('bar')

Аноны, а такая вот конструкция создает ненужный кортеж в месте скобок (foo + '/') ?
147 2620834
>>20825
Это не кортеж, это выражение. И в таком случае он бы тебя нахуй послал, потому что у них нет такого метода.
Снимок экрана 2023-02-23 201343.png38 Кб, 592x281
148 2620874
>>19715
Сап двач

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

Что за % между переменной и строкой и что он делает? Он указывает на переменную которая вставляется заместо %s или что?
149 2620875
>>20874
бля , случайно анона тегнул
150 2620880
>>20874
Это старый синтаксис формата строки. Гугли.
Screenshot20230223-211959Chrome.jpg598 Кб, 1080x2340
151 2620883
>>20874
В гугле забанили?
152 2620969
obj = MyClass(data)
obj.add_to_dict()
Аноны, вот я захуярил класс который сам себя добавляет в некоторый словарь, после необходимых калькуляций над data. Но что-то я перестарался походу. Вопрос такой, какой синтаксис можно применить чтобы вызывать метод без экземпляра (хочу поэкономить строки)

Как то так: MyClass(data).add_to_dict()
но так не работает, т.к. экземпляр класса не создан... наверное.

Если я добавлю self.add_to_dict в конструктор класса, то так сработает, обьект сразу улетит в словарь, но мне бы хотелось перед этим и другие методы например поприменять, вроде такого:
MyClass(data).do_shit().add_to_dict()
Можно ли как-то так сделать, есть синтаксис такой? Или обязательно надо явный обьект спавнить в переменную?
153 2620972
>>20969
classmethod
154 2620979
>>20969
Отбой.
MyClass(data).add_to_dict() работает, хуй его знает почему у меня раньше не получалось - человеческий фактор
155 2620981
>>20969
Почитай про статикметоды и можешь писать MyClass().add_to_dict(data)
156 2620983
>>20972
Классметод тут нахуй не нужен.
157 2620986
>>20983
Ну он хочет создавать объекты, поэтому нужен. Если объекты не нужны, тогда статик.
Или я что-то не так понял.
158 2621018
Аноны, чому нельзя удалять ключи словаря во время его итерации?
Понятно как это обойти - итерировать список ключей, но вдруг на это есть весомые причины и лучше вообще так не делать, а записать ключи на удаление и потом отдельно их удалить в отдельном цикле?
159 2621022
>>21018
Я думаю, это осталось со времен, когда порядок не гарантировался, вот мутация и распидорашивала итератор.
Просто итерируйся по копии ключей.
160 2621051
Случайно передал в функцию модуль вместо класса и сидел минут 10 тупил какого хера компилятор ругается, что в каком-то там модуле нет атрибута append.
Хорошо, что я не в Си это написал.
Надо чаю пойти заварить...
161 2621054
>>21051

>компилятор

162 2621099
>>19217
Я уже 3 года на работе создаю на питоне веб-сервисы, работаю с базами данных от редиса до кликхауса, автоматизирую кучу разной хуйни, применяю асинхронку, но даже я сходу не смог бы придумать, как написать крестики-нолики, виселицу, шахматы и прочую поебень, которой учат во всех учебниках после второго урока. У меня эта часть мозга, как ты выразился, вообще не работает.
Так что завязывай с этой хуйней и приступай к проектам, которые делают что-то практическое. Напиши парсер вакансий с ХХ, сделай свой виджет для получения прогноза погоды, хуй знает.
163 2621101
Как скачать все webm+mp4 файлы из трена на дваче? Хочу скачать весь музыкальный тред
Если такой возможности нет, можно ли написать скрипт на пайтоне который это сделает?
164 2621106
>>21101
Можно.
image.png97x22
165 2621107
>>21101

>можно ли написать скрипт на пайтоне который это сделает


Ну а сам-то как думаешь?
166 2621108
>>21107
Запрос не существует.

Что это значит? Я только начинаю кодить, куда двигаться что бы это реазиловать?
167 2621115
>>21108
Если только начинаешь и не умеешь работать с апи, то сделай топорно, просто чтобы оно работало. Скачай страницу (хтмл), прочти его тупо как строку и выдерни оттуда все ссылки с окончанием mp4 или webm при помощи регулярных выражений.
168 2621116
>>21115
спс попробую
169 2621137
Короче, после многолетних сычеваний и дрочения теории и просто лени, я дошел до того, чтобы записаться на курс в практикуме. Не хотел до последнего, но выбора нет.
170 2621139
>>21115
https://paste.ofcode.org/aZ5k7GLQVP4Z6Dgyb84YeU
такая вот петрушка получилась, всё скачал :)
171 2621141
>>21107
Охуеть, не знал, что у харкача есть открытое апи.
172 2621145
>>21141
так вот как спамеры работали получается без капчи
173 2621146
>>21137
Чё за практикум?
174 2621147
>>21145
API не позволяет обходить капчу, иначе это было бы тупо.
175 2621149
>>21147
да, я имею ввиду когда капчи еще не было
176 2621150
>>21147
Купил пасскод или прикрутил опенсв для распознавания.
image19 Кб, 379x149
177 2621159
>>21150

> опенсв


Это просто макака у нас тут на дваче глупенькая. А можно было бы сделать так.
1 Прикручиваем капчу как на форчонге с ползунком в которую можно внедрить сколько угодно процедурных шумов и типы шрифта менять хоть каждый день в автоматическом режиме
2 Из за того что там ползунок двигать надо в сервис разгадывания не отправишь, чтобы обучить нейронку нужно самому неделю эти капчи разгадывать

Вот и всё ёпта. Пока ты неделю дрочишь капчи в ручную чтобы базу обучения собрать и потом ещё сутки у тебя нейронка учится (т.к. капча сама по себе сложная) ты меняешь шрифт и шумы в самой капче.

Анимач целый год какой-то школьник засирал вайпом что его даже закрыли на хуй на пол года и до сих пор там вайпает ингда. За это время у макаки не нашлось желания и небольшой горсти бабла чтобы нанять рандомного челика из этого ИТТ треда чтобы он всё сделал за сутки.
178 2621167
>>16755 (OP)
Синьёры архитекторы, объясните джуну, когда нужно юзать асинхронщину? Я спрашиваю именно про этап проектирования. Все вычислительные операции параллелятся на подах, тредами можно всю и/о инфу так же получить/записать через пулекзекьютор. Нахрена тогда все эти асинки, в душе не ебу, у нас на проекте их нет. Я знаю, что такое ивент луп и коррутины, и что это в плане синтаксиса проще написать евейт и не париться, но хотелось бы услышать от профессионалов, когда лучше архитектуру проекта делать полностью завязанной на асинк, а когда лучше просто всё по ивентам раскидать, а для и/о взаимодействий использовать треды?
Стикер63 Кб, 500x500
179 2621170
>>21137
пизда
за те деньги, которые хотят в хуяндексе можно весь юдеми выкупить
180 2621171
>>21139
Так а как ты через клаудфлару прошел?
181 2621173
>>21137

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


И что по твоему он должен тебе дать? Я лет 10 назад вкатывал в ойти своего родственника и я после пары дней тренинга сразу предложил идти на работу дал своё портфолио и рассказал о каком опыте работы напиздеть. Короч естественно первый месяц был пиздос, а потом всё раздуплился.

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

Единственное что тебе надо, это когда затуп найти выход из него и это должна быть реальная ситуация а не выдуманные примеры. А ни на каких обучениях этому не научат, а только если коллектив больменее нормальный попадется.
182 2621174
>>21115
https://pastecode.io/s/by6dp8r8
вот с api, заебался парсить json..
183 2621175
>>21171
хз, у меня всё так работает
2023-02-2407-14-04.png32 Кб, 653x898
184 2621183

>for i in range(len(data))



ебало вкатунов представили?
185 2621185
>>21173
Подтверждаю

Учу JS уже лет 6 наверное, 5-7 раз начинал и бросал через неделю-месяц, уже почти наизусть знаю основы, замыкания и прочую лабуду "по верхам", но практики маловато, в реакте том же и т.д, хоть и верстал разное с небольшими скриптиками. А практика это БааааааааЗаааааааааа, учишь - делаешь сразу проект/задачки что бы закрепить знания, вот так и сижу недо-джуном 5+ лет хыыыыы
диаграмма.png12 Кб, 603x453
186 2621188
>>21186 (Del)

>но суть та же.


>хуйню накодила и рада

187 2621193
>>21167
Асинкио это более эффективный способ утилизировать процессорное время для io задач. Такая вот замена всратым питонячьим тредам.
188 2621194
>>21183
Что не так?
189 2621195
>>21137

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


И что изменится? Проблема не в плохих курсах, а в тебе. Сколько ты решил задач за всё время? Должно быть сотни, тысячи. Сколько ты написал приложений? Должно быть десятки. Если ты этого еще не сделал, то тебе не помогут никакие курсы. Ты спросишь как же решать задачи и писать приложения если не умею. Просто берешь и делаешь. Тут работает метод "просто ввязаться в драку, а там видно будет". Придумай проект. Декомпозируй на мельчайшие задачи. Выполняй пошагово. Будь терпеливым, не бросай, не пытайся делать идеально, главное чтобы проект был закончен и он работал.
190 2621197
>>21195
Появится план, дедлайны и цели. Новички не могут придумать себе задачу, они даже не понимают что вообще реально можно делать. Курсы в этом плане могут дать значительный бурст.
мимо мидол, был в такой же ситуации когда учил англюсик
191 2621214
>>21139
>>21174
Для первого раза очень хорошо. Продолжай.
192 2621222
>>21197
Не, на самом деле придумать проект легко, просто людям лень, можно просто брать чужие идеи и делать копию, есть всякие паблик API и т.д, вся суть в гребаной лени
193 2621226
>>21222
Это ты с точки зрения своего опыта говоришь, а новички прост не знают, что такое вообще можно, они очень часто не понимают, чем вообще занимаются программисты.
194 2621245
>>21051
а что будет в Си? аксесс виолатион?
195 2621271
>>21167
Калі справа тычыцца сеціва і маеш шмат аддаленых хастоў. Каб не чакаць водгуку ад кожнага зь іх па чарзе.
english.PNG57 Кб, 948x577
196 2621280
>>21271
зачем?
197 2621293
>>21271
Это что за пиздец? Я почему-то всегда думал, что белорусский ближе к русскому, чем украинский, а твой пост нихуя не понял.
198 2621299
>>21296 (Del)
Рано ты выписался из дурки...
199 2621328
>>21293
Беларуская бліжэй за ўсё да ўкраінскай, але абодзьве аднолькава далёкія ад польскай і расейскай.
200 2621409
Где вообще хорошо почитать про бизнес логику и как организовывать приложения?
201 2621412
>>21409
Смотри другие проекты.
202 2621413
>>21412
Да об этом я думал, но хотелось бы на уровне теории и концепций почитать-посмотреть, что бы уже после и в других приложениях лучше понимать зачем они всё так распихивают.
Хотя я тут, как обычно, могу всё усложнять в своей голове в довесок
203 2621571
Прошёл курс по созданию бота. Вроде создал по курсу, вроде работает. Сел за своего с нуля и понял, что нихуя не знаю, лол.

Пошёл просто по документации, проверяя всё, что в ней написано на деле и дело сразу же пошло. Так уж и прихожу к выводу, что нафиг все эти курсы, сразу же надо идти в документацию. А потом можно и видео для примеров посмотреть или просто другие примеры с какого-нить гитхаба скачать
204 2621574
Курсы без заданий пустая трата времени, короче.
205 2621575
>>21571
Всё так.
Снимок.PNG19 Кб, 649x335
206 2621610
https://nn.hh.ru/vacancy/77144612
Вкатуны жалуются, что вакансий нет.
207 2621723
>>21681 (Del)
Это с какой?
208 2621742
>>21723
с Херсона
209 2621889
>>21742
>>21887 (Del)
Не знаю таких территорий в РФ.
210 2622186
>>21681 (Del)
>>21889
>>21903 (Del)
ЦИПСОшная нейросеть доской ошиблась и не там срет срачами?
211 2622195
>>21889
Да и ты соседнюю улицу в своём городе не знаешь.
212 2622221
>>21115
Когда кто-то парсит страницу с помощью регулярных выражений на планете открывается очередной портал в Ад.
213 2622256
Аноны, а как сделать чтобы объект класса при принте выводил в консоль определенную информацию print(obj)?
Стикер572 Кб, 375x375
214 2622284
Вот так работает:
if count:
if name not in users:
users[name] = {w+'_count': 0 for w in search_words}
users[name]['comments'] = []
users[name][word+'_count'] += count
users[name]['comments'].append(comment)

А вот так ругается на синтаксис второй строки, подскажите как её правильно написать:
if count:
users.setdefault(name, {w+'_count': 0 for w in search_words, 'comments': []})
users[name][word+'_count'] += count
users[name]['comments'].append(comment)
215 2622300
>>22284
if count:
users.setdefault(name, {w+'_count': 0 for w in search_words})
users[name]['comments'] = []
users[name][word+'_count'] += count
users[name]['comments'].append(comment
216 2622306
>>22300

>users.setdefault(name, {w+'_count': 0 for w in search_words})


>users[name]['comments'] = []


Ну это то же что и в первом примере, а объединить эти строки можно?
217 2622308
>>22306
Можно, разрешаю.
218 2622543
>>22519 (Del)

>для анализа данных на Python?


Дефолтный ответ - Jupyter поверх Anaconda. Всевозможные отклонения от него будешь изучать когда с этим разберёшься.
219 2622547
>>22519 (Del)

> Anaconda + Jupyter



Jupyter это уникальная среда разработки, идеально подходящая для постепенного пердолинга с чем угодно

Anaconda это гигантский дистрибутив питона с настроенной кучей говна доп. модулей
в том числе вместе с Anaconda устанавливается настроенный на работу Jupyter

> PyCharm, VS Code


если дефолтный веб-редактор тебя не устраивает, можешь настроить vs code в качестве редактора
пайчарм тоже можно настроить, но только платную версию, поэтому нахуй

https://code.visualstudio.com/docs/datascience/jupyter-notebooks
220 2622580
>>22551 (Del)

> что лучше - Anaconda или PyCharm


Anaconda - это средство установки и управления пакетами, при помощи Anaconda можно поставить jupyter и numpy.
PyCharm - это IDE, редактор кода, он не управляет пакетами.

> надо установить Anaconda и там уже будет Jupyter


Да.
221 2622589
>>22551 (Del)
А если сравнивать PyCharm и Jupyter, то гипотетически PyCharm в руках паверюзеров должен уметь больше.
Но 99% материалов для вкатывальщиков будет написано для Jupyter, потому я бы по началу не тратил свои ресурсы на PyCharm.
222 2622596
>>22589

> Но 99% материалов для вкатывальщиков будет написано для Jupyter


А какое это имеет значение?
223 2622610
Наноы, по поводу вот этой хуйни
def funk(var:str)->json:
pass

Если json, например, нет в документе, то такой код будет выводить ошибку. Т.е. такие аннотации надо в кавычках писать? "json"
224 2622615
>>22610
После стрелочки пишется тип возвращаемого объекта.
225 2622617
>>22615
Бля, спасибо за инфу чел. Тогда другой вопрос:
Если json, например, нет в документе, то такой код будет выводить ошибку. Т.е. такие аннотации надо в кавычках писать? "json"
226 2622626
>>22617
В каком документе? В питоне жсон представляется строкой, что проверить на это, пиши str после стрелочки.
227 2622830
>>22580
Чем PyPi от конды отличается?
228 2622903
Сап питонач. Взываю к адептам джанги. Пик 1 представление возвращает страницу с переменной pook = None, но если метод POST, то отрендерит pook = srionk. При обновлении страницы pook опять равен None. Как реализовать тоже самое с CreateView? Пробовал обновлять extra_context (пик 2), но в этом случае pook фиксируется значением srionk навсегда, а надо None при обновлении страницы. Возможным решением вижу оверрайд метода get_context_data() (пик 3), но не понимаю как бы ему передать новое значение pook.
229 2623054
>>22308

>Можно, разрешаю.


Как?
230 2623214
>>22903
CreateView имеет метод post, переопредели его. Ну ты уже наверное разобрался.
image.png13 Кб, 560x200
231 2623297
>>23214
Разобрался. Думаю ты понимаешь, что в реальности всё сложнее. Добавил возврат объекта в методе post, но столкнулся с проблемой задать id этого объекта в качестве инициального значения одного из полей обновлённой формы. На пике принт в консоль ожидаемый, а страницу рендерит без инициального значения и с ошибками необходимых полей. Ебанутое ооп. В виде функции уже давно бы всё сделал.
232 2623308
>>23297
Пиздос я тупой. Добавил пустую форму get_context_data и перестало ебать мозги.
2ch231.jpg95 Кб, 1295x591
234 2623447
Аноны, пытаюсь написать бота, и вот такая хня меня встречает TypeError: 'module' object is not callable
Што делать?? помогите пожалуйста
235 2623452
>>23447
Телебот это модуль, тебе из него нужно достать нужный класс. Наверняка он называется телебот, попробуй поменять импорт на фром телебот импорт телебот.
236 2623522
Аноны, как взять ключ из словаря и если его нет None? Get возвращает значение, а мне нужен сам ключ. If else слишком много места занимают, даже в одну строку.
237 2623549
>>23447
telebot.telebot(token) наверное. точно не скажу, ибо пишу не на нём бота. Но учитывая, какой ты импорт сделал должно быть как-то так.
Тут импортируй from telebot import (нужное)
238 2623553
>>23522
if key in dict.keys():
return key
else:
return None

как вариант, хотя хз что тебе нужно.
239 2623565
>>23553
хотя лучше просто проверять возвращает ли что словарь с этим ключём, если да, то возвращать ключ, если нет, то None, а не делать перебор через keys()
240 2623577
>>23565
Как сделать я прекрасно знаю, я искал решение для суперкороткой записи типа .get()

Вообще, если у меня переменная короткая, одна буква, питонически ли будет писать условие в одну строку?
"if n: return n"

Мне кажется это красивее и читаемей
чем
if n:
....return n
241 2623581
>>23577
Тернарники рак.
242 2623590
>>23581
Странно, я вот иногда смотрю всякие популярные библиотеки вроде requests и там всю дорогу сверху до низу всё на тернарных выражениях. Кто как не такие сверхпопулярные модули задают моду и формируют стиль для всего комьюнити. Так может это ты рак?
243 2623594
>>23425
если не парсишь хтмл структурно, то всё норм
244 2623598
>>23577
пеп8 не рекомендует записывать несколько инструкций в одну строку
245 2623605
>>23598
Это я знаю. А ещё пеп не рекомендует использовать """ для комментирования, но тем не менее это стандарт.
246 2623609
>>23605
этот стандарт прописан в пеп257:
https://peps.python.org/pep-0257/

> For consistency, always use """triple double quotes""" around docstrings.

Стикер512x512
247 2623616
Питоны, подскажите название нейросети, если такая есть, которая может по образцу голос скопировать. Гуглил долго и нашел только одну такую нейросеть от российских (вроде бы) разработчиков, но они в целях безопасности убрали из открытого доступа возможность тренить. Оставили только какого-то обглоданного телеграм бота, который несколько голосов из популярных видеоигр копирует.

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

Я если что не мошенник какой, у меня просто есть давнишняя мечта сделать озвучку одной моей любимой актрисы озвучания. Короче мне сугубо для себя нужно и для общего развития.
248 2623639
>>23522

srenk = 'pook' if 'pook' in somedict else None
249 2623661
>>23639
Именно заместо такой конструкции я и хотел что-то покороче. Ладно забейте.
250 2623669
>>23577
сделай свой dict и переопредели .get?
251 2623683
>>23447
>>23452
>>23549
нужно было, оказывается, вызвать конструктор класса а не модуль
bot=telebot.TeleBot
НОООО ТЕПЕРЬ ПРОБЛЕМА В ДРУГОМ
когда я через python main.py запускаю программу, то терминал отказывается работать
чо это вообще такое???!!!!
как быть, Аноны?
Screenshot5.jpg18 Кб, 446x266
252 2623694
>>23683
бота нужно через bat.ник запускать лучше всего. там и ошибки во всплывающем окне нормально выписываются.

А по телеботу даже не подскажу. иди их документацию читани. Ты кажется начал polling ещё до запуска бота физически.
253 2623695
>>23661
короче уже невозможно. только завернуть в функцию. но это петушиный поступок
254 2623702
Аноны, это нормально запихивать простую функцию внутрь конструктора класса? Просто мне эта функция вообще больше нигде не нужна кроме этого места и более того я не хочу чтобы она была в наследниках.
255 2623709
>>23694
ну и я посмотрел, никакой особой документации по телеботу хорошей реально нет, видимо какая-то мелкая примитивная библиотека. на гитхабе последнее обновление было в 2021, если я ничего не путаю, лол.

Выкидывай этого телебота в помойку, это дохлая библиотека и смотри другие. Тебе по ней даже подсказать никто ничего не сможет, никто не пишет.
256 2623714
>>23709
Спасибо тебе большое анон. Телебота за борт
257 2623720
>>23714
Пиздец. Телебот буквально двухкопочный модуль. Даже мая бабуля разобралась бы, а она 20 лет как на том свете. Там синтаксис буквально в одно предлоджение умещается лепи декораторы а всё остальное - обычная приложуха на питоне.
258 2623724
>>23720
Как и во всех остальных библиотеках, строго говоря, если тебе ничего кроме message_handler не нужно.
259 2623725
>>20355
При чтении этого языка мне сразу представился гидроцефал, который крипово акает, ыкает и цыкает
260 2623731
>>23720
Анон, я только сегодня для себя это открыл, отсюда и такие вопросы. Ща буду пытаться вникнуть в это с помощью ютубчика и чего-то простого для начала
261 2623732
>>23725
Так и есть, строго говоря, другой человек не будет со своим языком лезть на форум, где на нем не общаются. Мы же не заваливаемся в технотематику форчонга и не начинаем отвечать там на русском.
262 2623760
>>23702
для твоих целей может быть нормально. но если от этого конструктор превращается в говнище - вытащи наружу или назови с подчеркивания
263 2623790
>>23760

>назови с подчеркивания


А что это дает?
Я пробовал называть - метод так же наследуется и вообще во всем ведет себя как любой другой метод.
264 2623800
>>23790

просто конвенция такая в pep8. в питоне нет понятия private бай дизайн

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

для твоего случая есть даже две конвенции:
1) внешняя функция начинающаяся с подчеркивания

> _single_leading_underscore: weak “internal use” indicator. E.g. from M import * does not import objects whose names start with an underscore.



2) манглинг имён, префикснутых двумя подчеркиваниями

> If your class is intended to be subclassed, and you have attributes that you do not want subclasses to use, consider naming them with double leading underscores and no trailing underscores. This invokes Python’s name mangling algorithm, where the name of the class is mangled into the attribute name. This helps avoid attribute name collisions should subclasses inadvertently contain attributes with the same name.



вот тут по слову underscore поищи:
https://peps.python.org/pep-0008/
265 2623812
>>23794 (Del)
Ты хуйню написал, чел. Извинись.
266 2623817
Как лучше и надежнее всего выковырнуть имя файла из ответа в реквестс headers. Ключ 'content-disposition', есть "filename=" но часто бывает разножопица, то пробел лишний подставят то точку с запятой. Без регулярок может есть решение в модуле os например или в самом реквесте?
267 2623860
>>23817
найти парсер хедеров?
268 2623864
>>23860
Я и сам его могу написать. Я спрашиваю какие есть решения в реквестсе для этого.
269 2623898
Анон, такое дело. Пишу тестовое на сборщика серверов, и там в том числе такой вопрос.

> Поясните в двух словах конструкцию на Python (и что она выведет в интерпретаторе):


> map(lambda m: m*m, filter(lambda m: m < 4, [1,4,5,10]))


Хер знает зачем мне это пригодится знать, но судя по вопросам - они их дернули просто из интернета и присылают всем. Что на это можно ответить? Может ли кто-нибудь расписать?
270 2623903
>>23898
Какая конкретно часть тебе не ясна?
271 2623909
>>23903
Я не программист, но похоже вся часть. Погуглил чуть и предположу следующее - берем из массива все числа меньше 4 (в нашем случае это только 1), и возводим в квадрат (m*m)
Map похоже ничего не выдает, если работать через print(list()), то мое предположение как будто сходится, если увеличиваю 4 до 11, то вывод - все эти числа, возведенные в квадрат.
272 2623914
>>23909
Точнее map выдает, но ничего осмысленного для меня.

><map object at 0x000002427ED5F240>

273 2623916
>>23914
Пиши так. Эта конструкция возвращает генератор, который последовательно просматривает элементы списка (1,4,5,10) и если элемент меньше четырех - возвращает его квадрат.
274 2623920
>>23914
Оберни в лист и будет осмысленно.
275 2623927
>>23916
>>23920
Спасибо за оперативный ответ! На удаленном сервере у меня питон2, он выдает квадраты в изначальном виде. На вин машине дома питон3, он выдает про map object. Распишу подробнее обе ситуации им.
>>23916
Что такое генератор в моем случае, можешь в паре слов расписать?
>>23923 (Del)
>>23920
Как обернуть в лист? Подскажите не программисту, и так все мозги сломал об эту конструкцию, не хотел показаться итт тупорылым, который даже не смог в гугл.
276 2623928
>>23927

> в изначальном виде.


Подразумеваю - в правильном виде.
277 2623933
>>23927
А ну да, все правильно я выше написал print(list()).
278 2623934
>>23927

>Что такое генератор в моем случае


Это такой объект, который выдает значения по запросу итератора. тебя же просили в двух словах, а ты уже углубляешься в итераторы.
279 2623940
>>23934
Ну я для себя уже. Там количество всратых вопросов и так зашкаливает, но вдруг заострят внимание на этом вопросе.
Еще раз спасибо за ответы!
280 2623943
>>23939 (Del)
Да конечно по верхам. Я говорю - изначальная вакансия - сборщик железа, хз зачем там питун нужен.
281 2623968
>>23903

>Какая конкретно часть тебе не ясна?



обожаю русский язык в онлайн-переписке. задаешь вопрос, а как будто одновременно харкаешь вопрошанту в ебало
282 2623972
>>23800
Круто, а что на счет переменных. Вот я сейчас называю особо важные переменные, те которые используются в более чем одном обьекте с нижнего подчеркивания, чтобы с первого символа себе сигнализировать - это важная переменная, следи за ней ничтожество, а константы я называю _ВОТТАК что это вообще трогать нельзя.
Всё правильно делаю?
283 2623975
>>23968
Ещё можно в конце предложения добавлять "Ещё вопросы остались?" как бы ментально передавая сообщение типа "ты - тупой чтоли, чего не понятно?"
284 2623976
>>23972
ты всё делаешь не по пепу
https://peps.python.org/pep-0008/#descriptive-naming-styles
285 2623982
>>23972

>а константы я называю _ВОТТАК что это вообще трогать нельзя



это просигнализирует о том, что это внутренние константы. их не будет импортировать их через импорт звездочкой
с семантики "важных" переменных проиграл. назови уж very_important_number_of_apples, хуле
1588034954130170103.jpg56 Кб, 497x318
286 2623983
>>23972
делай как тебе удобно, а если будешь кому-то код показывать просто поставь литер и жмякай его когда нужно
287 2623987
>>23976
Константы в пепе большими буквами рекомендуют писать, а то что нижнее подчеркивание это weak internal use indicator это вообще бимба и как-то нелогично.
Во первых нижнее подчеркивание сразу бросается в глаза, во вторых оно редкое и по этой причине выделяется. МАГИЧЕСКИЕ методы начинаются с подчеркиваний, что как бы демонстрирует их важность.
Для меня совершенно логично что нижнее подчеркивание в начале переменной это сигнал о важности.
288 2623991
>>23984 (Del)
непопепер это кто именно? у кого не по пепу или кто другим говорит, что у них не по пепу?

просто при всех "безобидных" отклонениях от пепа, андерскоры таки влияют на поведение интерпретатора и линтеров в иде. важная переменная является НЕВИДИМОЙ переменной в пичарме, то есть имеет прямо противоположное значение
289 2624002
>>23987
ну для себя как хочешь пиши, кто запрещает-то. но жизнь заставит писать по пепу всё равно

>Для меня совершенно логично что нижнее подчеркивание в начале переменной это сигнал о важности.



хм. а для меня андерскоры всегда сигнализируют - "я костыль", "я тут временно", "я метаданные", "меня зарефакторят" и т. д. в любых языках
290 2624009
>>24002
Ну да, видимо придется, we live in a society. Разные стили письма "для себя" и "на показ" это не практично. А жаль.
291 2624025
>>24002
Получается все временные переменные, например в циклах, надо называть с нижнего подчеркивания, показывая что они мусор?
292 2624038
>>24025
так они не мусор

мусор только подчеркиванием называют:

> for hours, minutes, _ in timestamps:

293 2624053
Правильно ли я понимаю, что async - это такая обёртка над epoll?
Снимок экрана 2023-02-26 224743.png50 Кб, 686x361
294 2624136
Сап двач

Изучаю джангу , и наткнулся на пикрил. Подумав немного пришел к выводу что метод наследуется из models.Model . Но тут вопрос , почему именно choice_set? Так совпало или models создает classname_set метод для каждого класса внутри себя?

P.S В учебнике инфы не нашел, но ссыль оставлю:
https://django.fun/ru/docs/django/4.1/intro/tutorial02/
295 2624139
>>24136
Речь идет про
q.choice_set.all()

фикс
Снимок экрана 2023-02-26 225405.png28 Кб, 632x214
296 2624142
>>24139
фикс x2
297 2624143
>>24136

> models создает classname_set метод для каждого класса внутри себя?


Да.
298 2624149
>>24143
А где про это инфу найти?
299 2624201
>>24149
В документации про related_name или related object

>>24142
Конкретно здесь у тебя нет связки Question и Choice, поэтому будет ошибка
300 2624202
>>24201
Так ты не видел его чойс модель, откуда ты знаешь, что связи нет?
301 2624298
Домой приду скину Choice модель
302 2624330
Такое ощущение что чат гпт пересадили сейчас на ограниченные ресурсы или старую версию, пошел тупняк в сравнении с тем как он решал еще вчера-позавчера.
303 2624373
>>24298
>>24202
>>24201
>>24143
А разве это не model manager делает, который и object создает? Можно и свой кастомный менеджер сделать.
304 2624497
Аноны как питонически всего проверять есть ли переменная. Рабочая среда ЮПИТЕР, там если не перезагружать всё (что разумеется никто не делает) переменные могут с прошлой недели лежать в ячейках. Возникла необходимость написать разные скриптны именно для организации рабочего пространства и нужно проверять есть ли переменные.
1 if 'name' in locals как то не очень красиво.
2 try: вообще плохо, потому что в except приходится писать pass а это режет глаз.

Как быть?
305 2624535
>>24202
Обосрался, признаю
306 2624569
Аноны, подскажите в какую сторону двигаться.
Проект по крипте, нужно анализировать лимитные заявки в стакане на разной глубине. Каждые 15 мин в бд добавляються новые данные и это нужно проанализировать и найти всплески заявок по обьему за сутки.

Я думаю это в сторону ml, но может кто-то имел дело с похожим кейсом и посоветует либы / что почитать
307 2624652
>>24569
Погугли формулу случайного блуждания (ту, что с квадратным корнем) и найди себе работу настоящую уже.
308 2624670
>>24652

>каждые 15 минут


Расхождение будет большое.
7e5ab3f6a035b65fca9ba36026fb0cdd.jpg39 Кб, 500x261
309 2624793
310 2624828
>>24652
>>24670
Спасибо, сейчас посмотрю.
Мне нужно что бы кумулятивно данные накапливались в течении суток и новые данные сравнивались с предыдущими. На сколько большие там отклонения
311 2624917
>>24828
Нашел еще немного инфы, по теме: pycaret, timescaledb
Если можете подкиньте еще идей
312 2625009
Господа, помогите! Кровь из носу надо до завтра, выж программисты.
313 2625092
>>25009
Может тебе еще и лампочку вкрутить?
image11 Кб, 300x182
314 2625093
>>25009
Написал решение, но телефон разрядился. не могу отправить.
316 2625134
>>25130 (Del)
ну я попрактиковался а он сам виноват что даже не пытался
317 2625136
>>25009
https://ideone.com/MARkye
Для остальных задач точно такой же код, только разное условие в 8 строке
Для 4 - num % 3 == 0 and num % 10 == 1
Для 6 - not num & (num - 1)
318 2625142
>>25137 (Del)
Смотря для кого. Я например только начал учиться, благодаря шестой задаче узнал о бинарных операциях.
>>25136 кун
319 2625267
Посоветуйте, пожалуйста, интересный учебник для начинающих, доступный даже школьнику
320 2625275
>>25267
Страуструп
321 2625280
>>25267
стаковерфлоу
322 2625440
>>25267
Майкл Доусон - Программируем на Python
Пэйн - Python для детей и родителей
Бесплатный курс Яндекс-практикума
323 2625625
>>25275
Труп страуса.
324 2625859
Привет, питонач.
Есть список словарей
a = [{'key1': 'value1'}, {'key2': 'value2'}]
Есть код с функцией, которая должна возвращать значения словарей.

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

В принципе всё работает, но мне очень не нравится то, что в декораторе геттера аргументы *args раскладываются на кортеж (self, arg) и соответственно декоратором я указываю срез аргументов, который мне надо вернуть.
Посмотрите код и по возможности ткните, чтобы избавиться от костыля.
http://tpcg.io/_QXAMHE
Спасибо.
325 2625897
>>25859

убирай декоратор, он тут не нужен
image.png119 Кб, 1217x924
326 2625980
>>16755 (OP)
Я учусь писать телеграм бота, использую библиотеку aiogram 3 и столкнулся с такой ошибкой. Гуглить не получается, в документации вроде так же написано как и у меня. Прошу помочь анонов, что я сделал не так? Как сделать чтобы работало?
327 2626132
>>25859
listed_emoji ты сам заполняешь? Если да, то говно сделал. Делаешь обычный словарь со значениями и мозг не ебёшь. Если нет, то все равно говно сделал. Слей свои массивы словарей в один и делай то же самое

Если ты практикуешься писать классы, то убери декоратор и прямо в своей функции сделай decode. Ты вызов одного метода декоратором обернул зачем-то

Если ты практикуешься писать декораторы, то принимай первым аргументом в декораторе self, а вторым остальные аргументы. Но пример такой себе для обучения
328 2626220
>>25980
Учись читать ошибки, учи английский язык. У тебя синтаксическая ошибка.
image.png81 Кб, 1134x828
329 2626308
В чем причина ошибки?

Появляется в большинстве онлайн интерпретаторов почему-то, но в некоторых, например https://www.jdoodle.com/python3-programming-online/ - нет...
?
330 2626322
>>26317 (Del)
Спасибо, понял!

Кстати, у меня почему-то ideone.com не открывается. Проверил по isitblockedinrussia - вроде должен работать нормально...
Кто ещё сталкивался?
331 2626395
>>26322
Потому что Россия его не блокировала, а они заблокировали Россию
332 2626589
>>26132
>>25897

>сам заполняешь


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

>ты практикуешься писать классы


Да.

>ты практикуешься писать декораторы


Да.

Про код: переделал.
Заполнил список тремя элементами: двумя рабочими и одним, который явно вызывает эксепшн. Определил ошибку.
Переработал также сам декоратор, но загвоздка, аноны вот в чём.
В списке словарей listed_emoji словарь должен иметь тип значения именно байты(строки 25, 27), иначе эксепшн. Я понимаю, что можно это было сделать декоратора, наверное, но при любой попытке даже None не возвращается.

>def get_emoji(self, utf_code: str):


>----return bytes(utf_code, 'utf-8').decode('utf-8')


Поэтому я был вынужден сделать костыль-декоратор.
Какие советы? С удовольствием послушаю.
http://tpcg.io/_BGPPBL
333 2626607
>>26220
пайчарм не подчеркнул ошибку, потому что её там нет, тут проблема в другом
334 2626611
Какое IDE с дебаггером поставить ньюфагу?

Пайчарм?
335 2626619
>>26607
Интересный экземпляр инфузории с зайчатками. Продолжаю зоонаблюдение. Вдруг откроет для себя, что пайчарм — это ПО, а не человек.
336 2626621
>>26611
Ну да.
337 2626634
>>26619
Так ПО умеет различать синтаксические ошибки
338 2626637
>>26634
Вот честно хотел тебе написать, в чём твоя ошибка, но ты туп, непробиваем и вздорчив. Пользы тебе от ответа не будет.
мимо
339 2626642
>>26637

>>Учись читать ошибки, учи английский язык. У тебя синтаксическая ошибка.



>>Вдруг откроет для себя, что пайчарм — это ПО, а не человек.



Ты не хотел мне подсказать, ты просто тролишь меня
340 2626658
В чём смысл мультисловарей?
{'name': 'Abu', 'order': 'primates', 'species': 'macaca radiata'}
Как по ним итерировать, если допустим таких json много и они записаны в список?
Допустим, если значения одинаковы для всех словарей внутри списка, то несложно пройтись маппингом
a = [{'name': 'Abu', 'order': 'primates', 'species': 'macaca radiata'}]
names = list(map(lambda x: x['name'], a]
и тд
А, если каждый словарь содержит разные ключи?
Изучать их перед итерацией?
image.png37 Кб, 300x168
341 2626785
>>26637
Извени меня анон, я был не прав, а ты был прав. Спасибо что подсказал
342 2626891
>>26611
pycharm community edition альбо VSCodium з плагінамі.
343 2627089
>>26658
for key, item in {--------}:
----tralala huy=sosi
344 2627179
>>26658
шиза
345 2627436
Анон, пытаюсь написать телеграм бота по докам. Столкнулся с пикрил ошибкой, интернет и гугл истыкал - не понимаю в чем дело. Алсо почему импорт телеграм серым?
346 2627450
>>27436

>Алсо почему импорт телеграм серым


Чел, ты сначала хотя бы в основах разберись, потом берись за написание ботов.
347 2627576
>>26589
Декоратор - это сахар. Все, что можно сделать там, реализуемо и в обычной функции

> В списке словарей listed_emoji словарь должен иметь тип значения именно байты(строки 25, 27), иначе эксепшн. Я понимаю, что можно это было сделать декоратора, наверное, но при любой попытке даже None не возвращается.


В функции сначала проверяешь свой ключ как тебе хочется, и в случае ошибки возвращаешь None. Только потом делаешь декодирование
348 2627667
>>27436
судя по ошибке, класс Updater получил лишний аргумент token
серым потому что импортировано, но в коде не используется
Безымянныйgfshsdgh.png46 Кб, 1090x721
349 2627702
Почему не работают таймауты как думаете? Не асинхронная версия проксичекера работает, а асинхронная проскакивает по списку вообще не ожидая ответа, хотя должна эту 21 секунду ждать.
image.png490 Кб, 681x383
350 2627726
Сап джангисты. Имеется строка БД, содержащая некоторое дерьмо и дату сохранения. Имеется UpdateView без защиты от условий гонки. Хочу сделать сравнение даты сохранения в БД на момент загрузки страницы (дата1) с этой же датой на момент отправки данных (дата2). Если даты различаются, сохранения не происходит, а юзер получает хуй свежее дерьмо из БД. При совпадении, заливание говна. Обе даты извлечь в get и post запросах получается, но только по отдельности.

Внимание, вопросы: Куда бы сохранить дата1 в UpdateView? Атрибуты класса затираются при новом открытии страницы, как и extra_context (вообще не предназначенный для таких вещей). Как ещё можно избежать условий гонки, если я какой-то хуёвый способ выбрал?
351 2627732
>>27726
Еяптп, сделай два таймфилда, у одного параметр автоэдд, у второго автоэдднау. И тогда во второй автоматом будет апдейттайм записываться.
352 2627746
>>27732
Не понял тебя. Как двумя полями избежать гонки?

>auto_now_add


Это только про создание объекта. В моём случае работа с уже существующими.

>auto_now


Это уже есть, дата сохранения. Проблема в том, что Юзер1 загрузил страничку, пошёл кофе хлебать. Юзер2 тоже открыл, обновил данные. Юзер1 вернулся, не увидел изменений, затёр своим дерьмом испражнения Юзера2.
353 2627768
>>27746
А как это ещё работать должно? Или ты хочешь данные через сокет рефрешить?
354 2627782
>>27768
Сокет не доступен по техническим ограничениям. Не вкурил логику реализации этого на уровне модели. Возможно, я не правильно понимаю поведение методов auto_now и auto_now_add.
355 2627786
>>27782
Для сокетов есть джанго ченнелс. А так, я не понял, что тебе нужно-то в итоге. Опиши ожидаемые процессы.
356 2627790
>>27786

>Юзер1 загрузил страничку, пошёл кофе хлебать. Юзер2 тоже открыл, обновил данные.



Нужно, чтобы Юзер1 получил данные, внесённые Юзером2 при попытке сохранения своих правок.
357 2627796
>>27790
Ну можешь отправлять запрос, в котором помимо введённых данных будут лежать ещё и изначальные данные, полученные при загрузке страницы, сверять данные в бд с отправленными изначальными и на основе этого уже писать свою логику.
358 2627800
>>27796
И ведь правда, можно добавить транзитное поле формы, получающее дату на момент загрузки страницы и передающее её для сравнения в метод post. Спасибо анончик.
359 2627801
>>27790
Автообновление прикрути через жс.
360 2627803
>>27801

>жс


Иди смузи наверни.
361 2627805
>>27801
Это надо челу надо либо сокет прикручивать, либо долбить сервак реквестами ежесекундно, что полная хуйня.
362 2628073
Одно время я пользовался шеллом Питона как калькулятором. Но меня очень заёбывал его нестандартный подход к делению и округлению..
Напомните, плиз, чем он отличается от общепринятой арифметики

Там что-то вроде маняокруглений в духе 4.35 - это 4.3, или в духе непонятных округлений при делении из-за особенности обработки float...

Я просто давно не пользовался питоном, и позабыл совсем.
image.png4 Кб, 193x228
363 2628075
>>28073
Попытался сейчас нащупать сабж, но то ли они что-то поменяли в последних версиях третьего питона, то ли я не там ищу...
image.png78 Кб, 1388x423
364 2628077
>>28075
>>28073
Всё, нашёл
Округление

> round (2.55, 1) даст 2.5 а не 2.6



Но почему эту залупу не фиксят?!
image.png2 Кб, 286x90
365 2628086
>>28077
Неужели это единственный воркараунд? Пиздец же какой-то...
366 2628094
Тут есть сетевые инженеры? Мне нужна помощь со связкой контейнера в GNS3 на котором будет питон
image.png171x42
367 2628114
>>28086
Ну если с округлением все ещё понятно, просто функцию напишу, то как быть с делением?..
368 2628186
Аноны, задача блин.
Джва словаря в обоих ключи - строка.
Как соединить эти словаря и в один, не меняя два предыдущих и при этом в ключи одного из них добавить пару символов.
И всё это надо сделать в одну строку!11

У меня только в две строки получается и та довольно длинная.

new_dict = dict(old_dict_1)
new_dict.update(map(lambda p: ('addstr '+p[0], p[1]), old_dict_2.items()))

Как в одну сделать?!
image.png4 Кб, 948x28
369 2628200
370 2628203
>>28186

зачем тебе куча говна в одну строку
sage 371 2628204
Это нормально что в SICP Python вообще нет упражнений, в отличие от оригинальной книги?
372 2628212
>>28077
Есть разные виды округления, в том же round ты можешь выбрать нужное, гугли
373 2628215
Дайте подсказку как решить
https://www.codewars.com/kata/54521e9ec8e60bc4de000d6c/train/python

Решаю двумя циклами (и то ответ кажется не правильный) получаю timeout (слишком медленно)

https://paste.ofcode.org/QC8ktVvDtNCusQq4BEMUhK
374 2628222
>>28215
Поиск локального максимума
375 2628230
>>28215
просто идёшь по списку и суммируешь всё и проверяя больше ли новое значение максимального имеющегося или нет, если да, то заменяешь max_sum новым значением.
Если упало меньш 0, то просто обнуляешь новую сумму.

Наипростейшее задание для пятой каты с которым сюда постоянно приходят
376 2628233
>>28222

>Поиск локального максимума


Допустим я их нашел а что дальше?

>>28230

>просто идёшь по списку и суммируешь всё


Как понять? Какие границы суммирования?

Бля ну почему я такой тупой, отдохну пока...
377 2628235
>>28233
Граница пока число не падет меньше нуля. С этого момента типа отсекаешь этот участок, ставишь значение снова на ноль, будь там -1 или -100 и снова начинаешь подсчёт.
378 2628260
>>28235
>>28222
>>28230

Спасибо получилось!
Когда перечитал задание оказалось что я его не совсем правильно понял.
379 2628527
>>28212
Ничего подобного. Единственный параметр, который ест round, это сколько цифор после точки ты хочешь.
image.png16 Кб, 1087x233
380 2628767
Купил курс Python-разработчик, отвалил 200к, теперь жду, что из меня сделают востребованного специалиста и я на изичах залечу на рынок. Всё правильно сделал?
381 2628780
Стикер63 Кб, 500x500
382 2628783
>>28767
пчел, за 200к можно обмазаться турецкими кредитками с платисру и выкупить пол юдеми
383 2628833
>>28767
Ты ещё ждать три недели будешь?
Я за это время на Степике изучил язык с нуля до приемлемого уровня решения кучи задач (с этого же степика).

Ну а ты получишь пенис на нос.
384 2628834
Палю годный бесплатный курс быдлу
https://stepik.org/course/100707/syllabus
385 2628907
>>28834
Ну и где твой годный курс?
sage 386 2628912
>>28834

>быдлу


>штепик


Ору с этих инфузорий.
387 2628923
>>28780
Вот и я тоже так думаю!

>>28783
Но зачем мне юдеми? Юдеми это просто видеокурсы, а тут обратная связь, кураторы, менторинг, тестовые собесы, практика на реальном проекте, социализация в конце концов.

>>28833
Степик уже прошел, этот курс предполагает, что базу питона ты уже знаешь, начинаешь сразу с джанго. Три недели буду читать Лутца, Доусона и Мэтиза.

>>28834
Хуйня, видеокурсы априори говно.
Поколение Python (начинающий + продвинутый) топ. Единственный минус - вообще нет ООП.
Freecodecamp 388 2628980
Что думаете о курсах Freecodecamp по Python?
389 2629032
>>28980
курсы не нужны. просто читай документацию с сайта питона.
390 2629083
>>28144 (Del)
Ебало завали свинья
391 2629172
>>28094
Зачем тебе сетевик для этого?... Тебе нужен системщик.
392 2629190
>>18871

>У Джанго отличная документация


Ну-у... Сколько ни читал, один вопрос так и не получил ответа.
В джанге создаётся проект, а внутри проекта - приложения, но зачем так сделано и как разделять приложения внутри проекта - хуй проссышь. Я лично считаю, что единственный смысл разделять приложения это чтобы они запускались в отдельных контейнерах как микросервисы, но и проекты тогда будут разные.
В документации дохуя всего, оно подробное и т.п.
Но ни там, ни в примерах в интернетах я так и не нашёл разъяснений.
393 2629191
>>18846
Вот, кстати, неплохая штука. Там не то чтобы всё необходимое, но вкатиться можно прям с нуля.
https://tutorial.djangogirls.org/ru/
394 2629196
>>18972
В то, что интересно. Разработка (как и большая часть IT) это такая хуйня, в которой тебе должно быть интересно, это 30% успеха. Ещё 50% это постоянное, ПОСТОЯННОЕ, БЛДЖАД, саморазвитие. Оставшиеся 20% - предрасположенность.
Ну и есть одно отдельное требование, оно, так сказать, булево - либо 1, либо 0 и на этот параметр нужно умножать те проценты. Умение доводить начатое до конца даже если заебало.

Это я всё к чему... Если тебе ничего не интересно, то, возможно, программирование это не твоё.
Нужен огонёк в глазах, нужно, чтобы тебе хотелось что-то реализовать.
395 2629268
>>28923
ну хуй знает
есть авторские курсы на курсере, юдеми, степике с минимум воды. а срань за 200к будет состоять на 90% из ненужного материала
396 2629310
Ищу расширение для VScode которое рисует объект в виде дерева.
Что-то типа object explorer в вижуал студии, только графическое. Есть такое?
397 2629314
>>29310
есть
398 2629324
>>29314
Тогда скажи как оно называется, пожалуйста.
399 2629329
400 2629342
>>29329
И нахуя ты отвечаешь? Почувствовать своё "превосходство", чёрт?
Стикер63 Кб, 435x417
401 2629419
>>29342
ууу, вот ето бахнуло
402 2629465
>>29196

>Нужен огонёк в глазах, нужно, чтобы тебе хотелось что-то реализовать.


Работает только для джунов, потом приходит понимание понимание зачем ты все это делаешь
403 2629557
>>29190
как делать приложения на фреймворках это только опыт + попутное изучение других проектов.
пока изучаешь, то нифига непонятно, как начинаешь свой проект делать, то начинаешь доходить
404 2629579
>>29419

>мам, я его затроллил, смотри, затроллил!!11

Screenshot116.png13 Кб, 789x233
405 2629631
Сап двач , как сделать виртуальную среду venv в папке ? Хочу сделать простого бота в тг . Я захожу в папку для бота (На рабочем столе) открываю powershell данной папки и пишу python -m venv my-venv , но нихуя
406 2629637
>>29631
Через пайчарм сделай и не еби мозг.
Screenshot117.png4 Кб, 172x141
407 2629653
>>29637
Спс, но что выбрать?
408 2629654
>>29653
Мои 1\5 нейрона смогли догадаться
Screenshot121.png146 Кб, 916x348
409 2629676
Я сделал , действительно всё установилось , но как теперь мне активировать и чтобы всё было так-же , а то у меня нет библеотеки aiogram
410 2629698
Джва года кодил для себя, учился. Кодил всё свободное время, скрипты программы прилажухи для повседневных нужд и хобби, тут сайт спарсить, тут собрать все данные с дисков и отправить на бэкап на хостинг, братишка попросил бота сделать, для 3д графики, таблиц всякие штуки, и т.д. и .т.п.
И вот я джва года этой хуйней страдал и угорал, а теперь оказалось что всё это время я занимался ФУНКЦИОНАЛЬНЫМ программированием, потому что считал классы говном без задач.
Пол года назад дай думаю как все стану, посмотрю что это за ООП ваше хваленое.
Теперь без классов и структуры данных не могу ничего кодить, хочется ещё и всё старое переделать по-новому.
Всё таки хоть ООП это изначально концепция для бизнеса, но таки человеческий разум мыслит абстрактно-объектно. Гораздо проще продумывать логику таким образом.

Из минусов - код в ООП разсирается в джва раза, то что я раньше бы написал на 200 строк теперь занимает 500. ну и эти сраные self и cls везде жудко бесят. Только места занимают и код от них пестрит, можно же было их хотя бы в одну букву сделать.

Держу в курсе.
411 2629790
>>29698
Ты уверен, что то, чем ты занимался, это функциональное, а не процедурное программирование?
412 2629795
>>29676
Значит ты в пейчарме запустил интерпретатор не через это виртуально окружение. Тоже такие проблемы было. Создай ещё файл питона обычный и когда открываешь проект через питон смотри внимательнее что он делает, а то он снова создаёт вирт. окружение или использует глобальный интерпретатор
413 2629810
>>27702
Залогируй ошибки. except: return False это пизда, у тебя даже KeyboardInterrupt замаскируется.
414 2629864
Аноны, а срезы обычного списка по О нотации какие?

for e in list[1:]

Это пересобирает весь список по срезу перед итерацией или итератор по уму как-то скипает\стартует ?
415 2629877
>>29864
Пересобирает в новый список. Аллокация + O(n).
416 2629883
>>29877
А ты точно не обосрался?

Вот тут пишут с пруфами, что итерация по списку даже не не O(n), а O(m) где m размер среза. Т.е. ничего не пересобирается, итератор просто возвращает элементы в количестве, равном срезу.
https://stackoverflow.com/questions/13203601/big-o-of-list-slicing
417 2629890
>>29883
Там же есть ссылка на исходник. Создается новый массив, в который копируются ссылки на объекты из индексов слайса.
418 2629891
>>29883
Я сначала тоже хотел ему поссать на голову, потому что не верил что в 2023 слайсы векторов тупо копируют контент.

Но погуглил и да, питон таки именно такое говнище, слайс листа сразу аллоцирует новый а не создаёт COW обёртку.

https://wiki.python.org/moin/TimeComplexity
Screenshot from 2023-03-04 21-23-29.png119 Кб, 756x724
419 2629897
>>29864
Вот так можно наговнякать ленивый срез, точнее итератор.

>>29883
Уважаемый обсиратель-обссыкатель, удосужьтесь сначала в REPL проверить тип и значение lst[1:].
image27 Кб, 1644x126
420 2629901
>>29891
>>29897

Тогда дальше объясняйте. Вот по ссылочке нарисовано O(k), k это как раз подмножество n т.е. k << n . Всё как и написано челами по этой ссылочке >>29883
Если бы срез пересобирал список было бы написано O(n + k)

Что я не так понял? Поясните твердо и четко.
421 2629902
>>29891

> не создаёт COW обёртку


Будет много разных типов обёрток, и gc не вычистит основной list если останется только обёртка.
https://mail.python.org/pipermail/python-dev/2008-May/079692.html

Опять школьники с энурезом считают что они умнее дидов и что в 2023 что-то там такое должно быть, что они видели в другом языке.
422 2629910
>>29901
Оригинал не пересобирается, только читается. Тебе нужно выделить память и скопировать k элементов. Не нужно оригинал пересобирать.
423 2629918
>>29910

>скопировать k элементов



Выполнил этот код:

data = ['1','2','3']
print(id(data[1]), id(data[2]))
for i in data[1:]:
....print (id(i))

Ссылки на объекты одинаковые т.е. никакой новой памяти и копирования не делается.

Что происходит?! Это я чего-то не понимаю или вы ?!
424 2629933
>>29918
Лист это массив со списком ссылок на объекты питоновские. При взятии слайса эти самые ссылки копируются в новый создаваемый массив, потому они и одинаковые. Что не ясно?
425 2629934
>>29901
Когда ты слайсишь то точно известно количество элементов в слайсе и место где лежат элементы слайса в оригинальном листе.
Выделяется сразу нужное количество памяти и копируются только нужные элементы.

>>29902

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



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

>>29918

>Ссылки на объекты одинаковые


Конечно одинаковые. В питоне нет велью типов.

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


В списке лежат ссылки на объекты, они и копируются в новую память.
426 2629956
>>29934
Не рвись, школьник. После дюжины попыток переизобрести мир, вернёшься и будешь спокойно писать на питоне дальше. И на GIL будет поебать, и на допотопную двойку и луддитов которые на ней до сих пор пишут, и на копирование слайса. Дидам ничего не сложно написать, сложно решить как будет лучше для всех, в этом конкретном языке.
image.png323 Кб, 427x604
427 2629992
428 2630001
>>29956

>школьник


Это твой единственный аргумент? Мне кажется рвёшься именно ты, если переход на личности случился в первом же ответе.

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


Зачем мне переизобретать что-то в пистоне? Это не моя работа. Буду спокойно писать на нём единственное для чего годен пистон - скрипты автоматизации на один экран кода максимум.
429 2630005
Как будто gil пиздец проблема языка. Есть форк питона без gil, бенчмарки в среднем показывают -10% и +10% с оптимизациями к производительности. Больше пользы от переписывания pvm или изменения модели работы с потоками, например через акторы. В последних пепах это обсуждали и в будущих версиях всё это может быть добавлено.
На обоссывателей и любителей покормить говном похуй. Инструменты для ускорения есть, если не нравится - пиши на с/с++/расте/жаве/жиесе. И на последующий вопрос "а нахуя тогда пистон нужен" такой же ответ - тебя никто не заставляет на нём писать, пиши на чём хочешь. И вообще надо выбирать язык под задачи, а не наоборот.
Пока есть задачи, которые можно решить на питоне, и за решение неплохо платят, питон будет нужен и вряд ли в ближайшие 5 лет что-то поменяется.
430 2630071
>>29891
Нагадаю вядомы спосаб стварыць копію ліста замест спысылкі:
new_list = my_list[:]
431 2630078
>>30001
ЧСВ поубавь, и всё нормально будет. Диды очень много годноты сделали, саму процедуру с PEP много кто перенял.

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



Примерно с таким намерением питон и создавался, максимально лёгкий для человека язык. Оптимизации это здорово, но пока никто ещё не преодолел дихотомию быстро для программиста/быстро для машины. Кое-как там новая волна компилируемых языков двигается, уже можно в расте писать .map .filter без потерь производительности, но пока ещё кардинальных изменений нет.
432 2630124
print( "{:10.2f}".format( x ) )

Наткнулся в учебнике по информатике. Оно убирает количество точек после запятой, оставляя 2.
Что вот это

>"{:10.2f}


это за дичь, и где найти документацию?
433 2630125
>>30124

>python old str format

434 2630126
Screenshot2023-03-0518-03-30.png58 Кб, 1068x370
435 2630693
Пожалуй продублирую вопрос и в этот тред.

Хочу отредактировать Gtk программу на пихтоне. Но возникла проблема, что подсказки и автодополнения для библиотеки pygobject не работают. Установил pygobject-stubs. Думал проблема c nvim пробовал pyright, jedi-language-server, python-lsp-server, sourcery, потом установил vs code и pycharm - та же хуйня.
Как заставить автодополнение pygobject работать?
436 2630815
>>30693
Надо чтобы .pyi стабы поддерживались лангсервером. И проверь заодно что они установились в site-packages/gi/repository. Или поищи через find где они там установились.
438 2630835
>>30815
Эта хуйня установилсь в site-packages/gi-stubs/repository. Переименовал в site-packages/gi/repository, в pycharm заработало. Осталось зарбраться почему в nvim не работает.
439 2631086
>>30835
Ну вот это меня и смутило, что там обычный пакадж в gi, с --init--.py, не namespaced package, которые задизайнены так, чтобы несколько пакетов могли насрать в одно пространство имён. Думал там через установщик это как-то решается, но видимо нет. Возможно некоторые IDE ищут соседний пакадж %-stubs. Я вообще живу без lang server, заебался их настраивать по каждому поводу.
440 2631319
Нахуя пишут микроприложения в ООП-стиле, где на каждый класс приходится по одному-два метода? По-моему это совершенно ненужное наслаивание абстракций. Проще и удобнее запилить это в функциональном стиле.
441 2631364
>>31319
Есть ебанашки, которые ВСЁ пишут в ооп. Возможно, выходцы из каких-то жаб или шарпов.
442 2631467
В сокет хочу присунуть на петухоне.

С чего начать???
443 2631578
>>31467
В стдлибе есть сокеты. Ну и в том же асинкио, если тебе йобу подавай.
ебать.png193 Кб, 413x390
444 2631807
>>31319
single responsibility principle
>>31364
я когда ООП попробовал, всё начал писать в ООП
хуй знает, оказалось это супер удобно и экономит время у будущего тебя и поддерживать просто, аноны не спездели
445 2631826
>>31807
Как начать писать в ООП?
ООП.mp41,2 Мб, mp4,
640x360, 0:30
446 2631844
>>31826
ну берешь и пишешь?!
447 2631858
>>31844
Но ведь зумер прав https://mostly-adequate.gitbook.io/mostly-adequate-guide/

мимо жс скуф
448 2631864
>>31858
Хотя поломанное оглавление как бы как бы намекае...
что.PNG363 Кб, 1350x1098
449 2631866
>>31858
лол
450 2631868
>>31866
>>31858
ебать, там еще половина разделов не работает
451 2631882
>>31868
Работает там все. Подзаголовки не жмакай прост. А книжка маленькая и хорошая
452 2631884
>>31882

>Работает там все.


>Подзаголовки не жмакай прост.


🤡
453 2631886
>>31884
Да да. Афтору было влом фиксить функциональный говнокод, а вот если бы менюшка была бы на принципах SOLID сделана, нужно было бы в одно месте повиксить, и все бы заработало аки часы!
454 2631887
>>31807

>single responsibility principle


У меня от тебя циклический импорт. S - это методология хорошего написания ООП кода, а не обоснование использование ООП-подхода.
455 2631889
>>31886
ну так видео где ООП как раз про ето
456 2631890
>>31887

>Нахуя пишут микроприложения в ООП-стиле


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


>single responsibility principle


не пиши, подумой
image.png27 Кб, 408x245
457 2632008
Есть ли в питоне/жюпитере готовый способ сделать то что на пике, то есть либо считать данные из файла, либо посчитать и записать в файл? То есть типа кеш с дампом на диск, но не для функций, а для переменных. Надоело в каждом ноутбуке это писать.
458 2632064
Почему в питоне 3 не работает управляющая(экранированная) последовательность \f?
Пик тоталли релейтед.

Использовалась дефолтная IDE пистона - IDLE. В онлайн интерпретаторах та же фигня, даже хуже.
изображение.png14 Кб, 843x149
459 2632085
>>32064
Это не поведение питона, это поведение конкретного шелла.
При том для управляющего символа под названием "разрыв страницы" поведение неадекватное. Не пользуйся таким.
460 2632087
>>31890
Еще раз. S - это прием из ООП. Ты оправдываешь использование ООП тем, что тебе надо применить прием из ООП. "Библия истинна, потому что так написано в Библии".
На что я могу парировать, что в ФП также есть принцип четкой сигнатуры у функции, что сродни S из солида.
461 2632089
>>32064
Терминал должен поддерживать эту хуйню. В линупсе должно работать.
462 2632091
>>32085
Проверил на винде 7 с cpython, проверил на винде 10 с дефолтным питоновским шеллом с оффсайта - один результат...

Что за среда\шелл у тебя?

думаю вот, как пофиксить у себя это, ну не перекомпилляцией же? К этому меня жизнь не готовила...
463 2632094
>>32089
Но ведь у меня не стандартный виндовый терминал, а вот эта белая залупа из стандартного пакета.

Как бы это на винде-то пофиксить?
464 2632103
>>32091
Если у тебя уже на этом этапе начинается какая-то хуерга, я бы тебе посоветовал тупо поставить прыщи и кодить под ними. Я сейчас не троллю, в линуксе реально гораздо удобнее кодить по одной простой причине - ты там тупо не встретишь никакую подобную дичь. Там все легче, начиная от настройки IDE и заканчивая докеризацией приложения.
465 2632104
>>32094
Зачем оно вообще тебе? Никогда не приходилось юзать за много лет.
466 2632109
>>32103
Двачую, когда пересаживался на линупс, сразу отпали вопросы типа: а это что делает, а это нахуя вообще нужно и т. д. И сразу вся неразбериха в системе закончилась.
Снимок экрана от 2023-03-06 23-06-17.png75 Кб, 1406x367
467 2632114
>>32091

> Что за среда\шелл у тебя?


Самый дефолтный bash в терминале гнома.

> как пофиксить


Не надо это фиксить. Это недокументированная легаси фича с непредсказуемым поведением. Не надо решать проблемы опираясь на неё. Решай по другому.
image.png25 Кб, 365x284
468 2632115
>>32104
Тупорылые задачи на освоение операторов вывода и ввода в школьном учебнике помогаю одному челу. Решил что \n\t НИКРАСИВА.

>>32103
Да я знаю, но тут буквально на год программа пикрил, чо тут докеризировать-то? Из странного хочу разобраться с jupiter, т.к. суки не дают пользоваться ideone без VPN
469 2632119
>>32115
\t как раз заебись.
image.png71 Кб, 763x764
470 2632120
>>32114

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


Ыде оно легаси? Это в доках пистона 3
471 2632122
>>32119
Там сразу

>\n\t


т.к. в задаче вывод "лесенкой".
472 2632124
>>32122
Дак принт сам делает \n.
Просто наращиваешь количество \t и вот тебе лесенка.
473 2632128
>>32115

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


Тут варианта два - либо ты ходишь додрочиться до уровня скрипт кидди, и тогда вопросов нет. Либо ты просто не поставил себе цели дальше и не осознаешь, что ждет тебя впереди.
474 2632130
>>32120

> Ыде оно легаси?


Не сам символ, а его поведение с переносом. Документированное поведение этого символа - разрыв страницы.
>>32115

>\n\t НИКРАСИВА


Действительно некрасиво, используй f-string/format.
image.png7 Кб, 486x263
475 2632135
>>32124
Только с тройными кавычками.

print("""раз\
два
три""")
а там можно и от \t отказаться.

но да, так тоже можно

>>32128
Помогаю челу со школьным курсом.

>>32130

> используй f-string/format.


А вот щас не понял.
f-string не позволяет отказаться от управляющих последовательностей же.
476 2632137
А какая в сущности разница между списком и туплом при возврате значений из функции?
Допустим, у меня есть функция, которая возвращает три значения. У меня есть варик либо вернуть их туплом:
return res1, res2, res3

либо вернуть список:
return [res1, res2, res3]

А при вызове функции я просто распаковываю ее результат что в случае тупла, что в случае списка:
res1, res2, res3 = function()
477 2632142
>>32137
В данном конкретном случае никакой, кроме нинужных скобок.
478 2632147
>>32137
В типе возвращаемого объекта и его размере, но при распаковке никакой, кроме лишних скобок.
479 2632157
>>32142
>>32147
Я бы не парился и возвращал туплом, но я шизик и всегда пользую тайпхинтинг. Коробит, что для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str]. Что странно, ведь в списке тоже могут быть разные типы данных.
изображение.png90 Кб, 592x1444
480 2632158
>>32135
Он позволяет тонко управлять позиционированием текста без обращению к управляющим символам.
481 2632162
>>32157

>для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str]


Потому что в теории набор элементов в списке является гомогенным, т.е. одного типа, а для кортежа разного.
482 2632166
>>32162

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


Так это вроде массив, который из теории программирования. А список именно что может содержать разные типы данных.
483 2632168
>>32157
Tuple[str, ...]
С какой-то версии можно и со стандартным tuple так делать.
484 2632170
>>32168
Опача, реально. Спасибо!
485 2632171
>>31319
А почему нет? Если привык писать на ООП, то какая разница, большая или маленькая у тебя прилюжуха
image.png3 Кб, 301x88
486 2632172
>>32158
Красивое... Спасибо!
как я сам не догадался

А литерал в такую ф-строку можно запихать, или только переменную?
487 2632173
>>32166
https://docs.python.org/3/library/stdtypes.html

>Lists are mutable sequences, typically used to store collections of homogeneous items (where the precise degree of similarity will vary by application).


>Tuples are immutable sequences, typically used to store collections of heterogeneous data (such as the 2-tuples produced by the enumerate() built-in). Tuples are also used for cases where an immutable sequence of homogeneous data is needed (such as allowing storage in a set or dict instance).


Ну так список это не массив, я лишь цитирую оф. доку.
488 2632229
>>32158
Долго ковырялся, оказалось литералы тоже можно пихать в фигурные скобки f-string, но нужны другие кавычки. (в документации нигде нет)

А потом что-то пошёл почитать, как туда ньюйлайны добавляются, и тут уже проиграл просто в голос https://towardsdatascience.com/how-to-add-new-line-in-python-f-strings-7b4ccc605f4a
489 2632240
>>32157

>Коробит, что для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str].



тупли чаще всего используются как анонимные типы с известной структурой данных, а не как массивы
поэтому у туплей особый синтаксис специально для описания структур. а для массивов есть костыль tuple[str, ...]

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


тогда это не аннотируется как list[str]
это аннотируется как: list[str | int | Pook | None]
490 2632354
Как это под виндовую парадигму переписать?

Тут конечно оч нелогично, но похуй хочу принцип понять

def func1(x):
r = [x]
with multiprocessing.Pool() as pool:
pool.imap_unordered(func2,r)
491 2632416
>>32354
Тебе надо просто в другой процесс отправить задачу?
492 2632486
Есть какие-то либы или совета для адекватной реализации консольного псевдоинтерфейса? Я на коленке сделал через полное обновление вывода + clear, но во первых это неудобно, во вторых мерцает как тварь. Питон не знаю, пердолю по докам.
493 2632490
>>32486
Это называется TUI. Гугли.
494 2632516
>>32490
Спасибо Анончик!
495 2632524
>>32354
Навошта перапісваць? multiprocessing.Pool мусіць працаваць у вакенцах таксама як у лінуксе. Аднак, у галоўным файле мае быць іспыт, бо вакенцы выконваюць усю праграму спачатку для кожнай плыні:

if __name__ == "__main__":
...

https://www.online-python.com/vJU8xR2Ewz
496 2632684
>>32524
Do a Python be thou native language, bruh?
497 2632719
>>32684
Шура!
498 2633096
>>32008
Бамп
499 2633129
>>29465

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


По себе знаю, что огонёк может гореть десятилетиями. IT это потрясающе, это интересно, это феноменально. Главное не стоять на месте, а погружаться глубже и расти выше. Проблемы начинаются, если закисаешь в одном болоте, но тогда нужно срочно выбираться.
500 2633175
>>32087

>S - это прием из ООП


1) не приём а принцип
2) Не из ООП, а актуален для любой парадигмы
501 2633249
Поясните про асинхронность.
Известно, что ивент луп содержит слабые ссылки на таски, и поэтому их надо сохранять отдельно, иначе их сборщик мусора соберёт до завершения. Вопрос: а что в этом случае произойдёт/может произойти? Всё упадёт, всё зависнет, всё тихо будет проигнорировано и выдаст хуиту вместо результата?
502 2633386
Почему сука скрипт не работает? Мне надо чтобы он отсылал новые появляющиеся файлы из определенной папки мне в телегу, какого хуя он просто ниче не отсылает
https://pastebin.com/trFT2e4Y
503 2633476
>>31086
Ну, заебись когда ты знаешь все библиотеки, методы и параметры. Я же себя слепым щенком ощущаю, еще и документация на сайте Gtk говно полное. А нет никаких плагинов для nvim которые сами эти stubs генерируют по библиотекмам, что ты импортировал?
504 2633628
>>33476
есть
Безымянный.png6 Кб, 735x344
505 2633649
Привет, тред!
Хочу сократить количество операций, путём уменьшения числа сравнений, схематично на пике.

Какими инструментами подобное делается?
на ум приходит только go to через всякие библиотеки
506 2633688
>>33649
Зачем?
Ну то есть тебе так и так получать и проверять все значения. При этом если сравнение идёт через логическое "И", то по нахождению первого False оно сразу вернёт False.
507 2633791
>>33649
Долбоёб, в питоне и так ленивые логические выражения.
508 2633795
>>33688
>>33791
Понял, спасибо!
509 2634069
Питонисты, есть какой-то адекватный способ не трогая affinity вручную из кода заставить питон не использовать Е-ядра на интеле? У меня скорость обучения нейросеток падает из-за этого. Питон в фоне и нагрузка очень неравномерная - как итог его всегда кидает на Е-ядра.
510 2634089
511 2634311
>>34069
Толькі сродкамі аперацыйнай сістэмы, якія можаш выклікаць праз os.system()
512 2634360
>>33476
Не, я не знаю, прост хорошо освоил поиск по проекту, остальное смотрю в доках. Что-то с этим нужно сделать чтобы делать всё быстрее, но мне лень. Gtk сложный, да, там только через туторы и эксперименты всё получается.
513 2643845
Сап, анонасы, я не погромист, когда то ставил питон 2.7, уже не помню зачем, недавно для нейросетки ставил 3.1, и она заработала, сейчас захотел поставить скрипт один с питоном 3.7, питоан поставил, А Git использует 3.1. Тобеш:
py -0
-3.10-64
-3.7-64
-2.7-32

py --version
Python 3.10.6

Шо надо Git написать, чтоб он на 3.7-64 переключился?
image.png3 Кб, 218x110
514 2647905
>>43845

>Шо надо Git написать, чтоб он на 3.7-64 переключился?


GIT сам пользуется питоном? Вот уж вряд ли.
Вообще, какая версия отработает как правило определяется симлинками как на пике. То есть тебе надо симлинк python3 -> python3.1 удалить и создать python3 -> python3.7. В редких случаях это, правда, может выйти боком.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 14 мая 2023 года.

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

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