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

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 514 86 116
Питон № 157 /python/ Аноним 19/02/23 Вск 16:59:49 2616755 1
diveintopython.gif 3463Кб, 1044x1002
1044x1002
Тред, посвящённый языку программирования Питон

Предыдущий: >>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: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Аноним 19/02/23 Вск 17:07:22 2616762 2
Аноним 19/02/23 Вск 17:35:25 2616792 3
>>2616438 →
>не зря у нас в универе с и с++ в приоритете
Они в приоритете потому что их преподают уже лет 30, а что-то новое в программу универ очень тяжело принимает. Вообще нынешнее костное университетское образование это развод уровня ммм, преподают хуиту актуальную десятки лет назад.
Аноним 19/02/23 Вск 17:37:16 2616799 4
list = ['foo']
names = ['foo','bar']
out= {k:'element in list' if k in list else k:'not in list' for k in names}

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

А что кстати быстрее компрэханшн или функция dict()?
Аноним 19/02/23 Вск 18:00:46 2616837 11
Аноним 19/02/23 Вск 19:44:04 2617041 12
16695801966470.png 283Кб, 811x590
811x590
Аноним 19/02/23 Вск 21:51:44 2617216 13
>>2616799

Ошибка: синтаксическая ошибка в словарном выражении. Условие 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}
Аноним 19/02/23 Вск 21:55:22 2617226 14
Стикер 536Кб, 250x250
250x250
Гыгы. А говорил низзя.

Нет, 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
Аноним 19/02/23 Вск 22:12:42 2617247 15
>>2617226
Заебись милордский код. Вкатуны, вешайтесь.
Аноним 19/02/23 Вск 22:32:40 2617280 16
>>2617226
Ой бля. Ебал я эти абсёрты потом выковыривать из кода.
Аноним 19/02/23 Вск 22:37:54 2617285 17
>>2617280

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


Или

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

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)
Аноним 20/02/23 Пнд 01:29:34 2617345 21
Аноны, я правильно понимаю, что len() это статичная переменная, а не например какая-то "процедура пересчитывания", которая каждый раз при вызове гоняет список?
Т.е. если мне надо часто брать длину списка, мне не нужно записывать его длину в отдельную переменную, можно спокойно каждый раз к его len() обращаться?
Аноним 20/02/23 Пнд 01:32:48 2617346 22
Аноним 20/02/23 Пнд 01:38:10 2617348 23
>>2617345
Да, это атрибут типа данных
Аноним 20/02/23 Пнд 01:48:35 2617350 24
>>2617345
len() это именно функция. Под капотом она вызывает метод __len__() переданного ей объекта и уже сам объект решает, возвращать какую-то статичную переменную или считать свою длину каждый раз.

>>2617348
На завод
Аноним 20/02/23 Пнд 01:50:05 2617351 25
>>2617350
Т.е. у списка лучше брать __len__ без прокси функции? Это питонически?
Аноним 20/02/23 Пнд 01:50:10 2617352 26
>>2617350
добавлю что у списка и словаря длина не считается каждый раз заново. Так что записывать самому не нужно
Аноним 20/02/23 Пнд 01:54:01 2617354 27
>>2617351
Питонически len(), так как более красиво и читаемо.
плюс len() кидает TypeError если длины нет, а если вызывать __len__() у объекта, в котором он не реализован - получишь AttributeError.
Разные уровни абстракции. Питонически всё же лучше максимально сократить количество вызовов Dunder методов в своём коде.
Аноним 20/02/23 Пнд 02:01:31 2617355 28
У базовых объектов под капотом этот лен записан отдельно, там ничего не считается, а берется сразу оттуда.
У себя можешь как хочешь делать.
Аноним 20/02/23 Пнд 06:20:45 2617400 29
может знает кто годные курсы на степике кроме как поколение python?
по либам какимнибудь или алгоритмам, только не совсем протухшее

не обязательно степик, просто формат видео совсем не перевариваю, а там зашло решение задачек, но чот я так понял на степике кроме поколения годноты нет вовсе
Аноним 20/02/23 Пнд 07:52:31 2617415 30
1MJJlbVj4UajCdC[...].png 672Кб, 1280x692
1280x692
А вот мне стало интересно - какие концепции в питоне\вообще в программировании оказались для вас самыми сложными для понимания? делитесь, гсопода. и еще, - сможете ли вы теперь обьяснить эту сложную концепцию, уложившись в две строки, так чтобы тупой понял?
Аноним 20/02/23 Пнд 07:57:46 2617417 31
Бля какой же FastAPI АХУЕННЫЙ
Аноним 20/02/23 Пнд 08:14:43 2617422 32
>>2617415
Метапрограммирование
Аноним 20/02/23 Пнд 10:18:20 2617448 33
IMG202201311045[...].jpg 24Кб, 377x266
377x266
>>2617226
Запускаю этот код с флагами оптимизации. Ой, а что это он не работает?
Аноним 20/02/23 Пнд 12:27:57 2617521 34
>>2616792
а вот хуй. У меня охуительные преподы были. Сразу всё понял и по борланду, и ява, и основы ПК, и ИИ. Так что пиписькой тебе в рот.
Аноним 20/02/23 Пнд 12:37:12 2617526 35
>>2617521
Только логике забыли тебя научить - даже ошибку выжившего не понимаешь
Аноним 20/02/23 Пнд 12:47:10 2617532 36
>>2617415
Концепции костылирования. Очень сложно понять, до сих пор не могу объяснить. Во вторую депрессию свалишься спустя 3 месяца настоящей работы, когда больше станешь читать чужой код, нежели писать свой.
Аноним 20/02/23 Пнд 15:45:48 2617746 37
image.png 370Кб, 900x900
900x900
Аноним 20/02/23 Пнд 18:31:20 2617959 38
>>2617415
async, await, yield до кучи
Но это не только у питона.
Аноним 20/02/23 Пнд 21:27:08 2618151 39
Аноним 20/02/23 Пнд 23:01:00 2618205 40
>>2617417
писать анонимный чат используя фэстапи это хорошая идея?
Аноним 20/02/23 Пнд 23:09:12 2618216 41
b9e016cef58d294[...].jpg 78Кб, 533x800
533x800
Вопросы от Жака Фреско для проверки знаний:
отвечать сходу без гугла

1) сколько сможете назвать в питоне строковых методов?
2) сколько списковых?
Аноним 20/02/23 Пнд 23:24:36 2618229 42
>>2618216
В душе не ебу ответа ни на один из этих вопросов.

мимо крепкий мидол
Аноним 20/02/23 Пнд 23:26:14 2618232 43
>>2618216
Там тех строковых штук 30, кто их помнить будет кроме самых ходовых?
Аноним 20/02/23 Пнд 23:57:06 2618263 44
>>2618216
Нахуй надо, для этого есть документация. Строковых насколько помню 30+, списковых около 15
Аноним 21/02/23 Втр 00:07:10 2618271 45
Смысл учить эти методы, когда можно пару раз прочитать документацию и просто понять что они умеют, чтобы не писать велосипеды в следующий раз.

Документацию открыть можно всегда, но вот если ты не знаешь что метод для твоей задачи существует ты и не подумаешь о том что какой-то твой можно сократить.
Аноним 21/02/23 Втр 01:53:03 2618308 46
Аноны кто знаком с 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

Как эту хуйню упростить? Сделать более элегантной, питонической, я хуй знаю. Строки в никуда уходят смотреть больно.
Аноним 21/02/23 Втр 01:53:13 2618309 47
image.png 5Кб, 309x148
309x148
срочно нужна помощь, как правильно задать здесь аннотацию?
Аноним 21/02/23 Втр 02:11:20 2618315 48
>>2618308
Ты итерируйся, а не ровы-хуёвы, а там уже циклом управляешь по ситуации.
Аноним 21/02/23 Втр 02:13:10 2618316 49
Аноним 21/02/23 Втр 02:32:33 2618317 50
>>2618316
а если по другому как-нибудь можно?
Аноним 21/02/23 Втр 03:42:37 2618330 51
>>2618216
Может тебе ещё все атрибуты класса object пересказать? Или все магические методы?
Аноним 21/02/23 Втр 04:44:04 2618337 52
>>2618309
List[Tuple[str, List[int]]]

Вообще зависит от того как ты используешь эти данные.
Возможно List заменить на Iterable будет лучше
Аноним 21/02/23 Втр 04:46:34 2618338 53
Какие же петухонщики говноеды, пиздец просто.
Аноним 21/02/23 Втр 05:00:15 2618343 54
>>2618338
Так что же ты пришел, хочешь чтобы съели тебя?
Аноним 21/02/23 Втр 07:01:21 2618355 55
Аноним 21/02/23 Втр 07:25:01 2618359 56
ебать.png 193Кб, 413x390
413x390
>>2618216
>1) сколько сможете назвать в питоне строковых методов?
да помню все их наизусть
>2) сколько списковых?
11
Аноним 21/02/23 Втр 09:40:20 2618400 57
Аноним 21/02/23 Втр 09:56:38 2618407 58
>>2618151
Души своего питона!
Аноним 21/02/23 Втр 16:38:14 2618795 59
>>2617351
Нет, у питона автоматом длина во всех объектах записывается во время его создания или изменения.

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


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

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

Не знаю правильно ли я описал, но затуп с request cookies / response cookies
Аноним 21/02/23 Втр 19:14:46 2618945 63
>>2618903
Нихуя не понял что тебе надо.
Аноним 21/02/23 Втр 19:47:25 2618972 64
Срочно нужна помощь анона. УЖЕ учусь на python, прошел БАЗовые курсы на степике, но так и не решил, в какого именно питониста вкатываться? Подскажите критерии для входа там во фронтед, дата сайнс или че еще есть
Аноним 21/02/23 Втр 19:48:33 2618975 65
>>2618945
Есть тг? Могу туда написать подробнее
Аноним 21/02/23 Втр 19:49:54 2618977 66
Аноним 21/02/23 Втр 20:00:53 2618996 67
Аноним 21/02/23 Втр 20:08:43 2619011 68
>>2616755 (OP)
Привет, получил затык
есть данные в БД необходимо, чтобы телеграм бот выводил данные из БД в ответ на команду

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

https://pastebin.com/2z9XMBn6
Аноним 21/02/23 Втр 20:17:41 2619022 69
>>2619011
Воспринимай bot.reply_to как return. То есть один раз дёрнул - ответ ушёл, цикл закончился.
Тебе надо сериализовать таблицу в одну строку например join'ами и вернуть уже её.
Аноним 21/02/23 Втр 20:20:37 2619027 70
Аноним 22/02/23 Срд 00:07:19 2619217 71
peetoohon.jpg 6Кб, 218x135
218x135
Сегодня часа три корячился над написанием крестиков ноликов, в которых игровое поле представлено списком из трёх списков, одна функция его печатает, вторая ставит крестик/нолик в определённой части списка и третья проверяет наличие комбинации из трёх одинаковых символов, а всё это вызывается из одной главной функции. Так и не сделал, наваял какого-то огромного франкенштейна и вышел из пайчарма когда шестерёнки в мозге уже окончательно отказывались работать. Завтра встану и опять буду пытаться. Какой же я тупой гуманитарий, это пиздец, вайтишник хуев. Вот какого хуя три иностранных языка освоил до уровня ~C1 вообще играючи, а когда стоит задача сделать что-то вот такое конкретное, то есть представить в голове алгоритм/схему, разбить на куски и реализовать мозг работает как будто я даун аутист с айсикью 50? В школе/универе всегда были проблемы с математикой, физикой, геометрией, всем короче где есть какие-то формулы и задачи. Как блять качать эту часть мозга? Понятно что наверное есть изначальная предрасположенность технарь/гуманитарий, но я не поверю что нельзя как-то прокачать свою технарьскую часть мозга даже будучи конченным говнонитарием.

питухон вкатун стажём 1.5 месяца
Аноним 22/02/23 Срд 00:38:25 2619226 72
>>2619217
Когда допишешь, апгрейдни до бесконечной доски.
Аноним 22/02/23 Срд 01:41:16 2619265 73
>>2619217
Осваивай Numpy, не трать время не бесполезные костыли.
>Как блять качать эту часть мозга?
Тебе нужно прокачать способность не делать костыли. Постепенно освоишься, полтора месяца ещё не так уж и много.

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

И для новичков в питоне подобные попытки писать костыли и являются главной проблемой в начале, потому что питон позволяет это делать, лол. На питоне легко такой хуйни навертеть, когда ты лишь едва-едва выучил синтаксис, что самая простенькая программка отправит твой комп в нокаут.
Аноним 22/02/23 Срд 05:23:41 2619294 74
Стикер 536Кб, 250x250
250x250
>>2619217
>Как блять качать эту часть мозга?
Никак, есть предрасположенности. У нас был класс с айтиуклоном, один день вообще в универ на занятия ездили. Так вот уже из ауе быдла были селектированы более склонные и желающие заниматься айти и там я и пара человек тащили, остальным похуй было. Когда я попал в универ там все где-то на моём уровне были и только пара человек реально лучше соображали. И вот к нам попал тип который вообще всё играючи решал то на что у других десятки минут уходили.
Это тупо талант, да и к тому же нахуй не нужный, лучше простое человеческое счастье.
Да а дрочи код особенно в обучении с чатомджипити, эта штукенция обучение точно перевернет, учителя скуфы сразу нахуй.
Аноним 22/02/23 Срд 08:33:10 2619334 75
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. Он что не сохранится? Я именно так вижу. Но на практике всё сохраняется. Чому? ЯНХНП
Аноним 22/02/23 Срд 08:48:24 2619339 76
>>2619334
С чего бы? Выдает значение по достижению chunk_size или конца файла.
Аноним 22/02/23 Срд 10:16:48 2619435 77
CT-2021-vennbra[...].png 100Кб, 775x775
775x775
>>2619217
>когда стоит задача сделать что-то вот такое конкретное, то есть представить в голове алгоритм/схему, разбить на куски и реализовать мозг работает как будто я даун аутист с айсикью 50
С чего это ты решил, что автоматически, что называется из коробки должен уметь решать такие задачи? Может ты еще и высшую математику знаешь с рождения? Выставляешь себя типа умным, а сам дурак, не понимаешь элементарного, что ты дилетант в алгоритмах/программировании. Это нормально, все дилетанты пока не научатся. Догнал? Надо учиться.

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

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

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

я другой анон, не этот >>2619583
Аноним 22/02/23 Срд 14:23:51 2619593 82
>>2619585
Сам разобрался, можете не отвечать.
Аноним 22/02/23 Срд 16:39:15 2619709 83
>>2619583
>Что такое стек, хеш-таблицы?

>>2619584
>Ебать тебя не должно, если ты не разработчик cumпиляторов или не низкоуровневик, но для большего понимания хорошо разбираться в том, в какой области памяти у тебя что лежит и какие структуры для этого используются.
Чиво? Какие еще области памяти? Стек это структура данных, как и хеш-таблица.
Аноним 22/02/23 Срд 16:44:02 2619713 84
>>2619709
>Какие еще области памяти?
Такие, где твои данные в этих самых структурах лежат.
Аноним 22/02/23 Срд 16:44:51 2619714 85
pleb.png 137Кб, 688x659
688x659
Аноним 22/02/23 Срд 16:48:27 2619715 86
>>2619714
>для преобразования ключа в индекс

Сдается мне чатбот обосрался.
Аноним 22/02/23 Срд 17:03:05 2619728 87
>>2619715
Поясни, в чем он неправ
Аноним 22/02/23 Срд 17:03:41 2619730 88
>>2619715
Нет, всё правильно. Лежит в массиве, хеш это вычисление индекса в этом массиве с разрешением коллизий.
Аноним 22/02/23 Срд 18:04:18 2619838 89
>>2619713
Лучше бы ты молчал, за умного бы сошел. При чем тут память? При чем тут компиляторы? Бред сивой кобылы.
Аноним 22/02/23 Срд 18:06:11 2619839 90
>>2619715
Нет, это ты обосрался. Не ты ли это --> >>2619584 >>2619713 наговнял? Очень похоже.
Аноним 22/02/23 Срд 18:27:09 2619868 91
чзнх.jpg 6Кб, 129x102
129x102
купил ноту. поставил шарм значит. а тут все в таком говне. как фиксить?
Аноним 22/02/23 Срд 18:30:01 2619871 92
>>2619839
Нет это был не я. Просто мое абстрактное мышление под "индексом" нечто другое представляет. Нечто упорядоченное, а под хэшем я представлял некую извилистую, но точную карту до объекта, которая у каждого уникальная как адрес в памяти.
Ну индекс и индекс, хорошо. Рад новым знаниям.
Аноним 22/02/23 Срд 18:33:01 2619875 93
shizlo.png 114Кб, 1531x924
1531x924
>>2619838
Не буду молчать. Если челику надо про стек почитать, пусть ещё почитает про кучу, стек вызовов и как это в памяти организовано.

>>2619839
Шизик, успокойся.
Аноним 22/02/23 Срд 18:57:14 2619911 94
>>2619871
>у каждого уникальная
У хеш-функций случаются коллизии. Когда один и тот же хеш указывает на разные данные.

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

>>2619875
Обосрался, имей честь и признаться.
Аноним 22/02/23 Срд 19:00:32 2619918 95
>>2619911
>алгоритмами на основе стека
>стек вызовов
>стековая память
>стек
Обсираюсь тебе на ебало, так уж и быть.
Аноним 22/02/23 Срд 19:01:53 2619922 96
>>2619911
>У хеш-функций случаются коллизии. Когда один и тот же хеш указывает на разные данные.
Верится с трудом, чел. Это бы означало, что на такую систему нельзя полагаться и в ней нет смысла.
Аноним 22/02/23 Срд 19:05:55 2619929 97
>>2619922
Хочешь не верь, но у тех же алгоритмов семейств MD и SHA есть коллизии, но их тяжело отлавливать.
Аноним 22/02/23 Срд 19:16:35 2619975 98
Аноним 22/02/23 Срд 19:28:58 2619997 99
Аноним 22/02/23 Срд 19:49:27 2620036 100
>>2619911
> Когда один и тот же хеш указывает на разные данные.
Скорее наоборот.
Аноним 22/02/23 Срд 19:53:04 2620049 101
>>2619997
>MD и SHA
Так в пайтоне с 3.4 версии используется SipHash
Аноним 22/02/23 Срд 19:54:31 2620053 102
>>2620049
Речь о реализации хешмапов, в которых бывают коллизии, которые нужно резолвить правильно, причем тут алгоритмы?
Аноним 22/02/23 Срд 19:57:26 2620065 103
>>2620053
Т.е. к питону это всё не относится потому что в нем хешмапы на siphash ?
Аноним 22/02/23 Срд 20:10:12 2620095 104
Аноним 22/02/23 Срд 20:12:02 2620098 105
>>2620065
Чел, любая хэш функция, которая отображает множество ключей на меньшее множество индексов, будет иметь коллизии в какой-то момент.
Аноним 22/02/23 Срд 20:19:01 2620107 106
>>2620098
>Чел, любая хэш функция
Почему это? Есть конкретные уязвимости у конкретных реализаций. Про siphash написано что он не имеет тех уязвимостей которые были у MD и SHA, например.

>>2620095
Ну и что ты притащил? Какой-то пост 14 летней давности с общей инфой про хэшмапы.
Аноним 22/02/23 Срд 20:24:40 2620111 107
Аноним 22/02/23 Срд 20:26:59 2620117 108
>>2620107
>Почему это?
По принципу Дирихле. Если например у тебя множество ключей - это строки длиной десять строчных символов английского алфавита, то всего таких ключей будет 26^10. Чтобы гарантированно избежать коллизий, нужно выделить столько же индексов в хэш-таблице.
Аноним 22/02/23 Срд 20:39:06 2620138 109
>>2619918
Иди на хер, дура. Анон спрашивал про стек как структуру данных, которую он будет использовать в алгоритмах. Ты пишешь про не нужную ему хуйню, внутреннее устройство языка программирования, которое к алгоритмам и структурам данным не относится. Засунь себе в жопу это всё.

>>2619922
>Верится с трудом
Бля, тут что тебе угадай мелодию что ли? Верю - не верю. Да мне пох, веришь ты или нет. Иди изучай тему.
Аноним 22/02/23 Срд 20:51:48 2620159 110
>>2620138
Да не рвись ты так, шизоблядина. Он конкретно спросил "что такое стек, хэш-функция и зачем это нужно", никакого контекста про структуру данных не было, это ты уже за него додумал. Обтекай.
Аноним 22/02/23 Срд 20:55:30 2620167 111
>>2620159
>хэш-функция
Хэш-таблица конечно же, своими хэшами заебали уже сверху.
Аноним 22/02/23 Срд 21:04:21 2620179 112
>>2620159
>никакого контекста про структуру данных не было
Долбоеб, стек - структура данных, хеш-таблица - структура данных, какой еще нужен контекст? Это ты начал не по теме писать.
Аноним 22/02/23 Срд 21:19:13 2620196 113
>>2620179
Ебанат, прочитай ещё раз ответ >>2619584
>в какой области памяти у тебя что лежит и какие структуры для этого используются.
Ты так малясь проигнорил это, зато доебался до "памяти", когда как "стек" является и структурой данных и как отдельная реализация памяти и как организация работы программы.
Ещё раз. Где в его вопросе фигурируют "структуры данных" и "алгоритм"? Нигде, это ты за него додумал. Но раз ему не хватило мозгов погуглить, ему дали общий ответ на его общий вопрос.
Аноним 22/02/23 Срд 21:27:56 2620199 114
>>2619584
Я тебя не понял, что ты написал. Я вкатун, мне советовали изучить структуры данных и алгоритмы, поэтому и спросил про стек и хеш-таблицу, потому что это первые попавшиеся непонятные мне слова.
>>2619714
Понял. Спасибо. А есть какие-то конкретные задачи, гдп на примерах поясняется чем использование стека/хеш-таблицы лучше? Второе используется в БД или я нихуя не понял опять? Ну типа у нас есть какая-то ключ (например, ID) и мы по нему можем вытащить всю информацию? Это принцип работы хеш-таблицы? Сорри за нубские вопросы. Из алгоритмов я вообще пока понял только сортировку пузырьком. Или >>2619584 прав был и джуну это не нужно знать?
Аноним 22/02/23 Срд 21:42:04 2620211 115
>>2620199
>Я тебя не понял, что ты написал.
В чем проблема это загуглить?

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

>Или >>2619584 прав был и джуну это не нужно знать?
Джуну надо знать про эти слова и что они могут значить, но на практике ты редко эти структуры сам реализуешь, всё это сделано за тебя.
Аноним 22/02/23 Срд 21:42:48 2620214 116
>>2620199
Ты прямо совсем платиновые вопросы задаешь, на которые отвечают в любом курсе по питону. Типичная задача на стек: проверка скобочной последовательности на правильность, на хэш-таблицу - проверка наличия дубликата в списке.
Аноним 22/02/23 Срд 21:43:39 2620217 117
>>2620196
Баран, стек - АТД, структура данных, и ничего более. То что эта структура данных используется в механизме вызова функций и для хранения некоторых данных в рантайме языков программирования, - ничего не значит. Если бы стек вызовов называли массивом, ты бы орал, что массив это стек вызовов?

>>2620196
>Где в его вопросе фигурируют "структуры данных" и "алгоритм"? Нигде, это ты за него додумал.
Баран, стек - АТД. Всё. Он спросил что такое стек и хеш-таблица, что подразумевает, что имеются ввиду структуры данных. И то и другое АТД. И вообще, если с помощью стека реализовано много разных фич, не означает, что под стеком понимают их. Только долбоебы так думают. Стек - АДТ. Всё.
Аноним 22/02/23 Срд 21:57:33 2620230 118
>>2620199
Ты так ничего и не поймешь. То есть поймешь, но не сразу. Чтобы понять одно, нужно знать другое. И так по цепочке. Если есть куча времени, желания и сил, то можешь пытаться охватить как можно больше одновременно. Я так делал. Это долгий путь. Тебе не хватает наглядности. Посмотри "тренировки по алгоритмам" от Яндекса на ютубе. Еще есть "тренировки по алгоритмам 2.0" и недавно запустили 3.0. И старайся что изучаешь переводить в код, запускать, изменять. Так ты намного быстрее будешь усваивать знания.

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

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

Сайтов с задачами великое множество. Используй что хочешь. Можешь попробовать проект Эйлер. Не бойся смотреть готовые решения. Не пытайся все решить сам с первого раза. Все равно, даже подсмотрев у кого то, ты не сможешь с первого раза повторить реализацию на память. Кроме того, будут попадаться похожие задачи, но под которые нужно что то менять, это тоже будет способствовать самостоятельному составлению решения, пусть и на основе базового предыдущего. Изучай разные методы решения, грубые, изящные, всякие. Главное именно все реализовывать в коде.
Аноним 22/02/23 Срд 22:00:21 2620233 119
>>2620211
>вызов вложенных функций реализован на основе стека
Не на основе, а с использованием стека в качестве АТД хранящей данные вызовов. Не вводи в заблуждение. И лучше сам по глубже изучи, чтобы не плавать.

>на практике ты редко эти структуры сам реализуешь
Зачем хуйне учишь? Умничаешь, иди сам поучись лучше. Когда попросят реализовать простейшую структуру как стек и он не сможет, это будет фейл.
Аноним 22/02/23 Срд 22:08:41 2620238 120
Пиздец какой-то бариста-вкатун задал мммаксимально тупой вопрос уровня "ыыыы а що такое погромировать" и сцепились два УЧИТЕЛЯ, спорят кто лучше ему жопу подтер. А надо было просто его в гугл послать, потому что сам вкатун ни одной единственной извилиной не пошевелил для своего "обучения".
Аноним 22/02/23 Срд 22:17:05 2620243 121
>>2620217
Да не гори ты так, а то геморрой на весь тред вылез.
Орёшь пока только ты, как и продолжаешь игнорировать полный ответ, доёбываясь до конкретных слов как удобно тебе. Как и обосрался бы с ответом, если бы тебя спросили "что такое куча и стек", будь ты таким же упёртым АТДшником.
Аноним 22/02/23 Срд 22:23:35 2620248 122
>>2620233
>хранящей данные вызовов.
Но он хранит не только их.

>лучше сам по глубже изучи, чтобы не плавать.
Учу, и хорошо, что не по треду в /pr/.

>Когда попросят реализовать простейшую структуру как стек и он не сможет
Для этого достаточно прочитать википедию, вспомнить про список и реализовать класс с 2 методами, а работодатель просить тебя будет не типы данных реализовывать, а таски закрывать с сроком вчера.
Аноним 22/02/23 Срд 23:20:17 2620266 123
>>2620238
Его также и послали, я не УЧИТЕЛЬ, но другой УЧИТЕЛЬ доебался за контекст.
Аноним 23/02/23 Чтв 01:27:46 2620314 124
Аноны, какой самый питонический путь чтобы убрать\удалить\отключить метод у наследуемого класса? На стаковерфлоу советуют 1) изначально пересмотреть наследование чтобы не пришлось ничего удалять 2) перезаписать метод заглушками

Без этих двух вариантов неужели нет общепринятой практики на этот счет? В Си например для этого есть приватность - которой в питоне нет. А как?
Аноним 23/02/23 Чтв 01:56:43 2620334 125
>>2620314
Солид говорит, что изначально не должно быть такого метода.
Аноним 23/02/23 Чтв 03:16:21 2620355 126
>>2618903
У цябе памалковыя уяўленьні. Кука вызначаецца сэрверам, а не тваім запытам. Кука, калі, ты, кліент яе маеш, будзе заўсёды дасылацца на адпаведны сэрвэр.

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

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

Усё. Табе патрэбна напісац код другога пункту для сэрвэра.
Аноним 23/02/23 Чтв 03:30:49 2620359 127
>>2620314
Існуе агульная канвенцыя пачынаць назву асабістага(private) метада з двух падкрэсьлянняў:
def __my_private_method():
...
Аноним 23/02/23 Чтв 06:57:29 2620376 128
Аноним 23/02/23 Чтв 07:21:50 2620381 129
Хочу сделать телеграм бота что бы на нем учить питон. На каком бесплатном хосте можно его запустить и тестить?
Аноним 23/02/23 Чтв 07:35:32 2620383 130
>>2620381
На локалхосте, очевидно.
Аноним 23/02/23 Чтв 07:56:49 2620392 131
>>2620314
Пиздец ООП головного мозга
Аноним 23/02/23 Чтв 09:35:11 2620415 132
>>2620392
А ты в какой парадигме петухонируешь???
Аноним 23/02/23 Чтв 11:43:57 2620485 133
>>2620314

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

ты можешь только переопределить, чтобы принтил "пошёл нахуй" в консольку
Аноним 23/02/23 Чтв 13:39:00 2620581 134
А можно в вижиал студио всякими колорамами расскрасить текст именно в окошке аутпут? В терминале он и так раскрашен. Ставил всякие Output Colorizer толку ноль.
Аноним 23/02/23 Чтв 15:17:09 2620641 135
Screenshot20230[...].png 48Кб, 1363x382
1363x382
Screenshot20230[...].png 118Кб, 1345x587
1345x587
только учусь питону, и решил совместить аннотации типов и декораторы в коде. вышел пикрил... помогите пж.
Аноним 23/02/23 Чтв 15:34:34 2620658 136
>>2620641
Тебе интерпретатор намекает на 14 и 22 строки.
Твоя задекорированная функция что-то возвращает? Да.
Значение внутри декоратора, которое должно возвращаться функцией, возвращается? Нет.
Внутри декоратора wrapper должен возвращать результат работы func(n).
Аноним 23/02/23 Чтв 15:49:14 2620662 137
Screenshot20230[...].png 55Кб, 1299x377
1299x377
Screenshot20230[...].png 81Кб, 1391x639
1391x639
>>2620658
так? у меня "Код до выволнения фунции g:" на несколько экранов.
Аноним 23/02/23 Чтв 15:51:37 2620665 138
>>2620662
>так?
Так у тебя второй print не отработает, выноси в отдельную переменную и потом её возвращай после второго print.
Аноним 23/02/23 Чтв 16:03:11 2620674 139
>>2620665
кого выносить в отдельную переменную О_о? Проблема в декораторе или в функции g? Можешь начинающему написать здесь правильный код с 11 до 22 строки, пожалуйста.
Аноним 23/02/23 Чтв 16:07:01 2620676 140
>>2620674
Да что, блядь, непонятного? Напиши res = func(n) и после второго print напиши return res.
Аноним 23/02/23 Чтв 16:18:44 2620688 141
Screenshot20230[...].png 57Кб, 1366x389
1366x389
Screenshot20230[...].png 99Кб, 1386x620
1386x620
Аноним 23/02/23 Чтв 16:20:01 2620692 142
>>2620688
Ну и? Код работает, а что тебе конкретно надо от твоего кода, ты так и не объяснил, а додумывать и искать контекст, как тут любят, я не буду.
Аноним 23/02/23 Чтв 16:25:21 2620700 143
>>2620692
я рассчитывал что вывод будет такимЖ

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

Аноны, а такая вот конструкция создает ненужный кортеж в месте скобок (foo + '/') ?
Аноним 23/02/23 Чтв 18:49:59 2620834 147
>>2620825
Это не кортеж, это выражение. И в таком случае он бы тебя нахуй послал, потому что у них нет такого метода.
Аноним 23/02/23 Чтв 20:15:41 2620874 148
Снимок экрана 2[...].png 38Кб, 592x281
592x281
>>2619715
Сап двач

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

Что за % между переменной и строкой и что он делает? Он указывает на переменную которая вставляется заместо %s или что?
Аноним 23/02/23 Чтв 20:16:24 2620875 149
>>2620874
бля , случайно анона тегнул
Аноним 23/02/23 Чтв 20:19:06 2620880 150
>>2620874
Это старый синтаксис формата строки. Гугли.
Аноним 23/02/23 Чтв 20:20:30 2620883 151
Screenshot20230[...].jpg 598Кб, 1080x2340
1080x2340
Аноним 23/02/23 Чтв 21:40:36 2620969 152
obj = MyClass(data)
obj.add_to_dict()
Аноны, вот я захуярил класс который сам себя добавляет в некоторый словарь, после необходимых калькуляций над data. Но что-то я перестарался походу. Вопрос такой, какой синтаксис можно применить чтобы вызывать метод без экземпляра (хочу поэкономить строки)

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

Если я добавлю self.add_to_dict в конструктор класса, то так сработает, обьект сразу улетит в словарь, но мне бы хотелось перед этим и другие методы например поприменять, вроде такого:
MyClass(data).do_shit().add_to_dict()
Можно ли как-то так сделать, есть синтаксис такой? Или обязательно надо явный обьект спавнить в переменную?
Аноним 23/02/23 Чтв 21:44:47 2620972 153
Аноним 23/02/23 Чтв 21:45:37 2620979 154
>>2620969
Отбой.
MyClass(data).add_to_dict() работает, хуй его знает почему у меня раньше не получалось - человеческий фактор
Аноним 23/02/23 Чтв 21:46:46 2620981 155
>>2620969
Почитай про статикметоды и можешь писать MyClass().add_to_dict(data)
Аноним 23/02/23 Чтв 21:47:24 2620983 156
>>2620972
Классметод тут нахуй не нужен.
Аноним 23/02/23 Чтв 21:49:00 2620986 157
>>2620983
Ну он хочет создавать объекты, поэтому нужен. Если объекты не нужны, тогда статик.
Или я что-то не так понял.
Аноним 23/02/23 Чтв 22:30:55 2621018 158
Аноны, чому нельзя удалять ключи словаря во время его итерации?
Понятно как это обойти - итерировать список ключей, но вдруг на это есть весомые причины и лучше вообще так не делать, а записать ключи на удаление и потом отдельно их удалить в отдельном цикле?
Аноним 23/02/23 Чтв 22:40:58 2621022 159
>>2621018
Я думаю, это осталось со времен, когда порядок не гарантировался, вот мутация и распидорашивала итератор.
Просто итерируйся по копии ключей.
Аноним 23/02/23 Чтв 23:04:31 2621051 160
Случайно передал в функцию модуль вместо класса и сидел минут 10 тупил какого хера компилятор ругается, что в каком-то там модуле нет атрибута append.
Хорошо, что я не в Си это написал.
Надо чаю пойти заварить...
Аноним 23/02/23 Чтв 23:07:48 2621054 161
Аноним 24/02/23 Птн 00:29:29 2621099 162
>>2619217
Я уже 3 года на работе создаю на питоне веб-сервисы, работаю с базами данных от редиса до кликхауса, автоматизирую кучу разной хуйни, применяю асинхронку, но даже я сходу не смог бы придумать, как написать крестики-нолики, виселицу, шахматы и прочую поебень, которой учат во всех учебниках после второго урока. У меня эта часть мозга, как ты выразился, вообще не работает.
Так что завязывай с этой хуйней и приступай к проектам, которые делают что-то практическое. Напиши парсер вакансий с ХХ, сделай свой виджет для получения прогноза погоды, хуй знает.
Аноним 24/02/23 Птн 00:33:25 2621101 163
Как скачать все webm+mp4 файлы из трена на дваче? Хочу скачать весь музыкальный тред
Если такой возможности нет, можно ли написать скрипт на пайтоне который это сделает?
Аноним 24/02/23 Птн 00:37:42 2621106 164
Аноним 24/02/23 Птн 00:37:58 2621107 165
image.png 0Кб, 97x22
97x22
>>2621101
>можно ли написать скрипт на пайтоне который это сделает
Ну а сам-то как думаешь?
Аноним 24/02/23 Птн 00:40:05 2621108 166
>>2621107
Запрос не существует.

Что это значит? Я только начинаю кодить, куда двигаться что бы это реазиловать?
Аноним 24/02/23 Птн 00:55:09 2621115 167
>>2621108
Если только начинаешь и не умеешь работать с апи, то сделай топорно, просто чтобы оно работало. Скачай страницу (хтмл), прочти его тупо как строку и выдерни оттуда все ссылки с окончанием mp4 или webm при помощи регулярных выражений.
Аноним 24/02/23 Птн 00:56:51 2621116 168
Аноним 24/02/23 Птн 02:05:38 2621137 169
Короче, после многолетних сычеваний и дрочения теории и просто лени, я дошел до того, чтобы записаться на курс в практикуме. Не хотел до последнего, но выбора нет.
Аноним 24/02/23 Птн 02:12:20 2621139 170
Аноним 24/02/23 Птн 02:20:22 2621141 171
>>2621107
Охуеть, не знал, что у харкача есть открытое апи.
Аноним 24/02/23 Птн 02:28:13 2621145 172
>>2621141
так вот как спамеры работали получается без капчи
Аноним 24/02/23 Птн 02:35:07 2621146 173
Аноним 24/02/23 Птн 02:38:23 2621147 174
>>2621145
API не позволяет обходить капчу, иначе это было бы тупо.
Аноним 24/02/23 Птн 02:43:16 2621149 175
>>2621147
да, я имею ввиду когда капчи еще не было
Аноним 24/02/23 Птн 02:44:11 2621150 176
>>2621147
Купил пасскод или прикрутил опенсв для распознавания.
Аноним 24/02/23 Птн 03:07:07 2621159 177
image 19Кб, 379x149
379x149
>>2621150
> опенсв
Это просто макака у нас тут на дваче глупенькая. А можно было бы сделать так.
1 Прикручиваем капчу как на форчонге с ползунком в которую можно внедрить сколько угодно процедурных шумов и типы шрифта менять хоть каждый день в автоматическом режиме
2 Из за того что там ползунок двигать надо в сервис разгадывания не отправишь, чтобы обучить нейронку нужно самому неделю эти капчи разгадывать

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

Анимач целый год какой-то школьник засирал вайпом что его даже закрыли на хуй на пол года и до сих пор там вайпает ингда. За это время у макаки не нашлось желания и небольшой горсти бабла чтобы нанять рандомного челика из этого ИТТ треда чтобы он всё сделал за сутки.
Аноним 24/02/23 Птн 04:12:21 2621167 178
>>2616755 (OP)
Синьёры архитекторы, объясните джуну, когда нужно юзать асинхронщину? Я спрашиваю именно про этап проектирования. Все вычислительные операции параллелятся на подах, тредами можно всю и/о инфу так же получить/записать через пулекзекьютор. Нахрена тогда все эти асинки, в душе не ебу, у нас на проекте их нет. Я знаю, что такое ивент луп и коррутины, и что это в плане синтаксиса проще написать евейт и не париться, но хотелось бы услышать от профессионалов, когда лучше архитектуру проекта делать полностью завязанной на асинк, а когда лучше просто всё по ивентам раскидать, а для и/о взаимодействий использовать треды?
Аноним 24/02/23 Птн 05:46:24 2621170 179
Стикер 63Кб, 500x500
500x500
>>2621137
пизда
за те деньги, которые хотят в хуяндексе можно весь юдеми выкупить
Аноним 24/02/23 Птн 05:57:17 2621171 180
>>2621139
Так а как ты через клаудфлару прошел?
Аноним 24/02/23 Птн 06:06:49 2621173 181
>>2621137
>я дошел до того, чтобы записаться на курс в практикуме
И что по твоему он должен тебе дать? Я лет 10 назад вкатывал в ойти своего родственника и я после пары дней тренинга сразу предложил идти на работу дал своё портфолио и рассказал о каком опыте работы напиздеть. Короч естественно первый месяц был пиздос, а потом всё раздуплился.

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

Единственное что тебе надо, это когда затуп найти выход из него и это должна быть реальная ситуация а не выдуманные примеры. А ни на каких обучениях этому не научат, а только если коллектив больменее нормальный попадется.
Аноним 24/02/23 Птн 06:07:39 2621174 182
Аноним 24/02/23 Птн 06:08:07 2621175 183
>>2621171
хз, у меня всё так работает
Аноним 24/02/23 Птн 07:18:34 2621183 184
2023-02-2407-14[...].png 32Кб, 653x898
653x898
>for i in range(len(data))

ебало вкатунов представили?
Аноним 24/02/23 Птн 07:25:59 2621185 185
>>2621173
Подтверждаю

Учу JS уже лет 6 наверное, 5-7 раз начинал и бросал через неделю-месяц, уже почти наизусть знаю основы, замыкания и прочую лабуду "по верхам", но практики маловато, в реакте том же и т.д, хоть и верстал разное с небольшими скриптиками. А практика это БааааааааЗаааааааааа, учишь - делаешь сразу проект/задачки что бы закрепить знания, вот так и сижу недо-джуном 5+ лет хыыыыы
Аноним 24/02/23 Птн 07:41:46 2621188 186
диаграмма.png 12Кб, 603x453
603x453
>>2621186
>но суть та же.
>хуйню накодила и рада
Аноним 24/02/23 Птн 08:23:04 2621193 187
>>2621167
Асинкио это более эффективный способ утилизировать процессорное время для io задач. Такая вот замена всратым питонячьим тредам.
Аноним 24/02/23 Птн 08:24:49 2621194 188
Аноним 24/02/23 Птн 08:31:31 2621195 189
>>2621137
>я дошел до того, чтобы записаться на курс в практикуме
И что изменится? Проблема не в плохих курсах, а в тебе. Сколько ты решил задач за всё время? Должно быть сотни, тысячи. Сколько ты написал приложений? Должно быть десятки. Если ты этого еще не сделал, то тебе не помогут никакие курсы. Ты спросишь как же решать задачи и писать приложения если не умею. Просто берешь и делаешь. Тут работает метод "просто ввязаться в драку, а там видно будет". Придумай проект. Декомпозируй на мельчайшие задачи. Выполняй пошагово. Будь терпеливым, не бросай, не пытайся делать идеально, главное чтобы проект был закончен и он работал.
Аноним 24/02/23 Птн 08:37:36 2621197 190
>>2621195
Появится план, дедлайны и цели. Новички не могут придумать себе задачу, они даже не понимают что вообще реально можно делать. Курсы в этом плане могут дать значительный бурст.
мимо мидол, был в такой же ситуации когда учил англюсик
Аноним 24/02/23 Птн 09:42:26 2621214 191
>>2621139
>>2621174
Для первого раза очень хорошо. Продолжай.
Аноним 24/02/23 Птн 09:52:54 2621222 192
>>2621197
Не, на самом деле придумать проект легко, просто людям лень, можно просто брать чужие идеи и делать копию, есть всякие паблик API и т.д, вся суть в гребаной лени
Аноним 24/02/23 Птн 09:57:37 2621226 193
>>2621222
Это ты с точки зрения своего опыта говоришь, а новички прост не знают, что такое вообще можно, они очень часто не понимают, чем вообще занимаются программисты.
Аноним 24/02/23 Птн 10:22:53 2621245 194
>>2621051
а что будет в Си? аксесс виолатион?
Аноним 24/02/23 Птн 11:10:33 2621271 195
>>2621167
Калі справа тычыцца сеціва і маеш шмат аддаленых хастоў. Каб не чакаць водгуку ад кожнага зь іх па чарзе.
Аноним 24/02/23 Птн 11:25:24 2621280 196
english.PNG 57Кб, 948x577
948x577
Аноним 24/02/23 Птн 11:47:36 2621293 197
>>2621271
Это что за пиздец? Я почему-то всегда думал, что белорусский ближе к русскому, чем украинский, а твой пост нихуя не понял.
Аноним 24/02/23 Птн 11:57:57 2621299 198
>>2621296
Рано ты выписался из дурки...
Аноним 24/02/23 Птн 12:35:44 2621328 199
>>2621293
Беларуская бліжэй за ўсё да ўкраінскай, але абодзьве аднолькава далёкія ад польскай і расейскай.
Аноним 24/02/23 Птн 14:17:04 2621409 200
Где вообще хорошо почитать про бизнес логику и как организовывать приложения?
Аноним 24/02/23 Птн 14:18:24 2621412 201
>>2621409
Смотри другие проекты.
Аноним 24/02/23 Птн 14:20:05 2621413 202
>>2621412
Да об этом я думал, но хотелось бы на уровне теории и концепций почитать-посмотреть, что бы уже после и в других приложениях лучше понимать зачем они всё так распихивают.
Хотя я тут, как обычно, могу всё усложнять в своей голове в довесок
Аноним 24/02/23 Птн 16:43:53 2621571 203
Прошёл курс по созданию бота. Вроде создал по курсу, вроде работает. Сел за своего с нуля и понял, что нихуя не знаю, лол.

Пошёл просто по документации, проверяя всё, что в ней написано на деле и дело сразу же пошло. Так уж и прихожу к выводу, что нафиг все эти курсы, сразу же надо идти в документацию. А потом можно и видео для примеров посмотреть или просто другие примеры с какого-нить гитхаба скачать
Аноним 24/02/23 Птн 16:45:11 2621574 204
Курсы без заданий пустая трата времени, короче.
Аноним 24/02/23 Птн 16:45:21 2621575 205
Аноним 24/02/23 Птн 17:18:21 2621610 206
Снимок.PNG 19Кб, 649x335
649x335
Аноним 24/02/23 Птн 19:58:09 2621723 207
Аноним 24/02/23 Птн 20:10:31 2621742 208
Аноним 24/02/23 Птн 21:43:26 2621889 209
Аноним 25/02/23 Суб 08:31:23 2622186 210
>>2621681
>>2621889
>>2621903
ЦИПСОшная нейросеть доской ошиблась и не там срет срачами?
Аноним 25/02/23 Суб 09:06:09 2622195 211
>>2621889
Да и ты соседнюю улицу в своём городе не знаешь.
Аноним 25/02/23 Суб 09:46:03 2622221 212
>>2621115
Когда кто-то парсит страницу с помощью регулярных выражений на планете открывается очередной портал в Ад.
Аноним 25/02/23 Суб 10:09:03 2622256 213
Аноны, а как сделать чтобы объект класса при принте выводил в консоль определенную информацию print(obj)?
Аноним 25/02/23 Суб 10:59:35 2622284 214
Стикер 572Кб, 375x375
375x375
Вот так работает:
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)
Аноним 25/02/23 Суб 11:25:53 2622300 215
>>2622284
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
Аноним 25/02/23 Суб 11:33:41 2622306 216
>>2622300
>users.setdefault(name, {w+'_count': 0 for w in search_words})
>users[name]['comments'] = []
Ну это то же что и в первом примере, а объединить эти строки можно?
Аноним 25/02/23 Суб 11:34:40 2622308 217
Аноним 25/02/23 Суб 16:10:41 2622543 218
>>2622519
>для анализа данных на Python?
Дефолтный ответ - Jupyter поверх Anaconda. Всевозможные отклонения от него будешь изучать когда с этим разберёшься.
Аноним 25/02/23 Суб 16:15:31 2622547 219
>>2622519
> Anaconda + Jupyter

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

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


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

https://code.visualstudio.com/docs/datascience/jupyter-notebooks
Аноним 25/02/23 Суб 16:58:27 2622580 220
>>2622551
> что лучше - Anaconda или PyCharm
Anaconda - это средство установки и управления пакетами, при помощи Anaconda можно поставить jupyter и numpy.
PyCharm - это IDE, редактор кода, он не управляет пакетами.

> надо установить Anaconda и там уже будет Jupyter
Да.
Аноним 25/02/23 Суб 17:05:49 2622589 221
>>2622551
А если сравнивать PyCharm и Jupyter, то гипотетически PyCharm в руках паверюзеров должен уметь больше.
Но 99% материалов для вкатывальщиков будет написано для Jupyter, потому я бы по началу не тратил свои ресурсы на PyCharm.
Аноним 25/02/23 Суб 17:15:52 2622596 222
>>2622589
> Но 99% материалов для вкатывальщиков будет написано для Jupyter
А какое это имеет значение?
Аноним 25/02/23 Суб 17:29:05 2622610 223
Наноы, по поводу вот этой хуйни
def funk(var:str)->json:
pass

Если json, например, нет в документе, то такой код будет выводить ошибку. Т.е. такие аннотации надо в кавычках писать? "json"
Аноним 25/02/23 Суб 17:31:04 2622615 224
>>2622610
После стрелочки пишется тип возвращаемого объекта.
Аноним 25/02/23 Суб 17:32:46 2622617 225
>>2622615
Бля, спасибо за инфу чел. Тогда другой вопрос:
Если json, например, нет в документе, то такой код будет выводить ошибку. Т.е. такие аннотации надо в кавычках писать? "json"
Аноним 25/02/23 Суб 17:37:25 2622626 226
>>2622617
В каком документе? В питоне жсон представляется строкой, что проверить на это, пиши str после стрелочки.
Аноним 25/02/23 Суб 20:47:14 2622830 227
>>2622580
Чем PyPi от конды отличается?
Аноним 25/02/23 Суб 22:05:13 2622903 228
image.png 9Кб, 477x172
477x172
image.png 8Кб, 347x208
347x208
image.png 5Кб, 388x87
388x87
Сап питонач. Взываю к адептам джанги. Пик 1 представление возвращает страницу с переменной pook = None, но если метод POST, то отрендерит pook = srionk. При обновлении страницы pook опять равен None. Как реализовать тоже самое с CreateView? Пробовал обновлять extra_context (пик 2), но в этом случае pook фиксируется значением srionk навсегда, а надо None при обновлении страницы. Возможным решением вижу оверрайд метода get_context_data() (пик 3), но не понимаю как бы ему передать новое значение pook.
Аноним 26/02/23 Вск 04:38:13 2623054 229
>>2622308
>Можно, разрешаю.
Как?
Аноним 26/02/23 Вск 11:55:31 2623214 230
>>2622903
CreateView имеет метод post, переопредели его. Ну ты уже наверное разобрался.
Аноним 26/02/23 Вск 13:19:26 2623297 231
image.png 13Кб, 560x200
560x200
>>2623214
Разобрался. Думаю ты понимаешь, что в реальности всё сложнее. Добавил возврат объекта в методе post, но столкнулся с проблемой задать id этого объекта в качестве инициального значения одного из полей обновлённой формы. На пике принт в консоль ожидаемый, а страницу рендерит без инициального значения и с ошибками необходимых полей. Ебанутое ооп. В виде функции уже давно бы всё сделал.
Аноним 26/02/23 Вск 13:35:21 2623308 232
>>2623297
Пиздос я тупой. Добавил пустую форму get_context_data и перестало ебать мозги.
Аноним 26/02/23 Вск 15:12:12 2623425 233
Аноним 26/02/23 Вск 15:29:13 2623447 234
2ch231.jpg 95Кб, 1295x591
1295x591
Аноны, пытаюсь написать бота, и вот такая хня меня встречает TypeError: 'module' object is not callable
Што делать?? помогите пожалуйста
Аноним 26/02/23 Вск 15:35:33 2623452 235
>>2623447
Телебот это модуль, тебе из него нужно достать нужный класс. Наверняка он называется телебот, попробуй поменять импорт на фром телебот импорт телебот.
Аноним 26/02/23 Вск 16:19:31 2623522 236
Аноны, как взять ключ из словаря и если его нет None? Get возвращает значение, а мне нужен сам ключ. If else слишком много места занимают, даже в одну строку.
Аноним 26/02/23 Вск 16:32:54 2623549 237
>>2623447
telebot.telebot(token) наверное. точно не скажу, ибо пишу не на нём бота. Но учитывая, какой ты импорт сделал должно быть как-то так.
Тут импортируй from telebot import (нужное)
Аноним 26/02/23 Вск 16:34:19 2623553 238
>>2623522
if key in dict.keys():
return key
else:
return None

как вариант, хотя хз что тебе нужно.
Аноним 26/02/23 Вск 16:37:47 2623565 239
>>2623553
хотя лучше просто проверять возвращает ли что словарь с этим ключём, если да, то возвращать ключ, если нет, то None, а не делать перебор через keys()
Аноним 26/02/23 Вск 16:43:58 2623577 240
>>2623565
Как сделать я прекрасно знаю, я искал решение для суперкороткой записи типа .get()

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

Мне кажется это красивее и читаемей
чем
if n:
....return n
Аноним 26/02/23 Вск 16:45:30 2623581 241
Аноним 26/02/23 Вск 16:49:07 2623590 242
>>2623581
Странно, я вот иногда смотрю всякие популярные библиотеки вроде requests и там всю дорогу сверху до низу всё на тернарных выражениях. Кто как не такие сверхпопулярные модули задают моду и формируют стиль для всего комьюнити. Так может это ты рак?
Аноним 26/02/23 Вск 16:51:11 2623594 243
>>2623425
если не парсишь хтмл структурно, то всё норм
Аноним 26/02/23 Вск 16:53:01 2623598 244
>>2623577
пеп8 не рекомендует записывать несколько инструкций в одну строку
Аноним 26/02/23 Вск 16:57:42 2623605 245
>>2623598
Это я знаю. А ещё пеп не рекомендует использовать """ для комментирования, но тем не менее это стандарт.
Аноним 26/02/23 Вск 16:59:26 2623609 246
Аноним 26/02/23 Вск 17:05:47 2623616 247
Стикер 0Кб, 512x512
512x512
Питоны, подскажите название нейросети, если такая есть, которая может по образцу голос скопировать. Гуглил долго и нашел только одну такую нейросеть от российских (вроде бы) разработчиков, но они в целях безопасности убрали из открытого доступа возможность тренить. Оставили только какого-то обглоданного телеграм бота, который несколько голосов из популярных видеоигр копирует.

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

Я если что не мошенник какой, у меня просто есть давнишняя мечта сделать озвучку одной моей любимой актрисы озвучания. Короче мне сугубо для себя нужно и для общего развития.
Аноним 26/02/23 Вск 17:18:42 2623639 248
>>2623522

srenk = 'pook' if 'pook' in somedict else None
Аноним 26/02/23 Вск 17:35:05 2623661 249
>>2623639
Именно заместо такой конструкции я и хотел что-то покороче. Ладно забейте.
Аноним 26/02/23 Вск 17:39:36 2623669 250
>>2623577
сделай свой dict и переопредели .get?
Аноним 26/02/23 Вск 17:44:33 2623683 251
>>2623447
>>2623452
>>2623549
нужно было, оказывается, вызвать конструктор класса а не модуль
bot=telebot.TeleBot
НОООО ТЕПЕРЬ ПРОБЛЕМА В ДРУГОМ
когда я через python main.py запускаю программу, то терминал отказывается работать
чо это вообще такое???!!!!
как быть, Аноны?
Аноним 26/02/23 Вск 17:52:29 2623694 252
Screenshot5.jpg 18Кб, 446x266
446x266
>>2623683
бота нужно через bat.ник запускать лучше всего. там и ошибки во всплывающем окне нормально выписываются.

А по телеботу даже не подскажу. иди их документацию читани. Ты кажется начал polling ещё до запуска бота физически.
Аноним 26/02/23 Вск 17:52:37 2623695 253
>>2623661
короче уже невозможно. только завернуть в функцию. но это петушиный поступок
Аноним 26/02/23 Вск 18:01:28 2623702 254
Аноны, это нормально запихивать простую функцию внутрь конструктора класса? Просто мне эта функция вообще больше нигде не нужна кроме этого места и более того я не хочу чтобы она была в наследниках.
Аноним 26/02/23 Вск 18:06:24 2623709 255
>>2623694
ну и я посмотрел, никакой особой документации по телеботу хорошей реально нет, видимо какая-то мелкая примитивная библиотека. на гитхабе последнее обновление было в 2021, если я ничего не путаю, лол.

Выкидывай этого телебота в помойку, это дохлая библиотека и смотри другие. Тебе по ней даже подсказать никто ничего не сможет, никто не пишет.
Аноним 26/02/23 Вск 18:09:24 2623714 256
>>2623709
Спасибо тебе большое анон. Телебота за борт
Аноним 26/02/23 Вск 18:13:19 2623720 257
>>2623714
Пиздец. Телебот буквально двухкопочный модуль. Даже мая бабуля разобралась бы, а она 20 лет как на том свете. Там синтаксис буквально в одно предлоджение умещается лепи декораторы а всё остальное - обычная приложуха на питоне.
Аноним 26/02/23 Вск 18:19:35 2623724 258
>>2623720
Как и во всех остальных библиотеках, строго говоря, если тебе ничего кроме message_handler не нужно.
Аноним 26/02/23 Вск 18:19:36 2623725 259
>>2620355
При чтении этого языка мне сразу представился гидроцефал, который крипово акает, ыкает и цыкает
Аноним 26/02/23 Вск 18:22:29 2623731 260
>>2623720
Анон, я только сегодня для себя это открыл, отсюда и такие вопросы. Ща буду пытаться вникнуть в это с помощью ютубчика и чего-то простого для начала
Аноним 26/02/23 Вск 18:22:44 2623732 261
>>2623725
Так и есть, строго говоря, другой человек не будет со своим языком лезть на форум, где на нем не общаются. Мы же не заваливаемся в технотематику форчонга и не начинаем отвечать там на русском.
Аноним 26/02/23 Вск 18:38:18 2623760 262
>>2623702
для твоих целей может быть нормально. но если от этого конструктор превращается в говнище - вытащи наружу или назови с подчеркивания
Аноним 26/02/23 Вск 18:53:44 2623790 263
>>2623760
>назови с подчеркивания
А что это дает?
Я пробовал называть - метод так же наследуется и вообще во всем ведет себя как любой другой метод.
Аноним 26/02/23 Вск 19:06:13 2623800 264
>>2623790

просто конвенция такая в 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/
Аноним 26/02/23 Вск 19:11:51 2623812 265
>>2623794
Ты хуйню написал, чел. Извинись.
Аноним 26/02/23 Вск 19:14:28 2623817 266
Как лучше и надежнее всего выковырнуть имя файла из ответа в реквестс headers. Ключ 'content-disposition', есть "filename=" но часто бывает разножопица, то пробел лишний подставят то точку с запятой. Без регулярок может есть решение в модуле os например или в самом реквесте?
Аноним 26/02/23 Вск 19:31:04 2623860 267
>>2623817
найти парсер хедеров?
Аноним 26/02/23 Вск 19:33:08 2623864 268
>>2623860
Я и сам его могу написать. Я спрашиваю какие есть решения в реквестсе для этого.
Аноним 26/02/23 Вск 19:50:06 2623898 269
Анон, такое дело. Пишу тестовое на сборщика серверов, и там в том числе такой вопрос.
> Поясните в двух словах конструкцию на Python (и что она выведет в интерпретаторе):
> map(lambda m: m*m, filter(lambda m: m < 4, [1,4,5,10]))
Хер знает зачем мне это пригодится знать, но судя по вопросам - они их дернули просто из интернета и присылают всем. Что на это можно ответить? Может ли кто-нибудь расписать?
Аноним 26/02/23 Вск 19:53:36 2623903 270
>>2623898
Какая конкретно часть тебе не ясна?
Аноним 26/02/23 Вск 19:55:46 2623909 271
>>2623903
Я не программист, но похоже вся часть. Погуглил чуть и предположу следующее - берем из массива все числа меньше 4 (в нашем случае это только 1), и возводим в квадрат (m*m)
Map похоже ничего не выдает, если работать через print(list()), то мое предположение как будто сходится, если увеличиваю 4 до 11, то вывод - все эти числа, возведенные в квадрат.
Аноним 26/02/23 Вск 19:56:53 2623914 272
>>2623909
Точнее map выдает, но ничего осмысленного для меня.
><map object at 0x000002427ED5F240>
Аноним 26/02/23 Вск 19:57:18 2623916 273
>>2623914
Пиши так. Эта конструкция возвращает генератор, который последовательно просматривает элементы списка (1,4,5,10) и если элемент меньше четырех - возвращает его квадрат.
Аноним 26/02/23 Вск 19:58:39 2623920 274
>>2623914
Оберни в лист и будет осмысленно.
Аноним 26/02/23 Вск 20:01:12 2623927 275
>>2623916
>>2623920
Спасибо за оперативный ответ! На удаленном сервере у меня питон2, он выдает квадраты в изначальном виде. На вин машине дома питон3, он выдает про map object. Распишу подробнее обе ситуации им.
>>2623916
Что такое генератор в моем случае, можешь в паре слов расписать?
>>2623923
>>2623920
Как обернуть в лист? Подскажите не программисту, и так все мозги сломал об эту конструкцию, не хотел показаться итт тупорылым, который даже не смог в гугл.
Аноним 26/02/23 Вск 20:01:33 2623928 276
>>2623927
> в изначальном виде.
Подразумеваю - в правильном виде.
Аноним 26/02/23 Вск 20:02:56 2623933 277
>>2623927
А ну да, все правильно я выше написал print(list()).
Аноним 26/02/23 Вск 20:03:04 2623934 278
>>2623927
>Что такое генератор в моем случае
Это такой объект, который выдает значения по запросу итератора. тебя же просили в двух словах, а ты уже углубляешься в итераторы.
Аноним 26/02/23 Вск 20:05:17 2623940 279
>>2623934
Ну я для себя уже. Там количество всратых вопросов и так зашкаливает, но вдруг заострят внимание на этом вопросе.
Еще раз спасибо за ответы!
Аноним 26/02/23 Вск 20:05:57 2623943 280
>>2623939
Да конечно по верхам. Я говорю - изначальная вакансия - сборщик железа, хз зачем там питун нужен.
Аноним 26/02/23 Вск 20:20:50 2623968 281
>>2623903
>Какая конкретно часть тебе не ясна?

обожаю русский язык в онлайн-переписке. задаешь вопрос, а как будто одновременно харкаешь вопрошанту в ебало
Аноним 26/02/23 Вск 20:23:17 2623972 282
>>2623800
Круто, а что на счет переменных. Вот я сейчас называю особо важные переменные, те которые используются в более чем одном обьекте с нижнего подчеркивания, чтобы с первого символа себе сигнализировать - это важная переменная, следи за ней ничтожество, а константы я называю _ВОТТАК что это вообще трогать нельзя.
Всё правильно делаю?
Аноним 26/02/23 Вск 20:24:55 2623975 283
>>2623968
Ещё можно в конце предложения добавлять "Ещё вопросы остались?" как бы ментально передавая сообщение типа "ты - тупой чтоли, чего не понятно?"
Аноним 26/02/23 Вск 20:25:11 2623976 284
Аноним 26/02/23 Вск 20:28:10 2623982 285
>>2623972
>а константы я называю _ВОТТАК что это вообще трогать нельзя

это просигнализирует о том, что это внутренние константы. их не будет импортировать их через импорт звездочкой
с семантики "важных" переменных проиграл. назови уж very_important_number_of_apples, хуле
Аноним 26/02/23 Вск 20:28:11 2623983 286
158803495413017[...].jpg 56Кб, 497x318
497x318
>>2623972
делай как тебе удобно, а если будешь кому-то код показывать просто поставь литер и жмякай его когда нужно
Аноним 26/02/23 Вск 20:31:48 2623987 287
>>2623976
Константы в пепе большими буквами рекомендуют писать, а то что нижнее подчеркивание это weak internal use indicator это вообще бимба и как-то нелогично.
Во первых нижнее подчеркивание сразу бросается в глаза, во вторых оно редкое и по этой причине выделяется. МАГИЧЕСКИЕ методы начинаются с подчеркиваний, что как бы демонстрирует их важность.
Для меня совершенно логично что нижнее подчеркивание в начале переменной это сигнал о важности.
Аноним 26/02/23 Вск 20:33:18 2623991 288
>>2623984
непопепер это кто именно? у кого не по пепу или кто другим говорит, что у них не по пепу?

просто при всех "безобидных" отклонениях от пепа, андерскоры таки влияют на поведение интерпретатора и линтеров в иде. важная переменная является НЕВИДИМОЙ переменной в пичарме, то есть имеет прямо противоположное значение
Аноним 26/02/23 Вск 20:39:16 2624002 289
>>2623987
ну для себя как хочешь пиши, кто запрещает-то. но жизнь заставит писать по пепу всё равно

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

хм. а для меня андерскоры всегда сигнализируют - "я костыль", "я тут временно", "я метаданные", "меня зарефакторят" и т. д. в любых языках
Аноним 26/02/23 Вск 20:43:26 2624009 290
>>2624002
Ну да, видимо придется, we live in a society. Разные стили письма "для себя" и "на показ" это не практично. А жаль.
Аноним 26/02/23 Вск 20:59:19 2624025 291
>>2624002
Получается все временные переменные, например в циклах, надо называть с нижнего подчеркивания, показывая что они мусор?
Аноним 26/02/23 Вск 21:05:50 2624038 292
>>2624025
так они не мусор

мусор только подчеркиванием называют:
> for hours, minutes, _ in timestamps:
Аноним 26/02/23 Вск 21:24:55 2624053 293
Правильно ли я понимаю, что async - это такая обёртка над epoll?
Аноним 26/02/23 Вск 22:51:51 2624136 294
Снимок экрана 2[...].png 50Кб, 686x361
686x361
Сап двач

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

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

фикс
Аноним 26/02/23 Вск 22:54:44 2624142 296
Снимок экрана 2[...].png 28Кб, 632x214
632x214
Аноним 26/02/23 Вск 22:54:57 2624143 297
>>2624136
> models создает classname_set метод для каждого класса внутри себя?
Да.
Аноним 26/02/23 Вск 23:08:05 2624149 298
>>2624143
А где про это инфу найти?
Аноним 27/02/23 Пнд 00:57:58 2624201 299
>>2624149
В документации про related_name или related object

>>2624142
Конкретно здесь у тебя нет связки Question и Choice, поэтому будет ошибка
Аноним 27/02/23 Пнд 00:59:28 2624202 300
>>2624201
Так ты не видел его чойс модель, откуда ты знаешь, что связи нет?
Аноним 27/02/23 Пнд 09:08:30 2624298 301
Домой приду скину Choice модель
Аноним 27/02/23 Пнд 10:10:53 2624330 302
Такое ощущение что чат гпт пересадили сейчас на ограниченные ресурсы или старую версию, пошел тупняк в сравнении с тем как он решал еще вчера-позавчера.
Аноним 27/02/23 Пнд 10:53:01 2624373 303
>>2624298
>>2624202
>>2624201
>>2624143
А разве это не model manager делает, который и object создает? Можно и свой кастомный менеджер сделать.
Аноним 27/02/23 Пнд 13:48:35 2624497 304
Аноны как питонически всего проверять есть ли переменная. Рабочая среда ЮПИТЕР, там если не перезагружать всё (что разумеется никто не делает) переменные могут с прошлой недели лежать в ячейках. Возникла необходимость написать разные скриптны именно для организации рабочего пространства и нужно проверять есть ли переменные.
1 if 'name' in locals как то не очень красиво.
2 try: вообще плохо, потому что в except приходится писать pass а это режет глаз.

Как быть?
Аноним 27/02/23 Пнд 14:24:58 2624535 305
>>2624202
Обосрался, признаю
Аноним 27/02/23 Пнд 15:02:26 2624569 306
Аноны, подскажите в какую сторону двигаться.
Проект по крипте, нужно анализировать лимитные заявки в стакане на разной глубине. Каждые 15 мин в бд добавляються новые данные и это нужно проанализировать и найти всплески заявок по обьему за сутки.

Я думаю это в сторону ml, но может кто-то имел дело с похожим кейсом и посоветует либы / что почитать
Аноним 27/02/23 Пнд 16:22:46 2624652 307
>>2624569
Погугли формулу случайного блуждания (ту, что с квадратным корнем) и найди себе работу настоящую уже.
Аноним 27/02/23 Пнд 16:32:34 2624670 308
>>2624652
>каждые 15 минут
Расхождение будет большое.
Аноним 27/02/23 Пнд 17:54:57 2624793 309
7e5ab3f6a035b65[...].jpg 39Кб, 500x261
500x261
Аноним 27/02/23 Пнд 18:18:15 2624828 310
>>2624652
>>2624670
Спасибо, сейчас посмотрю.
Мне нужно что бы кумулятивно данные накапливались в течении суток и новые данные сравнивались с предыдущими. На сколько большие там отклонения
Аноним 27/02/23 Пнд 20:08:15 2624917 311
>>2624828
Нашел еще немного инфы, по теме: pycaret, timescaledb
Если можете подкиньте еще идей
Аноним 27/02/23 Пнд 21:48:31 2625009 312
4b1yPMJUoi4.jpg 307Кб, 1440x1920
1440x1920
dLwKTTgT2CM.jpg 333Кб, 1440x1920
1440x1920
RhWn3Z66t1o.jpg 316Кб, 1440x1920
1440x1920
Господа, помогите! Кровь из носу надо до завтра, выж программисты.
Аноним 27/02/23 Пнд 22:59:17 2625092 313
>>2625009
Может тебе еще и лампочку вкрутить?
Аноним 27/02/23 Пнд 23:00:20 2625093 314
image 11Кб, 300x182
300x182
>>2625009
Написал решение, но телефон разрядился. не могу отправить.
Аноним 27/02/23 Пнд 23:30:34 2625117 315
Аноним 27/02/23 Пнд 23:45:48 2625134 316
>>2625130
ну я попрактиковался а он сам виноват что даже не пытался
Аноним 27/02/23 Пнд 23:47:25 2625136 317
>>2625009
https://ideone.com/MARkye
Для остальных задач точно такой же код, только разное условие в 8 строке
Для 4 - num % 3 == 0 and num % 10 == 1
Для 6 - not num & (num - 1)
Аноним 27/02/23 Пнд 23:49:32 2625142 318
>>2625137
Смотря для кого. Я например только начал учиться, благодаря шестой задаче узнал о бинарных операциях.
>>2625136 кун
Аноним 28/02/23 Втр 03:59:29 2625267 319
Посоветуйте, пожалуйста, интересный учебник для начинающих, доступный даже школьнику
Аноним 28/02/23 Втр 04:46:22 2625275 320
Аноним 28/02/23 Втр 05:09:35 2625280 321
Аноним 28/02/23 Втр 10:49:58 2625440 322
>>2625267
Майкл Доусон - Программируем на Python
Пэйн - Python для детей и родителей
Бесплатный курс Яндекс-практикума
Аноним 28/02/23 Втр 12:48:41 2625625 323
Аноним 28/02/23 Втр 16:06:08 2625859 324
image.png 80Кб, 671x691
671x691
image.png 43Кб, 1345x227
1345x227
Привет, питонач.
Есть список словарей
a = [{'key1': 'value1'}, {'key2': 'value2'}]
Есть код с функцией, которая должна возвращать значения словарей.

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

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

убирай декоратор, он тут не нужен
Аноним 28/02/23 Втр 17:41:08 2625980 326
image.png 119Кб, 1217x924
1217x924
>>2616755 (OP)
Я учусь писать телеграм бота, использую библиотеку aiogram 3 и столкнулся с такой ошибкой. Гуглить не получается, в документации вроде так же написано как и у меня. Прошу помочь анонов, что я сделал не так? Как сделать чтобы работало?
Аноним 28/02/23 Втр 19:24:12 2626132 327
>>2625859
listed_emoji ты сам заполняешь? Если да, то говно сделал. Делаешь обычный словарь со значениями и мозг не ебёшь. Если нет, то все равно говно сделал. Слей свои массивы словарей в один и делай то же самое

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

Если ты практикуешься писать декораторы, то принимай первым аргументом в декораторе self, а вторым остальные аргументы. Но пример такой себе для обучения
Аноним 28/02/23 Втр 20:35:30 2626220 328
>>2625980
Учись читать ошибки, учи английский язык. У тебя синтаксическая ошибка.
Аноним 28/02/23 Втр 22:42:48 2626308 329
image.png 81Кб, 1134x828
1134x828
В чем причина ошибки?

Появляется в большинстве онлайн интерпретаторов почему-то, но в некоторых, например https://www.jdoodle.com/python3-programming-online/ - нет...
?
Аноним 28/02/23 Втр 22:57:54 2626322 330
>>2626317
Спасибо, понял!

Кстати, у меня почему-то ideone.com не открывается. Проверил по isitblockedinrussia - вроде должен работать нормально...
Кто ещё сталкивался?
Аноним 01/03/23 Срд 00:44:05 2626395 331
>>2626322
Потому что Россия его не блокировала, а они заблокировали Россию
Аноним 01/03/23 Срд 12:34:27 2626589 332
>>2626132
>>2625897
>сам заполняешь
Нет, буду использовать какой-нибудь сиквел и парсить сайт с эмоджи, заполняя поля бд "ключ", "значение". Также хочу прикрутить какое-нибудь йоба-обучение, чтобы, при написании "клубничка" предлагалось что-нибудь навроде "клубника = клубничка?", ответ запоминался и соответственно вызывался смайлик по условию.
>ты практикуешься писать классы
Да.
>ты практикуешься писать декораторы
Да.

Про код: переделал.
Заполнил список тремя элементами: двумя рабочими и одним, который явно вызывает эксепшн. Определил ошибку.
Переработал также сам декоратор, но загвоздка, аноны вот в чём.
В списке словарей 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
Аноним 01/03/23 Срд 13:11:29 2626607 333
>>2626220
пайчарм не подчеркнул ошибку, потому что её там нет, тут проблема в другом
Аноним 01/03/23 Срд 13:17:00 2626611 334
Какое IDE с дебаггером поставить ньюфагу?

Пайчарм?
Аноним 01/03/23 Срд 13:28:17 2626619 335
>>2626607
Интересный экземпляр инфузории с зайчатками. Продолжаю зоонаблюдение. Вдруг откроет для себя, что пайчарм — это ПО, а не человек.
Аноним 01/03/23 Срд 13:28:37 2626621 336
Аноним 01/03/23 Срд 13:46:52 2626634 337
>>2626619
Так ПО умеет различать синтаксические ошибки
Аноним 01/03/23 Срд 13:49:35 2626637 338
>>2626634
Вот честно хотел тебе написать, в чём твоя ошибка, но ты туп, непробиваем и вздорчив. Пользы тебе от ответа не будет.
мимо
Аноним 01/03/23 Срд 13:51:57 2626642 339
>>2626637
>>Учись читать ошибки, учи английский язык. У тебя синтаксическая ошибка.

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

Ты не хотел мне подсказать, ты просто тролишь меня
Аноним 01/03/23 Срд 14:17:22 2626658 340
В чём смысл мультисловарей?
{'name': 'Abu', 'order': 'primates', 'species': 'macaca radiata'}
Как по ним итерировать, если допустим таких json много и они записаны в список?
Допустим, если значения одинаковы для всех словарей внутри списка, то несложно пройтись маппингом
a = [{'name': 'Abu', 'order': 'primates', 'species': 'macaca radiata'}]
names = list(map(lambda x: x['name'], a]
и тд
А, если каждый словарь содержит разные ключи?
Изучать их перед итерацией?
Аноним 01/03/23 Срд 17:08:20 2626785 341
image.png 37Кб, 300x168
300x168
>>2626637
Извени меня анон, я был не прав, а ты был прав. Спасибо что подсказал
Аноним 01/03/23 Срд 19:14:10 2626891 342
>>2626611
pycharm community edition альбо VSCodium з плагінамі.
Аноним 01/03/23 Срд 22:16:56 2627089 343
>>2626658
for key, item in {--------}:
----tralala huy=sosi
Аноним 01/03/23 Срд 23:49:42 2627179 344
Аноним 02/03/23 Чтв 11:04:52 2627436 345
.png 8Кб, 540x213
540x213
.png 22Кб, 832x265
832x265
Анон, пытаюсь написать телеграм бота по докам. Столкнулся с пикрил ошибкой, интернет и гугл истыкал - не понимаю в чем дело. Алсо почему импорт телеграм серым?
Аноним 02/03/23 Чтв 11:16:30 2627450 346
>>2627436
>Алсо почему импорт телеграм серым
Чел, ты сначала хотя бы в основах разберись, потом берись за написание ботов.
Аноним 02/03/23 Чтв 12:31:06 2627576 347
>>2626589
Декоратор - это сахар. Все, что можно сделать там, реализуемо и в обычной функции

> В списке словарей listed_emoji словарь должен иметь тип значения именно байты(строки 25, 27), иначе эксепшн. Я понимаю, что можно это было сделать декоратора, наверное, но при любой попытке даже None не возвращается.
В функции сначала проверяешь свой ключ как тебе хочется, и в случае ошибки возвращаешь None. Только потом делаешь декодирование
Аноним 02/03/23 Чтв 14:42:31 2627667 348
>>2627436
судя по ошибке, класс Updater получил лишний аргумент token
серым потому что импортировано, но в коде не используется
Аноним 02/03/23 Чтв 15:27:20 2627702 349
Безымянныйgfshs[...].png 46Кб, 1090x721
1090x721
Почему не работают таймауты как думаете? Не асинхронная версия проксичекера работает, а асинхронная проскакивает по списку вообще не ожидая ответа, хотя должна эту 21 секунду ждать.
Аноним 02/03/23 Чтв 15:46:14 2627726 350
image.png 490Кб, 681x383
681x383
Сап джангисты. Имеется строка БД, содержащая некоторое дерьмо и дату сохранения. Имеется UpdateView без защиты от условий гонки. Хочу сделать сравнение даты сохранения в БД на момент загрузки страницы (дата1) с этой же датой на момент отправки данных (дата2). Если даты различаются, сохранения не происходит, а юзер получает хуй свежее дерьмо из БД. При совпадении, заливание говна. Обе даты извлечь в get и post запросах получается, но только по отдельности.

Внимание, вопросы: Куда бы сохранить дата1 в UpdateView? Атрибуты класса затираются при новом открытии страницы, как и extra_context (вообще не предназначенный для таких вещей). Как ещё можно избежать условий гонки, если я какой-то хуёвый способ выбрал?
Аноним 02/03/23 Чтв 15:58:13 2627732 351
>>2627726
Еяптп, сделай два таймфилда, у одного параметр автоэдд, у второго автоэдднау. И тогда во второй автоматом будет апдейттайм записываться.
Аноним 02/03/23 Чтв 16:13:40 2627746 352
>>2627732
Не понял тебя. Как двумя полями избежать гонки?
>auto_now_add
Это только про создание объекта. В моём случае работа с уже существующими.
>auto_now
Это уже есть, дата сохранения. Проблема в том, что Юзер1 загрузил страничку, пошёл кофе хлебать. Юзер2 тоже открыл, обновил данные. Юзер1 вернулся, не увидел изменений, затёр своим дерьмом испражнения Юзера2.
Аноним 02/03/23 Чтв 16:26:01 2627768 353
>>2627746
А как это ещё работать должно? Или ты хочешь данные через сокет рефрешить?
Аноним 02/03/23 Чтв 16:54:11 2627782 354
>>2627768
Сокет не доступен по техническим ограничениям. Не вкурил логику реализации этого на уровне модели. Возможно, я не правильно понимаю поведение методов auto_now и auto_now_add.
Аноним 02/03/23 Чтв 16:58:10 2627786 355
>>2627782
Для сокетов есть джанго ченнелс. А так, я не понял, что тебе нужно-то в итоге. Опиши ожидаемые процессы.
Аноним 02/03/23 Чтв 17:02:32 2627790 356
>>2627786
>Юзер1 загрузил страничку, пошёл кофе хлебать. Юзер2 тоже открыл, обновил данные.

Нужно, чтобы Юзер1 получил данные, внесённые Юзером2 при попытке сохранения своих правок.
Аноним 02/03/23 Чтв 17:10:14 2627796 357
>>2627790
Ну можешь отправлять запрос, в котором помимо введённых данных будут лежать ещё и изначальные данные, полученные при загрузке страницы, сверять данные в бд с отправленными изначальными и на основе этого уже писать свою логику.
Аноним 02/03/23 Чтв 17:15:04 2627800 358
>>2627796
И ведь правда, можно добавить транзитное поле формы, получающее дату на момент загрузки страницы и передающее её для сравнения в метод post. Спасибо анончик.
Аноним 02/03/23 Чтв 17:15:10 2627801 359
>>2627790
Автообновление прикрути через жс.
Аноним 02/03/23 Чтв 17:16:37 2627803 360
>>2627801
>жс
Иди смузи наверни.
Аноним 02/03/23 Чтв 17:17:57 2627805 361
>>2627801
Это надо челу надо либо сокет прикручивать, либо долбить сервак реквестами ежесекундно, что полная хуйня.
Аноним 02/03/23 Чтв 23:13:47 2628073 362
Одно время я пользовался шеллом Питона как калькулятором. Но меня очень заёбывал его нестандартный подход к делению и округлению..
Напомните, плиз, чем он отличается от общепринятой арифметики

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

Я просто давно не пользовался питоном, и позабыл совсем.
Аноним 02/03/23 Чтв 23:19:18 2628075 363
image.png 4Кб, 193x228
193x228
>>2628073
Попытался сейчас нащупать сабж, но то ли они что-то поменяли в последних версиях третьего питона, то ли я не там ищу...
Аноним 02/03/23 Чтв 23:23:07 2628077 364
image.png 78Кб, 1388x423
1388x423
>>2628075
>>2628073
Всё, нашёл
Округление
> round (2.55, 1) даст 2.5 а не 2.6


Но почему эту залупу не фиксят?!
Аноним 02/03/23 Чтв 23:35:34 2628086 365
image.png 2Кб, 286x90
286x90
>>2628077
Неужели это единственный воркараунд? Пиздец же какой-то...
Аноним 02/03/23 Чтв 23:44:33 2628094 366
Тут есть сетевые инженеры? Мне нужна помощь со связкой контейнера в GNS3 на котором будет питон
Аноним 03/03/23 Птн 00:05:20 2628114 367
image.png 0Кб, 171x42
171x42
>>2628086
Ну если с округлением все ещё понятно, просто функцию напишу, то как быть с делением?..
Аноним 03/03/23 Птн 02:43:46 2628186 368
Аноны, задача блин.
Джва словаря в обоих ключи - строка.
Как соединить эти словаря и в один, не меняя два предыдущих и при этом в ключи одного из них добавить пару символов.
И всё это надо сделать в одну строку!11

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

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

Как в одну сделать?!
Аноним 03/03/23 Птн 04:06:49 2628200 369
image.png 4Кб, 948x28
948x28
Аноним 03/03/23 Птн 04:23:15 2628203 370
>>2628186

зачем тебе куча говна в одну строку
03/03/23 Птн 04:54:21 2628204 371
Это нормально что в SICP Python вообще нет упражнений, в отличие от оригинальной книги?
Аноним 03/03/23 Птн 06:11:14 2628212 372
>>2628077
Есть разные виды округления, в том же round ты можешь выбрать нужное, гугли
Аноним 03/03/23 Птн 06:41:08 2628215 373
Аноним 03/03/23 Птн 06:57:32 2628222 374
>>2628215
Поиск локального максимума
Аноним 03/03/23 Птн 07:26:56 2628230 375
>>2628215
просто идёшь по списку и суммируешь всё и проверяя больше ли новое значение максимального имеющегося или нет, если да, то заменяешь max_sum новым значением.
Если упало меньш 0, то просто обнуляешь новую сумму.

Наипростейшее задание для пятой каты с которым сюда постоянно приходят
Аноним 03/03/23 Птн 07:42:13 2628233 376
>>2628222
>Поиск локального максимума
Допустим я их нашел а что дальше?

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

Бля ну почему я такой тупой, отдохну пока...
Аноним 03/03/23 Птн 07:49:55 2628235 377
>>2628233
Граница пока число не падет меньше нуля. С этого момента типа отсекаешь этот участок, ставишь значение снова на ноль, будь там -1 или -100 и снова начинаешь подсчёт.
Аноним 03/03/23 Птн 08:34:24 2628260 378
>>2628235
>>2628222
>>2628230

Спасибо получилось!
Когда перечитал задание оказалось что я его не совсем правильно понял.
Аноним 03/03/23 Птн 14:33:13 2628527 379
>>2628212
Ничего подобного. Единственный параметр, который ест round, это сколько цифор после точки ты хочешь.
Аноним 03/03/23 Птн 18:29:12 2628767 380
image.png 16Кб, 1087x233
1087x233
Купил курс Python-разработчик, отвалил 200к, теперь жду, что из меня сделают востребованного специалиста и я на изичах залечу на рынок. Всё правильно сделал?
Аноним 03/03/23 Птн 18:50:03 2628780 381
Аноним 03/03/23 Птн 18:53:06 2628783 382
Стикер 63Кб, 500x500
500x500
>>2628767
пчел, за 200к можно обмазаться турецкими кредитками с платисру и выкупить пол юдеми
Аноним 03/03/23 Птн 20:22:19 2628833 383
>>2628767
Ты ещё ждать три недели будешь?
Я за это время на Степике изучил язык с нуля до приемлемого уровня решения кучи задач (с этого же степика).

Ну а ты получишь пенис на нос.
Аноним 03/03/23 Птн 20:23:30 2628834 384
Аноним 03/03/23 Птн 21:43:14 2628907 385
>>2628834
Ну и где твой годный курс?
03/03/23 Птн 21:45:42 2628912 386
>>2628834
>быдлу
>штепик
Ору с этих инфузорий.
Аноним 03/03/23 Птн 21:51:51 2628923 387
>>2628780
Вот и я тоже так думаю!

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

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

>>2628834
Хуйня, видеокурсы априори говно.
Поколение Python (начинающий + продвинутый) топ. Единственный минус - вообще нет ООП.
Freecodecamp Аноним 03/03/23 Птн 22:39:12 2628980 388
Что думаете о курсах Freecodecamp по Python?
Аноним 03/03/23 Птн 23:12:12 2629032 389
>>2628980
курсы не нужны. просто читай документацию с сайта питона.
Аноним 04/03/23 Суб 00:43:10 2629083 390
>>2628144
Ебало завали свинья
Аноним 04/03/23 Суб 09:29:09 2629172 391
>>2628094
Зачем тебе сетевик для этого?... Тебе нужен системщик.
Аноним 04/03/23 Суб 10:47:00 2629190 392
>>2618871
>У Джанго отличная документация
Ну-у... Сколько ни читал, один вопрос так и не получил ответа.
В джанге создаётся проект, а внутри проекта - приложения, но зачем так сделано и как разделять приложения внутри проекта - хуй проссышь. Я лично считаю, что единственный смысл разделять приложения это чтобы они запускались в отдельных контейнерах как микросервисы, но и проекты тогда будут разные.
В документации дохуя всего, оно подробное и т.п.
Но ни там, ни в примерах в интернетах я так и не нашёл разъяснений.
Аноним 04/03/23 Суб 10:48:15 2629191 393
Аноним 04/03/23 Суб 10:58:20 2629196 394
>>2618972
В то, что интересно. Разработка (как и большая часть IT) это такая хуйня, в которой тебе должно быть интересно, это 30% успеха. Ещё 50% это постоянное, ПОСТОЯННОЕ, БЛДЖАД, саморазвитие. Оставшиеся 20% - предрасположенность.
Ну и есть одно отдельное требование, оно, так сказать, булево - либо 1, либо 0 и на этот параметр нужно умножать те проценты. Умение доводить начатое до конца даже если заебало.

Это я всё к чему... Если тебе ничего не интересно, то, возможно, программирование это не твоё.
Нужен огонёк в глазах, нужно, чтобы тебе хотелось что-то реализовать.
Аноним 04/03/23 Суб 11:44:53 2629268 395
>>2628923
ну хуй знает
есть авторские курсы на курсере, юдеми, степике с минимум воды. а срань за 200к будет состоять на 90% из ненужного материала
Аноним 04/03/23 Суб 12:05:32 2629310 396
Ищу расширение для VScode которое рисует объект в виде дерева.
Что-то типа object explorer в вижуал студии, только графическое. Есть такое?
Аноним 04/03/23 Суб 12:09:08 2629314 397
Аноним 04/03/23 Суб 12:13:17 2629324 398
>>2629314
Тогда скажи как оно называется, пожалуйста.
Аноним 04/03/23 Суб 12:14:26 2629329 399
Аноним 04/03/23 Суб 12:18:50 2629342 400
>>2629329
И нахуя ты отвечаешь? Почувствовать своё "превосходство", чёрт?
Аноним 04/03/23 Суб 13:41:11 2629419 401
Стикер 63Кб, 435x417
435x417
>>2629342
ууу, вот ето бахнуло
Аноним 04/03/23 Суб 14:45:35 2629465 402
>>2629196
>Нужен огонёк в глазах, нужно, чтобы тебе хотелось что-то реализовать.
Работает только для джунов, потом приходит понимание понимание зачем ты все это делаешь
Аноним 04/03/23 Суб 16:41:05 2629557 403
>>2629190
как делать приложения на фреймворках это только опыт + попутное изучение других проектов.
пока изучаешь, то нифига непонятно, как начинаешь свой проект делать, то начинаешь доходить
Аноним 04/03/23 Суб 17:06:35 2629579 404
>>2629419
>мам, я его затроллил, смотри, затроллил!!11
Аноним 04/03/23 Суб 17:41:13 2629631 405
Screenshot116.png 13Кб, 789x233
789x233
Сап двач , как сделать виртуальную среду venv в папке ? Хочу сделать простого бота в тг . Я захожу в папку для бота (На рабочем столе) открываю powershell данной папки и пишу python -m venv my-venv , но нихуя
Аноним 04/03/23 Суб 17:44:50 2629637 406
>>2629631
Через пайчарм сделай и не еби мозг.
Аноним 04/03/23 Суб 17:53:53 2629653 407
Screenshot117.png 4Кб, 172x141
172x141
>>2629637
Спс, но что выбрать?
Аноним 04/03/23 Суб 17:55:39 2629654 408
>>2629653
Мои 1\5 нейрона смогли догадаться
Аноним 04/03/23 Суб 18:06:28 2629676 409
Screenshot121.png 146Кб, 916x348
916x348
Я сделал , действительно всё установилось , но как теперь мне активировать и чтобы всё было так-же , а то у меня нет библеотеки aiogram
Аноним 04/03/23 Суб 18:22:55 2629698 410
Джва года кодил для себя, учился. Кодил всё свободное время, скрипты программы прилажухи для повседневных нужд и хобби, тут сайт спарсить, тут собрать все данные с дисков и отправить на бэкап на хостинг, братишка попросил бота сделать, для 3д графики, таблиц всякие штуки, и т.д. и .т.п.
И вот я джва года этой хуйней страдал и угорал, а теперь оказалось что всё это время я занимался ФУНКЦИОНАЛЬНЫМ программированием, потому что считал классы говном без задач.
Пол года назад дай думаю как все стану, посмотрю что это за ООП ваше хваленое.
Теперь без классов и структуры данных не могу ничего кодить, хочется ещё и всё старое переделать по-новому.
Всё таки хоть ООП это изначально концепция для бизнеса, но таки человеческий разум мыслит абстрактно-объектно. Гораздо проще продумывать логику таким образом.

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

Держу в курсе.
Аноним 04/03/23 Суб 19:38:12 2629790 411
>>2629698
Ты уверен, что то, чем ты занимался, это функциональное, а не процедурное программирование?
Аноним 04/03/23 Суб 19:47:28 2629795 412
>>2629676
Значит ты в пейчарме запустил интерпретатор не через это виртуально окружение. Тоже такие проблемы было. Создай ещё файл питона обычный и когда открываешь проект через питон смотри внимательнее что он делает, а то он снова создаёт вирт. окружение или использует глобальный интерпретатор
Аноним 04/03/23 Суб 20:03:36 2629810 413
>>2627702
Залогируй ошибки. except: return False это пизда, у тебя даже KeyboardInterrupt замаскируется.
Аноним 04/03/23 Суб 21:04:26 2629864 414
Аноны, а срезы обычного списка по О нотации какие?

for e in list[1:]

Это пересобирает весь список по срезу перед итерацией или итератор по уму как-то скипает\стартует ?
Аноним 04/03/23 Суб 21:12:43 2629877 415
>>2629864
Пересобирает в новый список. Аллокация + O(n).
Аноним 04/03/23 Суб 21:16:59 2629883 416
>>2629877
А ты точно не обосрался?

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

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

https://wiki.python.org/moin/TimeComplexity
Аноним 04/03/23 Суб 21:27:05 2629897 419
Screenshot from[...].png 119Кб, 756x724
756x724
>>2629864
Вот так можно наговнякать ленивый срез, точнее итератор.

>>2629883
Уважаемый обсиратель-обссыкатель, удосужьтесь сначала в REPL проверить тип и значение lst[1:].
Аноним 04/03/23 Суб 21:35:09 2629901 420
image 27Кб, 1644x126
1644x126
>>2629891
>>2629897

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

Что я не так понял? Поясните твердо и четко.
Аноним 04/03/23 Суб 21:36:58 2629902 421
>>2629891
> не создаёт COW обёртку
Будет много разных типов обёрток, и gc не вычистит основной list если останется только обёртка.
https://mail.python.org/pipermail/python-dev/2008-May/079692.html

Опять школьники с энурезом считают что они умнее дидов и что в 2023 что-то там такое должно быть, что они видели в другом языке.
Аноним 04/03/23 Суб 21:42:43 2629910 422
>>2629901
Оригинал не пересобирается, только читается. Тебе нужно выделить память и скопировать k элементов. Не нужно оригинал пересобирать.
Аноним 04/03/23 Суб 21:49:39 2629918 423
>>2629910
>скопировать k элементов

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

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

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

Что происходит?! Это я чего-то не понимаю или вы ?!
Аноним 04/03/23 Суб 22:00:28 2629933 424
>>2629918
Лист это массив со списком ссылок на объекты питоновские. При взятии слайса эти самые ссылки копируются в новый создаваемый массив, потому они и одинаковые. Что не ясно?
Аноним 04/03/23 Суб 22:02:22 2629934 425
>>2629901
Когда ты слайсишь то точно известно количество элементов в слайсе и место где лежат элементы слайса в оригинальном листе.
Выделяется сразу нужное количество памяти и копируются только нужные элементы.

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

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

>>2629918
>Ссылки на объекты одинаковые
Конечно одинаковые. В питоне нет велью типов.

>никакой новой памяти и копирования не делается.
В списке лежат ссылки на объекты, они и копируются в новую память.
Аноним 04/03/23 Суб 22:18:42 2629956 426
>>2629934
Не рвись, школьник. После дюжины попыток переизобрести мир, вернёшься и будешь спокойно писать на питоне дальше. И на GIL будет поебать, и на допотопную двойку и луддитов которые на ней до сих пор пишут, и на копирование слайса. Дидам ничего не сложно написать, сложно решить как будет лучше для всех, в этом конкретном языке.
Аноним 04/03/23 Суб 22:43:13 2629992 427
image.png 323Кб, 427x604
427x604
Аноним 04/03/23 Суб 22:50:03 2630001 428
>>2629956
>школьник
Это твой единственный аргумент? Мне кажется рвёшься именно ты, если переход на личности случился в первом же ответе.

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

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

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

Наткнулся в учебнике по информатике. Оно убирает количество точек после запятой, оставляя 2.
Что вот это
>"{:10.2f}
это за дичь, и где найти документацию?
Аноним 05/03/23 Вск 02:56:19 2630125 433
Аноним 05/03/23 Вск 03:02:27 2630126 434
Аноним 05/03/23 Вск 18:11:41 2630693 435
Screenshot2023-[...].png 58Кб, 1068x370
1068x370
Пожалуй продублирую вопрос и в этот тред.

Хочу отредактировать Gtk программу на пихтоне. Но возникла проблема, что подсказки и автодополнения для библиотеки pygobject не работают. Установил pygobject-stubs. Думал проблема c nvim пробовал pyright, jedi-language-server, python-lsp-server, sourcery, потом установил vs code и pycharm - та же хуйня.
Как заставить автодополнение pygobject работать?
Аноним 05/03/23 Вск 19:33:49 2630815 436
>>2630693
Надо чтобы .pyi стабы поддерживались лангсервером. И проверь заодно что они установились в site-packages/gi/repository. Или поищи через find где они там установились.
Аноним 05/03/23 Вск 19:35:37 2630816 437
Аноним 05/03/23 Вск 19:54:38 2630835 438
>>2630815
Эта хуйня установилсь в site-packages/gi-stubs/repository. Переименовал в site-packages/gi/repository, в pycharm заработало. Осталось зарбраться почему в nvim не работает.
Аноним 06/03/23 Пнд 02:29:20 2631086 439
>>2630835
Ну вот это меня и смутило, что там обычный пакадж в gi, с --init--.py, не namespaced package, которые задизайнены так, чтобы несколько пакетов могли насрать в одно пространство имён. Думал там через установщик это как-то решается, но видимо нет. Возможно некоторые IDE ищут соседний пакадж %-stubs. Я вообще живу без lang server, заебался их настраивать по каждому поводу.
Аноним 06/03/23 Пнд 11:26:52 2631319 440
Нахуя пишут микроприложения в ООП-стиле, где на каждый класс приходится по одному-два метода? По-моему это совершенно ненужное наслаивание абстракций. Проще и удобнее запилить это в функциональном стиле.
Аноним 06/03/23 Пнд 11:56:47 2631364 441
>>2631319
Есть ебанашки, которые ВСЁ пишут в ооп. Возможно, выходцы из каких-то жаб или шарпов.
Аноним 06/03/23 Пнд 13:37:35 2631467 442
В сокет хочу присунуть на петухоне.

С чего начать???
Аноним 06/03/23 Пнд 15:13:34 2631578 443
>>2631467
В стдлибе есть сокеты. Ну и в том же асинкио, если тебе йобу подавай.
Аноним 06/03/23 Пнд 18:34:51 2631807 444
ебать.png 193Кб, 413x390
413x390
>>2631319
single responsibility principle
>>2631364
я когда ООП попробовал, всё начал писать в ООП
хуй знает, оказалось это супер удобно и экономит время у будущего тебя и поддерживать просто, аноны не спездели
Аноним 06/03/23 Пнд 18:53:11 2631826 445
>>2631807
Как начать писать в ООП?
Аноним 06/03/23 Пнд 19:03:09 2631844 446
ООП.mp4 1178Кб, 640x360, 00:00:30
640x360
>>2631826
ну берешь и пишешь?!
Аноним 06/03/23 Пнд 19:15:39 2631858 447
Аноним 06/03/23 Пнд 19:21:45 2631864 448
>>2631858
Хотя поломанное оглавление как бы как бы намекае...
Аноним 06/03/23 Пнд 19:23:39 2631866 449
что.PNG 363Кб, 1350x1098
1350x1098
Аноним 06/03/23 Пнд 19:24:34 2631868 450
>>2631866
>>2631858
ебать, там еще половина разделов не работает
Аноним 06/03/23 Пнд 19:31:53 2631882 451
>>2631868
Работает там все. Подзаголовки не жмакай прост. А книжка маленькая и хорошая
Аноним 06/03/23 Пнд 19:33:35 2631884 452
>>2631882
>Работает там все.
>Подзаголовки не жмакай прост.
🤡
Аноним 06/03/23 Пнд 19:37:26 2631886 453
>>2631884
Да да. Афтору было влом фиксить функциональный говнокод, а вот если бы менюшка была бы на принципах SOLID сделана, нужно было бы в одно месте повиксить, и все бы заработало аки часы!
Аноним 06/03/23 Пнд 19:38:41 2631887 454
>>2631807
>single responsibility principle
У меня от тебя циклический импорт. S - это методология хорошего написания ООП кода, а не обоснование использование ООП-подхода.
Аноним 06/03/23 Пнд 19:42:23 2631889 455
>>2631886
ну так видео где ООП как раз про ето
Аноним 06/03/23 Пнд 19:43:43 2631890 456
>>2631887
>Нахуя пишут микроприложения в ООП-стиле
>где на каждый класс приходится по одному-два метода?
>single responsibility principle
не пиши, подумой
Аноним 06/03/23 Пнд 21:26:47 2632008 457
image.png 27Кб, 408x245
408x245
Есть ли в питоне/жюпитере готовый способ сделать то что на пике, то есть либо считать данные из файла, либо посчитать и записать в файл? То есть типа кеш с дампом на диск, но не для функций, а для переменных. Надоело в каждом ноутбуке это писать.
Аноним 06/03/23 Пнд 22:21:10 2632064 458
image.png 97Кб, 1135x781
1135x781
image.png 12Кб, 543x493
543x493
Почему в питоне 3 не работает управляющая(экранированная) последовательность \f?
Пик тоталли релейтед.

Использовалась дефолтная IDE пистона - IDLE. В онлайн интерпретаторах та же фигня, даже хуже.
Аноним 06/03/23 Пнд 22:49:53 2632085 459
изображение.png 14Кб, 843x149
843x149
>>2632064
Это не поведение питона, это поведение конкретного шелла.
При том для управляющего символа под названием "разрыв страницы" поведение неадекватное. Не пользуйся таким.
Аноним 06/03/23 Пнд 22:53:23 2632087 460
>>2631890
Еще раз. S - это прием из ООП. Ты оправдываешь использование ООП тем, что тебе надо применить прием из ООП. "Библия истинна, потому что так написано в Библии".
На что я могу парировать, что в ФП также есть принцип четкой сигнатуры у функции, что сродни S из солида.
Аноним 06/03/23 Пнд 22:55:28 2632089 461
>>2632064
Терминал должен поддерживать эту хуйню. В линупсе должно работать.
Аноним 06/03/23 Пнд 22:57:09 2632091 462
>>2632085
Проверил на винде 7 с cpython, проверил на винде 10 с дефолтным питоновским шеллом с оффсайта - один результат...

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

думаю вот, как пофиксить у себя это, ну не перекомпилляцией же? К этому меня жизнь не готовила...
Аноним 06/03/23 Пнд 22:59:59 2632094 463
>>2632089
Но ведь у меня не стандартный виндовый терминал, а вот эта белая залупа из стандартного пакета.

Как бы это на винде-то пофиксить?
Аноним 06/03/23 Пнд 23:04:16 2632103 464
>>2632091
Если у тебя уже на этом этапе начинается какая-то хуерга, я бы тебе посоветовал тупо поставить прыщи и кодить под ними. Я сейчас не троллю, в линуксе реально гораздо удобнее кодить по одной простой причине - ты там тупо не встретишь никакую подобную дичь. Там все легче, начиная от настройки IDE и заканчивая докеризацией приложения.
Аноним 06/03/23 Пнд 23:04:15 2632104 465
>>2632094
Зачем оно вообще тебе? Никогда не приходилось юзать за много лет.
Аноним 06/03/23 Пнд 23:06:34 2632109 466
>>2632103
Двачую, когда пересаживался на линупс, сразу отпали вопросы типа: а это что делает, а это нахуя вообще нужно и т. д. И сразу вся неразбериха в системе закончилась.
Аноним 06/03/23 Пнд 23:08:43 2632114 467
Снимок экрана о[...].png 75Кб, 1406x367
1406x367
>>2632091
> Что за среда\шелл у тебя?
Самый дефолтный bash в терминале гнома.
> как пофиксить
Не надо это фиксить. Это недокументированная легаси фича с непредсказуемым поведением. Не надо решать проблемы опираясь на неё. Решай по другому.
Аноним 06/03/23 Пнд 23:10:36 2632115 468
image.png 25Кб, 365x284
365x284
>>2632104
Тупорылые задачи на освоение операторов вывода и ввода в школьном учебнике помогаю одному челу. Решил что \n\t НИКРАСИВА.

>>2632103
Да я знаю, но тут буквально на год программа пикрил, чо тут докеризировать-то? Из странного хочу разобраться с jupiter, т.к. суки не дают пользоваться ideone без VPN
Аноним 06/03/23 Пнд 23:11:25 2632119 469
Аноним 06/03/23 Пнд 23:11:35 2632120 470
image.png 71Кб, 763x764
763x764
>>2632114
> Не надо это фиксить. Это недокументированная легаси фича с непредсказуемым поведением. Не надо решать проблемы опираясь на неё. Решай по другому.
Ыде оно легаси? Это в доках пистона 3
Аноним 06/03/23 Пнд 23:12:19 2632122 471
>>2632119
Там сразу
>\n\t
т.к. в задаче вывод "лесенкой".
Аноним 06/03/23 Пнд 23:14:00 2632124 472
>>2632122
Дак принт сам делает \n.
Просто наращиваешь количество \t и вот тебе лесенка.
Аноним 06/03/23 Пнд 23:15:28 2632128 473
>>2632115
>тут буквально на год программа пикрил, чо тут докеризировать-то?
Тут варианта два - либо ты ходишь додрочиться до уровня скрипт кидди, и тогда вопросов нет. Либо ты просто не поставил себе цели дальше и не осознаешь, что ждет тебя впереди.
Аноним 06/03/23 Пнд 23:16:18 2632130 474
>>2632120
> Ыде оно легаси?
Не сам символ, а его поведение с переносом. Документированное поведение этого символа - разрыв страницы.
>>2632115
>\n\t НИКРАСИВА
Действительно некрасиво, используй f-string/format.
Аноним 06/03/23 Пнд 23:23:03 2632135 475
image.png 7Кб, 486x263
486x263
>>2632124
Только с тройными кавычками.

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

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

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

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

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

А при вызове функции я просто распаковываю ее результат что в случае тупла, что в случае списка:
res1, res2, res3 = function()
Аноним 06/03/23 Пнд 23:27:08 2632142 477
>>2632137
В данном конкретном случае никакой, кроме нинужных скобок.
Аноним 06/03/23 Пнд 23:29:10 2632147 478
>>2632137
В типе возвращаемого объекта и его размере, но при распаковке никакой, кроме лишних скобок.
Аноним 06/03/23 Пнд 23:46:50 2632157 479
>>2632142
>>2632147
Я бы не парился и возвращал туплом, но я шизик и всегда пользую тайпхинтинг. Коробит, что для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str]. Что странно, ведь в списке тоже могут быть разные типы данных.
Аноним 06/03/23 Пнд 23:47:10 2632158 480
изображение.png 90Кб, 592x1444
592x1444
>>2632135
Он позволяет тонко управлять позиционированием текста без обращению к управляющим символам.
Аноним 06/03/23 Пнд 23:53:27 2632162 481
>>2632157
>для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str]
Потому что в теории набор элементов в списке является гомогенным, т.е. одного типа, а для кортежа разного.
Аноним 06/03/23 Пнд 23:59:49 2632166 482
>>2632162
>набор элементов в списке является гомогенным, т.е. одного типа
Так это вроде массив, который из теории программирования. А список именно что может содержать разные типы данных.
Аноним 07/03/23 Втр 00:03:57 2632168 483
>>2632157
Tuple[str, ...]
С какой-то версии можно и со стандартным tuple так делать.
Аноним 07/03/23 Втр 00:05:29 2632170 484
>>2632168
Опача, реально. Спасибо!
Аноним 07/03/23 Втр 00:05:35 2632171 485
>>2631319
А почему нет? Если привык писать на ООП, то какая разница, большая или маленькая у тебя прилюжуха
Аноним 07/03/23 Втр 00:05:57 2632172 486
image.png 3Кб, 301x88
301x88
>>2632158
Красивое... Спасибо!
как я сам не догадался

А литерал в такую ф-строку можно запихать, или только переменную?
Аноним 07/03/23 Втр 00:06:29 2632173 487
>>2632166
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).
Ну так список это не массив, я лишь цитирую оф. доку.
Аноним 07/03/23 Втр 02:20:38 2632229 488
>>2632158
Долго ковырялся, оказалось литералы тоже можно пихать в фигурные скобки f-string, но нужны другие кавычки. (в документации нигде нет)

А потом что-то пошёл почитать, как туда ньюйлайны добавляются, и тут уже проиграл просто в голос https://towardsdatascience.com/how-to-add-new-line-in-python-f-strings-7b4ccc605f4a
Аноним 07/03/23 Втр 03:43:24 2632240 489
>>2632157
>Коробит, что для листа я могу написать просто list[str], а для тупла приходится писать tuple[str, str, str].

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

> Что странно, ведь в списке тоже могут быть разные типы данных.
тогда это не аннотируется как list[str]
это аннотируется как: list[str | int | Pook | None]
Аноним 07/03/23 Втр 11:15:00 2632354 490
Как это под виндовую парадигму переписать?

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

def func1(x):
r = [x]
with multiprocessing.Pool() as pool:
pool.imap_unordered(func2,r)
Аноним 07/03/23 Втр 12:21:55 2632416 491
>>2632354
Тебе надо просто в другой процесс отправить задачу?
Аноним 07/03/23 Втр 13:03:16 2632486 492
Есть какие-то либы или совета для адекватной реализации консольного псевдоинтерфейса? Я на коленке сделал через полное обновление вывода + clear, но во первых это неудобно, во вторых мерцает как тварь. Питон не знаю, пердолю по докам.
Аноним 07/03/23 Втр 13:06:09 2632490 493
>>2632486
Это называется TUI. Гугли.
Аноним 07/03/23 Втр 13:19:19 2632516 494
Аноним 07/03/23 Втр 13:26:11 2632524 495
>>2632354
Навошта перапісваць? multiprocessing.Pool мусіць працаваць у вакенцах таксама як у лінуксе. Аднак, у галоўным файле мае быць іспыт, бо вакенцы выконваюць усю праграму спачатку для кожнай плыні:

if __name__ == "__main__":
...

https://www.online-python.com/vJU8xR2Ewz
Аноним 07/03/23 Втр 15:45:05 2632684 496
>>2632524
Do a Python be thou native language, bruh?
Аноним 07/03/23 Втр 16:20:39 2632719 497
Аноним 07/03/23 Втр 21:50:40 2633096 498
Аноним 07/03/23 Втр 22:13:41 2633129 499
>>2629465
>Работает только для джунов, потом приходит понимание понимание зачем ты все это делаешь
По себе знаю, что огонёк может гореть десятилетиями. IT это потрясающе, это интересно, это феноменально. Главное не стоять на месте, а погружаться глубже и расти выше. Проблемы начинаются, если закисаешь в одном болоте, но тогда нужно срочно выбираться.
Аноним 07/03/23 Втр 23:18:50 2633175 500
>>2632087
>S - это прием из ООП
1) не приём а принцип
2) Не из ООП, а актуален для любой парадигмы
Аноним 08/03/23 Срд 00:01:24 2633249 501
Поясните про асинхронность.
Известно, что ивент луп содержит слабые ссылки на таски, и поэтому их надо сохранять отдельно, иначе их сборщик мусора соберёт до завершения. Вопрос: а что в этом случае произойдёт/может произойти? Всё упадёт, всё зависнет, всё тихо будет проигнорировано и выдаст хуиту вместо результата?
Аноним 08/03/23 Срд 08:05:11 2633386 502
Почему сука скрипт не работает? Мне надо чтобы он отсылал новые появляющиеся файлы из определенной папки мне в телегу, какого хуя он просто ниче не отсылает
https://pastebin.com/trFT2e4Y
Аноним 08/03/23 Срд 10:27:47 2633476 503
>>2631086
Ну, заебись когда ты знаешь все библиотеки, методы и параметры. Я же себя слепым щенком ощущаю, еще и документация на сайте Gtk говно полное. А нет никаких плагинов для nvim которые сами эти stubs генерируют по библиотекмам, что ты импортировал?
Аноним 08/03/23 Срд 13:22:44 2633628 504
Аноним 08/03/23 Срд 13:47:29 2633649 505
Безымянный.png 6Кб, 735x344
735x344
Привет, тред!
Хочу сократить количество операций, путём уменьшения числа сравнений, схематично на пике.

Какими инструментами подобное делается?
на ум приходит только go to через всякие библиотеки
Аноним 08/03/23 Срд 14:07:08 2633688 506
>>2633649
Зачем?
Ну то есть тебе так и так получать и проверять все значения. При этом если сравнение идёт через логическое "И", то по нахождению первого False оно сразу вернёт False.
Аноним 08/03/23 Срд 15:04:06 2633791 507
>>2633649
Долбоёб, в питоне и так ленивые логические выражения.
Аноним 08/03/23 Срд 15:07:22 2633795 508
Аноним 08/03/23 Срд 19:40:17 2634069 509
Питонисты, есть какой-то адекватный способ не трогая affinity вручную из кода заставить питон не использовать Е-ядра на интеле? У меня скорость обучения нейросеток падает из-за этого. Питон в фоне и нагрузка очень неравномерная - как итог его всегда кидает на Е-ядра.
Аноним 08/03/23 Срд 19:53:52 2634089 510
Аноним 09/03/23 Чтв 00:06:19 2634311 511
>>2634069
Толькі сродкамі аперацыйнай сістэмы, якія можаш выклікаць праз os.system()
Аноним 09/03/23 Чтв 01:57:52 2634360 512
>>2633476
Не, я не знаю, прост хорошо освоил поиск по проекту, остальное смотрю в доках. Что-то с этим нужно сделать чтобы делать всё быстрее, но мне лень. Gtk сложный, да, там только через туторы и эксперименты всё получается.
Аноним 18/03/23 Суб 01:33:42 2643845 513
Сап, анонасы, я не погромист, когда то ставил питон 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 переключился?
Аноним 21/03/23 Втр 19:00:03 2647905 514
image.png 3Кб, 218x110
218x110
>>2643845
>Шо надо Git написать, чтоб он на 3.7-64 переключился?
GIT сам пользуется питоном? Вот уж вряд ли.
Вообще, какая версия отработает как правило определяется симлинками как на пике. То есть тебе надо симлинк python3 -> python3.1 удалить и создать python3 -> python3.7. В редких случаях это, правда, может выйти боком.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов