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

Ответить в тред Ответить в тред
Питон тред №87 /python/ Аноним 04/05/20 Пнд 19:58:50 16765871
license.jpg 32Кб, 640x480
640x480
tumblrpou2izN7C[...].jpg 330Кб, 1280x891
1280x891
Raft-for-reptil[...].jpg 229Кб, 880x655
880x655
Тред, посвящённый языку программирования Питон, #87

Предыдущий: >>1665888 (OP)
Литература:
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

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

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

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

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

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

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

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

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

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

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

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.

текущая версия шапки: https://dumpz.org/aaNRDPe2xXh2
Аноним 04/05/20 Пнд 20:02:03 16766002
>>1676587 (OP)

Возможно актуально
>>1674111 →
>Аноны, стоит ли объединить все наши репы с книгами в одну большую и живую?
Аноним 04/05/20 Пнд 21:33:51 16767093
Какие есть альтернативы formencode ? Что нибудь, что нормально поддерживается.
Аноним 04/05/20 Пнд 21:42:25 16767134
Аноним 04/05/20 Пнд 21:50:00 16767205
Прочитал про asynс и тут выясняется, что теперь все библиотеки требуется переписать на событийный цикл. И большая часть их не переписана.
В том числе kivy.

Ну нахуя столько хайпа? Какие проблемы синхронизации убирает async ?

рандомному двачеру не верите, так хоть Хабр почитайте
https://habr.com/ru/company/hh/blog/280892/
Аноним 04/05/20 Пнд 22:06:59 16767386
>>1676720
асинхронность - не панацея, если ты не знаешь зачем она конкретно тебе нужна, то она тебе не нужна
Аноним 04/05/20 Пнд 22:08:14 16767407
>>1676720
> asynс
> kivy.
> Ну нахуя столько хайпа?
> торнадо
Чел ты вообще понимаешь о чем пишешь?

Аноним 04/05/20 Пнд 22:14:02 16767468
>>1676720
>Какие проблемы синхронизации убирает async ?
Нет такой проблемы как thread-unsafe, переключение потоков идёт в заранее известный момент времени.

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

>рандомному двачеру не верите, так хоть Хабр почитайте
Автор путается в понятиях. Асинхронность в питоне ровным счётом не про callback-hell. И они переписывали на java, которая ориентирована на многопоточность. Там автор скорее рассуждает, что многопоточность там хорошая и можно от неё не отказываться.

Аноним 04/05/20 Пнд 22:29:07 16767519
>>1676738
Тут в треде переодически пишут что это нербходимый навык мидла
Аноним 04/05/20 Пнд 22:31:46 167675310
>>1676746
Посыл статьи таков, что можно было бы переписать на питоне с тредами и стало бы заебись. Gil не считается заметной проблемой
Аноним 04/05/20 Пнд 22:32:21 167675611
>>1676751
Все правильно пишут, мидл должен понимать где её применять.
Аноним 04/05/20 Пнд 22:37:31 167675912
>>1676756
Ну и где, если приложение с < 500 коннектов вроде бы не выигрывает?
Аноним 04/05/20 Пнд 22:44:16 167676113
Аноним 04/05/20 Пнд 22:46:23 167676314
>>1676759
Чел мне лень разбирать их говнопример, могу тебе сказать что там был торнадо и во вторых с помощью async await легко реализовать PubSub вебсокет например.
Аноним 04/05/20 Пнд 23:02:01 167676915
>>1676753
Нет так такого посыла, автор смотрел исключительно на треды в java, питон там вообще был не при деле. Просто на питоне был исходный код, который они портировали, чтобы весь код был на java.

На питоне треды вообще смысла не имеют, только в контексте, они выигрыша не дают. Но их можно использовать, чтобы портировать какой-то старый код в тот же асинкио.
Аноним 04/05/20 Пнд 23:15:16 167678316
Всем привет, буду благодарен.
stackoverflow.com/questions/61599310/pytelebot-schedule-send-msg-at-certain-time
Аноним 04/05/20 Пнд 23:23:50 167680217
>>1676783
у тебя твоя функция job принимает аргумент message, ты передаешь функцию job какой-то хуйне чтобы она эту функцию вызвала, но откуда взять message ты ей не сказал

питон тебе пишет
Бля, в метод job не был передан аргумент message

я хз что ты сделать хочешь, но крч проблема вот такая
Аноним 04/05/20 Пнд 23:30:57 167681618
>>1676802
Это я понял, спасибо
Аноним 05/05/20 Втр 00:41:07 167688719
Есть кто-нибудь кто готов будет ревьюить мой говнокод (django), в замен могу помогать с рутиными задачами.
Аноним 05/05/20 Втр 00:45:57 167689220
Аноним 05/05/20 Втр 00:52:38 167689721
>>1676892
По специальности дата-сатанист стек соответсвующий, параллельно могу в автоматизиацию разных рутинных задачек (агрегация, рассылка, внедрение моделек в прод), парсинг разной сложности, синтаксический анализ. Веб пока как хобби (пилю интернет магазин для знакомых).
Аноним 05/05/20 Втр 01:35:16 167695122
thumb6765e62082[...].JPG 36Кб, 676x451
676x451
Аноним 05/05/20 Втр 05:47:22 167701123
>>1676897
Одменку для рассылочки через ВК бота осилишь написать?
Можно на основе фласка/джанги.
05/05/20 Втр 08:32:58 167705824
>>1676769
Ну а я прочитал именно так.
В конце концов, программисты десятилетиями использовали треды. Откуда эта мода на асинхронность во всех языках одновременно примерно в 2014-2017? Даже в 1с анонсированы асинки буквально на днях.
Все решили написать nginx? Так nginx давно написан.

Мне нужно практичное объяснение феномена
Аноним 05/05/20 Втр 09:30:06 167707625
>>1677058
Просто тренды. Раньшше был ООП, потом функциональщина, теперь это.
Аноним 05/05/20 Втр 10:34:40 167709526
>>1677011
Да, там вроде API очень удобное у них есть, пиши куда стучаться.
Аноним 05/05/20 Втр 12:42:39 167724427
>>1677095
Насчёт удобства API я хуй знает, но писать сюда:
homme.le.tranquille@yandex.by
Аноним 05/05/20 Втр 13:08:04 167727128
>>1676897
Бро, подскажи что учить и как вкатываться в дата-саенс?
Сам я интернет-маркетолог года 3 как, могу в PBI (dax и m), sql на норм уровне, основы статистики. Питон на уровне выгрузки данных из апишек систем веб-аналитики/веба.
Пытаюсь подступиться к глубокому анализу данных (решаю задачки с pandas) и машинному обучению, но не знаю с чего начать. Лин.алгебра? Или погрузиться нормально в питон? Или все параллельно изучать?
Заранее большое спасибо!
Аноним 05/05/20 Втр 13:23:29 167729129
Аноны, дайте список того, что нужно знать и уметь для изучения машоба и комп. зрения. Сейчас дочитал главу про системное программирование у Лутца и задумался: нужно ли оно мне? (Стандартную либу всю проштудировал). Всякого рода офисную хуйню, ботов для телеги и парсеры писать не намерен, мне нужен именно машоб и зрение. Что делать?
Аноним 05/05/20 Втр 13:42:06 167734330
>>1677291
>Что делать?
Начни с получения вышки по математике.

Или ты думал, что можно просто написать:
from data_science import ML
ai = ML.train()
ai.enable_vision()
И тебя сразу возьмут на 300к в наносекунду?

Наивная буратина, иди в толока тред, там тебе всё подскажут.
Аноним 05/05/20 Втр 13:45:54 167735431
>>1677343
>Или ты думал, что можно просто написать:
>from data_science import ML
>ai = ML.train()
>ai.enable_vision()
>И тебя сразу возьмут на 300к в наносекунду?
на 300к вряд ли, а на килобакс - вполне

мимо
Аноним 05/05/20 Втр 14:00:47 167738532
>>1677343
Ничего я не думал и 300к мне не нужно. Изучать буду для себя ибо есть идея для стартапа и лучшей реализации кроме как на перечисленом мной я не нашёл.
Аноним 05/05/20 Втр 14:01:40 167738733
>>1677385
>есть идея для стартапа
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Аноним 05/05/20 Втр 14:03:26 167739034
>>1677387
По сабжу сказать нечего?
Аноним 05/05/20 Втр 14:06:01 167739535
>>1677390
>иди в толока тред, там тебе всё подскажут
У тебя память как у золотой рыбки.
Аноним 05/05/20 Втр 14:07:02 167739736
>>1677395
Какая толока? При чём здесь "буратина"? Каким хуем моя память относится к сабжу?
Аноним 05/05/20 Втр 14:08:40 167740037
>>1677397
Этот стартапер порвался, уносите.
Аноним 05/05/20 Втр 14:09:49 167740138
Аноним 05/05/20 Втр 14:19:15 167742539
>>1676756
>Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

Когда это говно из шапки уберете? просто ебалайка и потерянное время.
Аноним 05/05/20 Втр 14:24:25 167744440
>>1677076
я ебал такие тренды.
однако и ООП и функциональщина обусловлены конкретными проблемами и, как минимум, после спадения хайпа, умеренно обогатили программирование нужными концепциями .
с асинком не очень понятно.


Может быть, ситуация когда вся программа представляет из себя набор "критических секций" разделенных await, проще воспринимается, чем треды, где нужна отдельная синхронизация и явный вход в критическую секцию ?

а как в дотнете? мне тут рассказывали что в дотнете есть пул тредов и таск не обязан создавать тред, но может и создать.
Аноним 05/05/20 Втр 14:54:37 167751241
Аноним 05/05/20 Втр 14:56:41 167751842
Аноним 05/05/20 Втр 15:00:16 167752643
>>1677444
мы не понимаем, что ты хочешь спросить. в C# тоже есть async/await. Это нужно при большом количестве запросов на ожидание IO, тысяча таких ожиданий дешевле по памяти и проще в синхронизации чем несколько потоков.

Можно ли не юзать async/await а заебашить через TaskQueue? Да, можно, собственно async/await это обертка над такой очередью EventLoop.

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

Все это ответ на проблемы возникшие при возрастании нагрузок, обычные 4, 8, ... тредов блокировались и начиналась ебанина с таймаутами, изобретением собственных фреймворков и пр.

Если не понимаешь о чем речь, то постарайся ответить на вопрос: чем многопоточность отличается от асинхронности, чем многопоточность от параллельности, может ли быть асинхронность без многопоточности.

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

https://stackoverflow.com/questions/48020593/python-what-are-the-advantages-of-async-over-threads
https://medium.com/@jasongoldstein/im-to-stupid-for-asyncio-ff74809cc84d
https://hackernoon.com/threaded-asynchronous-magic-and-how-to-wield-it-bba9ed602c32

В своей работе встретил проблему, когда пришлось перейти на асинхронный фреймворк. Можно ли было решить задачу иначе? Да. Дало бы это профит? Хз.
Аноним 05/05/20 Втр 15:37:25 167760744
>>1677526
>мы не понимаем, что ты хочешь спросить
1. в чем реальная выгода async/await помимо строчки резюме?
2. нет ли здесь грандиозного наебалова? Ведь тысячи одновременных запросов среднему бизнесу не достичь все равно. А библиотеки не такое большое число.
3. заменить видео с ретреспективой говнофреймворков и реализаций из шапки, на обучение async в современном стиле. Я такое виде просто не нашел. У всех ретроспектива ненужных подходов.
Аноним 05/05/20 Втр 15:40:00 167761145
Не понимаю тех кто не понимает зачем нужен асинк. Не понимаете не используйте. Сядьте и напишите два сервера на асинках и на тредах протестируйте производительность и потребление ресурсов а тогда задавайте глупые вопросы. Тренды хуенды я ебу утята вы.
Аноним 05/05/20 Втр 15:42:06 167761446
>>1677291
На доске есть тред по машобу, а вообще тебе анон все верно сказал - без хороших знаний в математике у тебя нихуя не выйдет
Аноним 05/05/20 Втр 15:49:53 167762547
>>1677607
>1. в чем реальная выгода async/await помимо строчки резюме?
А ты хорошо умеешь в многопоточное программирование?

>>1677607
> Ведь тысячи одновременных запросов среднему бизнесу не достичь все равно.
Для массовых веб-сервисов - реальное число.

>>1677058
>Откуда эта мода на асинхронность во всех языках одновременно примерно в 2014-2017
Это проекция микросервисного похода проектирования на проектирование конкретного сервиса. Внутри задачи у тебя крутится много подзадач, взаимодействующих друг с другом.

async/await - наиболее читаемая и понятная форма. Хотя и есть споры, что может быть это не самый лучший подход, можно было лучше придумать.

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

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

Мне кажется, что сама идея использовать потоки для обхода блокировки порочна, это костыль. Не для этого потоки нужны. Потоки нужны именно для распараллеливания.
Аноним 05/05/20 Втр 15:56:57 167763148
>>1677607
1. не блокировать поток выполнения
2. нет, для того чтобы все встало раком достаточно N блокирующих запросов в N потоках, и это N обычно в районе 9 (число ядер на машине x 2 + 1)
3. если найдешь замени. тут тонкость в том, что те кто уже прогают обучалки не смотрят, а те кто смотрит не всегда выкупают что хорошо, что плохо


Аноним 05/05/20 Втр 15:59:37 167763649
>>1677625
все так, анон, про параллельность вопрос в общем случае мы говорим или про питон. Так-то async/await как тренд пошло из интепретируемых языков с около GIL проблемами

##
other = asyncio.create_task(api.get('/other'))
another = asyncio.create_task(api.get('/another'))

# запросы выполняются параллельно и latency на получение result меньше
# + await деблокирует тред и мы можем принять другой запрос

result = (await other) + (await another)

##
Аноним 05/05/20 Втр 16:01:53 167763950
>>1677611
вчера нюфаня, завтра сеньораня. Объясняя что-то ньюфагам ты:
1) прокачиваешь себя, объясняя базовые вещи, лишний раз повторяешь их и лучше начинаешь понимать
2) создаешь коммьюнити епта
но троллей кормить тоже не надо

Аноним 05/05/20 Втр 16:28:00 167766751
>>1677636
> про параллельность вопрос в общем случае мы говорим или про питон
Сейчас тут началось со статьи на хабре, >>1676720 , а там на самом деле не про питон, а про java.

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

Для питона многопоточность заведомо неоправдана. Или процессы, или асинкио.

Но чисто архитектурно, потоки не такая плохая вещь и всё в итоге зависит от реализации машины. Машину МОЖНО реализовать довольно хорошо. На питоне этого не делали, но на некоторых других платформах делают.

Машина теоретически может переключать потоки оптимально. Всегда внутри есть планировщик (scheduler), который решает, на какой тред переключить исполнение. Если планировщик видит, что исполнение застопорилось на системном вызове, то он просто не будет переключать на эту задачу исполнение, пока вызов не разблокируется. Так и в asyncio, так можно делать и с тредами.

Никакой принципиальной разницы в этом. Треды возможно реализовать очень оптимально.
Аноним 05/05/20 Втр 16:51:31 167770752
>>1677611
но ведь из-за тебя мы страдаем!
какие-то пидоры понаписали асинков, а HH потом за вами вынужден разгребать!
Аноним 05/05/20 Втр 16:56:40 167772353
>>1677667
ничего не понял что ты сказал. Почему асинкио не оправдан в питоне? Предлагаешь как и раньше ебашить селекты?
Аноним 05/05/20 Втр 17:01:56 167773454
>>1677723
Я же сказал, что когда-то ебашил селекты, сейчас пользуюсь асинкио.

Для питона асинкио оправдан. Треды не оправданы, потому что реализация говно в cython. Хотя есть альтернативы. В любом случае сейчас все библиотеки на асинкио перестраиваются.

Я говорю, что сама технология тредов не такая уж тупиковая.
Аноним 05/05/20 Втр 17:03:39 167774155
>>1677734
асинхронность и многопоточность - это разные вещи, они не противоположны и не взаимоисключающие
Аноним 05/05/20 Втр 17:06:56 167775056
>>1677625
>А ты хорошо умеешь в многопоточное программирование?
внезапно, многие умеют отлично. потому что django использует mysql, а тот вообще-то не теряет данные внутри транзакций и лишь легонько блокирует sql внутри.

>А ты хорошо умеешь в многопоточное программирование?
Пиздешь. Их нет. Единицы стартапов долетают до 50 запросов в секунду. А сколько из них не долетит до результата из-за переусложнения?

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

В дельфи же пример в каталоге examples лежит 25 лет! И нормально было.
(хотя я не проверял лежит ли)

Кроме того, пугает объем книги по асинхронному дотнету. она реально большая и автор заявляет, что наконец-то он опишет все как надо, а не через призму устаревших подходов.
Аноним 05/05/20 Втр 17:09:17 167775457
>>1677667
>Для питона многопоточность заведомо неоправдана. Или процессы, или асинкио.
но ведь единственное, что нужно знать про GIL - просто забудь про GIL.
Аноним 05/05/20 Втр 17:10:20 167776158
>>1677741
Очень близкие на самом деле. Конкурентное исполнение нескольких потоков исполнения в одном процессе.
Аноним 05/05/20 Втр 17:10:34 167776259
15740623050230.jpg 6Кб, 220x220
220x220
>>1677750
> внезапно, многие умеют отлично. потому что django использует mysql, а тот вообще-то не теряет данные внутри транзакций и лишь легонько блокирует sql внутри.
Аноним 05/05/20 Втр 17:12:10 167776660
>>1677762
ну блядь нет проблемы с многопоточностью у стандартного питониста. пиши себе на джанго и http в принципе обрабатывается без проблем.
Аноним 05/05/20 Втр 17:15:24 167777561
>>1677750
>Кроме того, пугает объем книги по асинхронному дотнету
Для многопоточного будет ещё больше. Для разработчика async/await отличается только тем, что ты всегда знаешь, в какой момент может поток исполнения переключиться. А в тредах это может в случайный момент времени произойти, из-за чего и проблемы с ними.

Подходы к проектированию многопоточных приложений тоже меняются, в сторону, общую с async/await.
Аноним 05/05/20 Втр 17:17:10 167778062
Аноним 05/05/20 Втр 17:17:31 167778163
Интересно, сколько из спорящих реально применяли всё это в серьезном проекте, а не в неблокирующем говнопарсере на три копейки.
Аноним 05/05/20 Втр 17:19:37 167778564
Аноним 05/05/20 Втр 17:20:41 167778665
>>1677775
ну ладно.
вот задача из носа:
как архитектурно реализовать на питоне с помощью, например, aiohttp, серверное приложение загружающее все 16 ядер процессора ?
важно чтобы http был с защитой от ddos. Для защиты от ddos, предлагается использовать глобальный хеш ip клиентов с подсчетом запросов в секунду или любую другую глобальную структуру данных.
Аноним 05/05/20 Втр 17:21:09 167778966
>>1677781
> двач

> реально применяли
Аноним 05/05/20 Втр 17:22:10 167779167
>>1677781
> всё это
Что именно?

Попробуй без asyncio или threading сделать скрипт, слушающих два сокета одновременно. Да, select ещё вариант, но он не проще.

Это самые обычные задачи, особенно с учётом, что веб сейчас активно вебсокеты использует.
Аноним 05/05/20 Втр 17:22:16 167779268
>>1677785
а я просто даже в threading могу выбрать синхронизацию в mysql и отличненько сделать пресловутый говнопарсер.
Аноним 05/05/20 Втр 17:23:59 167779769
>>1677786
16 или больше процессов aiohttp, плюс какой-нибудь редис.
Аноним 05/05/20 Втр 17:24:32 167779970
Аноним 05/05/20 Втр 17:24:57 167780071
>>1677792
Отдельно все слова понял, их комбинацию совсем не понял.
Аноним 05/05/20 Втр 17:25:17 167780172
>>1677792
бля мне кажется я тебя собесал
Аноним 05/05/20 Втр 17:28:04 167780973
>>1677799
>никак, и асинх тут ни при чем
очень плохо. придется пока отложить эту лабуду.
Аноним 05/05/20 Втр 17:29:01 167781374
>>1677801
точно нет.
ну и что ты разве не понял, что имел ввиду этот чел? ты его взял?
Аноним 05/05/20 Втр 17:31:21 167782075
>>1677799
погоди, ты предлагаешь байты из линейной памяти распаковывать-запаковывать? как мне натуральной с общим хешем или "текущим ведром" работать?
Аноним 05/05/20 Втр 17:32:33 167782476
>>1677813
> этот чел
я вас не различаю вы все аноны если ты про

>>1677792
то нет, я не понял что он имеет в виду. Видимо какую-то муть с тем что в таблице mysql менять поле и везде чекать. Каким боком тут async не понятно.

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

Аноним 05/05/20 Втр 17:34:24 167783277
Аноним 05/05/20 Втр 17:35:38 167783678
>>1677832
>отдельно 16 питонов и редис общий
пиздос кокой.

так это, получается, threading с перекладыванием примитивов в mysql примерно такого же уровня
Аноним 05/05/20 Втр 17:37:02 167784279
15740623050230.jpg 6Кб, 220x220
220x220
Аноним 05/05/20 Втр 17:38:20 167784580
>>1677842
изначально тупым не поясняю
Аноним 05/05/20 Втр 17:39:23 167784981
>>1677845
ути какой умный двачеренок
05/05/20 Втр 19:02:02 167796082
изображение.png 297Кб, 400x267
400x267
Есть кто вкатывался в жс фронтенд после python?

А то после python/django/flask/fastapi, жс выглядит не очень логично, понятно и читабельно. Имею ввиду не pure js, а фреймворк какой-нибудь вроде vue.

Какие рекомендации девелоперов с опытом?
Аноним 05/05/20 Втр 20:17:23 167807583
Rate limit exceeded. User message: "Sorry, you have exceeded your sharing quota.
google drive

Никто не боролся? В настройках Апи не нашел, мб плохо искал
Аноним 05/05/20 Втр 20:18:15 167807884
>>1677960
А чем бэкенд не устроил? Просто не зашел?
Аноним 05/05/20 Втр 20:20:40 167808185
>>1678078
я другой анон, но тоже хочу освоить какой-нибудь vue.js плюсом к бекенду. Основные причины две: во-первых, лучше понимать, что и как происходит на фронте; во-вторых, иногда нужно просто сделать какую-нибудь страничку с двумя кнопками и напрягать фронтов просто нерационально.
Аноним 05/05/20 Втр 20:24:26 167808686
>>1678081
Я вон пока в Django пытаюсь, только вот тоже есть желание выучить азы JS, т.к. понимаю надобность этого. Перед Django выучил азы HTML и CSS, но там ничего сложно. Только вот с JS не знаю как быть, миллионы всяких VUE, Angular и т.д. Какой фреймворк JS актуален и желателен для Django бэкенда начинающего?
Аноним 05/05/20 Втр 20:32:38 167809587
>>1678086
я смотрю vue потому что он мне больше нравится, на продакшене react вроде
правда бек не на django
Аноним 05/05/20 Втр 20:35:14 167809988
>>1678095
Я вот думаю бэк на Django делать, только вот как ты подметил выше, хочется и фронт понимать, всяко лучше, нежели как макака смотреть на код почесывая голову. Если я правильно понял, последовательность должна быть такая: азы JS -> азы Vue, так?
Аноним 05/05/20 Втр 20:39:40 167810689
Аноны, пытаюсь постингнуть дзен реста, но никак не пойму как правильно составить URL для регистрации/подтверждения регистрации/авторизации пользователя. Если назвать ресурс users, то на POST можно прицепить регистрацию, но вот другие методы нужны будут уже для выдачи данных.
В доках DRF авторизацию предлагают вообще поместить на 'api-token-auth/', но это чет вообще хуево выглядит.
Так а как в итоге правильно?
Аноним 05/05/20 Втр 20:47:42 167811890
>>1678099
ну в принципе если уже на python пишешь, то достаточно просто почитать на хабре про странности js и по дороге гуглить. Я залетал по книге majesty of Vue.js 2 в принципе все понятно, но я где-то половину осилил, потом не было времени, а ща впадлу прост
Аноним 05/05/20 Втр 20:50:44 167812591
>>1678106
как правильно в рест это отдельная дисциплина срачей. Обычно делают так
POST /login с телом {"name": ..., "password": ...} в ответ кука-хуюка ну разберешься
POST /logout сбрасывает куки-хуюки

Если делать POST /users то возникает вопрос, а что делать если ты уже залогинен? создавать нового пользователя? а если возвращать ошибку то какую? 403? 422?

Крч совет сделай как написано в туторе дрф
Аноним 05/05/20 Втр 20:55:43 167813392
>>1678125
Понятно, спасибо, анон
Аноним 05/05/20 Втр 21:43:28 167819193
Пишу, активно используя "типизацию", но с ней код валится из-за циклических импортов.
Как с этим бороться?
Я бестолково ковыряю sys (modules и path), но ничего не получается. Можно импортить внутри методов, но '->' тогда не работает.
Аноним 05/05/20 Втр 21:44:59 167819494
Аноним 05/05/20 Втр 22:02:26 167821495
>>1678191
можешь пример кода привести с таким циклическим импортом?
Аноним 05/05/20 Втр 22:34:44 167824696
484685465.png 122Кб, 1295x544
1295x544
>>1676587 (OP)
Пара вопросов насчет графиков matplotlib:
У меня есть набор данных DATA, в котором несколько кортежей с данными, я хочу по ним построить набор графиков, по одному на каждый набор dataset:

x = some_function_to_populate_x()
for dataset in DATA:
____fig = plt.figure()
____ax1 = fig.add_subplot(111)
____for i, y in enumerate(dataset):
________ax1.plot(x, y, label=f"{i}")
plt.show()

То есть по итогу у меня должно получиться некоторое число (равное len(DATA)) отдельных графиков, на каждом из которых нарисованы кривые (в количестве len(dataset)) и каждая кривая подписана порядковым номером в легенде
НО: подписанным оказывается только самый последний график, он как бы "затирает" остальные. С хуя ли? (на пикриле пример с двумя графиками)
Аноним 05/05/20 Втр 22:42:52 167825197
>>1678246
а где сами подписи лежат? какая строчка их на картинки ставит?
Аноним 05/05/20 Втр 22:59:27 167826498
pirat13.jpg 120Кб, 500x500
500x500
охохо, на торренты подвезли свеженький пучарм, вот и бубунта новенькая подкатила.
05/05/20 Втр 23:08:13 167827299
>>1678078
Устроил, жс лишним не будет.
Аноним 05/05/20 Втр 23:19:35 1678280100
>>1678251
ax1.plot(x, y, label=f"Термины раздела {i}")
05/05/20 Втр 23:28:26 1678285101
>>1678246
Попробуй поменять
>ax1.plot(x, y, label=f"{i}")
на
>partial(ax1.plot, x, y, label=f"{i}")()
чтобы состояние запоминалось в цикле.
Встречал похожую проблему в PyQt
Аноним 05/05/20 Втр 23:33:53 1678288102
>>1677271
как вкатитьсяв интернет маркетолога хотяб? лохкун 40лвл из нижних нужников -заебался работать никем
Аноним 05/05/20 Втр 23:39:26 1678296103
Аноним 05/05/20 Втр 23:39:30 1678297104
>>1678285
Хм, запилил, но результат то же...

>>1678246
И еще вот что: как "сгладить" (интерполировать) эти графики чтобы получились гладкие кривые? Microsoft Word блин в 2 щелчка это сделать может, а у меня с scipy.interpolate что-то не выходит нихрена (результат тот же, будто ничего и не было). Может это потому что данных по оси x мало? так ведь Word'у тоже много данных не нужно...
Аноним 06/05/20 Срд 00:03:44 1678323105
>>1678296
Это я только сейчас узнал накатывая 2020.1
Аноним 06/05/20 Срд 00:23:15 1678349106
Потсоны, как бы вы реализовали протокол сообщения в клиент-серверной настольной игре? Проблема истекает из особенности сокетов и того что я хочу знать сколько реально клиентов подключено, следовательно клиент легко узнает о остановке сервера ввиду его молчания, сервер же не может знать доходять сообщения до клиента или нет. Тогда 2 варианта: клиент должен кидать репорт о получении или сервер должен вести учет входящих реквестов от клиента и если клиент долго молчит значит отключам его по таймауту. Ввиду того что впервые сталкиваюсь с клиент-серверной ебаниной вообще не ебу как наладить их общение. Должен ли клиент каждый раз реквестить снепшоты состояния игры а сервер отвечать, или сервер должен широковещать всем подключенным по "тикрейту". Хз, например окно свернуто и евентлуп игры может быть приостановлен в целях экономии ресурсов а значит и получение изменений от сервера - лишняя нагрузка ио и проц. в игре могут одновременно находиться и игроки и наблюдатели, наблюдателю со свернутым окном нахуй не надо обновляться Я склоняюсь к "ленивому" серверу, который отвечает только на реквесты не нагружает канал и проц своим циклом лишний раз, а тех кто долго молчит отключает нахуй по таймауту. Гуглится в основном ебанина о шутанах лагах тикрейтах и предсказании ходов игроков.
Аноним 06/05/20 Срд 00:35:58 1678366107
>>1678349
Ты используешь какие сокеты, обычные, или вебсокеты? Я бы в любом случае на прикладном уровне советовал именно вебсокеты.

Есть отдельная проблема с тем, чтобы детектировать мёртвые соединения, как с обычными сокетами, так и с вебсокетами, там магия и масса граблей рассыпана.

В норме ты должен на все сокеты высылать текущее состояние, актуальное для клиента, или просто рвать этот сокет, если с него нет активности. Потом, когда клиент восстановит активность, просто высылаешь ему пакет данных, достаточный для восстановления состояния.

06/05/20 Срд 01:00:51 1678379108
>>1678297
>Хм, запилил, но результат то же...
Тогда еще можешь попробовать вызывать plt.show() прямо внутри цикла
Аноним 06/05/20 Срд 03:15:23 1678401109
image.png 989Кб, 1280x720
1280x720
>>1678191
Можно типизировать строкой. (Не SomeType а 'SomeType')
И повесить условие на импорт
if TYPE_CHECKING
Это надо делать вместе.
Пичарм это норм понимает.

Орал, как пикрил, когда наступил на это говно в первый раз.
Аноним 06/05/20 Срд 09:44:58 1678474110
Вот в Джанге у меня есть 2 разных валидатора для поля формы. Как сделать так, чтобы валидация была успешна, если любой из этих валидаторов дает положительный результат? (иными словами, соединить валидаторы логическим ИЛИ)
Аноним 06/05/20 Срд 10:14:40 1678484111
>>1678474
сделать кастомный валидатор?
Аноним 06/05/20 Срд 10:49:10 1678491112
>>1678401
А сделать typevar с bound?
Аноним 06/05/20 Срд 12:15:38 1678556113
image.png 22Кб, 694x315
694x315
Сап, питоны.
Только начал вникать в могущество и красоту языка Python. Как ни странно, на начальных этапах могут возникнуть некоторые проблемы. Так вот, почему после except else не выполняется, а сразу начинается новая итерация? На сколько я знаю, else не должен выполниться, если в теле except было бы continue.
Аноним 06/05/20 Срд 12:44:58 1678582114
>>1678556
else выполняет только в случае если никаких исключений не было перехвачено
мб тебе нужно использовать try...finally
Аноним 06/05/20 Срд 12:45:20 1678584115
>>1678556
else не выполниться если будет ошибка в int(a) выполнится except и цикл перейдет на другой круг
Аноним 06/05/20 Срд 12:52:06 1678598116
>>1678214
ORM типа джанги.
В модели запросы делаю через QuryBuilder. QueryBuilder в конструкторе принимает класс модели.
PROFIT 1 (да можно локал импорт).
ForeignKey наследует от типа поля FieldType, для связи примает класс модели. В модели метод для обхода полей использует тайпчекинг по FieldType.
PROFIT 2 (тут разве что пересмотреть "архитектуру" с наследованием).
Далее MVC, представление содержит контроллер, контроллер реализует интерфейс нотификатора, нотификатор уведомляет модель через notify.
PROFIT 3.
И такого у меня сейчас дохуя.
Аноним 06/05/20 Срд 13:25:58 1678639117
Решил поебаться с питоновским typing
Встал вопрос: как определить входное значение как любое из возможных? К примеру:
def process_number(num: str or int) -> int: ...
Вот эта функция должна принимать в качестве аргумента строку ЛИБО целое число. Я написал это через оператор or, код таки выполняется но в таком случае теряется весь смысл typing, т.к. or возвращает конкретный результат (то бишь синглтон True) и тот же Пайчарм не выбрасывает ворнинги, если я внезапно передам в функцию скажем список
Аноним 06/05/20 Срд 13:47:03 1678659118
Аноним 06/05/20 Срд 14:33:29 1678704119
screenshot.jpg 57Кб, 1275x612
1275x612
Что он от меня хочет?
Аноним 06/05/20 Срд 14:42:51 1678706120
>>1678704
Ну там же написано что именно not found.
Ты нахуя из исходников ставишь? там разве wheel нету?
Аноним 06/05/20 Срд 14:48:07 1678709121
Аноним 06/05/20 Срд 15:55:15 1678800122
Тук тук
Аноним 06/05/20 Срд 16:11:36 1678823123
Понимаю что пишу не туда. Но возможно тут мне кто ответит.

Как хостинг относится к исходящему и входящему tor-трафику? Не могут ли меня забанить? Или же им пофиг совершенно? Нужно развернуть приложение которое делает запросы к сайту в доменной зоне onion + основной поток будет идти по сети tor. Использую aiohttp + aiohttp-socks, но это наверное неважно.
Аноним 06/05/20 Срд 17:16:20 1678879124
>>1678823
Пофиг, тем более если хостинг американцкий
Аноним 06/05/20 Срд 17:40:57 1678896125
>>1678823
ммм, брут или подобная хрень?
Аноним 06/05/20 Срд 17:48:01 1678899126
Добрый день. Небольшой вопрос по джанге и пермишенам в ней

Есть path 'user/<int: uid>' просматривать который может только юзер с правами Admin, т.е. обычный юзер не может просматривать инфу о всех пользователях, в том числе и о себе.
Мне необходимо сделать так, чтобы юзер с id например 5 мог просматривать информацию по ссылке user/5, но по прежнему не мог просматривать других юзеров.
Задача элементарная, но либо я плохо гуглю, либо совсем тупой.
Подкиньте мб какой полезный материал, что нибудь, что попадает конкретно под мою задачу. Заранее благодарю
Аноним 06/05/20 Срд 17:48:01 1678900127
>>1678823
Всем похуй, но если придет писулька, то могут попросить.
XML to TXT Аноним 06/05/20 Срд 18:04:10 1678915128
suicide booth.jpg 324Кб, 1280x855
1280x855
Есть XML-файл на 10 ГБ, нужно каким-то образом извлечь из него информацию.
1. Запарсить целиком всякими домами и минидомами нельзя из-за размера
2. Всякие там изящные решения предлагаемые на StackO для very large XML files с обработкой дерева ветка за веткой и рекурсией тоже не помогают (скрипт работает вот уже 15 часов)

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

Пока что при "for line in f: " (где f = open(файл, "r") ) скрипт считывает успешно первые строки, но потом обсерается с MemoryError - я так понимаю, в XML-файле он не так четко дробит на строки как в .txt и он натыкается на какой-то серьезный шмат.
Вроде простая задача, но уже второй день и я тупо зашел в тупик
Аноним 06/05/20 Срд 18:15:36 1678933129
Аноним 06/05/20 Срд 18:18:32 1678936130
>>1678933
именно это я уже пробовал
Аноним 06/05/20 Срд 18:26:11 1678942131
>>1678915
я чет немного перегрелся и забыл про f.read(1), извиняюсь
Аноним 06/05/20 Срд 18:49:20 1678962132
>>1678942
Ну кидай решение, может кому пригодится в будущем.
Аноним 06/05/20 Срд 18:58:55 1678979133
>>1678962
у файла как у объекта в метод read() можно передавать количество знаков. Т.е. я передал скажем 10000 f.read(10000) и читаю файл кусками по 10 тыс. знаков
while True:
____piece = f.read(10000)
____[обработка и загрузка]


которые уже можно обрабатывать на лету перед загрузкой в другой файл
Аноним 06/05/20 Срд 19:02:22 1678983134
Нужна помощь по структуре проекта, посути есть 2 части, демон и веб морда.

Демон продьюсит данные в монгу,
Вебморда ее отображает.

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

Как это красиво организовать с точки зрения гит реп и папок?
Посути каждая часть будет собираться в свой докер и возможно деплоиться отдельно, но надо как-то общий модуль коннекта к базе подтягивать...
Аноним 06/05/20 Срд 19:07:23 1678988135
>>1678899
Не помню как в Джанго делать премишены кастомные (мб Миксинами для class-based view), который будет будет проверять, чтобы пользователь имел админ.права или uid совпадало с его id
Аноним 06/05/20 Срд 19:09:12 1678992136
Аноны, подскажите курс или книгу, в конце которой у меня будет законченный проект какой-то.
Аноним 06/05/20 Срд 19:09:48 1678994137
изображение.png 297Кб, 400x267
400x267
Есть кто вкатывался в жс фронтенд после python?

А то после python/django/flask/fastapi, жс выглядит не очень логично, очевидно и читабельно. Имею ввиду не pure js, а фреймворк какой-нибудь вроде vue.

Какие рекомендации девелоперов с опытом?
Аноним 06/05/20 Срд 19:16:56 1679003138
>>1678988
короче долго я ебся с этими пермишшенами, по итогу просто во вьюхе сравнил request.user.id с uid из url, если совпадают - идет респонс с необходимыми данными, если нет то выбиваю 403
Аноним 06/05/20 Срд 19:44:39 1679030139
>>1678988
>или uid совпадало с его id
внезапно берешь и проверяешь

Админ права "из коробки" можно проверять в DRF, въебав IsAuthenticated во вьюху (или сериализатор... хз не помню) и подрехтовав файл settings
Аноним 06/05/20 Срд 20:35:35 1679073140
Поясните залетному, если мне нужен бекенд для мобильного приложения, я возьму Django Rest Framework и получу сразу админку сущностей, какой-нибудь импорт данных из экселя и тд ?
DRF такой же как Django с админской стороны?
Аноним 06/05/20 Срд 21:52:51 1679104141
>>1679073
Он поверх джанги ставится лол
Аноним 06/05/20 Срд 22:09:07 1679114142
>>1678983
Один из вариантов, простых, сделать просто один репозиторий, с каталогами mongo, web, deamon, в корне docker-compose.yml, который за эти три сервиса отвечает. В каждом каталоге уже свой Dockerfile, который за сборку сервиса отвечает.

Nginx можно или в отдельный контейнер, или вместе с вебмордой упаковать.

Но я не специалист в этом.
Аноним 06/05/20 Срд 22:44:01 1679137143
>>1679114
в принципе так и сделал, только без mongo, монга через дефолтный имедж подымается
Аноним 07/05/20 Чтв 00:12:40 1679189144
>>1678915
тебе нужен потоковый парсер. Вроде как питоничьи либины этого не умеют. Посмотри доклады с Pycon Russia 2019, там чел рассказывал как они взяли Раст для парсинга XML через serde и как у них теперь всё парсится за секунды. Может тебе тоже подойдёт.
Аноним 07/05/20 Чтв 00:37:55 1679196145
>>1678915
Да на сях это закодируй. В таких больших говноиксемельках обычно просто очень много данных, а уровень вложенности низкий. Если тебе надо потом индексировать, то в реляционную базу с индексами перегоняй.
Аноним 07/05/20 Чтв 01:44:31 1679217146
>>1679073
У DRF нет админки, это просто доп фреймворк. Админка короче будет стандартная, джанговская.
Аноним 07/05/20 Чтв 07:52:20 1679302147
>>1679189
>>1679196
Та все, аноны, спасибо, я уже напитонировал. На лету повставлял \n между строками данных, переливая файл в копию кусками по 10000 знаков, а потом перелил из копию во вторую копию уже построчно, выкидывая все ненужное, а значения интересных столбцов сохраняя просто с разделителем.

>В таких больших говноиксемельках обычно просто очень много данных
да, в данном случае - это и есть просто большая таблица
Аноним 07/05/20 Чтв 08:11:26 1679317148
>>1678915
Решал аналогичную задачу на Node.js
Но подход одинаковый даже на C
Открыть поток чтения, следить за буффером, получать профит
Аноним 07/05/20 Чтв 10:16:48 1679371149
5cc380a52d5d591[...].png 11Кб, 256x256
256x256
Анончик, доставь пожалуйста материалов на русском по AIOHTTP.
Аноним 07/05/20 Чтв 10:38:12 1679375150
>>1679317
вообще, это даже через sed решается однострочником:
sed -n -e '/DROP TABLE IF EXISTS `store`/,/UNLOCK TABLES/p' < bigdatabasedump.sql > one_table_dump.sql

надо конечно помучаться и подобрать метки
Аноним 07/05/20 Чтв 10:58:41 1679395151
>>1679371
русский для слабых
Аноним 07/05/20 Чтв 11:01:49 1679397152
Аноним 07/05/20 Чтв 11:02:34 1679398153
>>1679371
Может тебе еще и курсы на лопате принести?
Аноним 07/05/20 Чтв 11:15:43 1679413154
maxresdefault.jpg 86Кб, 1280x720
1280x720
>>1679398
А чего вы такие злые?
Аноним 07/05/20 Чтв 11:20:07 1679419155
>>1679371
А че там доставлять? Документация простая, сама хуйня практически тот же фласк
Аноним 07/05/20 Чтв 11:26:59 1679424156
>>1679419
Не ну, курсики на русском нужны!
Я же не на уроке английского языка, чтобы пендоский изучать! ря
Аноним 07/05/20 Чтв 11:33:59 1679434157
>>1679371
>он не знает английского
1С лучше выучи
Аноним 07/05/20 Чтв 12:09:54 1679477158
Аноним 07/05/20 Чтв 12:12:08 1679481159
Аноним 07/05/20 Чтв 12:20:40 1679491160
>>1679481
>>1679477
Так и не работай. Остальные программисты без этой хуиты обходятся. дебажат ф-циями и кусками кода, TDD и всё такое
Аноним 07/05/20 Чтв 13:04:41 1679535161
>>1679481
У меня всегда было впечатление, что эти дебаггеры скриптовые делают, потому что так надо, а в реале все просто хуячат принты.
Аноним 07/05/20 Чтв 13:15:32 1679552162
>>1679491
В этом мой секрет. Я всегда прихожу во всякое легаси, хуячу с размаху и добиваюсь результата!

Вы, конечно, можете поебстись, если времени дохуя.
Аноним 07/05/20 Чтв 13:32:34 1679573163
>>1679552
какой стек? какой срок?
Аноним 07/05/20 Чтв 13:44:29 1679599164
Нихуя не понимаю. Делаю из кортежа список, хочу его отсортировать, получаю вывод 1. Делаю из этого списка опять кортеж, получаю вывод 2. Создаю сразу список и сортирую его, вывод совершенно другой. Какого хуя?

T = ('сс', 'аа', 'dd', 'bb')
tmp = list(T)
tmp.sort()
print(tmp)
Вывод 1: ['bb', 'dd', 'аа', 'сс']

T = tuple(tmp)
print(T)
Вывод 2: ('bb', 'dd', 'аа', 'сс')

a = ['cc', 'аа', 'dd', 'bb']
a.sort()
print(a)
Вывод 3: ['bb', 'cc', 'dd', 'аа']
Аноним 07/05/20 Чтв 14:00:44 1679624165
Hilarious-cool-[...].jpg 56Кб, 600x480
600x480
>>1679599
a = ['cc', 'аа', 'dd', 'bb']
a.sort()
print(a)
Вывод: ['bb', 'cc', 'dd', 'аа']

b = ['cc', 'fasd', 'avbsd', 'aa', 'dd', 'bb', 'gsv', 'ccc']
b.sort()
print(b)
Вывод: ['aa', 'avbsd', 'bb', 'cc', 'ccc', 'dd', 'fasd', 'gsv']

l =['abc' , 'cd' , 'xy' , 'ba' , 'dc']
l.sort()
print(l)
Вывод: ['abc', 'ba', 'cd', 'dc', 'xy']
Аноним 07/05/20 Чтв 14:22:32 1679638166
>>1678900
Можешь другим языком написать. А то я что-то не понял что за писулька
Аноним 07/05/20 Чтв 14:52:12 1679681167
>>1679599
>>1679624
Не знаю, то ли ты дурачок, то ли кто-то кого-то затраллел, но там есть кирилличные символы, что и дает соответствующие результаты.
Аноним 07/05/20 Чтв 15:01:50 1679691168
>>1679681
Я уже понял. Действительно текст скопировался в виде кириллицы.
Аноним 07/05/20 Чтв 15:09:51 1679705169
>>1679481
я, кстати, вспомнил, что в перле отладчик просто ебово тормозил. так что, в принципе, брейкпоинтами можно как-нибудь перебиться.

Ладно, а как насчет Глубокой Инспекции в vs code ?
я просто хочу в local variables отфильтровать и поискать содержимое или название переменных, что тоже в некоторых случаях упрощает ковыряние в незнакомых фреймворках.

Есть такой аддон?
Аноним 07/05/20 Чтв 15:13:09 1679712170
>>1679638
Писулька - это Abuse.

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

Наркошоп задумал, дружок? Тебя все равно подельник спалит.
Аноним 07/05/20 Чтв 19:25:04 1680056171
ААА блять.
Как с http.server получить url с якорем?
Он как-будто специально якорь режет.
Аноним 07/05/20 Чтв 19:31:53 1680064172
>>1680056
что значит получить url с сервера?
Аноним 07/05/20 Чтв 19:32:40 1680065173
>>1680056
Сервер не получает данные после якоря. Если нужно, высирай их через js специально
Аноним 07/05/20 Чтв 19:40:04 1680075174
Хочу в го перекатиться. Или раст. Заебал питон уже. Стоит?
Аноним 07/05/20 Чтв 19:47:04 1680084175
>>1680075
Что на нем писать собрался? Кроме системного программирования ничего на ум не приходит, но там нужно постоянно юзать С. Для веба раст оверхед.
Аноним 07/05/20 Чтв 19:49:30 1680086176
>>1680084
Алсо недавно нужно было написать небольшой модуль для сервера который юзает функции ядра, думал написать на раст, но в итоге взял С, так как геморроя меньше.
Аноним 07/05/20 Чтв 20:14:32 1680128177
>>1680084
Веб - это не только круды.
Аноним 07/05/20 Чтв 20:14:42 1680129178
>>1680084
>оверхед
"Оверкилл" ты хотел сказать?
Аноним 07/05/20 Чтв 20:18:29 1680132179
Аноним 07/05/20 Чтв 20:18:55 1680133180
Снимок экрана о[...].png 88Кб, 787x524
787x524
Разбираюсь с Django, Pythonanywhere и GitHub
Что за ошибка на пикрилейтед и как фиксить? Возникает в ответ на команду
pip3.6 install --user pythonanywhere


Вот что я делал:
>Чтобы опубликовать сайт на PythonAnywhere, нужно загрузить на PythonAnywhere твой код с Github и затем настроить PythonAnywhere так, чтобы он распознал твой код и запустил твоё веб-приложение. Существуют способы сделать это «вручную», но для PythonAnywhere есть программа-помощник, которая сделает это для тебя.
>pip3.6 install --user pythonanywhere
Аноним 07/05/20 Чтв 20:32:46 1680147181
Аноним 07/05/20 Чтв 20:36:35 1680149182
>>1680075
А чего не scala? Можешь перекатываться куда хочешь, только вакансий на питон в десятки раз больше чем на го/раст/и прочую узкоточенную хрень.

Смысл заниматься тем что не востребовано на рынке.
Аноним 07/05/20 Чтв 20:50:44 1680167183
>>1680084
Го пытались делать как универсальный язык, но в итоге это язык для сетевых сервисов, та же ниша, что у node.js и асинхронного питона.

На Си такие вещи не понятно, как делать. В коробке для этого вообще ничего нет.

Го подкупает тем, что он компилируется, причём в один файл и легко под разные платформы собирать, быстрый. Но, статическая типизация добавляет массу проблем, обработка ошибок в стиле 90-х и т.п.
Аноним 07/05/20 Чтв 20:53:34 1680171184
15854409439700.jpg 234Кб, 3000x2889
3000x2889
>>1680167
>статическая типизация добавляет массу проблем
Да ладно тебе.
Аноним 07/05/20 Чтв 20:56:49 1680174185
>>1680167
Ну го еще норм, там гц есть, но все равно мало кто может позволить тащить его в прод. Даже чтобы писать на асинхронном питоне многие конторы сначала пишут свой фреймворк, а потом сам проект на нем.
Аноним 07/05/20 Чтв 20:59:27 1680179186
>>1680167
>На Си такие вещи не понятно, как делать. В коробке для этого вообще ничего нет.
Cython(some project on python)
Аноним 07/05/20 Чтв 21:12:12 1680200187
Как максимально просто и без ебли запустить flask сервер на vps? Мне нахуй не всрался ни апач, ни расширяемость. Все, что требуется от сервера - принятие post запросов и ответ на них. С фласком будет взаимодействовать ровно одна функция. Все гайды либо описывают настройку для нескольких сайтов с миллионами страниц, либо рассчитаны на локалхост, который не адаптируешь под впс. Ос - центос, бубунта или дебиан. Pythonanywhere и прочие сервисы не подходят
Аноним 07/05/20 Чтв 21:32:52 1680228188
>>1680200
>Мне нахуй не всрался ни апач, ни расширяемость.
apache/nginx - без этого никак, базовый набор.
nginx + gunicorn, изи же. ⭐
Аноним 07/05/20 Чтв 21:41:24 1680234189
Аноним 07/05/20 Чтв 22:07:17 1680257190
Снимок экрана 2[...].png 318Кб, 2880x1800
2880x1800
Снимок экрана 2[...].png 484Кб, 1394x1128
1394x1128
аноны, помогите. Вкатываюсь в движ и запутался в IDE и прочем. настраивал интерпретаторы - и теперь получаю ошибку - что делать?как починить?
Аноним 07/05/20 Чтв 22:07:37 1680258191
Снимок экрана 2[...].png 318Кб, 2880x1800
2880x1800
Снимок экрана 2[...].png 484Кб, 1394x1128
1394x1128
аноны, помогите. Вкатываюсь в движ и запутался в IDE и прочем. настраивал интерпретаторы - и теперь получаю ошибку - что делать?как починить?
Аноним 07/05/20 Чтв 22:15:44 1680271192
>>1680258
да прописывай сразу в path. хули там бороться с чужим кодом.
Аноним 07/05/20 Чтв 22:17:25 1680272193
Аноним 07/05/20 Чтв 22:23:10 1680276194
Аноним 07/05/20 Чтв 22:23:54 1680279195
>>1676587 (OP)
Как установить параллельно 3 разных интерпретатора Питона (глобально)? 2.7 , 3.7 и 3.8? Чтобы все были доступны?
И если я буду юзать команду pip3 install (не из виртуального окружения), то для какого именно интерпретатора она будет работать? 3.7 или 3.8?
Аноним 07/05/20 Чтв 22:33:58 1680292196
>>1680279
>Как установить параллельно 3 разных интерпретатора Питона (глобально)? 2.7 , 3.7 и 3.8?
google: windows install multiple python versions
на линаксе проще.

>И если я буду юзать команду pip3 install (не из виртуального окружения), то для какого именно интерпретатора она будет работать? 3.7 или 3.8?
в линаксе должна быть выбрана 1 дефолтная версия питона.
соответственно для той версии и будет устанавливаться.

например:
python2.7 pip3 install django
python3.8 pip3 install django



Аноним 07/05/20 Чтв 22:43:21 1680299197
Заебала реклама Яндекс.Практикума на курс Питон Аналиста. Сторонился всей этой дата саенс тусовки, потому что сам по себе я тупой и не могу в математику, модели, формулы, теории(разве что в теории, где моча съедает говно) и прочее. Но периодически встречаю мнение, что дата аналист это не про высшие матреии. Чекнул бесплатную первую часть, там какая-то детская ебанина с основами синтаксиса. Что думаете, стоит углубляться в это? Платить я конечно за их курс не буду(я ведь тупой = нищий), но спизженные курсы/книги и ютуб бы поглядел.
Аноним 07/05/20 Чтв 22:51:13 1680312198
>>1680228
Апач не нужен совсем, nginx прекрасно работает и без него. Какой функционал от апача ты собираешься использовать?

nginx даёт тебе работу со статикой, прокидывает трафик куда надо, умеет TSL, и всё другое.

Точную настройку не скажу, никогда flask не настраивал. По идее, достаточно просто flask + nginx. Возможно желательно ещё что-нибудь вроде supervisord иметь, чтобы контролировать количество инстарсов. Или, альтернативный вариант, поднимать через докер.

К фласку скорее всего ещё БД потребуется.
Аноним 07/05/20 Чтв 22:58:04 1680318199
>>1680299
>Заебала реклама Яндекс.Практикума на курс Питон Аналиста
хуевый ты аналитик, если не понял, что это не тебя выбрала реклама, а ты выбрал контекстную рекламу.
Аноним 07/05/20 Чтв 23:01:51 1680321200
>>1680312
> К фласку скорее всего ещё БД потребуется.
Потом потребуется брокер сообщений, мемкэшед, реплика для бд...
Аноним 07/05/20 Чтв 23:02:16 1680322201
>>1680318
Ага. А ещё я выбрал какую-то сомнительную it франшизу с заработком по 400к в месяц.
Аноним 07/05/20 Чтв 23:31:47 1680352202
image.png 74Кб, 994x644
994x644
>>1680228
Ладно, пошел страдать по этому гайду: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04

И сразу же 2 вопроса:

1) Если не хочу использовать доменное имя, то вместо your_domain писать ip сервера или удалить всю строчку и оставить только listen 80?

2) Если не ставить ufw, то подключение к 5000 порту будет разрешено по дефолту?

>>1680234
Там django, а мне нужен flask
Аноним 08/05/20 Птн 00:15:52 1680392203
>>1680352
>Там django, а мне нужен flask
Суть там одна и та же.
Аноним 08/05/20 Птн 01:01:28 1680435204
image.png 23Кб, 1030x137
1030x137
>>1680352
>>1680200
У СУКАпс, ну и пошли они нахуй тогда. Хотел снизить им нагрузку на сервер, не дергая его каждые 30 секунд, но они выбрали свой путь. Все вопросы снимаются, сервер больше не нужен, просто оберну основной цикл в while True.
Аноним 08/05/20 Птн 01:19:50 1680442205
>>1680435
Сертефикат получается за минуту-две, тоже блядь проблема
Аноним 08/05/20 Птн 01:21:31 1680444206
Онлайн IDE, с джангой флаской и другими библиотеками.
https://repl.it/languages/python3

Может кому пригодится побаловаться.
Аноним 08/05/20 Птн 01:26:04 1680447207
>>1680442
Для этого надо доменное имя покупать, потому что с бесплатного могут пидорнуть в любой момент, пусть идут нахуй.
Аноним 08/05/20 Птн 01:30:53 1680449208
>>1680447
> потому что с бесплатного могут пидорнуть в любой момент
Берешь бесплатный в каком-нибудь гондурасе и всем похуй
Аноним 08/05/20 Птн 01:32:50 1680450209
>>1680447
>Для этого надо доменное имя

>$1
Аноним 08/05/20 Птн 07:36:59 1680513210
image.png 76Кб, 1332x535
1332x535
Делаю программу для удаления дубликатов файлов, там проверка идет по хеш-сумме по алгоритму блейк2б

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

Вопрос: это так и должно быть, что до первой модификации дубликата в системе это всего лишь ссылка? Система шинда, как несложно догадатца
Аноним 08/05/20 Птн 07:39:52 1680516211
>>1680513
Потыкался методами os.path.islink и isfile - все как в моей голове - это файлы.

Полагаю проебался где-то в другом месте, так что временно отбой.
Аноним 08/05/20 Птн 07:42:06 1680518212
>>1680516
Я всю ночь это ковыряю и понял что насрал в собственный код
Впрочем, как обычно
Аноним 08/05/20 Птн 08:29:40 1680527213
>>1680518
Использовал бы нормальную IDE нормально было бы.
Аноним 08/05/20 Птн 09:28:45 1680547214
Аноним 08/05/20 Птн 12:33:17 1680653215
Привет, аноны! Я тестировщик
Пожалуйста, подкиньте задачи на написание автотестов, курсы уже освоил, синтаксис знаю. Нужны именно тренировочные задания с либами типа Selenium, регрессионным тестированием и т.п
Аноним 08/05/20 Птн 12:51:13 1680667216
>>1680653
Давно питончик начал учить? Где-то работаешь еще или стремишься пока что?
Аноним 08/05/20 Птн 12:59:25 1680674217
Есть схема в jsonschema
{
__"type": "object",
__"minProperties": 1,
__"maxProperties": 1,
__"properties": {
____???
__}

Как описать опциональный объект внутри?
Мне заранее известно, что это может быть

"a": null
"b": [1, 2],
"c": null

Т.е. что-то одно может из этого прийти, как это можно описать?


Аноним 08/05/20 Птн 13:05:29 1680679218
>>1680674
>Т.е. что-то одно может из этого прийти, как это можно описать?

Boolean?
Аноним 08/05/20 Птн 13:57:55 1680761219
>>1680667
Учу где-то год
Работаю QA инженером, но пора бы питончиком пользоваться для автоматизации тестов
Аноним 08/05/20 Птн 14:33:54 1680815220
Какого хуя питон выебыватся. Есть проект на Джанге, в нем модуль products. И если во вьюхах я делаю так и все работает
>from .models import Products
то в другом файле такая же хуйня вызывает
>ImportError: attempted relative import with no known parent package
Аноним 08/05/20 Птн 14:51:51 1680828221
>>1680815
>>ImportError: attempted relative import with no known parent package
Модуль или модель?
попробуй там вставить название своей папки перед точкой:
from dJaNgOpRoJeCt.models import Products

Без venv работаешь поди?
Аноним 08/05/20 Птн 14:55:55 1680834222
>>1680761
>Работаю QA инженером
Мануальый тестер?)) Подробности работы можешь поделиться немного, сколько з/п, как обстановка вообще, какая страна?

А по селениуму попробуй тестани то что сейчас тестируешь, и все.
Аноним 08/05/20 Птн 14:56:32 1680836223
Здравствуйте. Мой потолок это квадратики и круглишки в питоне, основные понятия типа функций, классов и объектов.
Для того, чтобы влиться,так сказать, в вашу сферу, что нужно учить?
Идти в какой то язык(например, питон) и смотреть, что можно с ним делать, и так постепенно изучать новое и новое.
ИЛИ же большую часть времени уделить comp science (Алгоритмы, базы данных, структуры , типы данных и прочее), не привязываясь к языку (книжки там на каждую тему немаленькие)
С одной стороны, если валить все силы в язык и опыт там, то быстрее приду к тому, что смогу быть полезным где-то, но с другой стороны, если я прочитаю все эти книжки умные(мб даже пойму), по идеи, я должен быть более ценным программистом?
В общем, помогите структурировать своё обучение, поделитесь опытом.
Аноним 08/05/20 Птн 15:00:41 1680841224
>>1680828
>Модуль или модель?
Структура
products:
--models
--views
--tasks
Импортирую класс из модели, в этом же модуле. И в views это работает, а в tasks - нет. Правда вьюха дергается самой джангой, а таскс я пока так смотрю на работоспособность.
>from products.models import Products
В итоге получаю
>django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
>Без venv работаешь поди?
С ним
Аноним 08/05/20 Птн 15:02:17 1680844225
>>1680836
>Для того, чтобы влиться,так сказать, в вашу сферу, что нужно учить?
Основные понятия, легко и просто, с нескольких повторений запомнится:
https://www.w3schools.com/python/default.asp

> что смогу быть полезным где-то,
Ну ты сам не знаешь что хочешь.

>если я прочитаю все эти книжки умные(мб даже пойму), по идеи
От теории толку нет, забудется без практики.

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

Аноним 08/05/20 Птн 15:07:34 1680851226
Аноним 08/05/20 Птн 15:18:47 1680859227
>>1680851
Видел уже, после этого еще десяток ошибок от джанги сыпется. Решил в итоге тем, что просто добавил вьюху, в которой вызываю нужный метод из таскс, чтобы потестить. Так работает нормально, правда непонятно, почему были пробелмы с импортом, если __init__.py в модуле с интересующими меня файлами есть
Аноним 08/05/20 Птн 17:31:14 1681047228
начал учиться программированию
Аноним 08/05/20 Птн 17:33:24 1681055229
начал учиться программированию
семья - о молодец, будешь 300к в наносекунду делать
также - целый день сидишь за компом постигая границы недостижимого сквозь горение ануса и корпуса ноута
семья - ты че целыми днями за компухтером сидишь? нет бы нормальным делом занялся и на работу бы пошел
Аноним 08/05/20 Птн 17:33:57 1681059230
Пытаюсь парсить csv с сайта с помощью pandas.read_csv. Вот код и вывод https://pastebin.com/Wwz09bsk
Бывает, что на сайте пустые файлы и мне выдает ошибку pd.read_csv. Я это исправил через try except. Но теперь мне выдает кучу пустых списков и Empty DataFrame.
Нужна выдача
[1000, 1775, 1775.1, 1000.1, 0, 90, 2019-01-17 00:00:00, 2019-01-17 23:59:59]
[325, 325.1, 325.2, 325.3, 0, 1, 2019-03-18 00:00:00, 2019-03-18 23:59:59] Жирным выделил, чтоб видно, что строки разные.
[325, 325.1, 325.2, 325.3, 0, 1, 2019-03-12 00:00:00, 2019-03-12 23:59:59]
Без слов Empty DataFrame; Columns:; Index: []. То есть только 3 строчки
Аноним 08/05/20 Птн 17:45:43 1681096231
Снимок экрана 2[...].png 1213Кб, 2880x1800
2880x1800
аноны как решить проблему с этим модулем?
Аноним 08/05/20 Птн 18:15:29 1681177232
image.png 15Кб, 380x284
380x284
Сап двач. Есть один класс Base, который в __init__ производит инициализацию своих параметров. Эта инициализация нужда вообще для всех подклассов этого класса, причем важно, чтобы пользователь ее даже изменить в подклассах не мог, а только добавить что-то свое.
Можно, конечно, просто заставить всех вызывать этот конструктор в подклассах, но это call super антипаттерн, а еще можно забыть его вызвать и ничего не будет работать.
Ныне я сделал как на пикче(https://pastebin.com/eKLn2sh6)(шаблонный метод __init__, который вызывает initialize, который переопределяют пользователи). Не надают ли мне за такое по лицу? даже PyCharm подсвечиват, что лучше инициализации перенести в __init__
Аноним 08/05/20 Птн 18:16:13 1681179233
>>1681096
Это стандартная либа, ничего устанавливать не нужно.
Аноним 08/05/20 Птн 18:53:31 1681267234
>>1681177
У тебя паттерн ради паттернов. Какой смысл в этом методе?
Аноним 08/05/20 Птн 19:06:58 1681291235
Аноним 08/05/20 Птн 19:16:44 1681312236
>>1681291
Ещё раз спрашиваю какой в нем смысл?
Аноним 08/05/20 Птн 19:32:52 1681351237
>>1681312
Есть конструктор у базового класса с действиями, которые нужно обязательно всегда делать для любого экземпляра классаподклассов, поскольку он абстрактный. В подклассах ОБЯЗАТЕЛЬНО требуется сделать то, что в конструкторе базового класса + инициализации для данного подкласса.
Аноним 08/05/20 Птн 19:35:54 1681357238
>>1681177
Мне тоже не понятен смысл. Пользователю необходимо реализовывать initialize, это надо документировать. При этом если пользователь переопределит __init__, всё сломается.

Обычно схема с отдельным инициализатором нужна, если тебе нужно часть функционала от __init__ сохранять в наследниках, либо когда инициализацию можно делать или позже, или несколько раз, то есть когда надо сбрасывать состояние уже существующего объекта.

В такой схеме надо подумать, может можно куда-нибудь в __new__ влезть или в метаклассы, и заставить класс принудительно вызывать такой метод, даже если __init__ переопределён.

Все эти извращения разумны, если ты фреймворк какой-нибудь делаешь. Если просто прикладной код, то ты что-то делаешь не так.
Аноним 08/05/20 Птн 19:37:14 1681362239
>>1681357
Благодарю, совсем про метаклассы забыл.
Да, я васяню фреймворк для асинкио.
Аноним 08/05/20 Птн 19:38:18 1681365240
>>1681351
>В подклассах ОБЯЗАТЕЛЬНО требуется сделать то, что в конструкторе базового класса + инициализации для данного подкласса.
Очень непрозрачное поведение, учитывая, что классы-наследники могут переопределять эти методы. А в твоём скриншоте даже должны.

Особенно непрозрачно разделение общего функционала на два метода, за обоими методами при этом пользователь должен следить и их реализовывать.
Аноним 08/05/20 Птн 19:41:19 1681377241
Снимок экрана 2[...].png 321Кб, 2880x1800
2880x1800
народ как выделить себе в список только часто встречающиеся символы?
Аноним 08/05/20 Птн 20:17:12 1681422242
>>1681377
Я бы использовал defaultdict, где в ключ добавляешь символ, а значение увеличивашь на 1 каждый раз когда встречаешь этот символ в строке.
Аноним 08/05/20 Птн 20:42:27 1681462243
Аноним 08/05/20 Птн 22:09:33 1681596244
>>1681059
Отмена вопроса. Я через pd.DataFrame делаю. Но появился новый вопрос. Вот тут:

data_sheet=pd.DataFrame(columns =["Ticker", 'open', 'close', 'high', 'low', 'value', 'volume', 'begin', 'end'])
for h in range(160000,370000+1, 5000):
url=f'https://iss.moex.com/iss/engines/futures/markets/options/\
securities/MX{h}BA0/candles.csv?from=\
2019-01-01&till=2020-01-01&interval=24&iss.meta=on'
data_sheet=data_sheet.append(pd.read_csv(url, sep=";", skiprows=2), ignore_index=True, sort=False)

Надо чтоб в поле "Ticker" подставлялось значение f"MX{h}BA0" в каждой строке. Сейчас у меня он NaN.
Аноним 08/05/20 Птн 22:19:08 1681600245
Аноним 08/05/20 Птн 22:59:24 1681652246
>>1681177
>call super антипаттерн
Что, простите?
>можно забыть его вызвать и ничего не будет работать
Ну и нахуй таких программистов увольнять тогда.
Аноним 08/05/20 Птн 23:05:47 1681654247
>>1681596
Если в цикле дописать
data_sheet['Ticker'][len(data_sheet['Ticker'])-1]=f'MX{h}BA0'
то часть заполняется. Но проблема в тех, где парсится более 1 строки и в последней строке.
Код https://pastebin.com/BXtEzCQ5
Аноним 09/05/20 Суб 00:35:24 1681716248
>>1681654
Прикольный проект. На гитхаб залить не хочешь? Я бы ковырнул.
Касательно твоей проблемы - особо нихуя не понятно, нужно все смотреть чтобы понять контекст, воспроизвести и найти ошибку.
Аноним 09/05/20 Суб 00:35:52 1681717249
image.png 658Кб, 680x510
680x510
>>1681716
>прикольный проект
Аноним 09/05/20 Суб 00:49:01 1681723250
>>1681716
Не знаю чем гитхаб лучше пастебина, но ок, как залью кину ссылку.
Аноним 09/05/20 Суб 00:49:47 1681726251
>>1681723
Я просто сначала не допер, думал там ещё есть кода.
Я уже ковыряю, пытаюсь причесать код для понятности.
Советуют вместо пандаса юзать модуль csv.
Аноним 09/05/20 Суб 00:51:30 1681729252
>>1681726
Но у тебя тут таблички из сложных типов пандаса, видимо не стоит...
Аноним 09/05/20 Суб 01:00:57 1681733253
>>1681723
Можешь объяснить эту строку: data_sheet['Ticker'][len(data_sheet['Ticker'])-1] = f'MX{h}BA0'
И да, если будешь писать чище - будет всем понятнее, включая тебя
Аноним 09/05/20 Суб 01:57:21 1681750254
>>1681733
Помозговал - тут короче в таблицу залетает сразу пара строк, а прописываешь ты только в последнюю.

Нужно переписать логику и будет все хорошо.
Аноним 09/05/20 Суб 02:10:42 1681756255
>>1681733
'Ticker' это столбец в который нужно писать откуда мы берем инфу например MX330000BA0. Цифры посередине меняются потом и другие части будут меняться, но пока только цифры. Мы обращаемся к столбцу Ticker, а чтоб понять в какую строку писать я выдумал конструкцию len(data_sheet['Ticker'])-1. Поскольку в цикле просто к низу присоединяются строки, то посчитав количество строк всего мы поймем где сейчас находимся. Минус 1, чтоб начинать с 0 позиции.
>>1681750
> Нужно переписать логику и будет все хорошо.
Я пока ничего лучше измерения количества строк не придумал. Еще проблема с самой последней строкой. Поскольку там новые строки не добавляются идет перезапись дальше чем нужно. Например MX370000BA0 370000 это последнее число в цикле, но в последнюю строку в тикер нужно писать MX360000BA0.
Аноним 09/05/20 Суб 02:12:13 1681757256
>>1681756
Например MX370000BA0 это последнее число в цикле, но в последнюю строку в тикер нужно писать MX360000BA0. убрал \t370000 не знаю откуда это прилипло
Аноним 09/05/20 Суб 02:51:05 1681771257
>>1681757
Очень душный этот датафрейм, ебал его рот.
Я иду ковырять свое говно, утомился.
Аноним 09/05/20 Суб 03:12:02 1681776258
>>1681771
Есть такое. Вот придумал как убирать NaN из таблицы и заполнять следующим значением (которое ниже). https://pastebin.com/3a4nvuj1 Но проблема в том, что так можно убрать только если NaN бала в одной строке. Если будет две подряд такие, то уже не поможет. Может завтра кто поможет или сам догадаюсь.
Аноним 09/05/20 Суб 04:14:15 1681789259
>>1681776
Ты какой-то хуйней занимаешься, но мне лень разбираться в этом pd.
На первый взгляд, что мешает воткнуть это в каждый результат csv_read, а потом уже делать append?
Аноним 09/05/20 Суб 09:50:09 1681837260
Хелп, мне нужно запустить функцию параллельно много раз, например 100, делаю

for i in range(100):
Process(target=func).start()

Но создается только 5 потоков, там какие-то лимиты или что, как обойти?
Аноним 09/05/20 Суб 10:08:29 1681847261
>>1681837
>там какие-то лимиты или что
Аноним 09/05/20 Суб 10:12:11 1681848262
>>1681837
>там какие-то лимиты или что
Каких-то ограничений питон не делает.

Может ты что-то не так написал, see Threading examples.
Аноним 09/05/20 Суб 11:52:08 1681879263
Чем вообще занимается дата аналист? Ну вот пройду я какой-нибудь курс, а дальше-то что?
Аноним 09/05/20 Суб 12:19:02 1681906264
>>1681837
У тебя же процессы.
Аноним 09/05/20 Суб 12:43:06 1681926265
Как вмешаться в процесс присваивания значения атрибуту класса?
Вроде __setattr__ - то что надо, но он даже не вызывается в этом случае.
По-уебански, наверное, написал. Проблема такая: я при определении класса создаю в этом классе кучу статических атрибутов, и вот в эти атрибуты (это объекты моего еба-класса, они, если что, инициализируются и присваиваются сразу) хочу установить класс в котором эти объекты записываются в статические атрибуты.
Аноним 09/05/20 Суб 12:56:26 1681934266
Аноним 09/05/20 Суб 13:34:46 1681977267
Как сделать, чтоб после выполнения скрипта питон не возвращал управление bash?
Нужна возможность вводить команды.
Аноним 09/05/20 Суб 16:10:07 1682180268
Аноним 09/05/20 Суб 16:22:16 1682184269
image.png 1047Кб, 1000x667
1000x667
Вечер добрый. Есть у кого нибудь описание API двача?
Да, да, обу всё расписал уже, ага. https://2ch.hk/api/хуй
Аноним 09/05/20 Суб 16:45:31 1682207270
>>1681789
> воткнуть это в каждый результат csv_read, а потом уже делать append?
Как это сделать? Результат csv_read каждый раз разный. Чаще всего пустой, бывает одна строка, бывает 10. Я не пойму как добавить значение в одну колонку в каждую не пустую строку. На сколько я понимаю прямо в функцию pd.csv_read добавить это нельзя.
Аноним 09/05/20 Суб 16:46:10 1682208271
>>1682180
Нет, нужен интерактивный режим
Аноним 09/05/20 Суб 17:05:23 1682217272
Аноним 09/05/20 Суб 18:15:47 1682269273
Аноним 09/05/20 Суб 19:33:45 1682325274
Знает кто максимальные ограничения pandas.DataFrame по количеству строк и колонок? Или там лимитов нет?
Аноним 09/05/20 Суб 19:35:39 1682328275
SSL: WRONG_VERSION_NUMBER

Как повиксить?
Аноним 09/05/20 Суб 20:34:01 1682420276
Аноним 09/05/20 Суб 22:38:54 1682576277
Начал вкатываться. Где можно общаться с такими же вкатывальщиками чтобы не срать тут пока что тупыми вопросами?
Аноним 10/05/20 Вск 01:33:25 1682725278
image.png 300Кб, 342x422
342x422
питоны, норм книга?
Аноним 10/05/20 Вск 01:49:12 1682740279
>>1682725
хз, почитай содержание, затрагиваются ли там темы которые тебя интересуют вообще.
Аноним 10/05/20 Вск 05:54:11 1682787280
>>1682576
Можно создать чат в телеге и набирать вкатывальщиков чтоб друг-другу отвечать на вопросы
Аноним 10/05/20 Вск 08:13:11 1682821281
>>1682787
Можно пользоваться google and some guides to понять если что-то непонятно.
Аноним 10/05/20 Вск 09:24:22 1682842282
Прошёл школьные задачи на пайтонтьюторе, параллельно прочитываю теорию.
И тут залез посмотреть на Ютуб, а что нужно знать вкатывальщикам, помимо Пайтона, фласка и джанго. И понеслось: работа с линуксом, гитхабом, понимание основ фронтенда. Знание, как работают сети. И ещё небольшой список разного.
Потратил часов 50 уже. И приходит понимание, что работа компьютера - это не просто магия, а что-то совсем пиздецовое. И за год учебы по вечерам не факт, что освоишь минимальный уровень.
Аноним 10/05/20 Вск 09:42:34 1682852283
>>1682842
> И понеслось: работа с линуксом, гитхабом, понимание основ фронтенда
Несколько команд для консоли которыми будешь пользоваться постоянно и все. Фронтенд - на базовом уровне html/css/ и желательно js.

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


Аноним 10/05/20 Вск 10:10:02 1682867284
Чет мне после Сишечки сильно пригорает с питухона. Нахуй эти пердолки поделили обычные сраные массивы на словари, списки блять и сука последовательности? Я еще понимаю добавить к массивам ассоциативные массивы. Но вот это вот пердоленье сущностей... zalupa.items() блять но при этом enumerate(['zalupa','manda'])...Пиздос. Нахуя? Что они курили? Почему питухон такой кривой и уродливый?
Аноним 10/05/20 Вск 10:26:10 1682878285
изображение.png 2060Кб, 1200x800
1200x800
>>1682867
>поделили обычные сраные массивы на
lists, tuples, sets, dictionary

Просто чтобы было, зачем еще) По факту в основном используются списки['list1', 'list2'] и словари{'key1' : 'value1'}

Ты бы жс посмотрел, синтаксис там
>кривой и уродливый

Но негодовать по этому поводу смысла нет, как есть так есть, привыкнется))

Аноним 10/05/20 Вск 10:30:46 1682883286
>>1682867
Тебе знакомо понятие коллекции, более того они высокоуровневые.
Какое они имеют отношение к массивами в С?
Аноним 10/05/20 Вск 10:35:34 1682889287
Аноним 10/05/20 Вск 11:06:41 1682911288
>>1682325
Попробуй сам создать пару миллиардов строк и колонок, потом напиши
Аноним 10/05/20 Вск 18:24:41 1683385289
Интересно узнать есть ли у кого-то опыт заработка на блекхет коде? Вроде написания прог на заказ которые заведомо делают нелегальные вещи? Сколько с этого имеете? Как можно выйти на таких заказчиков?

Мимо не тов. майор
Аноним 10/05/20 Вск 19:41:46 1683470290
>>1683385
Всякие большие спамилки-авторегалки делал. В принципе оплачивается неплохо, но не чтобы аж так.
Все деньги в малвари, а она на скрипатх не пишется, лол.
Аноним 10/05/20 Вск 20:48:58 1683532291
Привет, ребят. Помоги пожалуйста. До этого писал на винде и через гуглхром.драйвер, перешел на убунту, тут все совсем по другому почему то, с гуглхром драйвером не стал разбираться, решил писать через фокс, вопрос в чем, не могу добавить add.arguments в чем проблема не понимаю

import selenium
import time
import random
from selenium import webdriver
spisok_proxy = ('188.170.233.100:3128')
imena = ('Вика', 'Алена')
for j in range(5):
PROXY = spisok_proxy[j]
selenium.webdriver.firefox.options = webdriver.Firefox()
options.addArguments('--proxy-server%s%PROXY')
webdriver.get('https://www.selenium.dev/')


ошибка такая
Traceback (most recent call last):
File "/home/user/pojerct/skkkript.py", line 10, in <module>
options.addArguments('--proxy-server%s%PROXY')
NameError: name 'options' is not defined
Аноним 10/05/20 Вск 21:09:45 1683549292
>>1683532
selenium.webdriver.firefox.options = webdriver.Firefox()
options.addArguments('--proxy-server%s%PROXY')

разницу сам видишь или носом потыкать?
spisok_proxy оо, бля, ну ты и.. хотя, не буду обзываться
Аноним 10/05/20 Вск 21:10:52 1683551293
>>1683532
мб
selenium.webdriver.firefox.options.addArguments('--proxy-server%s%PROXY')
?
мимо жабамразь
Аноним 10/05/20 Вск 21:14:37 1683553294
Там по-моему безголово скопипащено и нахуеверчено без всякого понимания, так что бесполезно учить.
Аноним 10/05/20 Вск 21:26:07 1683565295
>>1682867
Знакомо, мне так же от сишечки после голого ассемблера пригорало. Хотя, вот это zalupa.items() одновременно с enumerate(zalupa) - это рили косяк. Пиздуй-ка ты лучше к нам в раст. У раста хотя бы синтаксис прозрачный и очевидный.

Последовательности, это, считай, анонимные структуры. Когда тебе лень создавать структуру, но нужно завернуть данные разных типов в общий контейнер. Например ("zalupa", 5, 0.0001)
Аноним 10/05/20 Вск 21:28:40 1683567296
>>1683565
items это к словарям, вместе с keys и values, а итерейтить можно любые итерабли, не вижу никакой избыточности.
Аноним 10/05/20 Вск 21:38:57 1683572297
>>1683567
Дык, лажа в том, что итерейтишь ты внешней функцией, а не вызовом метода. Такая же лажа с len(zalupa).
Аноним 10/05/20 Вск 21:41:44 1683576298
>>1683572
Релизовано методами, вызываются средствами языка.
Хочет сделать поддержку в своем классе - реализуешь нужные методы.
Аноним 10/05/20 Вск 21:46:22 1683581299
Аноним 10/05/20 Вск 22:14:03 1683598300
Блин, в общем есть у нас химическая формула в виде строки, состоящей из латинских букв, цифр и скобок (круглых и квадратных). Необходимо вывести число каждого из хим. элементов, входящих в эту формулу (в любом формате)

Пример:
find_atoms("K4[ON(SO3)2]2") -> [("K", 4), ("O", 14) ("N", 2), ("S", 4)]

Химический элемент канешн может состоять более чем из одной буквы, но в таком случае вторая буква будет маленькой строчной и это легко определяется
Аноним 10/05/20 Вск 22:18:22 1683599301
>>1683598
Ну ты поясни тогда, как эти скобки раскрываются.
В идеале надо посимвольно читать и токенизировать, а потом вторым проходом считать.
Аноним 10/05/20 Вск 22:52:15 1683610302
Работал через гугл хром не было проблем, поставил хромиум, пытаюсь сделать через него, ошибка файл манифеста не найден. В чем проблема?
Аноним 10/05/20 Вск 23:04:22 1683614303
>>1683599
Все что в скобках - помножается на число стоящее после скобок Сдается мне что надо запарсить сначала все скобки (они могут быть как квадратными так и круглыми - ни на что не влияет) - с помощью регулярок скорее всего, но я не шарю в них - затем парсить все что внутри скобок при помощи этой же рекурсивной функции, в конечном итоге функция должна вернуть словарь с химическими элементами (ключи) и числом их вхождений в скобки (значения, в конце также помноженные на число после скобок)
Аноним 11/05/20 Пнд 00:02:30 1683641304
Как указать Джанге путь к жс-овскому скрипту?

<script src="static/scripts/main.js"></script>
написал, как и было в примере, но он не может найти эту директорию, засунул просто один файл main.js в ту же папку что и template, но джанга падла переходит по src="main.js" как по url-ссылке. Как ему указать путь?
Аноним 11/05/20 Пнд 00:12:00 1683644305
Аноним 11/05/20 Пнд 01:06:25 1683657306
двачеры, помогите нубы, с кодом никогда связан не был, просто решаю 1 задачу для учебного процесса
сейчас есть прога:
в ней есть список фраз на английском языке
словарь в котором у английских фраз есть русский аналог
команда которая выдает случайную фразу на русском
кнопка Далее которая выдает следующую случайную фразу на русском
кнопка Проверить которая (тут начинается проблема) должна показывать английский вариант из словаря
вопрос - что вписать чтобы программа смотрела на ту случайную русскую фразу, которую сама нарандомила и выдавала ее английский вариант?

Всем заранее спасибо
Аноним 11/05/20 Пнд 01:15:25 1683664307
>>1683657
>помогите нубы
Оговорка по Фрейду.
Аноним 11/05/20 Пнд 01:15:50 1683665308
Хм, у меня час не получалось запилить ajax-форму в django, несмотря на туториал от medium. А после просмотра 10минутного видоса от индуса все заработало...
Аноним 11/05/20 Пнд 01:18:47 1683666309
>>1683664
print ("sorry dva4")
извините я только вкатываюсь в ваш погромистский юмор
Аноним 11/05/20 Пнд 01:18:58 1683667310
>>1683644
Красивее и не сделаешь. Более правильные варианты значительно менее читаемые и нужны для синтетических примеров, когда формулы могут быть очень большими, на миллионы элементов итоговых - это не про реальные формулы, конечно.
Аноним 11/05/20 Пнд 01:26:34 1683673311
>>1683644
>>1683598
Если иначе подходить, то можно идти справа налево. Держим стек со значениями текущего мультипликатора.

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

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

Если встречаем открывающую скобку, то убираем последний элемент из стека.

Я начал писать код, но получается хуже, чем пример с тупой заменой. Лень писать. Но это рекурсивный алгоритм без рекурсии, вместо рекурсии стек.
Аноним 11/05/20 Пнд 01:28:43 1683674312
>>1683657
Хрен знает в каком виде у тебя там этот "словарь"
Аноним 11/05/20 Пнд 01:46:57 1683678313
>>1683673
Интересно, я не подумал про справа-налево.
Потом попробую.
Аноним 11/05/20 Пнд 01:58:05 1683680314
>>1683674
Есть список («привет», собака»)
Словарь выглядиь примерно d(“hello”:”привет», «dog”:”собака»)
Есть команда выдающая случайное слово из списка
Нужно понять как сделать чтобы если к нарандомленному слову из списка давало ключи из словаря и выглядело это так
команда для рандома
Привет
пользователь пишет проверить
*программа находит в словаре ключ к Привет и пишет «hello”
Аноним 11/05/20 Пнд 02:10:36 1683682315
>>1683680
Сразу достаешь ключ и его значение, спрашиваешь и сверяешь.
Зачем ещё что-то искать, лол.
11/05/20 Пнд 10:28:42 1683768316
>>1676720
Посоны, полностью удовлетворен (переводной, разумеется) статьей с Хабра.
https://habr.com/ru/post/337420/
Ставьте ее в шапку, а видео старперское - обоссать
Аноним 11/05/20 Пнд 10:30:26 1683771317
Безымянный.png 48Кб, 1002x429
1002x429
>>1683682
вот тут-то и оно. не понимаю как это сделать
Вот случай с1 это когда пользователь пишет Проверка. В этот момент программа должна выдавать ключ из словаря к тому что было нарандомлено после строки random.choice
вот я и хз как это делать
Аноним 11/05/20 Пнд 10:31:54 1683773318
Безымянный.png 48Кб, 1002x429
1002x429
>>1683682
вот тут-то и оно. не понимаю как это сделать
Вот случай с1 это когда пользователь пишет Проверка. В этот момент программа должна выдавать ключ из словаря к тому что было нарандомлено после строки random.choice
вот я и хз как это делать
Аноним 11/05/20 Пнд 11:00:00 1683799319
Аноним 11/05/20 Пнд 12:49:45 1683850320
Аноним 11/05/20 Пнд 12:58:17 1683855321
>>1683850
ооо хоть чето понятное
спасибо большое, попробую сегодня
Аноним 11/05/20 Пнд 13:27:18 1683872322
>>1683850
работает! От души душевно в душу
Аноним 11/05/20 Пнд 21:19:14 1684368323
Как узнать все комбинации, возможные при броске N одинаковых кубиков, у каждого из которых X граней? (на гранях цифры от 1 до X)

Казалось что просто, но на деле херня какая-то. itertools.permutations, combinations и combinations_with_replacement это не то, они не учитывают все возможные случаи. Хотя по факту это весьма "тупой" перебор. Если у нас есть 3 кубика по 6 граней в каждом, то там 666=216 комбинаций, надо просто скурпулезно перебрать все, но вот как это сделать? В данном случае нам нужно 3 вложенных цикла for, но что делать с произвольным случаем? Число этих циклов может быть любым (зависит от числа кубиков N). И как же блин это сделать?
Аноним 11/05/20 Пнд 21:19:53 1684369324
>>1684368
>6x6x6=216
Конечно же
быстрофикс
Аноним 11/05/20 Пнд 22:22:14 1684413325
>>1684368
list(itertools.product(list(range(1, 7)), repeat=3))
Аноним 11/05/20 Пнд 22:28:23 1684416326
>>1684413
Мощная херня. Интересно что она под капотом делает
Аноним 11/05/20 Пнд 22:51:50 1684449327
>>1684416
По циклу запускает перебор. Типа
for x in range(1, 7):
____for y in range(1, 7):
________for z in range(1, 7):
Количество циклов и возвращаемый кортеж равен длинне repeat=3. И соединяет в список
Аноним 11/05/20 Пнд 22:53:45 1684454328
>>1684449
Это я понял. Я сам хотел такое же сделать своими силами, вопрос в том как он делает переменное число циклов?
Аноним 11/05/20 Пнд 23:47:55 1684506329
Аноним 12/05/20 Втр 07:52:22 1684686330
Подскажите. Надо хранить кучу переменных Имя-Значение (Вася 10) и менять только значения. Каким способом лучше всего это сделать?
Аноним 12/05/20 Втр 08:30:55 1684712331
Аноним 12/05/20 Втр 11:13:38 1684809332
Аноним 12/05/20 Втр 13:15:26 1684918333
photo2019-09-23[...].jpg 139Кб, 949x1280
949x1280
Смотрите какая задача:
есть веб-приложение на php и yii. Разумеется, у него в базе свои методы работы и описание схемы. И им занимаются другие погроммисты. Но сделано это, как обычно, хуево,

Я не изучал джангу но готов это начать делать, если будет немедленная практическая польза.
Можно ли на джанге сляпать админку чужих таблиц ?
Мне просто нужен редактор связанных таблиц и специфические массовые операции над ними.

Теорией бд легко владею . Сейчас по сути я поддерживаю эти таблицы в голом sql и это заебывает.
Аноним 12/05/20 Втр 14:06:42 1684975334
Аноны, надо пройтись по словарю и заменить некоторые его ключи (при сохранении значений канешн)
При прогоне for key in my_dict: key=key.replace("a", "b") по факту нихрена не меняется (потому что key это immutable строка и ключу в словаре глубоко похуй, что за операции я мучу с переменной key)
Неужели нет другого способа кроме как тупой проход по всем my_dict.values() и копировании их в новый словарь?
Аноним 12/05/20 Втр 14:12:16 1684983335
>>1684975
Посмотри название ключей, повторения не допускаются
Их просто срежет как с сетами
вроде как, хуй знает кароч
Аноним 12/05/20 Втр 14:18:19 1684992336
>>1684918
Можно и достаточно просто.
Аноним 12/05/20 Втр 14:20:55 1684995337
Screenshot20200[...].png 15Кб, 609x126
609x126
Что этой хуйне не нравится? Почему я не могу так прервать цикл?
Аноним 12/05/20 Втр 14:23:37 1684997338
>>1684995
У тебя в строке, где userinput спрашивается, скобка лишняя.
Аноним 12/05/20 Втр 14:37:12 1685030339
>>1684992
мне нужны ключевые слова. Какие именно механизмы в django позволят это делать ? Что именно почитать?
я же не могу по книгам для вкатывальщиков делать тупые приложения. Мне нужен результат.
Аноним 12/05/20 Втр 15:12:50 1685087340
Аноним 12/05/20 Втр 15:25:01 1685105341
>>1684918
Мне кажется, что скорее нет. Джанго сильно привязан к своим моделям, админка уж точно. Соответственно чужие таблицы ты так просто не привяжешь, придётся подгадывать под них модели (это возможно).

В Джанго ты админку более-менее быстро можешь сконфигурировать, чтобы добавлять-редактировать элементы, связанные с другими элементами по ключам, но не сильно более того.
Аноним 12/05/20 Втр 15:26:46 1685107342
>>1685030
Книги для вкатывальщиков в любом случае придётся глянуть. Хотя бы на уровне демо-приложения Джарго, которое голосовалка, и главы в книге про админку и модели.

Аноним 12/05/20 Втр 15:54:35 1685171343
>>1685105
Погоди, но мне не обязательно портить чужую бд таблицами , я могу отдельную выделить только для джанги, а вот управлять хотелось бы конкретным набором таблиц в другой базе.

какой план?
Аноним 12/05/20 Втр 15:55:03 1685175344
>>1685107
> Хотя бы на уровне демо-приложения Джарго, которое голосовалка
вот тут я уже вижу оверхед. Ведь у меня приложение из нуля страниц!
Аноним 12/05/20 Втр 16:01:40 1685193345
>>1685105
>Джанго сильно привязан к своим моделям
В чем проблема описать модели на основе существующей базы?
Аноним 12/05/20 Втр 16:11:54 1685212346
>>1685193
мне кажется джанга их похерит потом. Нет?
Аноним 12/05/20 Втр 16:17:44 1685218347
>>1684918
>Можно ли на джанге сляпать админку чужих таблиц ?
>Мне просто нужен редактор связанных таблиц и специфические массовые операции над ними.

phpmyadmin?
Аноним 12/05/20 Втр 16:25:45 1685228348
>>1685212
Как она их похерит если ты не будешь накатывать на них миграции?
Аноним 12/05/20 Втр 16:30:20 1685242349
Для питона есть что-то хоть примерно настолько же удобное и функциональное, как вижуал студио для шарпа/крестов? Пайчарм какая-то параша, если честно.
Аноним 12/05/20 Втр 16:32:34 1685248350
>>1685242
> как вижуал студио для шарпа/крестов?
Если тебе нравится это говно, то и пиши на нем, питон там поддерживается.
Аноним 12/05/20 Втр 16:35:12 1685256351
>>1685242

юпитер лаб или юпитер нотебук

Аноним 12/05/20 Втр 16:39:08 1685263352
>>1685242
Как бы vscode для пайтона неплохой вариант, плагины некоторые поставить и ок.
Если полегче что-то, то atom с плагинами.
Аноним 12/05/20 Втр 16:48:37 1685277353
А че разве функция sorted возвращает список а не генератор? Лол, всегда думал иначе
Аноним 12/05/20 Втр 16:51:50 1685281354
>>1684918
Админка в Джангу встроена по умолчанию
Надо лишь предоставить ей собственно модели (таблицы) с которыми бэк будет работать
Аноним 12/05/20 Втр 17:01:38 1685297355
Аноним 12/05/20 Втр 17:03:38 1685301356
>>1685277
Для сортирования всё равно придется всю итераблю всосать, так что нет смысла возвращать генератор.
Аноним 12/05/20 Втр 17:56:58 1685399357
А стандартный unitests случайно не многопточный/процессный?
Аноним 12/05/20 Втр 18:01:34 1685418358
>>1685228
>>1685281
спасибо. попробую когда-нибудь это реализовать. и похвастаюсь тут.
Аноним 12/05/20 Втр 18:08:05 1685434359
>>1685218
это было бы слишком примитивно.
там связанные таблицы и я не хочу вводить ид , а хочу редактировать как будто выбираю значения из выпадающего списка.
Кроме того, автоматизировать по шаблону генерацию или групповое изменение этих данных и тд.
Аноним 12/05/20 Втр 21:03:43 1685782360
Сап, питонач. Вопрос по PyQT5, а точнее по QThreadPool:

Есть программа, которая проходит по файлам и делает с ними определенные штуки, после чего выполняет следующий этап. Манипуляции с файлами вынес в потоки, чтобы не фризился интерфейс и можно было одновременно обрабатывать N файлов. Но никак не могу понять, как продолжить выполнение работы только после окончания всех потоков? Ссейчас скрипт создает треды и переходит сразу дальше, что меня не устраивает.
Аноним 12/05/20 Втр 21:22:19 1685807361
Блэт, добавляю js-код в темплейт Джанги: <script src="index.js"></script> а он ищет этот файл в https://my-domen.net/index.js вместо поиска на хард драйве. Какого хрена?
Аноним 12/05/20 Втр 21:47:44 1685845362
Ананимас, подскажи какой-нибудь начальный материал по алгоритмам для совсем ебнутых даунов, которые вообще ничего не понимают. Я наткнулся на этот видос https://www.youtube.com/watch?v=pKO9UjSeLew
И даже ни из объяснений семпая, ни из самого кода этого tortoise and hare не понял, что это и как оно работает.
Аноним 12/05/20 Втр 22:12:56 1685873363
Снимок экрана 2[...].png 406Кб, 2880x1800
2880x1800
аноны помогите, как это сделать?
Аноним 12/05/20 Втр 22:15:48 1685874364
>>1685845
grokking algorithms глянь книжку.
Аноним 12/05/20 Втр 22:22:00 1685879365
Аноним 12/05/20 Втр 22:53:36 1685911366
>>1685873
ты за это еще и заплатил?
Аноним 12/05/20 Втр 23:21:13 1685935367
Как замутить циклический список в Питоне?
Чтобы можно было обратиться к элементу my_list[5], когда в списке их скажем всего 4 и он вернул бы мне элемент my_list[1]? Меня хватило на:

class CycList(list):
----def __getitem__(self, n):
--------return self[n%len(self)]

но внезапно эта срань рекурсивно вызывает саму себя и не годится
Аноним 12/05/20 Втр 23:43:32 1685947368
>>1685873
проверяй на рекурсию, ёпт
Аноним 12/05/20 Втр 23:43:50 1685948369
Аноним 12/05/20 Втр 23:44:40 1685949370
fff.PNG 13Кб, 465x425
465x425
Аноним 13/05/20 Срд 00:23:24 1685962371
>>1685873
На 7 строке не валидный синтаксис.
Аноним 13/05/20 Срд 01:13:37 1685972372
Всем привет, а кто-то может подсказать адекватное решение проблемы, когда нужно отправить ссылку на фото, которое где-то хостится? Гугл Диск не получается заставить, Гугл Фото дает "закрытую" ссылку, открывать надо ручками. На Фликр только 1000 фоток доступна. Шото моя не понимать....
Аноним 13/05/20 Срд 01:29:06 1685980373
>>1685972
Втентаклик. Но он вроде пережимает при аплоаде.
Аноним 13/05/20 Срд 01:33:51 1685984374
Аноним 13/05/20 Срд 06:07:31 1686036375
15893107774230.png 320Кб, 2880x1800
2880x1800
Аноним 13/05/20 Срд 06:41:47 1686044376
Аноним 13/05/20 Срд 07:20:21 1686060377
Сап вопрос по больше по докеру.
Короче, обычно я диплою проект( django) так.
создаю nginx.conf, gunicorn.service. руками создаю базу и тд.

Собственно вопрост. если я делаю это через докер. то посутие мне на сервере не нужно ставить nginx я могу его поставить в докере? или как вообще правильнее?
Аноним 13/05/20 Срд 08:43:09 1686113378
Аноним 13/05/20 Срд 08:50:55 1686116379
>>1686113
много зачем. но ок почтиаю
Аноним 13/05/20 Срд 08:59:04 1686122380
2a2eb8884921adb[...].jpg 15Кб, 300x300
300x300
>>1685873
птздец, яндекс хочет за свои говнокурсыпрактикум 90к
Инглишь курсы на coursera дешевле
+можно скупить всех индусов на udemy
Совсем пизданулись
Аноним 13/05/20 Срд 10:16:01 1686159381
Епт, сраные static файлы в этой джанге

По какой логике они вообще находятся? Нихрена не понимаю. Настроил STATIC_URL="/static/" в settings, создал в одном из приложений myapp папку static и засунул туда свою таблицу стилей my_styles.css - при вызове src="{% static 'my_styles.css' %}" все работает. Создал такую же папку static в другом приложении newapp - и джанго уже его "не видит"!

По какой логике эта хрень вообще ищет статичные файлы на моем диске?
Аноним 13/05/20 Срд 10:37:24 1686187382
>>1686159
че ты к ним доебался? все равно все nginx настраивают допом.
Аноним 13/05/20 Срд 11:46:13 1686314383
>>1686044
Спасибо.
Вариант с ВК не помог, потому что поиск должен происходить по имени файла, но при загрузке оно меняется. Есть вариант с описанием каждой фото, но это не то.
Держу в курсе.
Аноним 13/05/20 Срд 11:54:34 1686322384
У кого-то получалось получать доступ к картинках на Гугл Диске?
Аноним 13/05/20 Срд 11:56:47 1686325385
>>1685949
Not bad конечно, но лучше бы иметь под рукой класс с понятной сематикой __getitem__
Аноним 13/05/20 Срд 12:35:37 1686409386
Аноним 13/05/20 Срд 13:26:00 1686464387
Аноним 13/05/20 Срд 13:27:46 1686465388
>>1686464
Для картинок нужно использовать space=photos, но и оно, увы, подвело
Аноним 13/05/20 Срд 14:13:12 1686491389
>>1686060
Если юзаешь докер то тебе нужно только поставить на целевой системе докер/докер-композ и всьо.
Дальше ебешься с написанием основного докерфайла и, если надо, докерфайлов для других частей(нжинкс и т.д.). Потом вставляешь все это в докер-композы, описываешь порты/вольюмы и прочее. Всьо.
Если проект серьезный то бд ставится на отдельный сервер и без докеров.
Аноним 13/05/20 Срд 14:19:37 1686498390
>>1686464
Эти гуглоапи весьма злоебучи, всегда какие-то пляски с ними.
Аноним 13/05/20 Срд 15:11:04 1686598391
image.png 21Кб, 584x165
584x165
попробовал тут аннотации и чуть не блеванул
нет для доки оно конечно хорошо, и даже заставляет заранее додумать, что конкретно должен делать код
но это говнище же просто нечитабельное, его внатуре сейчас используют? или хотя бы есть какие-то планы по включению этого тайпинга в обработку интерпретатором для ускорения вычислений, например?
Аноним 13/05/20 Срд 15:43:38 1686675392
>>1686598
Да, юзают, не особо читабельно, поэтому я, к примеру, юзаю простые конструкции что бы потом было более понятно какой тип данных надо передать и куда.
Аноним 13/05/20 Срд 16:47:12 1686814393
image.png 1Кб, 446x48
446x48
Кто может помочь, кто работал с asyncio для telegram bot api,
как там организовать поиск геолокации и маршрута, через обычные библиотеки типо geopy оно не работает, ибо диспатчер требует чтобы индексы были интами, но по api телеграмбота они там стринги и что делать со словарём я уже не знаю
Аноним 13/05/20 Срд 17:04:04 1686836394
>>1686598
Если твоя говнофункция принимает столько разномастного говна, не проще передавать ей в аргументы словарь или именованный кортеж? А уже на уровне моделя (или кастомного namedtuple) провести документацию, не?
Аноним 13/05/20 Срд 17:04:16 1686837395
Аноним 13/05/20 Срд 17:25:54 1686877396
>>1686814
я тоже не могу помочь
Аноним 13/05/20 Срд 17:30:38 1686886397
>>1686814
Это слишком сложно.
Аноним 13/05/20 Срд 17:59:27 1686918398
А чем бинарный отличается от булевый? И то, и другое принимает два значения.
Аноним 13/05/20 Срд 18:02:13 1686923399
>>1686918
Boolean это либо True, либо False, в то время как это 11010000 10111111 11010000 10111110 11010001 10001000 11010001 10010001 11010000 10111011 00100000 11010000 10111101 11010000 10110000 11010001 10000101 11010001 10000011 11010000 10111001
Аноним 13/05/20 Срд 18:02:35 1686925400
>>1686923
>в то время как БИНАРНЫЙ это
быстрофикс
Аноним 13/05/20 Срд 18:11:30 1686940401
>>1686925
Не, я имел в виду бинарный как "бинарный оператор".
Есть унарный: -number есть бинарный: a+b=c, а есть тернарный number if number >= 0 else -number
Бинарный оператор - это оператор с двумя аргументами. Но ведь булевый оператор - это же тоже оператор с двумя аргументами?
Аноним 13/05/20 Срд 18:17:51 1686948402
>>1686940
Есть математические, есть булевые, хули не ясно?
Аноним 13/05/20 Срд 18:19:38 1686952403
Аноним 13/05/20 Срд 18:20:03 1686953404
>>1686940
булевый оператор это где такой термин использовался?
Аноним 13/05/20 Срд 18:35:14 1686970405
>>1686953
Хз, я сам придумал.
>>1686948
Булевый - это же математический термин. Разве нет?
Аноним 13/05/20 Срд 18:53:18 1686985406
>>1686970

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

> Булевый - это же математический термин. Разве нет?
Булева алгебра - математический термин, в информатике у нас Булев тип данных.
Аноним 13/05/20 Срд 19:14:30 1687004407
Image 653.png 70Кб, 1111x1005
1111x1005
Ебусь с ботом. Есть пара вопросов:

1. По гайду импортируется только from twitchio.ext import commands. Получается импорт только из папки ext происходит?

2. Как импортировать файлы из основной папки twitchio, в частности нужны функции из файла abcs.py.

3. Алсо, почему у меня не получается импортировать из моего файла config.py все переменные целиком? Чтобы они все импортировались мне пришлось их по одной перечислять.
Аноним 13/05/20 Срд 19:16:48 1687010408
>>1687004
1. Да.
2. from twitchio import abcs
3. from config import *
Аноним 13/05/20 Срд 19:21:38 1687019409
Image 650.png 3Кб, 288x91
288x91
>>1687010
Понял. Заменил на звездочку, вроде работает. Но почему пичарм эти строчки серыми сделал?

Добавил abcs и функцию timeout. Бот запускается без ошибок, но когда срабатывает событие с этой функией - пишет ошибку NameError: name 'timeout' is not defined
Что не так?
Аноним 13/05/20 Срд 19:24:49 1687033410
>>1687019
Серым, потому что не использовано в коде.
Для timeout вероятно надо указать неймспейс, если ты его прямо не импортировал себе.
Аноним 13/05/20 Срд 19:29:50 1687043411
Image 661.png 3Кб, 248x175
248x175
Image 668.png 8Кб, 519x268
519x268
>>1687033
>Серым, потому что не использовано в коде.
Как это не используются? Из конфига используются вот все эти переменные в настройке бота. Используется каждая из переменных. Ведь если я испортирую их всех по одной с тем же кодом - строка с импортом не серая же.

>Для timeout вероятно надо указать неймспейс, если ты его прямо не импортировал себе.
А вот тут подробнее. Что значит прямо импортировал и как указать неймспейс? я только вот вот дочитываю укус питона, еще мало чего понимаю
Аноним 13/05/20 Срд 19:38:21 1687060412
>>1687043
а в самом config.py они определены?
Аноним 13/05/20 Срд 19:45:04 1687067413
>>1687060
В конфиге просто прописал переменные в виде
TMI_TOKEN = "значение"
CLIENT_ID = "значение"
и так далее. Это неправильно чтоль?

И на вторую часть моего прошлого сообщения можешь ответить?
Аноним 13/05/20 Срд 19:52:38 1687079414
>>1687067
нет все правильно, просто надо понять откуда он хочет их импортнуть мб надо в pycharm указать папку со скриптами как source. Вот он красным подчеркивает, какую ошибку показывает если навести?

>можешь ответить?
могу но я уже другой анон
неймспейс это пространство имен, как бы сущность которая содержит имена для доступа к ним. Если у тебя config.py и ты его импортишь как import config а потом обращаешься к CLIENT_ID как config.CLIENT_ID то говорят что имя CLIENT_ID находится в неймспейсе config

поэтому замечание того анона было скорее всего про то что у тебя в importах не видно никаких timeout а ты их используешь (и ошибка говорит как раз что timeout не определен)

но мне каж ошибка в том, что у тебя в папке twichio нет config.py и ты хуй пойми что откуда запускаешь

добавь untitled2 PYTHONPATH (или пометь как source, тогда pycharm вроде должен сообразить)
Аноним 13/05/20 Срд 19:53:38 1687080415
>>1687004
лол ты чет код прям внутри venv ебашишь?
Аноним 13/05/20 Срд 19:55:46 1687082416
Как построить частоту булевых признаков через matplotlib.hist(). Не могу разобраться, в данных на булевые значения ругается.
Аноним 13/05/20 Срд 20:06:00 1687101417
Image 670.png 13Кб, 625x302
625x302
Image 678.png 10Кб, 375x340
375x340
Image 679.png 3Кб, 237x120
237x120
>>1687079
>просто надо понять откуда он хочет их импортнуть
но ведь без этих переменных бот просто не законнектится к твичу, если бы он их не импортнул. А бот работает, значит импортирует правильно. Подчеркивает вот что -

>Если у тебя config.py и ты его импортишь как import config а потом обращаешься к CLIENT_ID как config.CLIENT_ID то говорят что имя CLIENT_ID находится в неймспейсе config
Если я делаю from config import * и дописываю config. перед переменными то получается вот так, сами переменные не подчеткивает, но config. подчеркивает(пик2) и при запуске выдает ошибку NameError: name 'config' is not defined Как блядь? Файл config лежит там же где и основной файл программы.

>поэтому замечание того анона было скорее всего про то что у тебя в importах не видно никаких timeout а ты их используешь (и ошибка говорит как раз что timeout не определен)
как нету? timeout это функция из abcs.py которую я импортирую.

>но мне каж ошибка в том, что у тебя в папке twichio нет config.py и ты хуй пойми что откуда запускаешь
А с чего бы ему там быть? Я его же отдельно импортирую

>добавь untitled2 PYTHONPATH (или пометь как source, тогда pycharm вроде должен сообразить)
Вот сейчас не очень понял

>>1687080
А что не так? (пик3)

Аноним 13/05/20 Срд 21:01:22 1687147418
>>1687101
>лол ты чет код прям внутри venv ебашишь?
>А что не так? (пик3)

Как бы так не делается, папку проекта например C:\projects\apptwitckh\ добавляешь в свой IDE, далее уже цепляешь venv нужный.
Аноним 13/05/20 Срд 21:02:17 1687149419
>>1687101
чет у тебя с пучармом, поч config.py не определяется как питоновский файл?
какая конфигурация запуска?

> как нету? timeout это функция из abcs.py которую я импортирую.
если ты импортишь
import abcs
то использовать надо abcs.timeout

если
from abcs import timeout
то просто timeout
Аноним 13/05/20 Срд 21:07:35 1687151420
Screenshot37.jpg 115Кб, 1269x719
1269x719
Однажды надоела дрочильня в sql и я решил свои старые сохраненные запросы sql перевести jupiter notebook и запускать их прямо там. Почитал доку на виджеты и типа все заюзал.

нахреначил такой блок:
import datetime
import dateutil.relativedelta

sql_from=(datetime.datetime.today() - dateutil.relativedelta.relativedelta(months=1)).strftime('%Y-%m-%d 0:0:0')
sql_to=datetime.datetime.today().strftime('%Y-%m-%d 23:59:59')

@interact_manual
def process_date(from_date=widgets.DatePicker(description='От'),
to_date=widgets.DatePicker(description='До')):
global sql_from,sql_to
sql_from=from_date.strftime('%Y-%m-%d %H:%M:%S')
sql_to=to_date.strftime('%Y-%m-%d 23:59:59')


print("Будет использоваться диапазон " + sql_from + ' - ' +sql_to)


Почему не обновляет глобальные переменные в ipython ?
Как правильно это делать?

Нет, это не код для питона, это код для ipython. обратите внимание на декоратор @interact_manual.
Задумка в том, чтобы создать простой веб-интерфейс оналитика и без джанги.


Есть и еще вопросы:
что ж так хреново с локалями в браузере? Как выбирать даты с российской локалью?
не ебанулся ли я? как бы решали задачи эпизодического анализа данных вы?
Аноним 13/05/20 Срд 21:17:53 1687158421
>>1687151
бля, вот я тупанул.
все работает. Просто функция вызывается позже нижнего блока print, в момент когда я нажимаю кнопку
Аноним 13/05/20 Срд 21:27:22 1687164422
Image 681.png 3Кб, 193x150
193x150
Image 687-vert.jpg 132Кб, 532x646
532x646
Image 689.png 2Кб, 512x105
512x105
Image 692.png 26Кб, 728x508
728x508
>>1687147
Так у меня вроде и так основная программа вне venv, не? (пик 1)
Где добавить папку со своим проектом в pycharm? есть только дефолтная папка куда все проекты создаются.

>>1687149
>чет у тебя с пучармом, поч config.py не определяется как питоновский файл?
А хуй его знает. Это на что-то влияет?
>какая конфигурация запуска?
Это что и где?

>если ты импортишь import abcs то использовать надо abcs.timeout

Я импортировал всю папку с twitchio (пик 2), добавил к команде abcs( пик 2, в самом низу) и выдало уже другую ошибку( пик 3) что в модуле нет такого атрибута.

Это как? Внутри abcs есть функция timeout(пик 4)



Аноним 13/05/20 Срд 21:45:21 1687181423
>>1687164
Ты путаешь модули и пакеты, так не получится. Просто почитай документацию, а не перебирай наугад.
Алсо, с этим config что-то явно не так.
Аноним 13/05/20 Срд 21:53:47 1687189424
>>1687181
> Ты путаешь модули и пакеты, так не получится.
Это ты про что? Что я с чем путаю?
>Просто почитай документацию, а не перебирай наугад.
В документации нихуя не написано почти, поэтому наугад и пробую. Можешь глянуть гитхаб twitchio? В какую сторону хоть копать?
> Алсо, с этим config что-то явно не так.
Что именно? Основная программа подхватывает переменные же.
Аноним 13/05/20 Срд 22:26:29 1687218425
Как же у меня горит жопа с Джанго. Пиздец просто, гора последовательных действий ради обоссаной менюшки. Хуй знает сколько нужно потратить лет, чтобы запомнить все.
Аноним 13/05/20 Срд 22:27:10 1687219426
>>1687189
twitchio не причем проблема с тем как ты запускаешь код в пучарме

1) убедись что ты реально запускаешь тот самый пайтон что лежит в venv, а не системный
2) убедись что ты запускаешь его из папки проекта а не из ~/
3) убедись что config.py не config.ру например (русские символы или какая-то юникод дрочь вместо точки)
4) ну не доку так гайд какой-то как запустить первый проект в пучарм
Аноним 13/05/20 Срд 23:05:26 1687256427
>>1687004
Чет проиграл с этого проекта
venv это просто среда исполнения с нужными библиотеками конкретно под твой проект, зачем ты прямо в пакет (либу) твичио вкорячил свой "код", если по логике тебе нужны некие методы из этого пакета модуле с чятиком? (а так же методы из пакета asyncio итд). Или ты собрался сначала добавить новые функции в сам твичио, а потом уже их использовать в своем проекте?подозреваю, что нет
Иными словами, этот код должен располагаться там же, где и chatbot.py и конфиг (а может и вообще в самом файле чатбота, если кода немного)


кстати, поясните, а зачем вообще нужен virtualvenv, если есть более современный pipenv, требующий в 2 раза меньше телодвижений для настройки проекта?
Аноним 13/05/20 Срд 23:11:54 1687262428
>>1687256
чел и не добавляет код в пакет ты че в глаза ебешься, посмотри че за файлы слева и че за файл открыт красной стрелкой он показывает на импортируемый файл а не на открытый

> нужен virtualvenv, если есть более современный pipenv
есть более современный poetry есть более современный dephell
Аноним 13/05/20 Срд 23:24:17 1687266429
>>1687218
шапиши шпоргалку - последовательность действий с ссылками на туториал или код
Аноним 13/05/20 Срд 23:33:51 1687271430
>>1687218
> потратить лет, чтобы запомнить все.
Ну такое мало кто делает, сниппеты/шпаргалки как написали выше, ну и гуглят информацию по надобности.
Запоминают только базовые вещи, всего не запомнишь и особо нет надобности.
Аноним 14/05/20 Чтв 00:06:35 1687285431
>>1687266
>>1687271
Я конспект пишу. Плохо то, что по ходу дела код в проекте постоянно редактируется, в итоге и конспект приходиться часто менять.
Аноним 14/05/20 Чтв 02:52:26 1687311432
image.png 4Кб, 387x67
387x67
Аноним 14/05/20 Чтв 05:55:49 1687355433
лах.png 25Кб, 705x767
705x767
Аноним 14/05/20 Чтв 06:32:22 1687360434
>>1687219
> 1) убедись что ты реально запускаешь тот самый пайтон что лежит в venv, а не системный
А как это можно посмотреть?

> 2) убедись что ты запускаешь его из папки проекта а не из ~/
А не из откуда?
> 3) убедись что config.py не config.ру например (русские символы или какая-то юникод дрочь вместо точки)
Я config.py создавал из под ide, не должно быть ошибки, но проверю. А есть разница есть ли на файле значок питона или нет? Разрешение же что надо.

> 4) ну не доку так гайд какой-то как запустить первый проект в пучарм
Ок, гляну.
Аноним 14/05/20 Чтв 06:46:11 1687361435
>>1687360
>А как это можно посмотреть?
https://stackoverflow.com/questions/1871549/determine-if-python-is-running-inside-virtualenv
>А не из откуда?
/home/username
C:\\Users\username
В cmd и линуксе команда cd используется для того, чтобы указать, откуда ты хочешь запускать все программы
>А есть разница есть ли на файле значок питона или нет?
Нет разницы, mime-типы не должны влиять на это

мимо только собираюсь вкатиться
Аноним 14/05/20 Чтв 10:16:52 1687420436
>>1686491
да это я знаю. мне было как раз не понятно только как с nginx поступить. но все стало понятно спс
Аноним 14/05/20 Чтв 10:22:02 1687426437
Эй что юзать в python3
request
http.client
urlib
Аноним 14/05/20 Чтв 10:47:16 1687445438
>>1687426
requests. но если предполагается массовый многопоточный парсинг, можно смотреть сразу на aiohttp
Аноним 14/05/20 Чтв 11:14:32 1687471439
>>1687445
да если многопоточный то офк aiohttp.
Прото я всегда юзал request в синхронных. но тут задумался
Аноним 14/05/20 Чтв 12:22:08 1687547440
>>1687445
threading даже не рассматривается?
Аноним 14/05/20 Чтв 12:29:45 1687549441
wDKo6L-Fm0E.jpg 67Кб, 426x604
426x604
Очередной вкатывальщик подъехал.
Прочел книгу с пика и теперь вопрос: куда двигаться дальше? Хочу развиваться именно в области бек-энда. Пилить свой пет-проект простейший, типа форума или твиттера? Или ещё за какую книгу взяться, где ещё подробнее разжуют джангу, базы данных и прочее?
Аноним 14/05/20 Чтв 12:35:01 1687557442
>>1687549
начать пет-проект не рано никогда, лучше читай и ебашь параллельно переделывая. Проект бери такой, какой тебе интересно пилить. Хороших книг могу посоветовать две:
- Лучано Ромальо. Fluent Python. Подойдет если ты уже представляешь, что такое циклы, ветвления, модули, память.
- Лутц, если не представляешь
Аноним 14/05/20 Чтв 12:45:55 1687566443
Аноним 14/05/20 Чтв 12:54:14 1687579444
Так блин, Жаба-господин пожаловал к вам на огонек
Я понимаю что адекватного сокрытия данных от питоновского ооп ждать не приходится но у вас бля вообще есть понятия аггрегации и композиции?
Я расширяю класс EngineClass методом копозиции, засунув ему в атрибуты self.extra = list(), хули я могу кинуть ссылку на self.extra извне и даже после удаления EngineClass instance этот объект останется в памяти??
Такое же говно как и жопаскрипт
Аноним 14/05/20 Чтв 13:32:34 1687650445
>>1687557
>Fluent Python
отличная книга. даже с опытом узнал не мало нового. тож советую
Аноним 14/05/20 Чтв 13:34:45 1687658446
>>1687579
Да у нас есть композиции.
моя любимая Сектор Газа - Колхозный панк.
Аноним 14/05/20 Чтв 13:36:22 1687661447
>>1687361
Я прописал в начало программы

import sys
print (hasattr(sys, 'real_prefix'))

При запуске пишет False. Получается я запускаю питон не из venv?

Аноним 14/05/20 Чтв 13:38:59 1687667448
>>1687579
>адекватного сокрытия данных
ой блять еще один жабадолбоёб думает, что инкапсуляция это про ЖОСТКОЕ СОКРЫТИЕ ШОТ НИБАЙБОХ НИКТО НЕ УВИДЕЛ
Аноним 14/05/20 Чтв 13:41:00 1687672449
Image 693.png 21Кб, 975x706
975x706
>>1687661
Хм, в настройках интерпретатор проекта указан как раз тот что внутри venv. Какого хуя?
Аноним 14/05/20 Чтв 14:25:57 1687726450
>>1687672
ты через кнопочку запускаешь?
Аноним 14/05/20 Чтв 14:27:57 1687727451
Image 696.png 4Кб, 399x165
399x165
>>1687726
Да, через нее самую
Аноним 14/05/20 Чтв 14:31:18 1687733452
>>1687727
а вот слева штучка если нажать Edit configuration там какой будет интерпретатор?
Аноним 14/05/20 Чтв 14:34:05 1687737453
Image 717.png 25Кб, 1078x683
1078x683
>>1687733
Вроде все так как и должно быть.
Аноним 14/05/20 Чтв 14:40:52 1687744454
Кстать, питон буду встраивать в юнити или в анреал?
Или только блендер?
Аноним 14/05/20 Чтв 14:41:29 1687746455
Аноним 14/05/20 Чтв 16:03:44 1687886456
>>1687547
рассматривается, если будешь сразу в базу пихать и не пытаться синхронизацию изображать в программе.
Аноним 14/05/20 Чтв 16:08:41 1687892457
Сколько часов в день тратите на занятия? Перерывы делали?
Аноним 14/05/20 Чтв 16:12:10 1687898458
>>1687744
>Или только блендер?
GIMP ещё вспомни
Аноним 14/05/20 Чтв 16:18:33 1687902459
>>1687892
по 5 часов занимаюсь
Аноним 14/05/20 Чтв 16:41:07 1687930460
У меня есть генератор, как заставить его выдать мне только 5 первых элементов?
Есть вариант с result = list(gen)[:5] но это пиздец неэкономично, т.к. список создается полностью и лишь потом значения отсекаются
Аноним 14/05/20 Чтв 16:48:47 1687944461
Аноним 14/05/20 Чтв 16:58:03 1687963462
>>1687549
Как книга? Собираюсь купить
Аноним 14/05/20 Чтв 17:00:04 1687972463
image.png 1970Кб, 1560x2048
1560x2048
Аноним 14/05/20 Чтв 17:19:29 1688001464
Screenshot1.png 9Кб, 448x248
448x248
VKapi, возвращает, будто я ему ничего не отправлял, я вообще хз
Аноним 14/05/20 Чтв 17:41:57 1688051465
Screenshot5.png 8Кб, 770x131
770x131
Аноним 14/05/20 Чтв 18:43:35 1688174466
Аноним 14/05/20 Чтв 19:08:17 1688212467
>>1688174
Чертов псих, как у тебя остаётся психологическая энергия , чтобы думать /решать/понимать ?
Аноним 14/05/20 Чтв 19:15:35 1688226468
Ищу ментора/будущего друга за спасибо либо фин вознаграждение после устройства на работу
Интересует Джанго
мимо 23 года , за плечами уже один том Лутца. Гуглить умею, намерения серьёзные - олл-ин . Не токсичный, адекватный , правда с математикой беды, но есть желание и время это исправить (для алгоритмов и тд)
Не хватает человека который наставит тем самым сократит время самообучения, а во вторых конечно хочется друга/пул друзей в таком направлении. А то мои все уже давно скололись, либо сидят.
@xkamiyada

Аноним 14/05/20 Чтв 19:15:37 1688227469
Вопрос скорее по БД (SQLite).
Чому текстовое поле не выбирается через LIKE? Как это исправить?
FROM "table" WHERE "col" LIKE '%05%' нихуя не выбирается, хотя там пара сотен записей с цифрой пять в поле "col" (вот прям сейчас навставлял сторокове представление, возвращаемое str(datetime.datetime.now()) и пытаюсь в утилите пайчарма сделать запрос.
Аноним 14/05/20 Чтв 19:27:06 1688232470
>>1688226
>уже один том Лутца
Нафига? Один фиг забудется. Достаточно основы вызубрить.

>уже давно скололись, либо сидят.
Ты где живешь? с укр что ли?
Аноним 14/05/20 Чтв 19:29:42 1688234471
>>1688227
Да вроде всё ок. Может ты ничего не селектишь?
Аноним 14/05/20 Чтв 19:35:54 1688242472
>>1688232
Второй том уже на середине , да совестно что-то делать, не пройдя основы. Основы - курс на ютубе не воспринимаю, а лишь дополняю книгу. Хз, возможно не правильно это, но боязнь пропустить ту самую информацию (предложение/слово)


С рф
Аноним 14/05/20 Чтв 21:04:47 1688359473
Все работает, работает, а потом:
vk.exceptions.VkAuthError: VK error: [invalid_request] Security Error
Мдауж
Аноним 14/05/20 Чтв 22:38:25 1688465474
Нах в bs4 столько функций поиска: find_all, findAll, select? В чем разница не пойму, они ж одно и то же делают
Аноним 15/05/20 Птн 03:18:33 1688617475
На вход я получаю число как строку. Нужно преобразовать так чтобы было на выходе d,m,yyyy Нашел strptime, но он меняет порядок и время добавляет.
date= '18.09.2019'
datetime.strptime(date,"%d.%m.%Y")
Выдает
datetime.datetime(2019, 9, 18, 0, 0)
Конечная цель подставить в функцию вот так quantlib.Date(18, 9, 2019)
Как так форматировать?
Аноним 15/05/20 Птн 05:41:52 1688662476
Аноним 15/05/20 Птн 05:55:06 1688671477
>>1688617
> Нужно преобразовать так чтобы было на выходе d,m,yyyy Нашел strptime, но он меняет порядок и время добавляет.
Не знаю как в питоне, но в си вывод даты зависел от того как форматируешь сам - можешь выставить %d %m %y вместо %m %d %y или в любом другом порядке.
Аноним 15/05/20 Птн 06:43:20 1688697478
>>1688465
Ну почитай код что они делают и поймёшь
Аноним 15/05/20 Птн 08:47:50 1688722479
Ну так давно взялся изучать питон, решил побаловаться объектами и появились несколько вопросов

1) если мне надо создать много экземпляров одного класса, то как эти классы хранить с возможностью обращения к ним? Создать что-то вроде списка и добавлять в него новые экземпляры?
2) существуют ли какие-то магические приемы создать экземпляр класса с произвольным именем? То есть я через input ввожу имя в консоле, питон читает мою строку и создаёт объект с этим именем
>>> Input( "my_var" )
>>> my_var = my_class()
Не уверен, но звучит такая мысль как хуйня какая-то
Аноним 15/05/20 Птн 09:24:03 1688758480
>>1688617
ну у datetime куча полей, в том числе year,month и date
Аноним 15/05/20 Птн 09:26:22 1688760481
>>1688722
1 - Любые переменные это ссылки на объекты, никакой разницы с числами или строчками.
2 - Можно через exec, например. Но нахуя?
Аноним 15/05/20 Птн 09:55:11 1688772482
платина:
Как изменить оригинальный объект, а не создавать его копию? Причём не из функции.
Например, from os import linesep
linesep = '\n'
Аноним 15/05/20 Птн 09:58:37 1688775483
Как правильнее читать проги? Начинать "снизу" - с вызова if __name__ == "__main__" и идя далее последовательно по вызовам или "сверху", читая объявления классов и переменных, а затем переходя к main?
Аноним 15/05/20 Птн 09:58:59 1688776484
>>1688772
Что значить изменить? Ты просто переопределяешь конкретную запись в таблице символов.
Аноним 15/05/20 Птн 10:00:33 1688781485
>>1688772
Как иы собрался "изменять оригинал" если это скажем immutable строка?
Есть вариант работать с bytearray или memorymap
Аноним 15/05/20 Птн 10:30:50 1688800486
>>1688617
Обращайся по индексу
Аноним 15/05/20 Птн 10:47:34 1688808487
Screenshot38.jpg 27Кб, 710x311
710x311
Иногда я пограммирую на питоне и pandas как ненастоящий программист.
Понадобилось сляпать график групп и отобразить все мелкие группы в отдельную "Другие".
вот что нагуглил и это мне подходит :
https://stackoverflow.com/questions/48587997/matplotlib-pie-graph-with-all-other-categories

Но почему так много когда? как бы выглядел современный код?
Это ведь традиционная задача для статистики.

Не могу нагуглить другое, а читать книжку по pandas за 600 страниц долго.
Аноним 15/05/20 Птн 13:32:18 1688895488
Screenshot46.jpg 157Кб, 1188x1305
1188x1305
>>1688808
Посоны! кончил и закурил..

Эксель нинужен
Аноним 15/05/20 Птн 13:45:00 1688907489
>>1688895
Ну не скажи, матерые экселеёбы такое творят, куда тем пограмистишкам.
Аноним 15/05/20 Птн 13:59:06 1688934490
Аноним 15/05/20 Птн 14:05:25 1688937491
510-dE3N1PL.jpg 48Кб, 378x500
378x500
>>1687963
Мне понравилась. Теория вся базовая есть по самому языку. И практика есть по трем разным направлениям(игрульки, визуализация данных, веб-сайт). В целом чувствую в себе силы пилить простые сайты, параллельно все гугля и подсматривая в stack overflow.
Но не обосрись с изданием, анон. Я буквально вчера обнаружил, что ещё с февраля доступна новая версия книги с пика на русском. В оригинале она именуется вторым изданием, а в переводе на русский она уже зовется третьим изданием(все потому, что у нас до этого два раза книгу издавали из-за правок в оригинале). В новом издании есть кучка новых плюшек, типа f-строк, от которых я охуел в хорошем смысле. И книге всего-лишь год. Наверное, самый актуальный вариант для салаги.
Аноним 15/05/20 Птн 14:55:42 1689016492
>>1688937
Я читнул по диагонали. Слабовато охвачен язык, а проекты мне не особо интересны.
Вообще, это довольно неприятная проблема книг по питону - сегмент для новичков переполнен с вариантами вплоть до разжевывания для даунов.
Средняковые можно по пальцам пересчитать, а хардкорных вообще нет.
Аноним 15/05/20 Птн 15:03:22 1689032493
Как работает pyperclip?
Сделал скрипт, где он while True чекает буфер обмена, и если содержимое изменилось, дёргает некую функцию.
Но работает это очень нестабильно, и безо всякой системы. То раза три-четыре подряд сработает, а потом начинается через раз на пятый. То прямо сразу не хочет, надо ждать и раз десять тыкать Ctrl+C, чтобы запустилось.
Аноним 15/05/20 Птн 15:21:55 1689057494
>>1688617
>>1688758
Получилось отдельным извлечением полей день, месяц, год.
data='08.02.2019'
str=datetime.strptime(data, '%d.%m.%Y')
ql.Date(str.day, str.month, str.year)
Аноним 15/05/20 Птн 16:09:51 1689136495
>>1688937
Спасибо, анон. Книжные как-то сейчас закрыты, так что заказал, не знаю какая версия придёт, но вроде самая последняя должна. На крайняк буду в электронном виде смотреть некоторые вещь.
Аноним 15/05/20 Птн 16:38:01 1689186496
Screenshot89.jpg 2Кб, 249x34
249x34
>>1689136
Ой, хватит. Ты что не знаешь где найти пиратские каналы?
Аноним 15/05/20 Птн 16:49:49 1689202497
Аноним 15/05/20 Птн 16:50:14 1689204498
metaconf.png 354Кб, 1440x1271
1440x1271
Аноним 15/05/20 Птн 16:55:36 1689209499
>>1689186
Мне нужен бумажный вариант. Так то у меня уже все давно скачано, но это не очень удобно.
Аноним 15/05/20 Птн 17:28:09 1689252500
Аноны, стоит пиздить pycharm pro ради поддержки django? Пока настраивал проект через консоль винды че-то задумался.
Аноним 15/05/20 Птн 17:33:58 1689264501
Товарищи, помогите пожалуйста.
https://medium.com/nuances-of-programming/обнаружение-объектов-с-10-строчками-кода-953bd0e22a2
На этой странице рассказывается как запилить компьютерное зрение не имея мозгов, и там есть файлик resnet50_coco_best_v2.0.1.h5.
Так вот он не качается(50 кб\с это не скорость, я пережил эти времена и больше не хочу), помогите. Где можно скачать нормально. Все ссылки что я нашел ведут на гит, с странно медленной скоростью загрузки.
Аноним 15/05/20 Птн 17:36:09 1689270502
>>1689264
Ой, извините, я долбоеб, невидящий дальше носа.
Уже нашел.
Аноним 15/05/20 Птн 17:43:48 1689284503
Image 718.png 8Кб, 577x244
577x244
Помогите уж до конца с этим дерьмом (>>1687004 и этот пост >>1687164)

Вставил в начале вот такой код на проверку запускается ли питон что внутри виртуального окружения или нет. Запускается внутри. Проверял просто создавая скрипт в любом левом месте и запуская - пишет вне виртуалки.

Так в чем может быть проблема?
Аноним 15/05/20 Птн 18:36:14 1689364504
Кто-нибудь знает как через scipy.optimize.root задавать ограничения на переменные? Например больше нуля и другие. Может есть гайд по оптимизации Levenberg-Marquardt для всяких сложных функций, а не как в примерах sin(x)=0?
Аноним 15/05/20 Птн 19:20:28 1689416505
>>1676587 (OP)
Решил вкатится в програмирование с питона. За сколько при ежедневнои труде можно стать мидлом?
Аноним 15/05/20 Птн 19:31:58 1689427506
>>1689416
насыщает не время проведенное на кухне, а количество съеденных беляшей
Аноним 15/05/20 Птн 20:01:26 1689451507
Здраствуйте
Аноны, ктото проходил курсы по пистону у хекслета? Или, может есть другая годнота?
Аноним 15/05/20 Птн 21:15:46 1689541508
вновь реквистирую помощь для чайника, впервые открывшего пайчарм.
если у меня есть random, выдающий случайную фразу из забитого словаря, есть ли какая-то команда, чтобы за 1 запуск программы 1 и та же фраза НЕ повторялось (т.е. чтобы каждой фразы из словаря выдавало только по 1 разу) и так чтобы в конце когда все фразы из словаяр уже были либо начиналось по 2ому кругу либо просто прерывало прогу?
Аноним 15/05/20 Птн 21:18:54 1689544509
>>1689416
Мидлом на задачах в вакууме не станешь, мидл в первую очередь специалист опытный, он знает что то о code design и архитектуре. Так что тут сколько бы ты времени не потратил нужен боевой опыт.
Аноним 15/05/20 Птн 21:21:44 1689548510
>>1689541
+
Сейчас код выглядит так
if name == c4:
while word:
key = random.choice(list(word.keys()))
val = word[key]
check = input(f'переведи = {val}: ')
if not check:
break
if check == key:
print('Верно!')
del (word[key])
else:
print('Неверно')
print({key})
Аноним 15/05/20 Птн 21:52:47 1689587511
Аноны, как в пучарме в проекте Джанго импортировать самописные файлы? Нужно отметить папку с нужным файлом как source?
Прохожу тутор по Джанге и тут нужно импортировать polls.models.
В интерактивном интерпретаторе все работает.
Аноним 15/05/20 Птн 21:59:17 1689596512
Потсоны, можете заревьювить код, указать на проебы? С меня как всегда.
Задача: Создать объект класса Сутки, используя классы Час, Минута. Методы: вывести на консоль текущее время, рассчитать время суток (утро, день, вечер, ночь).

https://pastebin.com/TqFuU94e

алсо, куда лучше запихать проверку на время суток?
Аноним 15/05/20 Птн 22:07:27 1689605513
>>1689548
все нашел, извините что потревожил
Аноним 15/05/20 Птн 22:10:31 1689610514
>>1689596
А зачем все эти методы типо get_minute нужны, если они просто возвращают переменную из класса? Тип почему просто переменную сразу не брать?
Аноним 15/05/20 Птн 22:14:15 1689619515
>>1689610
Потому что она приватная
Аноним 15/05/20 Птн 22:14:58 1689622516
>>1689451
Зачем, если можно:
Вызубрить основы.
Сделать несколько туториалов и пет проектов.

OR

Сделать то же самое + заплатить денежные единицы. За тебя ведь никто ничего не сделает.
Аноним 15/05/20 Птн 22:20:03 1689636517
>>1689619
Ааа, забыл про эту механику вообще.
Аноним 15/05/20 Птн 22:37:35 1689665518
>>1689364
>scipy.optimize.root
Что, прямо векторная функция у тебя?
Аноним 15/05/20 Птн 22:38:34 1689668519
Кто уже парсил выгрузку диалогов vk? Куда посмотреть, чтобы не дрочить regexp или чего пострашнее?
Аноним 15/05/20 Птн 22:54:44 1689685520
image.png 6Кб, 492x112
492x112
Сап питонач! Есть класс ArticleDetailView(DetailView): и он выводит информацию с модели хуи, а при переходе по ссылке на страницу этой информации мне нужно, чтобы появлялась информацию с еще одной модели, например залупа, но нихуя не получается, что не так?

Пикча 1. Все збс, выводится ,но только информация с модели Manga, а мне нужно там же еще с одной модели, но нихуя не пойму как, хелп
Аноним 15/05/20 Птн 22:57:19 1689688521
>>1676587 (OP)
В чем смысл Serializer в Django REST? Что он там блэт "сериализирует"? Он принимает на вход объект модели и возвращает питоновский словарь. Чтобы дополнительно сериализовать данные в json нужно заюзать JSONRenderer. Че за хня?
Аноним 15/05/20 Птн 23:10:01 1689705522
>>1689688
Смысл сериализатора в том, что он сериализует данные.
Аноним 15/05/20 Птн 23:26:24 1689722523
>>1689596
Код может и ок, но не имеет никакого смысла.
Алсо - ".format", как там в 2007? Норм?
Аместо написания классов ненужных, лучше по полной заюзал бы datetime там же много классных возможностей.
Аноним 15/05/20 Птн 23:29:50 1689728524
>>1689665
> Что, прямо векторная функция у тебя?
Вроде да, я точно в определениях не разбираюсь. Я хочу калибровать модель Хестона для опционов (описание https://www.quantalgos.ru/?p=500). Там огромная ёба функция и надо подобрать 4 коэффициента. Как я понял там считаем min(функция(параметры)-известный результат). Только там еще есть ограничения на подбираемые параметры. Функция эта пробегает по таблице. По сути надо сделать МНК, но крутой Levenberg-Marquardt. А Levenberg-Marquardt как я понял считается через scipy.optimize.root.
Аноним 15/05/20 Птн 23:44:23 1689746525
Как удалить строки в Pandas.DataFrame, при условии наличия в колонке "Н/Д".
> for i in range(колво строк):
> if dataset['Название колонки'] =="#Н/Д":
> dataset.drop(, inplace=True)
Крашится с KeyError: 19 или KeyError: 17
Аноним 15/05/20 Птн 23:46:47 1689749526
Аноним 15/05/20 Птн 23:56:34 1689768527
Аноним 16/05/20 Суб 00:35:00 1689808528
>>1689728
А, ну тогда хуй знает. Возможно следует вопхнуть ограничения для параметров в саму функцию (прибавляя большое значение к результату при выходе параметра за границы, например). Но это не точно
Аноним 16/05/20 Суб 03:24:06 1689891529
Как в цикле игнорировать ошибки? Например при i =2 ошибка, нужно просто идти дальше к i=3. Код
https://pastebin.com/Lf8uwTL4
У меня цикл просто прерывается.
Если continue заменять на pass ничего не меняется.
Аноним 16/05/20 Суб 09:36:34 1689972530
Можно искать список внутри другого списка? Как это выглядит?
Аноним 16/05/20 Суб 10:57:36 1689983531
>>1689972
Что именно? Списки в списках, конкретный список в списке, значения одного списка в другом?
Аноним 16/05/20 Суб 11:01:43 1689984532
>>1689983
Нужно проверить если ли в одном списке слова из другого списка. Я пока ждал сделал так:

list = []
words = []

for word in words:
if word in list:


Так нормально делать или можно это сделать как-то лучше?
Аноним 16/05/20 Суб 11:12:39 1689990533
>>1689984
Можно короче
all(word in list for word in words)
Аноним 16/05/20 Суб 11:14:49 1689991534
>>1689990
Или тебе найти любые, а не проверить на все?
Тогда можно
[word in words if word in list]
или set(words) & set(list)
Аноним 16/05/20 Суб 11:18:39 1689994535
Image 719.png 7Кб, 497x249
497x249
Image 722.png 0Кб, 183x20
183x20
>>1689991
мне достаточно совпадения 1 слова в двух списках. После 1 совпадения проверять все остальные слова не надо.

Еще вопрос - я пытаюсь сделать список из текстового файла. Сделал как на пик 1. Все работает, но забирается еще и символ переноса строки к каждому элементу( пик 2). Как его исключить из добавления в элементы списка:?
Аноним 16/05/20 Суб 11:22:30 1689997536
>>1689994
Тогда оптимально any(word in list for word in words)
Чтение файла у тебя так себе. Достаточно
for line in f:
___line = line.strip()
Непонятно, зачем там i.
Аноним 16/05/20 Суб 11:25:44 1689998537
>>1689994
Лучше
with open("list.txt", "r") as f:
Аноним 16/05/20 Суб 11:28:12 1689999538
>>1689997
>for line in f:
>___line = line.strip()
Не понял как это будет выглядеть целиком.
Аноним 16/05/20 Суб 11:33:31 1690000539
>>1689999
К твоему примеру
with open("list.txt") as f:
___for line in f:
______words.append(line.strip())
Больше ничего не надо.
Аноним 16/05/20 Суб 11:37:40 1690002540
>>1690000
Хм, работает. Только вот он разбивает по строкам. Поэтому приходится делать в текстовом файле вот так:
123
456
789
Можно сделать разбивку если у меня будет 123 456 789 в одной строке?
Аноним 16/05/20 Суб 11:39:49 1690003541
>>1690002
with open("list.txt") as f:
___words = f.read().split()
Аноним 16/05/20 Суб 11:42:11 1690005542
>>1690003
То что надо, благодарю!
Аноним 16/05/20 Суб 11:57:28 1690011543
>>1690003
Так, а подскажи еще почему русский текст в файле превращается в ['123', '456', '789', 'жопа', '000'] в списке?
Аноним 16/05/20 Суб 12:00:44 1690016544
>>1690011
with open("list.txt", encoding="utf8") as f:
Аноним 16/05/20 Суб 12:18:28 1690021545
result.png 9Кб, 576x191
576x191
>>1676587 (OP)
Так блэт, нашел фичу (хотя скорее баг) В ебучем numpy

Есть у нас строка с разделителями \n по типу:
string = """
здравствуй\n
двачер\n
нахуй\n
иди\n """

Если я захочу сформировать из этой херни двумерный numpy-массив таким образом:
a = np.array([list(line) for line in string.splitlines()])
То на выходе у меня получится хуета вроде той что на пикриле.

Чтобы все работало "как и должно" надо сначала сформировать ебучий список списков с буквами:
x = [list(line) for line in string.splitlines()] (та же самая блять операция же что и в предыдущем!)
А потом его заснуть уже в np.array:
a = np.array(x)

Вот че это за хуйня? еще и видно что в первом варианте получился dtype=object, а во втором как надо: dtype='<U1'
Аноним 16/05/20 Суб 12:27:23 1690023546
>>1690021
Проблема обнаружена: в начале затесалась ебучая пустая строка, отчего длины строк не совпали
a = np.array([list(line) for line in string.splitlines() if line]) должно решить проблему
Аноним 16/05/20 Суб 13:07:05 1690044547
>>1689722
Так задание состоит в том, чтобы поюзать много классов.
>Алсо - ".format", как там в 2007? Норм?
Чем господа питонисты сейчас пользуются?
Аноним 16/05/20 Суб 13:13:09 1690048548
>>1690016
А еще такой вопрос - можно проверять как-нибудь на длину слова? т.е если у меня в списке words есть элемент лупа то в списке list не получалось совпадения с элементом залупа.
Аноним 16/05/20 Суб 13:21:34 1690051549
>>1690048
Надо тогда ещё каждое слово крутить и смотреть в нем.
word for word in words for l in list if word in l
Аноним 16/05/20 Суб 13:23:37 1690054550
>>1690051
чет пиздец набор слов, не понял. Что вообще за l?
Аноним 16/05/20 Суб 13:25:31 1690056551
>>1690054
Читаешь слева направо как вложенные циклы и ифы.
Аноним 16/05/20 Суб 13:32:54 1690061552
Image 724.png 6Кб, 339x249
339x249
>>1690056
Так что-ли? Хуйня какая-то получается
Аноним 16/05/20 Суб 13:36:46 1690064553
>>1689722
>как там в 2007
>не используишь f-strings значет лох! яскозал!!
Аноним 16/05/20 Суб 13:37:23 1690065554
>>1690061
Лол, я думал ты знаешь про компрехеншены.
В самом начале результат.
Вот как это работает https://ideone.com/SHRjSc
Аноним 16/05/20 Суб 13:37:51 1690066555
image.png 32Кб, 1166x486
1166x486
Ребят, как реализовать?:
Я пишу свою манга читалку в вебе и уже сделал вывод по категориям, жанрам, вывод всех добавленных манг. Реализовал переход на конкретную мангу, где появляется обложка, описание и все, что у есть у других, но не могу понять, как реализовать отображение глав для перехода на них и соответственно чтение. Я создал модель Add_chapter и связал ее с моделью Manga

class Add_chapter(models.Model):
chapter_name = models.ForeignKey(
Manga, verbose_name="Манга", on_delete=models.SET_NULL, null=True, max_length=100, default=""
)
Даже получилось реализовать загрузку zip архивов и прочего. При заходе в админку и добавлении глав в через модель add_cpater и все збс, я могу выбрать уже созданную мангу и как бы привязать ее. НОООО, при выводе уже привязанных глав, в детальной информации у всех тайтлов появляются эти созданные главы, то есть есть тайтл наруто, я добавил к этому татйлу 3 главы и при заходе в тайтл блич у меня появляются 3 главы наруто, хотя их та быть не должно. Че не так?
Аноним 16/05/20 Суб 13:42:02 1690074556
>>1690064
Ровные пасаны используют %.
Но вообще ф-стрингс заебись, а к удобству привыкаешь быстро.
Аноним 16/05/20 Суб 13:43:08 1690075557
image.png 4Кб, 647x225
647x225
image.png 1775Кб, 1913x952
1913x952
>>1690066
Тут наглядно видно. В наруто есть главы 2, 3, 5, 7 и они же выводятся в других татлах, хотя при добавлении главы в add_chapter я указывал наруто
Аноним 16/05/20 Суб 13:47:13 1690080558
>>1690065
>компрехеншены.
это что еще такое?

>Вот как это работает
А если вместо списка list у меня просто строка?
Аноним 16/05/20 Суб 13:51:23 1690085559
>>1690080
Такая фича для сокращения этих унылых итераций.

> А если вместо списка list у меня просто строка?
Просто выбрасываешь один из циклов.
Аноним 16/05/20 Суб 13:51:55 1690086560
>>1690085
А можешь и одну строку засунуть в список, это не принципиально.
Аноним 16/05/20 Суб 13:53:48 1690087561
Аноним 16/05/20 Суб 13:57:13 1690095562
>>1689587
Отметил папку с моделью как source.
Теперь требует environment variable, но походу тогда надо добавить весь проект в path
Нахуй, пойду пичарм про скачаю
Аноним 16/05/20 Суб 13:59:02 1690098563
>>1690064
Я не сказал что анон лох, но если он вкатывается в питон сейчас, незнание новшеств 3,6+ будет делать ему больно.
>>1690044
Ну если задание такое, то ок.
Сюда бы еще статик/класс методы, наследования, суперы и т.д.
А так - малаца.
Аноним 16/05/20 Суб 14:05:10 1690105564
>>1690095
>пичарм про
Проще VSCode. Пичарм для новичка тяжеловат.
Аноним 16/05/20 Суб 14:11:01 1690114565
Image 729.png 3Кб, 322x99
322x99
>>1690086
сделал именно так и сделал из строки message список message_list. Но не работало пока я в конце сделал
не if word in message_word:
а if word == message_word:

В чем разница? почему in не находил соответствие?
Аноним 16/05/20 Суб 14:13:04 1690117566
>>1690087
f-strings это грязь, потому что это смешивание кода и вывода, выжигать такое надо калёным железом. Кто хочет php забыть как страшный сон, тот таким "инновациям" не радуется.

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

Аноним 16/05/20 Суб 14:17:25 1690126567
>>1690114
== это точное совпадение, in это подстроки.
Видимо ты перепутал что в чем ищется, лол.
Аноним 16/05/20 Суб 14:21:02 1690131568
>>1690126
>== это точное совпадение, in это подстроки.
в чем разница?
>Видимо ты перепутал что в чем ищется, лол.
Что с чем я перепутал?
Аноним 16/05/20 Суб 14:21:39 1690135569
>>1690117
На пхп не писал и забывать нечего, форматировать при помощи Ф-строк очень понравилось и зашло.
Безусловно, каждому свое.
Аноним 16/05/20 Суб 14:23:20 1690139570
>>1690131
"hui == "huilo"
False
"hui" in "huilo"
True

> Что с чем я перепутал?
Разбирайся.
Аноним 16/05/20 Суб 14:24:30 1690141571
>>1690135
Просто всё выебывались, что в перле и пхп хуево сделали с интерполяцией, а потом сами это спиздили, лол.
Аноним 16/05/20 Суб 14:26:10 1690144572
>>1690139
Так мне и нужно было чтобы только при полном совпадении слов срабатывало условие. Мне наоборот не надо чтобы hui == huilo выдавало тру
Аноним 16/05/20 Суб 14:27:57 1690147573
>>1690144
Так оно изначально не совпадет, я думал надо чтобы совпадало, иначе с чего такие вопросы?
Аноним 16/05/20 Суб 14:28:26 1690148574
>>1690141
Кто все-то, кто все? Тут питоно-тред, нам похуй на все языки кроме пистона и SQL.
Аноним 16/05/20 Суб 14:29:40 1690151575
>>1690147
>Так оно изначально не совпадет
Где же оно совпадает? "hui" in "huilo" выдает же true.
Аноним 16/05/20 Суб 14:30:52 1690154576
>>1690151
Это разные in.
"hui" in ["huilo"] не совпадет.
Аноним 16/05/20 Суб 14:32:31 1690157577
>>1690154
Это из-за чего так? Это же обе одинаковые строки?
Аноним 16/05/20 Суб 14:33:54 1690159578
>>1690157
Это строка и список.
В строке ищутся подстроки, в спсике элементы.
А чтобы искать в списке подстроки надо дополнительный цикл, о чем и была речь.
Аноним 16/05/20 Суб 14:35:20 1690162579
Аноним 16/05/20 Суб 14:40:04 1690171580
Image 728.png 8Кб, 389x276
389x276
>>1690159
Т.е. в списке in выдает тру только если элемент совпадает полностью а в строке in выдает тру и при частичном совпадении?

Так я все по итогу правильно сделал? (пик)
Аноним 16/05/20 Суб 14:42:28 1690175581
>>1690171
Да.
Сделал правильно, но второй for тогда и не нужен, достаточно if word in message_list.
Аноним 16/05/20 Суб 14:42:42 1690176582
Аноним 16/05/20 Суб 14:43:52 1690177583
>>1690175
зачем ты ему объясняешь чувак ж довен не может погуглить элементарные вещи и адаптировать элементарный пример
Аноним 16/05/20 Суб 14:46:16 1690182584
Поясните по twitchio. Некоторые функции имеют такое описание:

coroutine get_chatters(channel: str)
#This function is a coroutine.

Что такое coroutine и чем они отличаются от методов?
Как определить к какой функции этот get_chatters относится чтобы ее использовать?
Аноним 16/05/20 Суб 14:46:28 1690185585
>>1690176
Всегда. Это пришло из шелла в перл, а оттуда в пхп.
В то время все выебывались, что это смешивания и спагетти и юзали конкатенцию или всякие ебанутые стрингбилдеры у жаб и шарпов. А потом утащили себе и теперь это пиздец фича модная, ага.
Аноним 16/05/20 Суб 14:48:05 1690187586
>>1690185
есть пруф, что кто-то выебывался
?
Аноним 16/05/20 Суб 14:48:54 1690189587
>>1690187
Неоднократно замечал на хаброте в те времена.
Аноним 16/05/20 Суб 14:50:03 1690192588
>>1690182
ее надо вызывать с await вот так:

await get_chatters("some_channel")

соотвественно вызвать ее можно либо в другой корутине либо через asyncio.get_event_loop().run_until_complete(get_chatters("..."))
Аноним 16/05/20 Суб 14:50:28 1690195589
>>1690189
крч пруфов нет, ты это придумал?
Аноним 16/05/20 Суб 14:52:15 1690197590
>>1690195
Мне лень искать на спор в полтора поста.
Можешь считать что придумал.
Аноним 16/05/20 Суб 14:53:37 1690201591
>>1690197
вся суть выебщиков в этом треде

придумал хуйню и начал нести в массы. Не стыдно? Вот нюфани читают такое и потом несут хуйню на собесах.
Аноним 16/05/20 Суб 14:55:04 1690203592
>>1690201
Приходит на собеседование и рассказывает, что в ранних нулевых выебывались на интерполяцию, а потом спиздили себе?

Аноним 16/05/20 Суб 14:55:32 1690205593
Image 738.png 8Кб, 430x204
430x204
>>1690192
>соотвественно вызвать ее можно либо в другой корутине
Попробовал вызвать его вот так - пишет NameError: name 'get_chatters' is not defined
Аноним 16/05/20 Суб 14:59:23 1690209594
>>1690203
начинают говорить что х плохо потому что это как в php, при этом на пхп не писали, поч именно плохо объяснить не могут, но могут пиздеть и чувствовать себя важными
Аноним 16/05/20 Суб 14:59:46 1690210595
>>1690205
ты думал перевести ошибку в гуглтранслейте?
Аноним 16/05/20 Суб 15:02:02 1690214596
Image 741.png 6Кб, 548x162
548x162
>>1690210
я в курсе этой ошибки. Но функция get_chatters находится в Client.py внутри пакета twitchio, который я подключил(правда строка почему-то серая)

Аноним 16/05/20 Суб 15:02:18 1690215597
>>1690209
А что же они пиздят, что как в пхп, если про пхп так не пиздели?
Вот тебе и пруф, лол.
Аноним 16/05/20 Суб 15:04:57 1690220598
>>1690215
так потому что они таких как ты читают
Аноним 16/05/20 Суб 15:05:29 1690221599
>>1690214
а это опять ты, который не может настроить пайчарм
Аноним 16/05/20 Суб 15:06:02 1690223600
>>1690220
Я вообще только за интерполяцию, а читали они таких пуристов, о которых я и писал.
Аноним 16/05/20 Суб 15:11:37 1690233601
Image 748.png 21Кб, 984x708
984x708
Image 750.png 19Кб, 984x708
984x708
Image 742.png 7Кб, 594x204
594x204
>>1690221
У меня все настроено нормально, постил же скрины. Глянь пик 1 и 2

Я даже проверку в начале программы сделал на то внутри ли venv питон запускается. И да - внутри. Хули ему надо то?
Аноним 16/05/20 Суб 15:13:37 1690236602
>>1690233
"Настрой пучарм самостоятельно за 21 день"
Аноним 16/05/20 Суб 15:15:12 1690238603
>>1690236
И что же у меня не так настроено то?
Аноним 16/05/20 Суб 15:27:25 1690261604
>>1690105
Мне чем пичарм нравится - автокомплит и дебаг заебатые, хз как вскод в этом плане. Вскод он вроде дохуя модульный, когда поставлю линукс себе - попробую атом или емакс.
Пичарм конечно многие вещи за меня делает - даже на примере тутора Джанги пичарм про сам файл settings изменил, когда я новое приложение создал.
Когда тутор через консоль делал - заябывало отсутствие автокомплита в cmd и внятного представления структуры папки. Хотя и понимания происходящего требовалось побольше.
Аноним 16/05/20 Суб 15:31:34 1690266605
>>1690117
Что плохого в них? Инъекции?
Чем тогда предлагаешь пользоваться?
Аноним 16/05/20 Суб 15:51:32 1690289606
Поцоны, помогите еще одному нюфагу с чтением файлов

Есть файл вида:

3,1 3,2 3,3
4,1 4,2 4,3

Нужно распарсить так, чтобы на выходе был массив [[[3,1][3,2][3,3],[[4,1][4,2][4,3]]]

Это все делать через split()? Совсем запутался
Аноним 16/05/20 Суб 15:53:48 1690293607
>>1690266
Это просто грязь, когда ты делаешь вычисления внутри строк и прямую подстановку туда переменных. Код необходимо отделять от представления.

format даёт для этого оптимальную возможность.

PHP "из нулевых" самый яркий представитель, где в коде смешивали строки и сам код. От переменных до циклов с sql-запросами.

В идеале ты вообще должен выносить определения строк куда-то наружу из кода, чтобы, например, поддержать многоязычность. Format это идеально позволяет.
Аноним 16/05/20 Суб 16:01:18 1690309608
>>1690289
for line in f:
res.append([[int(n) for n in pairs.split(',')] for pairs in line.split()])
Аноним 16/05/20 Суб 16:04:04 1690317609
2020-05-16 1603[...].png 5Кб, 348x145
348x145
Аноним 16/05/20 Суб 16:06:46 1690323610

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

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

> В идеале ты вообще должен выносить определения строк куда-то наружу из кода, чтобы, например, поддержать многоязычность. Format это идеально позволяет.
Можешь дать пример? Может приложение с гитхаба, а то у меня еще не было необходимости использовать именно format, обходился f-strings.
Аноним 16/05/20 Суб 16:20:19 1690345611
>>1690309
Спасибо, то что надо
Аноним 16/05/20 Суб 16:20:51 1690347612
Так в чем проблема то? >>1690233
Аноним 16/05/20 Суб 16:21:27 1690348613
>>1690323
>В этом и проблема?
Да, в этом проблема, это грязь. Это подход по принципу "слепить побыстрее". Отложенное форматирование довольно часто используется. Ты где-нибудь в конфиге определяешь строку для форматирования, а потом её используешь. format ведь позволяет и по имени переменной работать.

Примеры на гитхабе искать надо.
Аноним 16/05/20 Суб 16:22:49 1690353614
Аноним 16/05/20 Суб 17:05:43 1690401615
Image 765.png 12Кб, 629x421
629x421
>>1690347
все из twitchio импортируется без проблем, но какого хуя пишет AttributeError: module 'twitchio.client' has no attribute 'get_chatters' ? Внутри client.py есть get_chatters
Аноним 16/05/20 Суб 17:31:30 1690426616
image.png 56Кб, 1021x491
1021x491
image.png 9Кб, 179x304
179x304
Есть некий датафрейм с отсутствующими значениями. Для каждой строки я вычислил среднее значение. Как теперь подставить в каждую строку вместо NaN свое среднее значение для каждой строки?
votes_data = votes_data.fillna(votes_mean) чет не работает.
Аноним 16/05/20 Суб 17:46:43 1690445617
перекатите тред молю
Аноним 16/05/20 Суб 17:57:14 1690460618
Аноним 16/05/20 Суб 18:03:09 1690471619
Сап, ананасы. Как сохранить изменения во вложенном списке, после того как я списком по нему пробегаюсь?

К примеру есть список [['1','2'],['3','4']]

Я делаю такую конструкцию:
for row in list:
for elem in row:
elem = int(elem)
И ожидаю, что после того как снова запринчу этот список, значения там будут в int, но не работает.
Надо новый создавать?
Аноним 16/05/20 Суб 18:03:38 1690474620
>>1690426
votes_data.fillna(votes_data.mean())
Аноним 16/05/20 Суб 18:05:41 1690484621
>>1690471
Можно через enumerate и по индексу менять.
Аноним 16/05/20 Суб 18:05:57 1690487622
Аноним 16/05/20 Суб 18:09:26 1690495623
>>1690474
Так он заполняет средними по колонкам, а не по строкам. А с аргументом mean(1) не работает.
Аноним 16/05/20 Суб 23:44:57 1691150624
>>1690426
попробуй чтото должно сработать
votes_data = votes_data.fillna(np.mean())
votes_data = votes_data.fillna(votes_data.mean())
Аноним 19/05/20 Втр 01:24:52 1693405625
Здравствуйте, господа!
Хочу научиться работать с библиотекой vk_api, вернее у меня есть идея, которую хочу реализовать для бота в сообществе.
Но, начинать надо с чего-то простого, что у меня не получилось.
Объясните плз, как можно элементарно с помощью бота отправить, например сообщение самому себе? А то просмотрел несколько источников, на одном источнике была подобная информация, но данную функцию тупо выпилили с какой-то там версией vk_api.
Будьте добры, напишите код, (я знаю, что там строчки 3-4 должно быть, пролема в знании методов), ии подкиньте доков читабельных
Аноним 19/05/20 Втр 07:49:08 1693466626
А есть в природе какие-то готовые библиотеки для глубокого (полного) разбора JSON? Ну, например, чтобы все строковые значения выдернуть? Или надо каждый раз смотреть самому и разбирать логику данного словаря? Это не будет велосипедингом? Или только так и можно делать?
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов