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


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
529 54 126

Питон тред N85 /python/ Аноним 13/04/20 Пнд 10:22:02 16568651
296-original.jpg (615Кб, 2335x2337)
2335x2337
python-logo.png (9Кб, 290x82)
290x82
Тред, посвящённый языку программирования Питон, #85

Предыдущий: >>1647702 (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/ (нужно знать ангельский или уметь пользоваться переводчиком)

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

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

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

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущая версия (№85) здесь: https://dumpz.org/c6qHxAwADZYW

Аноним 13/04/20 Пнд 10:26:28 16568672
Аноним 13/04/20 Пнд 10:45:59 16568773
.png (16Кб, 369x325)
369x325
>>1656865 (OP)
Какой самый лучший способ разделить словарь на части по n элементов, исключая преобразования в список? То, что у меня получилось, выглядит как-то всрато.
Аноним 13/04/20 Пнд 10:53:02 16568804
Аноним 13/04/20 Пнд 10:53:28 16568815
>>1656880
>Тебе именно итератор
fix, генератор
Аноним 13/04/20 Пнд 11:07:27 16568896
chunk.png (23Кб, 379x300)
379x300
>>1656877
Я бы оформил так
По сути тоже самое, просто не понятно, зачем ты лезешь в эти низкоуровниевые вызовы iter-next, когда в словаре есть встроенные итераторы именно для этого.
Аноним 13/04/20 Пнд 11:09:53 16568917
Аноним 13/04/20 Пнд 12:41:41 16569478
Помогите, пожалуйста, доделать код. Подскажи как через ввод вписать в f, цифры, а не текст.
Дан файл f, компоненты которого являются целыми числами. Найти позицию последнего числа, не превышающего числа b
https://repl.it/@allpickan/Python-3-9
Аноним 13/04/20 Пнд 13:20:53 16569699
PyCharm Professional стоит своих денег? Насколько я понимаю, основная фишка там - это интеграция с БД из коробки, или что-то там ещё есть? Можно ли комфортно жить на Community Edition?
Аноним 13/04/20 Пнд 13:23:23 165697310
>>1656969
> Можно ли комфортно жить на Community Edition?
В плане вебдева.*
Аноним 13/04/20 Пнд 13:32:30 165697911
>>1656973
Вроде в Community поддержки других языков нет, например JS. Хотя не знаю, не пользуюсь.

Аноним 13/04/20 Пнд 14:18:37 165700612
>>1656969
Жить можно и на вскоде.
Там же у них есть триал, попробуй его.
Мне в начале очень сильно помогал пучарм именно платная версия, когда сам научился все делает и без его плагинов, то перешёл на вскод/обычную версию.
Аноним 13/04/20 Пнд 14:32:37 165701813
image.png (69Кб, 1429x637)
1429x637
О какой в данном примере ошибке идёт речь? Я понимаю что изменчивость переменных в коде это плохо, но в данном примере как ошибка может быть, я не понял. Это надо специально ведь в функцию лезть и менять её.
Аноним 13/04/20 Пнд 14:33:00 165701914
Аноним 13/04/20 Пнд 14:36:44 165702315
Аноним 13/04/20 Пнд 14:49:42 165703116
Аноним 13/04/20 Пнд 15:36:27 165705517
В олимпиаде по информатике принимало участие несколько человек.
Определите и выведите средние баллы участников олимпиады в 9 классе, в 10 классе, в 11 классе.
Информация о результатах олимпиады записана в файле, каждая строка которого имеет вид:
фамилия имя класс балл.

Аноны, посоветуйте как лучше хранить данные в таком случае:
Сделать класс с полями:
1) Номер класса - число
2) Оценки - лист

Или сделать словарь с ключами 9, 10, 11, а элементами будут списки, и в эти списки добавлять оценки?
Или без разницы чем пользоваться - хоть двумерным массивом? Как бы вы поступили?

Преподаватель с курсеры советовал посмотреть на named tuple, но я как я понял из документации модуль collections не поддерживается и будет выпилен в следующих версиях. Ему на смену пришел collections_abc , но там я ничего не понял.
Аноним 13/04/20 Пнд 15:47:17 165706218
Аноньчик, как нормально управлять модулями python? Ну чтобы разные среды были. Это только venv?
Аноним 13/04/20 Пнд 16:03:12 165707619
Аннотация 2020-[...].png (3Кб, 211x102)
211x102
Помогите ньюфане пожалуйста.
В файле test несколько строчек, но с данным кодом выводится только вторая. ЧЯДНТ?
Если вместо цикла for юзнуть read() то все в порядке
https://dumpz.org/b6ZAQ8BSn4be
Аноним 13/04/20 Пнд 16:03:42 165707720
>>1657055

имеется в виду, что эти классы (https://docs.python.org/3/library/collections.abc.html#collections-abstract-base-classes) перемещены в новый модуль, и из коллекшнса их выпилят

никто популярную либу убивать просто так не будет, сломав кучу кода
так что с говном типа всяких ткинтеров, асинкоров и итертулсов пайтон 3 останется навсегда
используй неймфажный тупль, самое то
Аноним 13/04/20 Пнд 16:05:56 165707821
>>1657076
for line in handle это уже итератор, тебе не нужен readline вообще.
Аноним 13/04/20 Пнд 16:06:41 165708022
>>1657055

еще можешь выебнуться перед одноклассниками и заюзать dataclasses, но это в твоем случае то же самое, по сути
Аноним 13/04/20 Пнд 16:07:20 165708123
>>1657076
Да, и если без лупа делать копипастой чтения-печати, тоже все работает.
Аноним 13/04/20 Пнд 16:08:11 165708324
Аноним 13/04/20 Пнд 16:17:20 165709125
Посоветуйте учебник, а лучше онлайн курс с практическими заданиями, где бы с самого начала объяснялась структура языка, а не просто "чтоб считать строку сделай это".
Аноним 13/04/20 Пнд 16:28:21 165709826
Аноним 13/04/20 Пнд 16:39:30 165710927
>>1657098
А есть, где сразу начинают с ООП? Я уже уил немного плюсы, не хочется тратить время на жевание воды.
Аноним 13/04/20 Пнд 16:51:49 165711628
>>1657109

вот интересный онгоинг, который не требует знаний каких-то либ, при этом сразу ебашит тебя лицом в ооп и programming language theory

https://ruslanspivak.com/lsbasi-part1/
Аноним 13/04/20 Пнд 16:59:56 165712129
Как проверить, является ли данная строка url-адресом или нет?
Аноним 13/04/20 Пнд 17:00:14 165712230
>>1657080
Спасибо, посмотрю что за dataclasses.

>>1657077
Спасибо.
Аноним 13/04/20 Пнд 17:13:22 165713231
Аноним 13/04/20 Пнд 17:19:47 165713732
Заметило что в джанге мои url выглядят так: http://127.0.0.1:8000/thispost/(4)
Что это за херня со скобками? Раньше таких скобок не было (во второй версии джанго). С чего они вообще появились? В чем их смысл бля?
Аноним 13/04/20 Пнд 17:27:29 165714133
Снимок экрана 2[...].png (63Кб, 868x514)
868x514
Пишу реализацию протокола для одной железяки, которая шлет данные через tcp. Прочитал вот такую штуку в документации к протоколу: "Следует обратить внимание, что TCP/IP – потоковыи протокол, т.е. для прикладного серверного ПО не существует пакетов уровня TCP/IP. Чтение из сокета TCP/IP – чтение потока баит, а не чтение пакетов. Пакеты протокола Galileosky являются пакетами прикладного уровня, для корректного их разбора серверное ПО должно выделить буфер и осуществлять сборку пакета. Ни в коем случае нельзя полагаться на то, что одна операция чтения из сокета вернет полныи пакет протокола Galileosky. Полныи пакет Galileosky может быть получен после выполнения нескольких последовательных операции чтения, между ними могут быть временные промежутки, это связано с особенностями работы протокола TCP/IP."

Поясните, что значит "выполнение нескольких последовательных операции чтения"? То есть написать await reader.read(1024) как на скрине не прокатит? (для примера сократил код)
Аноним 13/04/20 Пнд 17:47:43 165716034
>>1657141
Просто нужно дожидаться получения пакета полностью и тогда уже обрабатывать, а не считал-обработал.
Очевидно, должна быть длинна в заголовках или какие-то маркеры конца.
Аноним 13/04/20 Пнд 17:55:22 165716435
>>1657160
У пакета первый байт - заголовок, следующие 2 - размер пакета, затем тело и последние 2 байта - контрольная сумма. То есть должно получиться что-то типа этого?

package_size_raw = await reader.read(3)[1:]
package_size = int.from_bytes(package_size_raw, 'little')
package = await reader.read(package_size)
checksum = await reader.read(2)
Аноним 13/04/20 Пнд 17:56:10 165716536
>>1657164
>следующие 2 - размер пакета
самофикс - размер тела пакета
Аноним 13/04/20 Пнд 17:57:28 165716637
>>1657164
Ну вот у тебя while True, лови там новые пакеты, и как только размер уже полученного достигает того что из заголовка, отправляешь на обработку. И т.д.
Аноним 13/04/20 Пнд 18:02:34 165717038
Вообще, там есть readexactly. Вполне возможно, что он эту логику как раз реализует. Т.е. exactly читаешь хидер, и потом exactly длинна пакета.
Аноним 13/04/20 Пнд 18:21:33 165718839
>>1657141
Смотри в чём дело, и это актуально для всех языков программирования. Когда на сокет клиента приходит какой-то пакет данных, система сразу отдаёт ему столько, сколько может.

Но данные по сети идут по частям, они дробятся, это нормально.
Ты когда делаешь recv/read или что-то ещё, можешь получить только часть пакета, а можешь и весь, как повезёт.

Число в скобках означает максимальный размер пакета.

В сети идут отдельные ip пакеты, и размер каждого обычно MTU, который примерно 1500 байт вместе с заголовком. Поэтому если ты шлёшь пакет в 2 килобайта, он скорее всего будет разбит.

Если 1 килобайт, то скорее всего он придёт целиком, но ты не можешь на это закладываться.

Как с этим работать: собирать всё в буфер, и как поймёшь, что к тебе пакет целиком пришёл, так и отправляешь его на обработку.
Аноним 13/04/20 Пнд 18:23:45 165719340
Аноним 13/04/20 Пнд 18:24:57 165719641
>>1657141
Ребзи что за шрифт у господина девелопера ?
Аноним 13/04/20 Пнд 18:25:45 165719842
>>1657164
мне кажется так надо - ставиль read(2000), после каждой операции пришедшие данные добавляешь в буфер.
следующей строчкой, если размер буфера больше минимального (3-5 байтов), вычисляешь размер, и если буфер больше этого размера, вырезаешь из него пакет и отправляешь на обработку.
Аноним 13/04/20 Пнд 18:39:42 165720743
>>1657166
>>1657188
>>1657198
Спасибо большое, именно то что нужно! А по сколько байт лучше разбивать куски, которые собираются в буфер?
>>1657196
JetBrains Mono, он стандартный в новой версии pycharm
Аноним 13/04/20 Пнд 18:41:08 165721044
>>1657207
Забыл добавить - в доке написано что максимальная длина пакета 1000 байт
Аноним 13/04/20 Пнд 19:02:20 165722045
>>1657207
>А по сколько байт лучше разбивать куски, которые собираются в буфер?
Ставь максимум, который можешь переварить, хоть мегабайт. Если придёт данных меньше, ты просто на выходе получишь меньше.

В любом случае потом отправишь в буфер, а буфер уже обрабатываешь.
Аноним 13/04/20 Пнд 19:27:48 165723946
15585230311010.jpg (38Кб, 466x499)
466x499
Выбираю между Джанго и aiohttp. Задание создать обычный, не самый навороченный REST API. С Джанго опыт есть (1год), работал года 3 назад. Но сегодня я взглянул на бенчмарки и мне показалось, что его лучше вообще не трогать. Или может быть Фласк? И вообще питон как серьезный веб инструмент, стоит рассматривать в 2020?
Аноним 13/04/20 Пнд 19:32:22 165724447
>>1657239
Сколько сотен тысяч запросов в секунду будет, серьезный бизнесмен?
Аноним 13/04/20 Пнд 19:39:50 165724848
>>1657244
Да нисколько в общем то. Просто делать нечего на карантине. Решил запилить, что нибудь хардкорное на питоне в свободное время. Комплекс неполноценности перед борщехлебами
Аноним 13/04/20 Пнд 19:54:09 165725649
>>1657077
А если у меня есть namedtuple1 с полями Field1, Field2, Field3, то могу ли я через цикл
for field in (Field1, Field2, Field3):
__ namedtuple1.field.append(1)
Получать доступ к объекту в этом поле? Например если у меня в полях лежат списки. В словаре такой подход возможен, в тут ошибка потому, что field в теле цикла не заменяется на значение из (Field1, Field2, Field3)
Или пользоваться словарями и не ебать мозг?


Аноним 13/04/20 Пнд 19:57:17 165725950
Привет анон
Хочу написать сервак на питоне для анонимного чата. Опыт в питоне хороший (тк в основном под написание протоколов для связи с контролерами его юзал), но серваки пишу первый раз
идея норм или лучше сразу смотреть в сторону шарпов/крестов/жавы? какие камни? понятно что си++ проебу в скорости, но где, например, будет четка граница нагрузки, после которой можно будет с уверенностью сказать: "все, пиздец, на справляется"
спасибо
Аноним 13/04/20 Пнд 20:11:55 165727851
>>1657259
Если выбирать между джавой и шарпами, то определённо питон. Не знаю как там работа с сокетами в плюсах но подозреваю с плюсами питону не тягаться. Но если тебе не столь важно какой язык выбрать, есть более специализированные языки для реал-тайм приложений, которые будут в разы быстрее плюсов.
Аноним 13/04/20 Пнд 20:20:35 165728352
>>1657259
> "все, пиздец, на справляется"
Когда юзеры поймут что гроб-гроб-пизда.
Но ты ж понимаешь что этого не произойдет.
Хочешь познать пистон с этой стороны - пиши свой серв.
Советую чекнуть торнадо.
Аноним 13/04/20 Пнд 20:24:25 165728653
Аноним 13/04/20 Пнд 20:48:06 165730754
>>1657278
>есть более специализированные языки для реал-тайм приложений, которые будут в разы быстрее плюсов.
это какие?
Аноним 13/04/20 Пнд 20:59:20 165731955
Аноним 13/04/20 Пнд 21:17:45 165733256
>>1657259
> понятно что си++ проебу в скорости,
Нет, не понятно, тут не числодробилки. Тебе надо сеть обслуживать, в этом затыки. На сколько пользователей ты хочешь чат делать?

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

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

Тебе надо изучать асинхронное программирование с asyncio, и какой-нибудь фреймворк вроде aiohttp.
Аноним 13/04/20 Пнд 21:22:38 165733857
>>1657283
Торнадо в 2020? Зачем?
Аноним 13/04/20 Пнд 21:38:14 165735158
>>1657121
перейти по ней с помощью requests, возвращая код запроса и ловя эксепшны
все гениальное просто
Аноним 13/04/20 Пнд 21:58:37 165735859
>>1657286
Чому?
>>1657338
Что не так?

Вполне себе успешно юзают данный инструмент.
Аноним 13/04/20 Пнд 22:07:38 165736160
>>1657358
Технически устарел.
Вот тут объяснение есть:
https://habr.com/ru/company/avito/blog/435532/

>>1657358
>Вполне себе успешно юзают данный инструмент.
Был актуален раньше, пока не развилась штатная асинхронность в питоне. Сейчас скорее поддерживают старое, сложно мигрировать скорее всего.
Аноним 13/04/20 Пнд 22:24:44 165736761
>>1657361
Почитаю, окей. Уже как-то читал, надо освежить.

Был пару месцев назад на собесе в одной локальной, продуктовой компании, gurtam, искали повидло на сервер их, так вот, вполне себе активно юзают торнадо т.к. им нужен постоянный конект.
Аноним 13/04/20 Пнд 23:07:38 165737962
>>1657367
Вангую, там легаси-говно (возможно даже на 2.7 лол)
Аноним 13/04/20 Пнд 23:09:11 165738063
Почаны, помню как спортмастер в начале этого года активно набирал себе бэкендеров на Питоне, Го и Жабе
Что с ними всеми сейчас случилось, интересно
Аноним 13/04/20 Пнд 23:09:13 165738164
>>1657379
Пистон 3, кстати, но код очевидно содержит легаси ибо не вчера они появились.
Исходя из их слов у них там микросервисы, так что была надежда на то, что новое пишется на 3,6+, все таки.
Аноним 13/04/20 Пнд 23:13:13 165738365
Аноним 13/04/20 Пнд 23:14:32 165738666
wtf.png (36Кб, 893x545)
893x545
Аноним 13/04/20 Пнд 23:30:59 165739467
>>1657358
> Вполне себе успешно юзают данный инструмент
Конечно юзают, все легаси не перепишешь.
Аноним 14/04/20 Втр 00:43:54 165742568
Аноним 14/04/20 Втр 05:36:22 165748569
122.PNG (35Кб, 619x691)
619x691
Помогите плез, не понимаю задание. Особенно первую строчку
Аноним 14/04/20 Втр 07:59:24 165750170
>>1657485
>Особенно первую строчку
10^0 % 13 == 1
10^1 % 13 == 10
10^2 % 13 == 9
10^3 % 13 == 12
Дальше первой строчкм не читал.
Аноним 14/04/20 Втр 08:29:44 165750571
Аноним 14/04/20 Втр 09:15:53 165751672
Комрады подскажите че почитать чтоб решить задачу. Мне вот надо например установить сетапы сторонней проги запакованной в архив, плюс установить в определённое место тобишь прописать имя в окна и все дела, потом в проге ещё прогнать действия. Где такие прикладные вопросы расписаны?
Аноним 14/04/20 Втр 09:27:10 165752173
Нужен архитектурный совет.
Пишу приложуху на Kivy и вроде бы треды нормально запускаются и работаю.
Нахуя столько возни в питоне вокруг async ?
Если приложение не серверное, нормально же будет запускать в треде опросы и вычисления ?

Питон и мобильную разработку пока знаю плохо, но в целом не новичок
Аноним 14/04/20 Втр 09:38:34 165752774
Вот вам в качестве рекламы Kivy приложение Собянин.apk
https://dropmefiles.com/Koc5p
Просто сканирует все qr-коды, которые видит и выкладывает на экран.

как же я заебался просто его компилить из гитхаба!
очень мало инфы в инете и приходится постоянно экспериментировать и думать
Аноним 14/04/20 Втр 10:22:29 165759075
>>1657516
я не одмин, но возможно chocolatey тебе поможет. а именно инструкции для мейнтейнеров, как там пилить собственные сценарии установки
Аноним 14/04/20 Втр 10:26:53 165759876
>>1657527
>заебался просто его компилить
>очень мало инфы в инете

вся суть кивей. вечный не продакшнреди. я в шоке, что оно до сих пор живо, с таким-то подходом
Аноним 14/04/20 Втр 11:05:51 165765077
>>1657598
щто поделать.
он реди, просто в гугле не будет ответов сразу на все вопросы начинающего.
Надо читать код и думать.

Все равно намного лучше чем джаву дрочить ради не очень то важных преимуществ.
Аноним 14/04/20 Втр 11:49:11 165766678
>>1657521
>нормально же будет запускать в треде опросы и вычисления
Если тебе удобно с тредами - то нормально. И с сетями в тредах нормально рабоать, раньше ведь работали.

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

Исключительно кому как удобнее. По мне с тредами гемор большой, тем более, что в питоне они производительность не увеличивают из-за GIL. А все эти thread-save, синхронизации и т.п. гемор и грабли, поэтому я асинки очень люблю.

Но надо ещё чтобы либы асинхронность поддерживали.
Аноним 14/04/20 Втр 12:16:26 165767879
>>1657666
> По мне с тредами гемор большой,
вот в этом и суть моего вопроса. Как ты дошел до жизни такой? Почему все питонисты ебнутые?
Любую подзадачу проще закодировать и отладить, если воспринимать в уме или на бумажке как отдельный поток выполнения.
Ну надо иногда чтото синхронизировать, но это же не машину состояний городить для самого себя.

Непонятно, короче.
Аноним 14/04/20 Втр 14:16:26 165773080
сап, двач.
рискуя вызвать пену изо рта или горение жеппы у бывалых обывателей, задам вопрос, который наверняка вам задавали. так вот, решил я, значит, изучать питон, понимая в программировании чуть менее, чем ничего. какие актуальные книги/методы есть для полных чайников на 2020 год? какую версию питона надо осваивать? шапку читал, там слишком много книг. посоветуйте одну плез
п.с. английский не знаю. дурак. буду осваивать по пути.
думаю учить на первых порах как хобби, ну а далее - если зайдет - может стану работать.
спасибо, анон. посылаю вам лучи добра
Аноним 14/04/20 Втр 14:28:28 165773581
Аноним 14/04/20 Втр 14:31:23 165774182
>>1657730
книги - скучно. чтобы не бросить, попробуй степиковский курс.
там два курса.
задания - атас! С книгой не идёт ни в какое сравнение
Аноним 14/04/20 Втр 14:41:14 165774583
Аноним 14/04/20 Втр 15:01:42 165775384
>>1657678
>Любую подзадачу проще закодировать и отладить, если воспринимать в уме или на бумажке как отдельный поток выполнения.
Так в случае тредов очень условные потоки исполнения. Ты всегда должен думать о том, чтобы твой код был thread-safe, потому что переключение потока может произойти в любой момент времени.

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

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


Аноним 14/04/20 Втр 15:27:00 165776985
>>1657666
>Просто все задачи сложные с взаимодействием с пользователем,
вот этого не понел.
Ну вот я сделал на kivy отдельный тред и обновил фейковую бекграундную информацию прямо в объектах гуи - все отлично рисуется и обновляется. Кнопочки жмутся, тредик крутится.

Зачем этим шизикам понадобился отдельный класс Clock и еще какая-то отдельная поддержка asyncio ?
Аноним 14/04/20 Втр 15:39:14 165777286
>>1657116
Спасибо
спрашивавший анон
Аноним 14/04/20 Втр 15:56:10 165777787
>>1657769
ну в принципе я осознаю, что если я наговнокодю в своем отдельном потоке бесконечный цикл, то скорее всего зависнет все приложение.
На начальных этапах это не очень страшно.

Короче, феномер упорного развития асинхронных фрейворков в питоне - ответ на глобальный лок, который GIL ?
Аноним 14/04/20 Втр 16:39:18 165780488
>>1657777
Асинхронщина проще, быстрее и легковеснее тредов, вот и всё.
Аноним 14/04/20 Втр 16:49:28 165781489
>>1657804
я не понимаю почему.
Всю дорогу я писал линейные алгоритмы Если - ТО - ИНАЧЕ, и теперь вдруг начать думать в виде Машины Состояний?


может я неверное понимаю питоновскую асинхронщину? Предприняты какие-то серьезные улучшения?
Аноним 14/04/20 Втр 16:53:36 165781890
>>1657814
какая машина состояний ты о чем вообще?

Аноним 14/04/20 Втр 17:06:47 165782591
>>1657814
Ну посмотри async await.
Аноним 14/04/20 Втр 17:08:27 165782792
>>1657818
ну допустим для сервера HTTP это когда ты вынужден постоянно отдавать управление другому коду, хранить промежуточные состояния типа : чтение первой строки, чтение заголовков, чтение тела запроса, отправка клиенту.

то есть, вот https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

или все значительно проще?
а что происходит если написать бесконечный цикл по ошибке?
Аноним 14/04/20 Втр 17:11:46 165783393
Вротебал переустановил пучения на коммьюнити версию хуйпойми какие шрифты стали какой фрит стандартный на пуперверсии другой разве или чото уже накрутил блять ?
Аноним 14/04/20 Втр 17:15:12 165783594
16BED29F-3811-4[...].jpeg (2681Кб, 4032x3024)
4032x3024
Не такого точно не было, Ребрик скажите какие шрифты у вас по дефолту стоят, у меня вот эти пидорские с новой версии а какие были ?
Аноним 14/04/20 Втр 17:28:53 165784295
>>1657777
>Короче, феномер упорного развития асинхронных фрейворков в питоне - ответ на глобальный лок, который GIL ?
Сейчас во всех языках развивается асинхронность, обычно через async-await или близкое, общий тренд последних лет пяти.

Минус многопоточности в том, что переключение потоков происходит в случайный момент времени. Это накладно, надо контекст какой-то сохранять, и это проблемы создаёт по thread-safe, и переключаться потоки могут не туда, куда надо.
Аноним 14/04/20 Втр 17:31:01 165784396
>>1657827
О чём ты? В некотором роде у тебя и синхронный код - самая настоящая машина состояний.

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

Аноним 14/04/20 Втр 17:38:14 165785497
>>1657505
Точно, ты прав.
for field in namedtuple1:
_field.append()
Аноним 14/04/20 Втр 17:56:38 165786198
>>1657842
>Сейчас во всех языках развивается асинхронность, обычно через async-await или близкое, общий тренд последних лет пяти.

Вообще не понятно почему. Выглядит как возвращение windows 3.11
Точечные применения я могу понять, но зачем навязывать для всех приложений и языков?
Аноним 14/04/20 Втр 18:09:13 165787099
>>1657861
В большинстве случаев треды использовались не по назначению, там, где были какие-то блокирующие операции, а не где нужно было распараллелить вычисления.

Асинки не призваны заменить многопроцессность, это разные вещи, причём как раз работа с большим количеством процессов очень хорошо стыкуется с асинхронностью.
Аноним 14/04/20 Втр 18:17:11 1657877100
Бля народ я даун я опять забыл как переименовать что угодно в пучарме
Аноним 14/04/20 Втр 18:20:45 1657880101
>>1657777
Нет, асинхронность для лучшей работы с сетью, чтобы не блочить воркер когда мы идём за данными в базу или по api.
Аноним 14/04/20 Втр 18:21:54 1657882102
>>1657877
Там ещё сверху появляется две строчки одна текущая вторая во что хочешь переименовать напомните хоткейс
Аноним 14/04/20 Втр 18:42:24 1657890103
>>1657882
Ну помогите это не гуглится ноль шансов я уже искал это однажды
Аноним 14/04/20 Втр 18:54:12 1657897104
>>1657880
имхо, хуйня получилась.
я в nginx + lua с тем же успехом ебенейше эффективные приложения делал. он переключается при любом вызове api nginx.
Аноним 14/04/20 Втр 18:57:03 1657900105
image.png (87Кб, 666x410)
666x410
image.png (6Кб, 406x141)
406x141
Хелпайте , питонисты. Ебусь с этим уже час. Менял путь уже в PATH все равно не работет. Недавно сменил имя пользователя, но не могу поставить обратно и пытаюсь решить эту проблему. Так же не устанавливается PIP , хотя другие версии питона работают
Аноним 14/04/20 Втр 19:05:07 1657903106
image.png (98Кб, 666x410)
666x410
>>1657900
Также не изменить папку, помогите
Аноним 14/04/20 Втр 19:07:58 1657904107
>>1657900
Пришло время поставить visual studio code или komodo ide.
Аноним 14/04/20 Втр 19:08:53 1657906108
>>1657903
Попробуй от администратора запускать
Аноним 14/04/20 Втр 19:10:01 1657907109
Безымянный.png (27Кб, 1634x633)
1634x633
>>1657906
Делал , тоже самое выдает
Вот путь
Аноним 14/04/20 Втр 19:11:11 1657909110
>>1657904
было бы это удобно , работал бы там
Аноним 14/04/20 Втр 19:27:18 1657918111
>>1657897
Какой смысл от игрушечных примеров, реализовать с помощью select событийный цикл не так сложно, только без синтаксического сахара и нормального api это не применимо в продакшене.
Аноним 14/04/20 Втр 19:40:17 1657932112
>>1657918
Я делал на селектах что-то для продакшеша, на втором питоне ещё (такой был в проекте), но это ненормально. Так можно один какой-нибудь цикл реализовать для ожидания данных на сокетах, не больше.

Если инструмент очень неудобный, пользоваться им невозможно. Нормальная асинхронность в питоне только с 3.5 появилась, с приходом async/await. С ними пишешь асинхронный код как дышишь, надо только мозги перестроить по асинхронное проектирование.

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

Конечно, не во всех задачах актуально. Но там, где сервисы какие-то, которые обслуживают много задач, с разными источниками данных работают, это очень актуально.
Аноним 14/04/20 Втр 19:57:12 1657938113
>>1657932
> С ними пишешь асинхронный код как дышишь, надо только мозги перестроить по асинхронное проектирование.
То есть, придется помучатся.
Не, пока пока не вижу смысла погружаться в это ради гуев.
Аноним 14/04/20 Втр 20:32:42 1657962114
>>1657938
>То есть, придется помучатся.
>Не, пока пока не вижу смысла погружаться в это ради гуев.
Гуи идеально ложатся на асинкио, при условии, что именно под асинкио сделаны. Потому что внутри гуи тот же принцип используют, цикл обработки сообщений, события, задачи и т.п. А вот если они свой цикл поднимают, как это обычно бывает, то там уже через жопу совмещают, в общем да, надо думать, а действительно ли оно надо.

Так что разумно. Qt и tkinter вроде пока напрямую не поддержали.
Аноним 14/04/20 Втр 21:12:51 1657992115
>>1657938
>надо только мозги перестроить под асинхронное проектирование
Асинк это типа как просто как современная альтернатива синхронному кодингу с ограниченным применением
Или можно в принципе реально перестроиться и писать любые проекты (хотя бы свои домашние) в асинхронном стиле?
Аноним 14/04/20 Втр 21:32:17 1658012116
>>1657992
Не всегда понятно зачем, что проекты делают? Если исполнение чётко последовательное, то не нужно. Если есть ветви исполнения, параллельность и т.п., то можно. Про гуи не скажу.

Вообще очень полезно освоить асинхронное программирование, это современный тренд во всех языках. Хуже не станет.
Аноним 15/04/20 Срд 04:24:20 1658149117
>>1656865 (OP)
Положим у меня есть картинка, на картинке числа. Числа крупные, многоразрядные. Мне нужно что бы питон брал эти числа и складывал каждый разряд в список, в соответствующий индекс.
Пример:
Число на картинке: 125 436 874
list = [1, 2, 5, 4, 3, 6, 8, 7, 4]

Ну или просто, чтоб распознавал цифры и сохранял прямо сразу числом в какую-то переменную, я просто не знаю как будет проще. В идеале нужно что бы при смене числа на картинке он мог регистрировать это и дальше действовать по условию. У меня такое ощущение, что это можно организовать в 10 строчек, просто нужно знать нужные команды из стандартных либ. Если это так, то скажите просто какие, я и сам смогу.
Аноним 15/04/20 Срд 05:45:13 1658158118
Ребят как переименовывать в пучарме только не через ф6 а по другому ? Комбинация вызывающая две строки сверху ? Скажите плез
Аноним 15/04/20 Срд 07:13:17 1658164119
>>1657835
> а какие были ?
Вроде бы Monaco
Аноним 15/04/20 Срд 07:17:33 1658165120
Аноним 15/04/20 Срд 08:04:57 1658174121
>>1658149
ну охуеть вообще.
давай ты предметную область опишешь подробнее?
это что за ебанутость? делаешь решатель домашки по матеше для второго класса?

Хочешь распознавания - мучайся с распознаванием. Но это непросто и конечно же срабатывает не каждый раз.
Аноним 15/04/20 Срд 08:07:25 1658177122
Аноним 15/04/20 Срд 10:41:33 1658226123
>>1658012
слушай, может быть все дело в том, что питоне есть хороший оператор yield , а в других языках эта концепция неразвита?
этот ваш asyncio основан на yield ?
Аноним 15/04/20 Срд 10:41:34 1658227124
>>1658165
Господи храни тебя
Аноним 15/04/20 Срд 10:47:24 1658230125
>>1658226
>yield
Это есть даже в пыхапе.
Ты явно переоцениваешь его удобство.
Аноним 15/04/20 Срд 11:01:44 1658238126


import requests
from bs4 import BeautifulSoup as BS

def save ():
with open('parse_info.txt', 'a') as file:
file.write(f'{comp["title"]} -> Price: {comp ["price"]} -> Link: {comp["link"]}')
def parse ():
URL ='https://www.avito.ru/sankt-peterburg/doma_dachi_kottedzhi'
head ={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'
}
global comp
pageObj = requests.get(URL, headres = head)
soap = BS(pageObj.content, 'html.parser')
items = soap.findAll('div', class_ = 'item__line')
comps = []


for item in items:
comps.append({
'title': item.find('a', class_= 'snippet-link').get_text(strip = True),
'price': item.find('div', class_= 'snippet-price-row').get_text(strip = True),
'link': item.find ('a', class_= 'snippet-link').get('href')
})

for comp in comps:
print(f'{comp["title"]} -> Price: {comp ["price"]} -> Link: {comp["link"]}')
save()
parse()

ОШИБКА
Exception has occurred: TypeError
request() got an unexpected keyword argument 'headres'
File "C:\Users\Harkaman\Desktop\Parser\Parser.py", line 15, in parse
pageObj = requests.get(URL, headres = head)
File "C:\Users\Harkaman\Desktop\Parser\Parser.py", line 31, in <module>
parse()


=============

Пытаюсь запарсить авито , но получаю такую хуйню. Поскажите , что делать. python 3.6.4
Аноним 15/04/20 Срд 11:16:21 1658240127
Аноним 15/04/20 Срд 11:20:57 1658241128
>>1658240
import requests
from bs4 import BeautifulSoup

#def save ():
# with open('parse_info.txt', 'a') as file:
# file.write(comp)
def parse ():
URL ='https://www.avito.ru/sankt-peterburg/doma_dachi_kottedzhi?cd=1'
HEADERS ={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}


response = requests.get(URL, headers = HEADERS)
soap = BeautifulSoup(response.content, 'html.parser')
items = soap.findAll('div', class_ = 'item__line')
comps = []


for item in items:
comps.append({
'title': item.find('a', class_ = 'snippet-link').get_text(strip = True),
'price': item.find('span', class_= 'snippet-price.snippet-price-vas').get_text(strip = True),
#'link': item.find ('a', class_ = 'snippet-link').get('href')
})

global comp
for comp in comps:
print(f'{comp["title"]} -> Price: {comp ["price"]}')

parse()

Я уже передал , теперь другая ошибка
Exception has occurred: AttributeError
'NoneType' object has no attribute 'get_text' в price
Аноним 15/04/20 Срд 11:38:54 1658254129
>>1657833
>Вротебал переустановил пучения на коммьюнити версию хуйпойми какие шрифты стали какой фрит стандартный на пуперверсии другой разве или чото уже накрутил блять ?

это что-то на языке питонистов?
Аноним 15/04/20 Срд 12:41:42 1658310130
>>1657900
Тебя не смущает, что у инсталлятора нет достаточных прав?
Устанавливай для всех юзеров в папку С
Аноним 15/04/20 Срд 15:41:16 1658491131
Screenshot113.jpg (118Кб, 1160x910)
1160x910
Кто-нибудь пользуется komodo ide? (Она больше не ворованная, а бесплатная)
Хочу начать писать по pep8 и не могу включить линтер в ide.
Остальные два линтера на картинке работают, но заебешься за ними следить.
Аноним 15/04/20 Срд 15:57:34 1658503132
>>1658491
ладно, отредактировал код этой ебанутой тулзы. Вроде проверяет.

теперь я дохуя pep8-совместим!
Аноним 15/04/20 Срд 17:08:43 1658533133
Зачем объявлять один класс внутри другого?.. С целью чего это делается?
Аноним 15/04/20 Срд 17:10:03 1658535134
>>1658533
прост. Почему бы нет? Инкапсуляция.
Аноним 15/04/20 Срд 17:11:45 1658536135
>>1658533
официальное объяснение будет звучать примерно так: тебя это ебать не должно
Аноним 15/04/20 Срд 17:20:01 1658540136
>>1658533
Если он вне это класса не нужен, то нахуя выносить?
Аноним 15/04/20 Срд 17:39:56 1658554137
object.__dict__
Что эта хрень делает? Двойная звезда "раскрывает" словарь это я знаю, но в чем смысл всей этой конструкции, в особенности метода __dict__ (почему-то без скобок и без аргументов)
Аноним 15/04/20 Срд 17:40:30 1658555138
>>1658554
Бля, проебалась двойная звезда перед object.__dict__. Ну вы поняли...
Аноним 15/04/20 Срд 17:42:18 1658557139
>>1658533
Ещё можно делать "фабрику классов" и возвращать этот класс для дальнейшего использования.
Аноним 15/04/20 Срд 17:44:15 1658559140
Аноним 15/04/20 Срд 21:09:02 1658659141
>>1658557
для этого не нужен класс внутри класса
Аноним 15/04/20 Срд 21:18:37 1658663142
Начал читать про эти ваши алгоритмы.
Есть список и есть массив.
Список необходимо использовать тогда, когда нам нужно удалять и добавлять туда данные, совершенно понятно, почему в данном случае тут сложность O(1)
Массив нужно использовать когда нам необходимо получать доступ по индексу, но суть в том что в питоне я также могу получить доступ к списку по индексу
list = [1, 2, 3]
print(list[0])
Тогда почему доступ к элементу в массиве - O(1), а в списке O(n)?
Аноним 15/04/20 Срд 21:48:55 1658677143
>>1658659
Класс внутри класса это как сон внутри сна
Аноним 15/04/20 Срд 21:50:27 1658678144
>>1658663
Потому что ты не врубаешься в dinamic array, static array и linked list
Буквально в прошлом треде вроде это обсуждалось
да, list - это не linked list, тебя наебал сам Гвидо
Аноним 15/04/20 Срд 21:58:08 1658682145
>>1658663
именно поэтому питон не стоит брать как первый язык

массив - это структура данных
список - абстрактный тип данных

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

https://wiki.python.org/moin/TimeComplexity
Аноним 15/04/20 Срд 22:07:51 1658688146
>>1658682
жс-макаки прекрасно без этой белиберды дедовской обходятся
Аноним 15/04/20 Срд 22:08:17 1658689147
>>1658678
В питоне list это динамический массив?
Аноним 15/04/20 Срд 22:15:34 1658693148
Аноним 15/04/20 Срд 22:23:39 1658703149
>>1658693
Потому что я могу, какие проблемы?
Аноним 15/04/20 Срд 22:24:56 1658704150
>>1658703

ты приходишь за знаниями к долбоебам
Аноним 15/04/20 Срд 22:27:33 1658709151
>>1658704
Ты понимаешь, что ты сейчас сам себя только что долбоебом навал?
мимо
Аноним 15/04/20 Срд 22:29:08 1658710152
>>1658709
а как называть людей, которые отвечают дегенератам на дваче?
Аноним 15/04/20 Срд 22:32:34 1658714153
Аноним 15/04/20 Срд 23:15:56 1658747154
Питон хуже пидарства, во всяком случае так показалось после си.
Аноним 15/04/20 Срд 23:21:06 1658753155
>>1658747
Но почему ты называешь си пидарством?
Аноним 15/04/20 Срд 23:28:20 1658762156
Зачем в try.. нужны секции finally и else?
Код из else можно перенести вниз try, а finally вовсе снизу вне блоков написать?
Я ещё могу понять else - чтобы исключение в else обрабатывалось внешним обработчиком ошибок вне моего except, но какой смысл в finally?
Аноним 15/04/20 Срд 23:32:27 1658766157
>>1658762
> finally вовсе снизу вне блоков написать
Подумай сам, если код в finaly зависит от того, выполнится ли try - то при переносе кода вниз - ты можешь выполнять операции с None, или городить очередные проверки
Аноним 15/04/20 Срд 23:41:01 1658780158
>>1658762
finally выполняется всегда, в том числе если исключение не было перехвачено, или было перезапущено. Соответственно код, который вне try-except-finally в этом случае вызван не будет.
Аноним 16/04/20 Чтв 00:15:52 1658798159
изображение.png (4Кб, 182x232)
182x232
>>1658780
>перезапущено
Вот так что ли? Оно выводит 1-2-4.
Если исключение пробрасывается выше в else/except секции?

>>1658766
>ты можешь выполнять операции с None
Да вроде бы не могу если я понял о чём ты, try же не создаёт новую область видимости
Аноним 16/04/20 Чтв 00:47:55 1658812160
>>1658798
>Вот так что ли? Оно выводит 1-2-4.
Да, у тебя не печатается 3, в этом и отличие с finally

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

Исходное назначение finally главным образом в том, чтобы корректно и во всех ситуациях закрыть какие-то ресурсы, которые ты открыл в try-блоке.
Аноним 16/04/20 Чтв 08:43:04 1658871161
>>1658677

как карп в пакете в пакете
Аноним 16/04/20 Чтв 09:42:08 1658880162
Не знаю, туда ли пишу, но спрошу тут. Есть папка с osu! osu.ppy.sh и оттуда надо вытащить музыку. Примерная структура такова: osu!/Songs/42048 RYO - Shuffle Heaven/audio.mp3
Возможно расширение файла отличается от песни к песне, сейчас оно всё в десятигиговом архиве. Надо сделать: скопировать audio.mp3 (чтобы решить проблему расширений надо будет wildcard какой-нибудь?), в другую папку, переименовать его в название папки без цифры в начале. Задача совсем простая, но я не программист. Подскажите, что делать? Простой цикл for? Библиотек кроме os не надо? Питон не знаю, насколько сложно будет?
Аноним 16/04/20 Чтв 09:55:04 1658889163
Посоны посоветуйте в чем делать GUI , по халявнее по проще .
Аноним 16/04/20 Чтв 09:58:04 1658891164
Аноним 16/04/20 Чтв 10:14:49 1658895165
Аноним 16/04/20 Чтв 10:20:11 1658897166
>>1658762
>Код из else можно перенести вниз try
Сам-то понял, что сказал?

>finally вовсе снизу вне блоков написать
Скажу больше: иногда вообще юзается только конструкция из try и finally. Каково? потому что finally может гарантированно закрыть некий ресурс
Аноним 16/04/20 Чтв 11:27:57 1658924167
CodeuXjIDViuSU.png (84Кб, 1366x729)
1366x729
Доброго дня всем. Помогите плез, как увеличить шаг вырезки при повторении цикла? Как видите mass[x] + mass[x:: +1] не работает
Аноним 16/04/20 Чтв 11:42:45 1658930168
>>1658924
>увеличить шаг вырезки
на 5-10 см, без смс и регистрации
У тебя ж есть еще переменные помимо x, Алеша! Увеличивай
Аноним 16/04/20 Чтв 11:55:09 1658938169
>>1658930
>на 5-10 см, без смс и регистрации
Забавно
> еще переменные помимо x
Не понял...
Аноним 16/04/20 Чтв 12:31:05 1658958170
>>1658924
чтото странное делаешь. почему бы не показать весь код? намерения не ясны.
тут у тебя ругается на то, что ты собрался складывать одно число int и срез.
Аноним 16/04/20 Чтв 13:39:41 1659000171
4aEzCzMoUco.jpg (151Кб, 617x446)
617x446
Аноним 16/04/20 Чтв 14:10:32 1659043172
Аноним 16/04/20 Чтв 14:32:47 1659076173
Аноним 16/04/20 Чтв 14:33:16 1659078174
Аноним 16/04/20 Чтв 17:17:23 1659256175
>>1656865 (OP)
>Вот, пожалуйста, та же самая программа, но переработанная под язык Python:
Это шо, сикп пиздон?
Аноним 16/04/20 Чтв 17:38:37 1659272176
>>1659256
Нет. Иди скобки дрочи.
Аноним 16/04/20 Чтв 18:08:27 1659316177
>>1657903
виндоблядь должна страдать
Аноним 16/04/20 Чтв 18:49:01 1659360178
>>1659076
Ну и зачем ты за него всё написал? Может ему бы понравилось и он мог попытаться вкатиться.
Аноним 16/04/20 Чтв 19:07:36 1659382179
>>1659360
С короной этих вкатывальщиков уже некуда девать.
Надо перепрофилировать заводы по сжиганию фотографов.
Аноним 16/04/20 Чтв 19:44:04 1659410180
Аноним 16/04/20 Чтв 20:46:06 1659451181
>>1659382
После короны на оборот количество говнокодеров вырастет .
Аноним 16/04/20 Чтв 20:52:06 1659457182
>>1656865 (OP)
Есть желающие за деньги на карантине тупой не сильно женщине за деньги дистанционно физическая локация спб через дискорд/скайп/tmv etc попреподавать немного питон? Напишем какой-нибудь парсер для соца или еще какую нибудь хуйню ненужную. Одной скучно, основы погромирования вроде есть, работаю в айти.
стучите сюда если вдруг кто то хочет dvachf@rambler.ru или сюда в тг @poplaval
Аноним 16/04/20 Чтв 20:55:21 1659461183
>>1659457
Тащмайор, я понимаю, норматив минимум 10 человек в месяц, но не надо
Аноним 16/04/20 Чтв 23:58:08 1659598184
Аноны, я че то туплю. Почему когда я запускаю .py через консоль открывается пучарм? Я хотел бы скинуть свой скрипт другим людям, и чтобы им не ставить ИДЕ просто скачать питон, поставить библиотеки через пип и запустить скрипт.
Или просто пусть откроют его через IDLE?
Аноним 17/04/20 Птн 00:07:41 1659604185
>>1659598
Потому что ты дурачок и сменил ассоциацию на пичарм.
При нормальной установке всё будет работать как надо.
Аноним 17/04/20 Птн 00:11:44 1659606186
>>1659604
А как диссоциировать? Вдруг консоль понадобится.
Аноним 17/04/20 Птн 00:30:19 1659621187
>>1659606
Можно запускать py script.py
А так надо копаться в реестрах-хуестрах. Ну или переустанови шиндовс питон, он поставит обратно свои.
Аноним 17/04/20 Птн 01:19:45 1659647188
>>1659598
Ты точно пишешь python example.py и у тебя открывается pycharm, а не открываешь файл через консоль?
Аноним 17/04/20 Птн 04:36:48 1659680189
Есть список экземпляров класса, помимо этого эти же экземпляры лежат в двух словарях помеченные определённым образом.
Как организовать удаление экземпляра из списка и всех словарей? Ставить метку в экземпляре, и элементы с меткой удалять при обходе каждого из этих контейнеров?

>>1659606>>1659598
Батник же положи рядом, и всё.
Открываешь свойства файла, там есть "приложение", меняешь его с пучарма на python.exe
Аноним 17/04/20 Птн 09:33:54 1659739190
image.png (23Кб, 615x80)
615x80
Я вас категорически приветствую.
На выходе из функции получается dict с ключами name и description
Аутпут некрасивый.
Как сделать так, чтобы выводилось исключительно name и description без скобок, имен ключей и так далее, только значения?
type(output_movie) - dict
С меня канистра чая!
Аноним 17/04/20 Птн 09:44:16 1659741191
>>1659739
уже пофиксил аутпут :)
Аноним 17/04/20 Птн 09:49:35 1659748192
pooldog.jpg (31Кб, 399x676)
399x676
Аноним 17/04/20 Птн 10:44:01 1659789193
Аноним 17/04/20 Птн 11:10:13 1659821194
>>1659789
нет, иное решение
output_movie['name'], output_movie['description']
Аноним 17/04/20 Птн 11:34:10 1659850195
2.png (270Кб, 1212x856)
1212x856
Зачем нужны 2 и 3 строчки? Разве первая не делает то же самое, что и третья, включая в себя то, что делает вторая?
Аноним 17/04/20 Птн 11:40:40 1659855196
>>1659850
низачем, просто кто-то вот так написал, показалось ему что-то или впадлу было норм сделать

лучше просто оставить import tkinter as tk
а from tkinter import * не делать никогда

Аноним 17/04/20 Птн 11:49:29 1659863197
>>1659855
Понятно. Это вообще из платного курса Дударя скрин. Ну я за него не платил
Аноним 17/04/20 Птн 12:26:44 1659905198
>>1659863
легаси говно бывает и похлеще
Аноним 17/04/20 Птн 12:42:19 1659915199
>>1659863
Думал его курс посмотреть по Python, или Django, и он там так косячил будто неделю назад сам только их изучил (имею в виду бесплатные уроки на ютубе)
Аноним 17/04/20 Птн 12:43:31 1659918200
>>1659850
первая импортирует tk, позволяя вызывать функции типа tk.ttk.shit()
ты не сможешь вызвать ttk.shit() без префикса "tk.", потому что ttk определен внутри tk
чтобы таки смочь, автор импортировал ttk, и теперь в коде можно делать ttk.shit()

третья импортирует всё подряд, включая ttk, так что с ней вторая строчка не имеет ссмысла, но бездумно импортировать всё подряд считается плохо, так как засирает неймспейс и может заоверрайдить какой-то другой функционал, поэтому такие звездочки на позднем этапе заменяют на то, что во второй строке - импорт индивидуальных классов и модулей. либо вообще оставляют один верхний уровень и вызывают всё через.длинную.череду.точек()
Аноним 17/04/20 Птн 12:48:24 1659921201
>>1659850
ебать, почему не киви?
Аноним 17/04/20 Птн 15:02:22 1660034202
>>1659647 >>1659680
Ну да, я долбоеб получается и открывал файл. Сейчас написал через py scriptname и заработало. Спасибо за помощь.

Аноним 17/04/20 Птн 18:46:20 1660224203
Не работает pylint в VSCode в virtualenv. Ниже settings.json виртуального окружения. Кто-нибудь сталкивался с этим?

{
"python.pythonPath": "django_libraryenv\\Scripts\\python.exe",
"python.linting.pylintPath": "django_libraryenv\\Scripts\\pylint.exe",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"emmet.includeLanguages" : {"django-html": "html"},
"[django-html]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "HookyQR.beautify"
},
"python.linting.pylintArgs": ["--load-plugins", "pylint_django"]
}
Аноним 17/04/20 Птн 20:22:37 1660320204
>>1659918
А это не вредно так писать? Ну типа это не вставляет один и тот же код много раз?
Аноним 17/04/20 Птн 21:36:23 1660391205
.png (49Кб, 675x486)
675x486
Аноним 17/04/20 Птн 22:29:26 1660433206
screen.png (21Кб, 559x690)
559x690
сап двачик родной, извините, ради бога, что я к вам такой обращаюсь, препод задал залупу, а я ни в зуб ногой (я ексель-макака, нахуй мне питон не нужен). Курс по питону идет всего вторую неделю, на лекциях одно, а на дз хуй разберешь что. мож кто поможет ? юзаем анаконду, если это имеет какое-то значение https://pastebin.com/eEGECbVM тут образец
Аноним 18/04/20 Суб 12:25:01 1660793207
Аноним 18/04/20 Суб 13:58:23 1660895208
>>1660433
Что поможет? Написать все за тебя бесплатно?
Срыгнись.
Аноним 18/04/20 Суб 14:04:59 1660909209
2MgOcyUoaXE.jpg (134Кб, 720x731)
720x731
>>1660895
я просил написать все за меня? так шо съебись, омежка
Аноним 18/04/20 Суб 14:16:10 1660935210
>>1660909
и кто сказал бесплатно
Аноним 18/04/20 Суб 14:20:05 1660941211
>>1660433
Код говно, в условии нихуя не ясно, у тебя 6 часов что бы переписать условие нормальным текстом и я помогу тебе с кодом.
Аноним 18/04/20 Суб 14:30:54 1660953212
>>1660941
смотри, условия как и код писались индусом, скажи что именно непонятно, попробую разобраться или по крайней мере спросить у препода. Нужно сделать модель симуляции морского порта, в порт заходят корабли трех классов с разной вероятностью и разной временем загрузки\разгрузки. есть еще такой код https://pastebin.com/fXwtC5b9 но не думаю что разница велика
Аноним 18/04/20 Суб 14:37:41 1660955213
>>1660895
Но! Мне (>>1658880) же написали. Правда я сам хотел, да и задача простая.
Аноним 18/04/20 Суб 14:38:13 1660956214
>>1660433
Ну что там сложного-то? Пишешь реализацию очереди, потом симулираешь день за днём:
1 прибыл корабль? ставим в очередь
2 есть корабль на разгрузке? нет: берём из очереди
3 уменьшаем ему остаток разгрузки
4 считаем корабли в гавани
Аноним 18/04/20 Суб 14:42:13 1660961215
>>1660953
Бля. Я делал такое, это ж симулятор очереди. Ищи короче на CodeWars симулятор очереди ну или похуй что угодно со словом очередь вбивай и там будет похожее
Аноним 18/04/20 Суб 14:43:51 1660965216
>>1660956
Скажи, имеет смысл в этом коде копаться, или проще написать все с нуля самому?
>>1660961
оп-па, это уже интересно, ща гляну, дякую
Аноним 18/04/20 Суб 14:47:31 1660968217
>>1660965
>Скажи, имеет смысл в этом коде копаться, или проще написать все с нуля самому?
У тебя задание написать самому.
Аноним 18/04/20 Суб 14:55:07 1660971218
caa54d923fa381c[...].jpg (66Кб, 493x600)
493x600
Все, разобрался, все спасибо за наводки
Аноним 18/04/20 Суб 14:57:52 1660973219
>>1660433
Ничего не понял, надо сделать симуляцию, через random()?

Зачем тут numpy и прочее?

Разгружают одновременно только один танкер?

Для выборки с предписанными вероятностями в питоне есть специальные функции в стандартной библиотеке random
Например, получить корабль случайным образом
random.choices(['super', 'medium', 'small'], [0.4, 0.35, 0.25])
аналогично интервал
random.choices([3, 4, 5, 6, 7], [0.15, 0.25, 0.35, 0.15, 0.10])

Аноним 18/04/20 Суб 15:00:39 1660975220
>>1660973
>Разгружают одновременно только один танкер?
да
>Зачем тут numpy и прочее?
так уж у нас заведено, что на паре объясняют только нампай, а дз дают на работу с пандас или вот например с радномом, при этом не объясняя что такие библиотеки вообще существуют
Аноним 18/04/20 Суб 15:02:31 1660977221
>>1660973
numpy в примере был использован чтобы например сгенерировать время обслуживание корабля, которое увеличивается по экпоненте
Аноним 18/04/20 Суб 16:14:55 1661041222
Вроде научился кое-как пользоваться пистоном и его либами в прикладных задачках (ну или гуглить решения на стековерфлоу)
А теперь хочу реализовать какой-нибудь велосипед, чтобы начать понимать, как вообще проектируется софт и библиотеки.
Например - асинхронный серва чок какой-нибудь! Но беда, я не знаю, что мне теперь читать по этой теме...
Знаю очень поверхностно, как работает http, сокеты ну и asyncio офк. Нужно больше теории, как там внутри устроены эти веб фреймворки и как можно закодировать свой простейший аналог?
Аноним 18/04/20 Суб 16:34:24 1661057223
>>1660975
>так уж у нас заведено, что на паре объясняют только нампай
Возможно что хотят обучить работе с numpy, чтобы потом с ней какие-то более сложные вещи делать. Пусть даже для этих примеров numpy не нужна.

Но знать про такие модули всё равно полезно. Полезны модули random, statistics, itertools - там много чего полезного и интересного. Функционал оттуда часто для учебных задачек дают, проделать самостоятельно полезно, но для продакшен кода штатные библиотеки очень полезно освоить.
Аноним 18/04/20 Суб 16:39:53 1661061224
>>1661041
>Нужно больше теории, как там внутри устроены эти веб фреймворки и как можно закодировать свой простейший аналог?
При развитых макака-скиллах можно закодировать и не понимая. Но имхо лучше разобраться, хотя бы с принципами asyncio и http. Потом легче будет.
Аноним 18/04/20 Суб 17:56:10 1661102225
Аноним 18/04/20 Суб 18:37:03 1661157226
>>1661102
Оо, спасибо
Это прям то, что нужно!
Аноним 18/04/20 Суб 19:16:56 1661205227
>>1659748
Это ты ещё не пробовал OpenCV с киви познакомить. Я так 2 недели проебал, очнулся, а у меня уже андроид студио, глаз дергается, и Java ко мне сзади пристраивается. Больше к этому говну (kivy) не подхожу.
Аноним 18/04/20 Суб 22:13:59 1661378228
Норм начинать изучение питона на code.basics? Прошел больше половины, вроде все норм. Но это проект от хекслета, а его тут вроде как хуесосят, непонятно почему.

Какие книги после этого сайта прочесть? Укус питона начал, вроде норм, но там нет упражнений после каждой темы как обычно бывает в старых книгах по программированию.
Аноним 18/04/20 Суб 22:35:48 1661399229
>>1661378
>Но это проект от хекслета, а его тут вроде как хуесосят, непонятно почему.
Да потому что нахуй не нужны все эти курсы ебучие. Основы легко можно и самому выучить, решая задачки на codewars/leetcode/hackerrank, попутно гугля нужные алгоритмы и разбирая решения от других участников. Выхлопа получишь в несколько раз больше, чем способны дать любые курсы.
И книги по питону для вкатыша тоже нахуй не нужны. Их стоит начинать читать, когда уже имеешь базу и интересуешься конкретными паттернами, например.
Аноним 18/04/20 Суб 22:51:46 1661411230
Анон, подскажи, как описать питонное апи (не рест) на более человекочитаемом и отдельном от кода уровне, чем в docstring. Слышал про IDL, но хз, что это и что с ним делать
Аноним 18/04/20 Суб 23:06:58 1661425231
>>1661411
Не совсем что что тебе нужно. Если хочешь документацию, есть генераторы документации - пишешь в коде комментарии специального вида, а по ним потом специальная программа с генерирует документацию в удобном формате, там html, pdf, что хочешь. С питоном часто используют sphinx
https://www.sphinx-doc.org/en/master/
Аноним 18/04/20 Суб 23:07:33 1661428232
>>1661425
>Не совсем что что тебе нужно.
*Не совсем ясно, что тебе нужно.
Аноним 19/04/20 Вск 00:58:29 1661476233
>>1661399
> основы можно легко изучить codewars/leetcode/hackerrank
на данных ресурсах только задачки на алгоритмы, которые сильно отличаются от задач обычной разработки.
эти задачи не научат тебя правильно разбивать код на модули и функции, скорее всего тебя даже не научат использовать классы, там не используюется многопоточность, многопроцессность или асинхронность, и уж тем более эти ресурсы не дадут тебе никакого представления о веб-программировании.
никаких основ на таких сайтах изучить не получится, особенно если у тебя мало опыта в программировании в принципе.

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

> книги по питону для вкатыша тоже нахуй не нужны; их стоит начинать читать, когда уже имеешь базу
а каким образом ты получишь базу? или по-твоему это априорное знание? я тоже сторонник обучения на практике, но перед этим все равно нужно изучить необходимый минимум теории из курса, статьи, книги или видосика на ютубе
Аноним 19/04/20 Вск 00:59:41 1661477234
>>1661399
Видел у Лутаца очень много упражнений, сам книгу не читал и не советую, т.к. на мой взгляд, там слишком много воды. Но упражнения можно брать и оттуда
Аноним 19/04/20 Вск 01:00:11 1661478235
>>1661378
Видел у Лутца очень много упражнений, сам книгу не читал и не советую, т.к. на мой взгляд, там слишком много воды. Но упражнения можно брать и оттуда
Аноним 19/04/20 Вск 05:42:43 1661512236
307431911633205[...].jpg (1031Кб, 1919x1809)
1919x1809
Вопрос:
Как пройти список с обратной стороны без использования len? Может срез какой-нибудь соорудить?
И есть ли в этом вообще вычислительная польза, если список огромный, а нужный элемент скорее всего ближе к концу?
Аноним 19/04/20 Вск 05:50:37 1661515237
Аноним 19/04/20 Вск 06:10:04 1661516238
>>1661515
Так ты свой OCHE BOLSHOY SPISOK копируешь в обратном порядке.
Есть итератор reversed.
Аноним 19/04/20 Вск 06:12:49 1661517239
>>1661516
То есть [::-1] создаёт новый список, а reversed не создаёт?
Аноним 19/04/20 Вск 06:14:13 1661518240
Аноним 19/04/20 Вск 06:42:28 1661520241
>>1661518
Интересно, что за энтузиаст именно так решил.
А почему тогда срез быстрее работает (если верить интернету)?
Аноним 19/04/20 Вск 06:58:53 1661521242
>>1661520
Как так? Слайсы решают задачу извлечения значений из списков. Реверсед решает задачу обратного итерирования.
Работает не быстрее https://ideone.com/g5MmEK
Плюс проеб по памяти.
Аноним 19/04/20 Вск 07:02:54 1661522243
>>1661521
Просто раньше думал что срезы - это что-то вроде обращения по индексу, а когда вызываешь функцию от чего-то, то интуитивно она должна возвращать новый объект.
Благодарю. Важная инфа на будущее.
Аноним 19/04/20 Вск 07:30:39 1661531244
>>1661522
Можешь баловаться в интерактивной сосноли - там сразу видно результат.
Аноним 19/04/20 Вск 09:08:05 1661563245
>>1661476
Кстати, я классы еще не изучал. Чем они от функций то отличаются?
Аноним 19/04/20 Вск 10:21:03 1661590246

>>1661205
Пробовал.
Ну на десктопе работает. Я просто не знаю что мне делать с этим opencv.
Аноним 19/04/20 Вск 12:45:16 1661748247
изображение.png (5Кб, 292x239)
292x239
>>1661521
Тупла быстрее через ::-1, чем через reversed, кстати, что я с ней не делаю. И ещё она работает хуже листа, что странно, впрочем, не первый раз подобное замечаю.
Я только создание контейнера вынес из функции - замеряются лишь обращения.


Научите массивы numpy использовать. Хули они медленнее в шесть раз работают - если у них прибит тип и размер гвоздями? Я бы понял ещё в два - из-за того что у них природа апитонная, но не в шесть же мать их.
Аноним 19/04/20 Вск 12:57:00 1661753248
>>1661748
>Научите массивы numpy использовать. Хули они медленнее в шесть раз работают - если у них прибит тип и размер гвоздями?
У них дорогая инициализация, конвертация из питона в np массив, на это идёт основное время. Вообще код покажи лучше.
Аноним 19/04/20 Вск 13:22:11 1661767249
изображение.png (5Кб, 251x237)
251x237
>>1661753
Без инициализации и конвертации, просто обход.
https://ideone.com/sWoY9V
Вот с этими числами, а то идеон не пропускал мои. Тут вообще почти в 10 раз замедлилось.

Что любопытно - если использовать np.arange, то работает быстро. А если np.array(range()), то сразу замедляется - хотя массивы полностью совпадают во всех значениях.
Аноним 19/04/20 Вск 14:47:07 1661877250
>>1661767
Модуль dis ответа не даёт, с его точки зрения тут вообще разницы нет, код извлечения данных из np прописывается как-то в более низкий уровень.

Мне кажется, что тут просто идёт постоянное преобразование типов из кишков np в данные питона. Вот это и занимает много времени. np для этого не предназначен совсем. С такими библиотеками другой принцип работы, как с сервисами, ты должен минимизировать количество операций с ними. Ты записываешь туда данные, потом библиотека сама с ними что-то делает, используя специальные функции.

Аноним 19/04/20 Вск 15:05:36 1661902251
>>1661877
>ты должен минимизировать количество операций с ними
Угу, операции над нумповскими массивами нумповскими функциями несравнимо резвее, чем списки.
А вообще это костыль тот ещё - нужно в самом деле минимизировать количество операций с этим, другими словами использовать другой язык, который лучше подходит для обработки массивов данных, чем скриптованное говно без типизации. Вышеупомянутая numba хорошо работает с массивами (чуть ли не лучше чем встроенные нумповские операции), на крайний случай.
Аноним 19/04/20 Вск 16:07:30 1661956252
>>1661902
>другими словами использовать другой язык, который лучше подходит для обработки массивов данных, чем скриптованное говно без типизации
Если вся твоя работа в том, чтобы переложить конкретный тип из одного массива в другой и сделать с ним какие-то стандартные операции - то да, другой язык нужен.

Си для таких вещей хорош и удобен.
Аноним 19/04/20 Вск 17:16:55 1662092253
Чет давно не заходил со своей платиной. Ну шо вкатывальщики, как там успехи? Все еще надеетесь найти петушиную веб галеру за пределами дс? хех)
Аноним 19/04/20 Вск 18:35:39 1662177254
Чем пистон лучше ноджс? Какие задачи он решает лучше? Кроме простоты синтаксиса и прочей хуеты для я девочек?
Аноним 19/04/20 Вск 19:10:45 1662232255
>>1662177
Любую задачу можно решить на любом языке, если язык доступ к системе имеет.

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

Гибкая система передачи параметров в фукции, сравни это с тем, что в JS.

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

Хорошо налаженное межпроцессное взаимодействие.

Масса вещей делается в питоне просто и красиво, а в JS это превращается в страшный код с кучей затычек и уязвимостей.

А в остальном, на ноде тоже можно писать, жить можно.
Аноним 19/04/20 Вск 19:19:40 1662246256
>>1662232
Но почему тогда нода такая популярная?
Аноним 19/04/20 Вск 19:21:13 1662247257
>>1662246
Ты поменьше всяких петухой с ютуба слушай.
Аноним 19/04/20 Вск 19:21:30 1662248258
>>1662246
Ты поменьше всяких петухов с ютуба слушай.
Аноним 19/04/20 Вск 19:33:56 1662260259
Аноним 19/04/20 Вск 19:52:08 1662271260
>>1662177
Учу питон, мне нравится синтаксис всем кроме одной вещи - выделение блоков пробелами. Как по мне скобки удобнее и нагляднее.
Аноним 19/04/20 Вск 20:20:10 1662301261
>>1662177
На питоне можно очень быстро слепить проект и он будет как-то там даже работать, чтобы показать заказчику.
А потом всё равно переписать под ноду как-то так оно обычно и бывает
Ибо нода куда более гибкая и быстрая относительно любых пистоновских веб-фреймворков
Аноним 19/04/20 Вск 20:22:46 1662306262
>>1662301
Ты в слове Java ошибок наделал.
Аноним 19/04/20 Вск 20:37:11 1662324263
>>1662301
Да но нода = JS, а JS - говно. Почему бы сразу не написать на асинхронном питоне
Аноним 19/04/20 Вск 20:40:08 1662326264
>>1662246
потому что один язык для фронта и для бэка. Я пока ещё не видел ни одного чистого бэкенд разработчика на ноде, все так или иначе пришли с фронта
Аноним 19/04/20 Вск 20:52:28 1662344265
>>1662324
Вот и я не понимаю. Он так прекрасен и всеми любим. Но как спросишь, то все сводится к красивому синтаксису
Аноним 19/04/20 Вск 21:12:11 1662352266
>>1662324
Вот когда броузеры нативно начнут питон поддерживать, тогда и будет тебе асинхронный питон
Аноним 19/04/20 Вск 21:18:17 1662358267
678982782.png (12Кб, 710x296)
710x296
Бля, ребят, кто с Postgres ебался, хелпаните
Еще больше месяца поставил себе PostgreSQL в качестве основной БД в одном из Джанговских проектов. Там когда в settings.py задаешь настройки, надо помимо прочего указать пароль ('PASSWORD'), что это блин вообще за пароль? Где я могу его изменить?.. Я управляю своей БД через pgAdmin, там есть мастер-пароль для входа но это не он... Где и как можно этот пароль для БД поменять?
Аноним 19/04/20 Вск 21:27:53 1662364268
>>1662358
Ну так добавь юзера.
Скорее всего, суперюзером нельзя так подключаться, только локально через консоль.
Аноним 19/04/20 Вск 21:30:13 1662371269
>>1662358
Ты пишешь пароль юзера, которого ты указываешь так же в настройках. Если не знаешь пароль postgres то в pgAdmin или в Shell создай нового юзера с нужными правами и на этот раз не проебись с паролем.
Или другой способ погугли как узнать его пароль (но так как ты задал сюда вопрос, я так понимаю, ты не понял, как это сделать)
А еще советую из settings выносить такие данные в отдельный .env
Аноним 19/04/20 Вск 21:54:02 1662387270
7257852875287.png (48Кб, 1008x653)
1008x653
>>1662371
>из settings выносить такие данные в отдельный .env
?
У меня на данный момент так: есть json файл, из которого я достаю этот пароль а также secret_key (на пике переменная POSTGRESS_PASSWORD это значение из десериализированного json). Это норм?

По теме: >>1662358 в pgAdmin нашел эту фичу (блин, что-то я больно редко консолью пользуюсь, и часто полагаюсь на сторонний софт, боюсь мне это акнется)
Аноним 19/04/20 Вск 23:14:26 1662424271
Пытаюсь в L-системы, не могу в ветвление. Как поместить черепаховы координаты и угол в список, а потом извлечь оттуда, когда в правилах '[' и ']' соответственно?
https://ideone.com/EX1Fxz
Аноним 19/04/20 Вск 23:19:28 1662426272
image.png (8Кб, 370x159)
370x159
Пытаюсь тут во всю обмазываться питоновскими штучками
Как можно сократить этот код?
Зачем? -Не хочу инициализировать пустой дикт, хочу сразу вернуть результат.
Знаю, что можно просто вернуть генератор, но конкретно этот пример с енумом и диктом почему-то не получается адекватно под него переписать... И ещё мне интересны другие варианты, с функцией map, например?
Аноним 19/04/20 Вск 23:32:08 1662431273
а, понял, в назначении позиции не по имени черепаху назвал (и раньше надо, и ручку поднимать-опускать ещё). держу в курсе
>>1662424
Аноним 19/04/20 Вск 23:33:00 1662432274
image.png (6Кб, 706x61)
706x61
Аноним 19/04/20 Вск 23:35:12 1662436275
>>1662387
Я думал у тебя все в settings лежит. Да так я думаю без разницы, где ты настройки хранишь, можно даже в .py
На счет этой фичи, в любом случае надо знать пароль. Я бы на твое месте попробовал этого суперюзера удалить в админке, и создать нового такого же. Просто хз, есть ли такая возможность..
Аноним 19/04/20 Вск 23:57:13 1662447276
>>1662301
В чем же гибкость ноды? Про скорость работы все далеко не однозначно, так как зависит от дохуя чего.
Аноним 20/04/20 Пнд 00:00:53 1662450277
Есть инструкции по тому, как менять пароли в постгресе.
Суть в том, что надо в конфиге, что называется
pg_hba.conf
выставить параметры, которые позволяют логиниться с локалхоста без пароля, после рестартануть сервис, зайти, поменять пароль и включить защиту заново
параметр для этого trust называется.

Точную инструкцию не дам, но она находится в гугле за три минуты.
Аноним 20/04/20 Пнд 00:02:35 1662451278
>>1662450
А не проще зайти под пользователем postgres в psql?
Аноним 20/04/20 Пнд 00:03:36 1662454279
>>1662352
Ты фронт от бэка отличаешь, вкатывальщик?

>>1662301
>переписать под ноду
Разочарую тебя, но ноде как и питону далековато до топов. Пыха давно держит олимп первенства в бэке
Аноним 20/04/20 Пнд 00:06:01 1662455280
>>1662326
Я разрабатывал на ноде, не переходя с фронта. Нода довольно удобная штука и функциональная, хорошая платформа, просто сам JS как язык ущербен, нельзя с питоном сравнивать совсем.

Нода реально удобна была для сетевых сервисов за счёт того, что вся на асинхронных коллбэках построена.
Аноним 20/04/20 Пнд 00:06:02 1662456281
>>1662451
Тогда тебе встречный вопрос: как изменить пароль для этого юзера? И как создать нового юзера?
Аноним 20/04/20 Пнд 00:06:44 1662457282
>>1662326
>один язык для фронта и для бэка
чел, ты ничего не знаешь ни о жс, ни о бэкенд разработке
Аноним 20/04/20 Пнд 00:07:05 1662458283
Аноним 20/04/20 Пнд 00:07:07 1662459284
>>1662451
Не пустит так просто. Это известная проблема, сам с ней сталкивался, ничего не помогало, но вот такие решения сработали.
Аноним 20/04/20 Пнд 00:08:05 1662460285
>>1662459
У тебя рут есть? С хуяли не пустит?
Аноним 20/04/20 Пнд 00:08:38 1662461286
>>1662454
Тебе по-моему скучно и ты хочешь боянистые споры очередной раз поднять.
Аноним 20/04/20 Пнд 00:10:00 1662462287
>>1662460
Сама СУБД тебя просто не пустит в настройки базы. Но имея рут пароль, ты можешь изменить параметры доступа через файл pg_hba.conf.
Аноним 20/04/20 Пнд 00:11:28 1662463288
>>1662462
Зачем там что-то менять? Зайди под рутом, потом под постгрес и выполни команды в psql.
Аноним 20/04/20 Пнд 00:16:44 1662466289
>>1662358
Кстати, это пароль не для конкретной БД. И не для самой PostgreSQL. Это пароль твоего юзера (в данном случае "postgres") для подключения к серваку (а их может быть много внутри твоей Postgres)
Аноним 20/04/20 Пнд 00:26:55 1662467290
Пиздец, развели сто постов споров.
Достаточно почитать мануал. Зачем вобще в постгрес лезть наобум?
Юзайте рабоче-крестьянский мускл или вообще скулайт.
Аноним 20/04/20 Пнд 00:41:20 1662469291
>>1662467
>мускл
для быдла

>скулайт
для скота
Аноним 20/04/20 Пнд 01:03:23 1662476292
>>1662455
Сейчас бы считать асинхронный колбэки за плюс, когда во всёх нормальных языках стараются уйти от этой хуйни)))0))

> чел, ты ничего не знаешь ни о жс, ни о бэкенд разработке
Ну давай, тел ми мор.
Аноним 20/04/20 Пнд 01:27:03 1662496293
В Django надо бы иногда генерировать url-ссылки на другие страницы моего ресурса, они должны выглядеть как-то так: http://myresource/slug-field, визуально на странице они должны выглядеть именно так а также быть гиперссылками (тег <a>) и редиректить юзера при нажатии
Вопрос: как их адекватно создавать? Я знаю быдлоспособ: вручную прописать название ресурса myresource, но так у адекватов дела не делаются, это одна из причин почему были придуманы темплейты и джанго-тег url. Создать сами ссылки с его помощью: href="{% url %}" - не проблема. Проблема динамически прописать имя ресурса
Аноним 20/04/20 Пнд 01:30:41 1662497294
>>1662496
Как-то так. Но с зашкварным прописыванием имени ресурса вручную:
<p> The possible url you are searching for is: <a href="{% url 'randomapp:redirect_view' slug_var %}">http://myresource/{{slug_var}}</a> </p>
Аноним 20/04/20 Пнд 01:43:59 1662501295
>>1662496
def get_absolute_url(self):
return reverse("tag_detail_url", kwargs={"slug": self.slug})
Возможно это то, что тебе нужно, можешь как-нибудь изменить под себя
P.S. Метод класса models
Аноним 20/04/20 Пнд 12:56:36 1662752296
Сколько времени понадобится чтобы освоить?
Аноним 20/04/20 Пнд 13:21:10 1662783297
Аноним 20/04/20 Пнд 13:22:46 1662784298
14305130449540.webm (203Кб, 480x360, 00:00:04)
480x360
Аноним 20/04/20 Пнд 13:38:25 1662802299
E3e8Rlx3pRXvf27[...].png (3Кб, 316x58)
316x58
>>1656865 (OP)
Ананасы, с клиент-серверными приложениями незнаком, необходимо запилить два приложения:
1) Сервис, который будет находиться на одной машине, занимать какой-то порт и принимать REST-запросы.
2) Простенькая форма на другой машине, которая будет по клику отсылать REST-запросы к вышеозначенному сервису по его адресу.

Подскажите, пожалуйста, либы (кроме PyQt для формы, его знаю), которые надо курить, от чего отталкиваться, в общем.
Аноним 20/04/20 Пнд 13:39:31 1662806300
>>1662802
Ах да, первый сервис, соответственно, будет после приема отсылать какие-то данные обратно на форму, из которой производился клик.
Аноним 20/04/20 Пнд 13:53:29 1662820301
Аноним 20/04/20 Пнд 14:04:26 1662831302
Аноним 20/04/20 Пнд 14:16:32 1662844303
Какая есть литература для изучения третьего пистона, с упором на практику? Лутц и Dive Into Python вышли почти 10 лет назад, хочется актуальных знаний. Или я ошибаюсь и эти книжки довольно актуальны? Лутца осилить могу, воды не боюсь
Аноним 20/04/20 Пнд 14:26:48 1662854304
>>1662831
И только? Вау, погляжу, как это будет работать, спасибо.
Аноним 20/04/20 Пнд 14:29:47 1662857305
>>1662844
В издании 19 года много пишется про разницу между 2.x и 3.x, и изучается конкретно 3.x
Аноним 20/04/20 Пнд 14:41:41 1662874306
>>1662467
В постгрессе есть удобный для меня инструмент postGIS. Есть ли аналоги для други СУБД?
Аноним 20/04/20 Пнд 14:42:46 1662878307
Аноним 20/04/20 Пнд 14:42:47 1662879308
Screenshot2020-[...].jpg (1014Кб, 1080x2340)
1080x2340
>>1662844
Я читал Stepik параллельно листая книжку Седер Экспресс-курс. ( Хороша уже тем, что честно в первой главе обьясняет почему питон -говно )
Если ты уже программировал, то нафига эта вода?
Аноним 20/04/20 Пнд 14:45:31 1662884309
>>1662857
Ты про Лутца? В шапке нашел издание 2019 года, а Dive Into Python - нет
Аноним 20/04/20 Пнд 14:55:28 1662897310
Делаю задания на code-basics. Зашел с другого компа, логинюсь - пишет неправильно имя\пароль. Делаю восстановить пароль - пишет такого пользователя нет. Я думаю что за хуйня.

А у этих долбоебов оказывается проверка почты сделана чувствительной к регистру. Как такую хуйню могли сделать программисты, продающие курсы?
Аноним 20/04/20 Пнд 15:08:58 1662915311
Аноним 20/04/20 Пнд 15:10:54 1662921312
У меня тут такой вопрос, я раньше писал на шарпе, для учебки, щас учу питон для себя и не очень понимаю, когда нужно юзать геттеры и сеттеры, а когда достаточно оставить поле пабликом. Может кто-нибудь рассказать, кто чего придерживается?
Аноним 20/04/20 Пнд 15:12:38 1662925313
>>1662921
>геттеры и сеттеры
Ты эту хуйню в шарпе оставь
Аноним 20/04/20 Пнд 15:18:40 1662930314
>>1662925
А неправильные значения чисто try - except обрабатывать?
Аноним 20/04/20 Пнд 15:19:51 1662935315
>>1662879
>python не является лидером по количеству библиотек
какого года это говно?

Истинные проблемы пистона в другом: производительность, ебля с версионированием, отсутствие адекватной многопоточности, хрупкость архитектуры (присущая любым динамическим языкам)
Аноним 20/04/20 Пнд 15:23:47 1662940316
>>1662921
У паблика всегда приоритет, но в случаях когда атрибут действительно должен быть приватным, можно поставить сеттер; геттеры есть смысл ставить при комплексной обработке объекта (очевидно)
Хуярить на каждый чих get_voltage(self) или set_voltage(self, volt) - даунизм
годный вариант обозначать геттеры/сеттеры через декоратор property
Аноним 20/04/20 Пнд 15:26:17 1662947317
>>1662935
2019.
Ну же это правда, библиотеки сначала пишутся на си и на яву, а уже потом на питон.
для первого взгляда достаточно тех проблем, которые в книге уже перечислены.
Аноним 20/04/20 Пнд 15:29:54 1662949318
>>1662925
в шарпе вообще-то геттеры и сеттеры не используются, там тоже property
Аноним 20/04/20 Пнд 15:34:16 1662954319
>>1662949
Я это и имел в виду
>>1662940
Понял, спасибо
Про декораторы уже узнал, пока гуглил об этом всем инфу, в любом случае, спасибо
Аноним 20/04/20 Пнд 15:36:56 1662959320
>>1662947
> Ну же это правда, библиотеки сначала пишутся на си и на яву, а уже потом на питон.

Нет, C сейчас - узкоспециализированный язык, поэтому на нём не может быть такого количества библиотек как на питоне.

Для того чтобы узнать сколько библиотек существует для языка достаточно посмотреть количество репозиториев на гитхабе с количеством звезд > 2k
Спойлер: python в топ 2
Аноним 20/04/20 Пнд 15:40:44 1662965321
>>1662820
конечно троллинг, как ты за минуту покурить успеешь, только если невзатяг
Аноним 20/04/20 Пнд 15:52:48 1662983322
15552705388210.jpg (77Кб, 600x800)
600x800
>>1662959
А зачем ты по одному гитхабу делаешь выводы об индустрии ?
Да, гитхаб - единственный достоверный инструмент, но он же не покрывает данные об остальных api.
любая хренюшка, железячка или сервисочек изначально выпускает закрытые api на яве и вероятно, на Си.Тут другая культура.

Ну, мне так кажется.

В любом случае, это второстепенный вопрос.
Аноним 20/04/20 Пнд 15:53:08 1662984323
image.png (70Кб, 490x792)
490x792
image.png (68Кб, 856x556)
856x556
Аноны, что выведут два этих говнокода?
Аноним 20/04/20 Пнд 15:58:50 1662998324
>>1662949
>в шарпе вообще-то геттеры и сеттеры не используются
Я, похожу, работаю в каком-то неправильном проекте.
Аноним 20/04/20 Пнд 16:02:05 1663002325
>>1662984
ты что запустить не можешь и пришел с этим срать в тред?
вообще охуели.
Аноним 20/04/20 Пнд 16:02:23 1663004326
>>1662984
Зачем ты это спрашиваешь?
Аноним 20/04/20 Пнд 16:03:02 1663006327
Аноним 20/04/20 Пнд 16:04:30 1663012328
>>1663006
ты не я, я никого не проверяю
Аноним 20/04/20 Пнд 16:09:02 1663018329
>>1663012
Это ты не я, не лезь.
Аноним 20/04/20 Пнд 16:10:39 1663020330
>>1662998
Видимо. Зачем использовать методы геттеры и сеттеры, если есть свойства?
Аноним 20/04/20 Пнд 16:19:47 1663031331
>>1663020
Разве свойство не задается { get; set; } ?
Аноним 20/04/20 Пнд 16:29:24 1663039332
>>1663031
да, но обычно просто говорят "свойства", геттеры и сеттеры - специальные методы для получения значения (getValue, setValue)
Аноним 20/04/20 Пнд 16:31:36 1663043333
>>1662983
>вероятно, на Си
Низкоуровневая параша для дров и МК. Говорю как чувак, когда-то писавший на нем
Аноним 20/04/20 Пнд 16:40:13 1663051334
Аноним 20/04/20 Пнд 16:55:02 1663071335
>>1662983
Си порой используется вместе с питоном, например для того чтобы вызвать системные библиотеки из кода как будто это функции питона.
Аноним 20/04/20 Пнд 17:58:47 1663116336
Аноны, насколько безопасно работать с БД через треды?
Аноним 20/04/20 Пнд 18:02:29 1663118337
>>1663116
Через локи
а вообще через треды с БД никто не работает, не зависимо от языка, есть специализированные БД, которые это позволяют также есть несколько конкурентных операций как в той же postgres (особая директива CONCURRENT). Целиком на многопоточность хуй перейдешь, скорее всего что-то наебнешь
Аноним 20/04/20 Пнд 18:19:58 1663134338
>>1663118
Просто столкнулся с https://github.com/aio-libs/aiomysql/issues/150 где я так понимаю, что один из разработчиков предлагает прикрутить работу с БД через ThreadPoolExecutor. Насколько эта идея будет хороша?
Аноним 20/04/20 Пнд 18:43:27 1663154339
>>1663134
Полноценной многопоточности там все равно не будет. Не ебу что происходит в майскл, в постгресе имитируется многопоточность засчет кеша и снэпшотов: https://www.postgresql.org/docs/9.1/mvcc-intro.html
Улучшение производительности канешн будет, но не думаю что стоит ожидать всемогущие Треды, бустящие скорость чтения/записи в n раз
Аноним 20/04/20 Пнд 18:51:49 1663158340
Аноним 20/04/20 Пнд 18:57:04 1663165341
>>1663134
ThreadPoolExecutor используют чтобы вызвать синхонный код из асинхронного.

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

Если через него, то твой запрос будет обслужен в отедльном треде, при этом твоя корутина не залочится на этом месте, а просто передаст контекст управления (если здесь что-то непонятно, то тебе нужно почитать что-нибудь об асинхронности). в другую корутину
Аноним 20/04/20 Пнд 19:07:51 1663175342
>>1663154
Понятно, спасибо.
>>1663165
>Если через него, то твой запрос будет обслужен в отедльном треде, при этом твоя корутина не залочится на этом месте, а просто передаст контекст управления (если здесь что-то непонятно, то тебе нужно почитать что-нибудь об асинхронности). в другую корутину
Я понимаю, но вопрос в том, насколько безопасно так делать. Т.е. асинхронные либы я так понимаю, организованы так, что если 2 пользователя одновременно кинут запрос на добавление данных - либа разрулит этот вопрос. Но что будет если такое же произойдет, когда я кину одновременно 2 запроса через треды. но с синхронной либой для работы с БД, как советуют в той проблеме на гитхабе
Аноним 20/04/20 Пнд 19:09:47 1663179343
>>1663175
успокойся, в mysql все нормально. В том числе настоящий MVCC.
этот чувак хочет клиентскую асинхронность ради решения клиентских задач, а не чтобы серверу было легче.
Аноним 20/04/20 Пнд 19:16:31 1663186344
а, прочитал этот issuie.
ну он же closed, нафига ты их читаешь?
Конечно, там в обсуждении не понятно был ли ОП просто криворуким пидором или есть реальная проблема в библиотеке, но закрытые issue читать не нужно.
Аноним 20/04/20 Пнд 19:22:27 1663187345
Господа, у меня к вам вопрос по поводу рекурсивных функций и многопоточности. Сам не программист, но по админским делам пишу всякие скрипты.
Суть такова: есть потрясающе кривое стороннее API, из которого надо брать информацию. Сделал для этого дела несколько однотипных функций, которые проходят запросами, вызывая себя же, если не дошли до конца. Типа пагинации - не знаю, как оно правильно называется.
И все бы хорошо, но последовательно выполняются довольно долго, т.к. информации дофига.
Решил попробовать потоки и запустить их параллельно. Получилось что-то типа такого:

thread1 = Thread(target=self.db_jobs_update())
thread2 = Thread(target=self.db_orders_update())
thread3 = Thread(target=self.db_customers_update())
thread1.start()
thread2.start()
thread3.start()
thread1.join()
thread2.join()
thread3.join()

Но работает все равно последовательно. Предполагаю, что затык именно в рекурсивности. Если я прав, то куда лучше в этом случае копать?
Аноним 20/04/20 Пнд 19:32:04 1663192346
>>1663175
Вообще есть специальные либы известные, aiopg и asyncpg, предназначенные для работы с постгрей через асинкио.

Асинхронность тут нужна для того, чтобы не блокировать выполнение кода, пока база обрабатывает запрос. Ровным счётом та же история, что и сетевыми запросами. Всё безопасно, об этом заботится сама СУБД, вообще в норме там к одной СУБД много клиентов одновременно подключается. Для атомарности группы запросов и придуманы транзакции.
Аноним 20/04/20 Пнд 19:35:31 1663197347
>>1663179
Понял, спасибо, анон
>>1663186
Закрыли нихуя не объяснив, последним ответом сказав, что мб реализуют когда-нибудь.
>>1663192
Я понимаю про либы, то issue как раз для асихронной либы под MySQL было. Спасибо за разъяснение работы СУБД
Аноним 20/04/20 Пнд 19:38:37 1663203348
>>1663187
>thread1 = Thread(target=self.db_jobs_update())
Я почти не умею в питоновскую асинхронность с его граблями из-за GIL. Но что у тебя здесь? Что возвращает self.do_jobs_update() -- это фабрика, что возвращает метод?

Выглядит так, как будто ты сначала считаешь результат, а потом вызывает Thread с результатом. Смущает то, что target должен по определению быть callable, ты должен был бы исключения словить.
Аноним 20/04/20 Пнд 19:39:15 1663204349
>>1663203
>питоновскую асинхронность
fix, многопоточность. Асинхронность наше всё
Аноним 20/04/20 Пнд 19:42:53 1663209350
>>1663203
Вот я долбоеб. Действительно, если указать таргет просто как название функции без скобок, то работает замечательно.
Братишка, спасибо тебе!
Аноним 20/04/20 Пнд 19:48:37 1663220351
15846186256000.png (187Кб, 707x447)
707x447
>>1663197
>Закрыли нихуя не объяснив, последним ответом сказав, что мб реализуют когда-нибудь.
шизиков и дебилов полно. вливайся в опенсорс!
Аноним 20/04/20 Пнд 19:57:47 1663240352
Что нужно знать миддлу? Если задрочил уже миллион бегинер курсов. Я для себя накидал:
Джанга/фласк/торнадо
Метапрограммирование
Асинхронность/многопоточность

Что добавить?
Аноним 20/04/20 Пнд 20:40:21 1663273353
>>1663240
Добавь жабу например.
Никому твой питон не всрался, если ты не датасаентист или околотого.
Питухон это для студентов и школьников и по быстрому скрипты накидать. Деньги за это не платят.
В вебе со своей тормознутой джангой питухон на самом деле тоже не нужен. Твердо и четко, не нужен.
Аноним 20/04/20 Пнд 20:46:18 1663277354
>>1663273
>Добавь жабу например.
Тем более не нужна. Уже даже давно официально прекратили поддержку Java-applet, и разработчики жабы, и браузеры.
Аноним 20/04/20 Пнд 20:47:19 1663278355
>>1663277
какие сука аплеты)))) Ты из 2005 пишешь? явахуе, лучше сиди тихо за умного сойдешь
Аноним 20/04/20 Пнд 20:49:13 1663281356
>>1663240
Торнадо выкинь, уже 2020 как никак, если, конечно, ты не хочешь работать с легаси. Обрати внимание на sanic и aiohttp
Фласк тоже можно выкинуть, очень малый процент компаний используют его в проде, потому что ни батареек джанговских ни производительности
Многопоточность в питоне тоже не в ходу, но знать как всё работает нужно.

Добавь Docker, PostgreSQL, Redis, Celery с RabbitMQ (или другой очередью, но эта самая популярная)
Аноним 20/04/20 Пнд 20:54:28 1663285357
Аноним 21/04/20 Втр 02:21:27 1663460358
3.png (88Кб, 757x747)
757x747
4.png (73Кб, 664x811)
664x811
5.png (45Кб, 1016x558)
1016x558
Всем привет. Я ньюфаг, делаю тут задание небольшое, гляньте плз, норм написал или говно? Работает вроде, кроме случая с "кривым html" конечно.
А так задание просто найти текст в теге с определенным классом, который точно один такой на странице и в тексте только слова разделенные одним или несколькими пробелами.
Аноним 21/04/20 Втр 02:32:45 1663465359
5.png (51Кб, 1047x608)
1047x608
>>1663460
А, ну ещё проверять надо если тег или класс не найден, вот так добавил.
Аноним 21/04/20 Втр 03:10:07 1663469360
>>1663460
re.findall(r'\S+', text) тогда, хотя это не принципиально.
Но что-то слишком простая задачка. Суп точно можно использовать?
Аноним 21/04/20 Втр 03:27:19 1663472361
>>1663469
Да, вообще всё что угодно можно, любой язык итд.
Я просто увидел на hh вакансию "стажер бекэнд-разработчик" неоплачиваемое, без трудоустройства, прост так. Ну откликнулся, написал эйчару в телегу (там было написано написать ей), она мне кинула ссылку на канал, сказала ознакомтесь пока, чем мы занимаемся. А там организация какая-то обучает типа дизайнеров, копирайтеров итд и ни слова про какую-либо разработку вообще. Она мне не пишет, вакансию удалили, ну я и забил.
И сегодня она мне написала, типа ну что, вы почитали? Я говорю, что что-то там ничего похожего на эту вакансию нет, и она мне отвечает, что вот мы хотим запилить "application tracking system", чтобы как-то там автоматизированно принимать резюме от этих дизайнеров и копирайтеров, ещё и через телегу. Я говорю, что это всё круто конечно, но что в этом стажер будет делать? И она отвечает: "мы ожидаем, что он решит эту задачу", лел. Я сказал, что я врядли такое сам запилю вам и она мне вот это задание выслала, сказала глянуть и завтра сказать, как я буду браться или нет.
Но да, чет сомневаюсь, что их задача хоть близко к этому тесту стоит. Хотя я ничего и не теряюи не получаю.
Аноним 21/04/20 Втр 05:17:33 1663483362
Аноним 21/04/20 Втр 07:46:34 1663504363
>>1663483
не за бесплатно а за коммерческий опыт (:
Аноним 21/04/20 Втр 08:35:28 1663518364
>>1656865 (OP)
Такое дело: мне надо бы перенести питон и часть либ на комп, в котором в принципе нет доступа к интернету (pip не сработает). Как мне это лучше сделать?
Аноним 21/04/20 Втр 09:38:08 1663527365
>>1663518
Там где есть инет пишешь pip download, полученные файлы переносишь куда нужно,а там уже pip install :имя файла:
Аноним 21/04/20 Втр 10:15:19 1663533366
Аноним 21/04/20 Втр 10:35:48 1663538367
>>1663504
Это не коммерческий опыт. Какой же он коммерческий, если ты ничего не зарабатываешь? И проект не коммерческий, ты не работаешь в индустрии, не взаимодействуешь с теми, кто умеет работать, не учишься у них.

Тебя просто запрягают на какую-то небольшую задачку забесплатно. Такой же пет-проект.

Всё-таки за такое хоть чего-то должны платить. Ну если тебе, конечно, просто не интересно что-то сделать чисто для тренировки и без отдачи. Так и формируют мировоззрение у прослойки, что зачем платить, всегда можно найти кого-нибудь, кто за бесплатно ради опыта сделает.
Аноним 21/04/20 Втр 10:46:36 1663539368
>>1663518
В принципе достаточно, чтобы на другом компе был установлен питон той же версии, на него скопировать целиком папку с virtualenvs.

Более правильный пусть, это сохранить нужные пакеты в виде файлов
pip download package1 package2
их перенести и там через pip поставить

Разберись с virtualenv, если ещё не разобрался, для твоих задач очень нужно.
Аноним 21/04/20 Втр 12:54:49 1663636369
Аноним 21/04/20 Втр 13:56:21 1663670370
Screenshot2020-[...].jpg (288Кб, 1080x2340)
1080x2340
Screenshot2020-[...].jpg (253Кб, 1080x2340)
1080x2340
Начал учить питон, сам не программист. Тут в телеге по питону задачку подкинули. Попробовал решить сам - получилось. А вот какое решение на сайте канала.

Сильно хуже получилось при условии что я даже про функцию max ещё не знаю? (Сам решение с канала понял не до конца)

Сама задача:

Наибольшее произведение четырех последовательных цифр в нижеприведенном 1000-значном числе равно 9 × 9 × 8 × 9 = 5832




Аноним 21/04/20 Втр 14:05:20 1663679371
Screenshot117.jpg (21Кб, 495x337)
495x337
Да что ж за пиздец то там происходит в этом Киви?
Аноним 21/04/20 Втр 14:10:04 1663681372
>>1663670
В целом то же самое, просто чуть другие конструкции.
Аноним 21/04/20 Втр 14:34:07 1663696373
>>1663670
Оба решения так себе.
То решение, что с max, как минимум ужасно глобальными переменными. Создают две функции, и при этом используют глобальные переменные, это зашквар. При этом перегружено.

То решение, что без max, не на питоне написано. Эти while в связке с i += 1, это не питон, вот это надо чистить. Но мне оно больше нравится из этих двух.


Аноним 21/04/20 Втр 14:41:47 1663703374
>>1663696
Это глобальные константы, а не переменные, что совершенно не одно и то же.
Аноним 21/04/20 Втр 14:49:12 1663706375
>>1663703
В данном контексте ничуть не лучше. Это очень и очень дурной стиль делать функцию зависимой от глобальных констант. И очень дурной стиль выносить то, что по сути переменные, в глобальные константы.

Как, например, будет выглядеть код, если ты хочешь протестировать набор строк, а не одну? Будешь перезаписывать константы?
Аноним 21/04/20 Втр 14:54:45 1663708376
>>1663696
> Эти while в связке с i += 1, это не питон, вот это надо чистить.

Всмысле не питон? А что это? Когда-то давно только чистый С учил.

Как лучше решить эту задачу на питоне?
Аноним 21/04/20 Втр 15:03:19 1663712377
Аноним 21/04/20 Втр 15:04:42 1663713378
>>1663708
не питон в том смысле, что тут так не принято, предпочитают делать не i+=1 а использовать интерфейс итераторов

твое решение (слева) норм

Аноним 21/04/20 Втр 15:05:34 1663714379
>>1663712
тестировать функцию ты как будешь?
Аноним 21/04/20 Втр 15:09:15 1663717380
>>1663714
Разверну дженкинса, естественно.
Аноним 21/04/20 Втр 15:10:08 1663718381
>>1663713
Я в книге укус питона увидел что так все делают (+= -= и другие).

Алсо проясните вот что. Я после того как вычислил длину строки string пытался сделать всю строку как int(string). Но на моменте temp = temp * string питон слал меня нахуй.

Почему из числового набора нельзя взять конкретную цифру? Ведь каждая цифра по идее отдельный символ, не?
Аноним 21/04/20 Втр 15:10:55 1663719382
1.png (32Кб, 403x357)
403x357
>>1663708
Ты пишешь в стиле Си на питоне. В данном случае надо явно использовать range

Как вариант. Не знаю, можно ли сделать более читаемым условие в range, вместо этого len - n + 1

Вопрос, как реагировать, если на входе строка короче 4
Аноним 21/04/20 Втр 15:11:15 1663720383
>>1663717
причем тут дженкинс
код самого теста какой у тебя будет

Аноним 21/04/20 Втр 15:11:59 1663721384
>>1663718
мы нихуя не поняли что тебе прояснить

Аноним 21/04/20 Втр 15:13:41 1663722385
>>1663718
В строке ты имеешь доступ к отдельным символам
string
но ты должен помнить, что отдельный символ - это тоже строка, а не отдельный тип char как в Си и не число.
Где-то намудрил с преобразованием типов или не преобразовал типы.
Аноним 21/04/20 Втр 15:15:31 1663723386
>>1663720
Ну как при чём? Как ты вообще без CI что-то делать будешь? Плохой стиль.
Аноним 21/04/20 Втр 15:16:41 1663724387
Аноним 21/04/20 Втр 15:17:53 1663725388
Аноним 21/04/20 Втр 15:20:49 1663727389
>>1663719
Что значит явно использовать range?

У тебя ошибка, i:i+4 не будет работать, надо i:i+n. По идее строка и число может быть любое, я забыл сделать проверку что n > string.
Аноним 21/04/20 Втр 15:22:32 1663728390
>>1663721
Почему из числа a = 12345 я не могу взять a?
Аноним 21/04/20 Втр 15:26:01 1663731391
>>1663725
О чём вы?
Код, который приведён на канале, говно. Авторы сами не умеют программировать, Си-анон лучше пишет. Не нужно на этом канале учиться, надо другое место найти.

Я бы посоветовал Си-анону книжку Intermediate Python, в шапке в хранилище она есть, на русском языке, меньше 100 страниц. Там как раз про конструкции питона специфичные, которых нет в других языках.
Аноним 21/04/20 Втр 15:27:20 1663732392
>>1663727
>i:i+4 не будет работать, надо i:i+n
Да, признаю, тупой косяк, не покрытый тестами.

Аноним 21/04/20 Втр 15:28:08 1663733393
>>1663731
>Код, который приведён на канале, говно. Авторы сами не умеют программировать, Си-анон лучше пишет. Не нужно на этом канале учиться, надо другое место найти.
все так Анон
чувак с дженкинсом просто тролит
Аноним 21/04/20 Втр 15:29:35 1663735394
>>1663727
>Что значит явно использовать range?
В смысле что в этом случае скорее всего надо использовать range. Или какой-нибудь другой специфичный итератор, наверняка в itertools что-нибудь есть для этого, но заведомо не while в том виде, как у тебя.
Аноним 21/04/20 Втр 15:37:26 1663737395
>>1663735
А чем плох while? Это же базовая вещь, которая везде норм работать будет.
Аноним 21/04/20 Втр 15:42:32 1663743396
>>1663731
>Intermediate Python
так а на русском это как будет называться?
Аноним 21/04/20 Втр 15:46:38 1663746397
>>1663737
Читаемость ухудшается и логика кода страдает, дополнительные строки кода, которые требует внимания.

Ну тебя тут сначала i=0, потом сам while, потом отдельно i+=1
Фактически ты имитируешь сишный for(i=0; i<xxx; x++), в сях тоже было бы неправильно такой while вместо for делать. Три строчки кода вместо стандартной одной.

Просто это дурной стиль, так работает, но, реально ты имитируешь итератор стандартный. while нужен тогда, когда у тебя i увеличивается уже как-то более хитро в теле цикла, когда стандартными средствами ты не можешь обойтись.
Аноним 21/04/20 Втр 15:47:06 1663747398
>>1663743
Так файл называется. А сама книга на русском.
Аноним 21/04/20 Втр 15:52:22 1663752399
7bf329cbb6ff243[...].jpg (15Кб, 512x288)
512x288
Аноним 21/04/20 Втр 15:54:32 1663754400
>>1663747
ясно. выглядит охуенно, как раз то чего мне не хватало. спасибо, анон!

чем удобно читать .epub на виндовом десктопе? calibre - какая-то крайне странная программа
Аноним 21/04/20 Втр 16:02:51 1663762401
Питонач, как мне подружить джангу с vue.js? и вообще нахуя мне это нужно?
Аноним 21/04/20 Втр 16:02:53 1663763402
>>1663731
> Не нужно на этом канале учиться, надо другое место найти.
Я чёт вспомнил как на яндексе учился практикум или что-то типа того на петон разработчика, и я написал код в меньше строк, чем правильный ответ в задании. В итоге начал искать группу ВКантакте про петон, взял рандомного чувака и спросил, что за хуйня происходит, он сказал что в яндексе сидят имбецилы.
Что происходит?
в питон так и не вкатился
Аноним 21/04/20 Втр 16:04:40 1663764403
>>1663746
Понятно. А итератор - я так полагаю, это функции, которые с каким-то шагом выполняют действия? Ну тут мои полномочия все, пойду дальше книгу читать, походу я до стандартных функций питона ещё не дошел.
Аноним 21/04/20 Втр 16:09:10 1663766404
>>1663763
Ты каложуй, вот что происходит.
Аноним 21/04/20 Втр 16:10:32 1663767405
>>1663762
>джангу с vue.js
Смотря что тебе надо - если маленький кусок, можешь просто скриптом подключить и сделать что надо. Если полноценный проект с СПА - собираешь нодой проект на Вью, указываешь путь на index.html и раздаешь сам фронт как статику. Сам вью общается с беком через запросы к нужным url'ам бека. там чуть сложнее, но это в кратце
>вообще нахуя мне это нужно?
Более красивый и разнообразный фронт, чем на стандартных темплейтах; универсальный бек- можешь написать любой другой фронт
Аноним 21/04/20 Втр 16:21:45 1663770406
>>1663767
а производительность можно с такого подхода увеличить? Если джанга не всю херню будет делать, а только бек? Где можно почитать ,как сделать этот полноценный проект с спа? и что такое это спа ?
Аноним 21/04/20 Втр 16:35:20 1663773407
Такой тупой вопрос - а с помощью питона можно в теории сделать поиск по какому-то конкретному новостному сайту не имея к нему доступ? Ну там поиск ключевых слов по странице/названиям ссылок на странице?
Аноним 21/04/20 Втр 16:35:56 1663774408
Аноним 21/04/20 Втр 17:04:16 1663789409
>>1656865 (OP)
Вот объясните нубу, как правильно выбрать архитектуру для своего проекта? Допустим, я хочу сделать что-то типа MUD с помощью бота в телеге. Нужно ли мне для этого писать сервер, api? Или достаточно простозахардкодить функции в боте?
Аноним 21/04/20 Втр 17:51:17 1663817410
>>1663789
Подскажите какую функцию юзать, заебался тупить.
Дана ебанина из символов: c512a26bb447cfe571af077d45c8adf40ef6abd945b4b1184479339dd9d23aa3a50050a13983f84bd9f3a5786662ffd93b285e047e3fc53cbf50cfa29d2638bd

Надо получить разбитие по 8 символов, чтоб выводилось в столбец:
c512a26b
b447cfe5
71af077d
45c8adf4
0ef6abd9
45b4b118
4479339d
d9d23aa3
a50050a1
3983f84b
d9f3a578
6662ffd9
3b285e04
7e3fc53c
bf50cfa2
9d2638bd

Как эту ебанину сделать, у меня мозг с жтими циклами атрофировался.
Аноним 21/04/20 Втр 18:03:15 1663831411

>>1663754
Чекни stduviewer, в универе всю литературу в нем открывал.
Аноним 21/04/20 Втр 18:07:08 1663836412
>>1663817
Делай срез на 8 символов, добавляй его в новый список и удаляй эту часть из строки а цикле.
Аноним 21/04/20 Втр 18:09:55 1663839413
>>1663817
sosi = 'c512a26bb447cfe571af077d45c8adf40ef6abd945b4b1184479339dd9d23aa3a50050a13983f84bd9f3a5786662ffd93b285e047e3fc53cbf50cfa29d2638bd'
for i in range(0, len(sosi), 8):
print(sosi[i:i+8])

>>1663770
SPA - single page application, читай в гайдах и прочих уроках. С СПА - это было как пример, можешь написать используя любой другой подход.
Аноним 21/04/20 Втр 18:29:09 1663848414
>>1663839
>single page application
объясни, а для чего нужен Django REST framework? Вот делаю я допустим борду, типа двача и чем, он будет полезен? прост пишу проектик свой, не борду и думаю какой стек максимально круто юбзать, чтобы потом и показать было не стыдно. Пока что сделал модели для бд, другие штрихи навел
Аноним 21/04/20 Втр 18:50:28 1663857415
>>1663848
> для чего нужен Django REST framework
Чтобы сделать РЕСТ без всякой лишней ебанины
кэп
>чем, он будет полезен
Тем, что ты разделяешь свой сайт на 2 сущности. Захочешь фронт поменять - меняешь только фронт, захочешь мобильное приложение - пилишь только фронт.
Именно DRF дает тебя дохуилион различных возможностей, чтобы ты не писал свой костыль для каждого пука. Хочешь регистрацию - вот тебе хуйня в 3 строки, хочешь быстро выдавать данные - вот тебе сериалайзер, вот вьюшка и т.д.
Аноним 21/04/20 Втр 18:56:24 1663861416
>>1663857
понял, спасибо, броу! Это апи, через которое все мои штуки буду работать.
Аноним 21/04/20 Втр 18:59:19 1663864417
>>1663817
Тебе надо просто вывести по 8 символов или где-то их еще хранить?
Аноним 21/04/20 Втр 19:00:59 1663867418
>>1663839
3 атрибута у range? Это как и нахуя?
Аноним 21/04/20 Втр 19:05:54 1663872419
>>1663867
Очевидно потому что могу
Аноним 21/04/20 Втр 19:06:21 1663873420
>>1663867
Там та же нотация, что в слайсах.
Аноним 21/04/20 Втр 19:09:36 1663877421
>>1663867
3-ий аргумент - шаг в range, а нахуя додумай сам
Аноним 21/04/20 Втр 20:14:35 1663926422
>>1663839
Спасибо, а то я дебич
Аноним 21/04/20 Втр 20:55:29 1663975423
pandas
Аноним 21/04/20 Втр 21:08:47 1663992424
Как сделать, чтобы Python загружал свои модули не из папки например /usr/local/lib/python3.8, а из например zip-архива?
Аноним 21/04/20 Втр 22:12:12 1664048425
>>1659457
Тьотя покажите ваш бэкэнд...
Аноним 21/04/20 Втр 22:15:49 1664051426
>>1663992
> из зип-архива
Использовать библиотеку для архивации, распаковать в $TEMP (лялекс) или %TEMP% (шиндовс) и импортировать либу оттуда не вариант?
мимо не умею программировать
Аноним 21/04/20 Втр 22:17:55 1664052427
Помогите выбрать направление плез. Мне сейчас 18 лет и хочу либо в геймдев, либо что-то с вебом. Только без рофлов, по серьезному.
Аноним 21/04/20 Втр 22:52:03 1664081428
>>1664051
Я скорее изнасилую дом престарелых, чем так сделаю.
Аноним 21/04/20 Втр 23:07:50 1664094429
>>1664081
А ты думаешь библиотеку в зип архиве можно прочесть, не распаковав? Как ты себе это представляешь?
а как ты дом изнасилуешь...
Аноним 21/04/20 Втр 23:17:35 1664106430
>>1664052
>хочу либо в геймдев
>без рофлов
Выбери что-то одно. А так выбирай ML.
Аноним 21/04/20 Втр 23:18:30 1664108431
>>1664094
Можно ли не в %TEMP%, а в память процесса распаковать? Я просто хочу один экзешник чтобы в нем все было.
Аноним 21/04/20 Втр 23:31:31 1664122432
>>1664108
> Можно ли не в %TEMP%, а в память процесса распаковать?
Бля, а я и забыл, что у всех темп на жёстком, а у меня на рамдиске, сорян.
> Я просто хочу один экзешник чтобы в нем все было.
У вас там такая хорошая документация в петоне https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.read мне очень нравится. Вот эта штука распаковывает в оперативу.
Илм просто pip install auto-py-to-exe эта программа умеет компилировать (компилировать ли, учитывая что это питон?) весь твой код в один exe и я так пынемаю библиотеки там будут, но тебе лучше самому потестить.
Аноним 21/04/20 Втр 23:41:45 1664128433
>>1664122
А как сделать, чтобы уже Py_Initialize() брал эти файлы из оперативы, а не с твоего рам-диска?
Аноним 21/04/20 Втр 23:43:29 1664131434
Что поштудировать из фронт-энда (жс), чтобы адекватно представлять себе фулл-стак разработку в вебе? Синергию бэка и фронта так сказать
Глубоко залезать смысла нет, но чтобы была возможность строить годную обвязку вокруг restful бэка? в жс-треде какие-то дегроды сидят и ничего толкового не советуют
Аноним 21/04/20 Втр 23:49:05 1664139435
>>1664131
читай книгу чувака из джаваскрипт ру, а потом офф доку любого фрейма. тот тред js мертв, там одни собаки гнилые. А тут интеллектуалы, которые всегда помогут советом/ответом
Аноним 22/04/20 Срд 00:24:18 1664153436
Аноним 22/04/20 Срд 00:44:39 1664162437
>>1664052
на геймдев мало вакансий и питон там не нужен
Аноним 22/04/20 Срд 00:57:59 1664167438
>>1663460
ебать, если такие "тестовые" дают вкатышам, то нахуя я сижу и дрочу всякие постгресы с редисами...
пойду тоже украду сделаю классное резюме и начну спамить всем подряд!
Аноним 22/04/20 Срд 01:22:30 1664174439
>>1664167
>пойду тоже
Иди, сделай тестовое, и тебе дадут возможность реализовать из задачу и получить ценный коммерческий опыт забесплатно
Аноним 22/04/20 Срд 01:45:04 1664180440
Двач, я балдаеб, уже минут 20 не могу решить, казалось бы простую задачу для нюфагов. Хелп.

Программа должна считать, сколько раз в строке S встречается подстрока "12". Какой оператор надо вставить вместо многоточия? Вводите ответ без пробелов.
https://ideone.com/SxBeg6

Аноним 22/04/20 Срд 01:47:27 1664181441
>>1664180
Я понимаю, что там будет p = ..., и это все, что я понял
Аноним 22/04/20 Срд 01:54:03 1664183442
Аноним 22/04/20 Срд 01:58:39 1664185443
>>1664183
Мне именно тот код дополнить надо, если бы я сам писал, то так бы и сделал
Аноним 22/04/20 Срд 02:04:41 1664187444
>>1664180
>>1664185
p = S.index('12')
ненаход дает -1, на что и проверка.
Аноним 22/04/20 Срд 02:11:42 1664189445
Аноним 22/04/20 Срд 02:32:41 1664196446
>>1664187
>>1664189
Не допер сразу. Видимо, пора спать уже
Спасибо
Аноним 22/04/20 Срд 09:32:27 1664273447
Сап. Захотелось написать Game of life, с возможностью паузы и добавления новых живых клеток мышкой. Но так как гуи я почти не делал и вообще дно в этом плане, то есть пара вопросов:
1. На чём будет проще всего написать: PyGame, PyQt, Tk или вообще EasyGui какой-нибудь?
2. Я вот понимаю, что для игры нужна будет сетка, какой-то двумерный массив или что-то в этом духе. В голове я понимаю как это работает, типа вот каждая клетка в сетке отдельно работает, проверяется на живую/мертвую и тд и тп. Но у меня никак не складывается в голове реализация всего этого. Как это поле показать на экране? Как сделать так, чтобы каждая клетка на этом поле отдельно реагировала? Вот реализацию вообще не могу понять, как ни стараюсь.
Аноним 22/04/20 Срд 10:02:54 1664283448
>>1664153
>Pyinstaller, не?
Дык он делает так же, как мне анон выше советовал - просто распаковывает все в темпы.
Аноним 22/04/20 Срд 10:22:48 1664291449
>>1664273
Ситуация хранится и обрабатывается в структуре, потом отрисовывается на канвасе или там на каких-то контролах.
Клики можно ловить и получать координаты.
Аноним 22/04/20 Срд 10:27:07 1664292450
Я тут писал про перенос пакетов Питона: >>1663518

В общем, запилил виртуальную среду и перенес папку venv с одного пк на другой (оба под виндой). Только вот как мне добавить эту виртуальную среду в PyCharm?.. После меню add new environment он мне кидает какую-то ошибку SDK и заодно утверждает что это Питон 2.7 (хотя он 3.7 ...)
Как подключить эту venv в качестве интерпритатора проекта?
Аноним 22/04/20 Срд 10:47:59 1664296451
>>1664283
Я не советовал, я просто предположил, что так можно
Аноним 22/04/20 Срд 10:59:51 1664299452
>>1664292
Ты ебанутый? Ну вот честно, папки он блядь переносит. Виртуальное окружение это не та вещь, где ты можешь просто перенести папку и думать что все будет окей. По твоему когда ты устанавливаешь пакет он просто разархивируется? Нет. Он конкретно под твою систему устанавливается, пишет всякие константы, которые зависят конкретно от твоей машины. Я тебе более того скажу, если ты venv передвинешь из одной папки в другую он сломается. Так что давай, кабанчиком скачиваешь все пакеты и локально их устанавливаешь и сюда больше не пишешь свои тупые вопросы.
Аноним 22/04/20 Срд 11:04:59 1664303453
>>1664292
Ебать ты, я прям представил себе линуксоида который добавляет файлы в /usr/bin чем-то кроме пакетного менеджера
Аноним 22/04/20 Срд 11:09:44 1664309454
>>1664292
Vscode автоматом новые env подхватывает, хы
Аноним 22/04/20 Срд 11:26:00 1664315455
>>1664299
>Я тебе более того скажу, если ты venv передвинешь из одной папки в другую он сломается.
Открой для себя опции --relocable и, для некоторых других случаев, --alwayas-copy.

--always-copy недостаточно для полной переносимости, хоть там в окружение очень много чего копируется, но если та же версия питона в системе установлена, но переноситься должно.

Это неправильный путь, конечно.
Аноним 22/04/20 Срд 13:05:12 1664382456
Посоны, твердо решил носить Черный Пояс, но его от него меня отделяет совсем чуть чуть - я не могу установить модули от codewars!

как это дерьмо задумано?

Вот дока : https://github.com/Codewars/codewars.com/wiki/Codewars-Python-Test-Framework-V2

захожу на страничку и вижу шаблон задания :
def create_phone_number(n):
#your code here

внизу есть шаблон тестов:
Test.describe("Basic tests")
Test.assert_equals(create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]), "(123) 456-7890")
Test.assert_equals(create_phone_number([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), "(111) 111-1111")
Test.assert_equals(create_phone_number([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]), "(123) 456-7890")
Test.assert_equals(create_phone_number([0, 2, 3, 0, 5, 6, 0, 8, 9, 0]), "(023) 056-0890")
Test.assert_equals(create_phone_number([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), "(000) 000-0000")

как локально эти же строки протестировать?
делаю так :
import codewars_test - без ошибок
Ну а как создать объект? или у них тут метод класса ?
или они вообще пидоры и тестируют старым фремворком которому два года?
Аноним 22/04/20 Срд 13:16:28 1664386457
15533354161420.mp4 (879Кб, 1920x1080, 00:00:03)
1920x1080
Аноним 22/04/20 Срд 14:49:21 1664457458
Немного не по теме вопрос.
Допустим я изменил файл_1 и файл_2.
Как я в комментарии к коммиту могу написать отдельно, что я сделал в файле_1, и отдельно, что я сделал в файле_2?
Или придется их по-отдельности коммитить?
Аноним 22/04/20 Срд 14:54:40 1664461459
>>1664457
разумеется, единое изменение в разных файла не следует коммитить двумя коммитами в разных файла.
коммит - смысловая единица развития кода.
Аноним 22/04/20 Срд 14:58:00 1664463460
>>1664457
Сначала создаешь отдельную ветку для изменений первого файла, называешь ветку как рефакторинг_файла_имя_файла, в нее заливаешь изменения этого файла. Так же поступаешь со вторым файлом.
Потом объединяешь ветки, в коммите пишешь причину объединения как общую суть твоих изменений.
В итоге мержишь изменения в мастер.

Я понимаю что по началу может показаться довольно сложным, но лучше сразу привыкать так делать, чтобы на работе не бояться работы с гит.
Аноним 22/04/20 Срд 15:09:40 1664469461
Аноним 22/04/20 Срд 15:11:44 1664470462
image.png (3Кб, 362x112)
362x112
Почему после точки не выдает методы экземпляра объекта в автодополнение?
Аноним 22/04/20 Срд 15:30:38 1664501463
Аноним 22/04/20 Срд 15:33:11 1664507464
>>1664463
ты тралишь?
и что потом происходит с этим ебическим набором бесполезных имен веток ? они не мешаются в дальнейшем?
Почему нельзя просто ебануть коммит в dev?
Аноним 22/04/20 Срд 16:07:13 1664549465
Есть скрипт, проходящийся по текстовому файлу регексами, находящий нужные фразы и записывающий их вместе с их координатами (просто индекс первого символа строки) в текстовом файле внутрь массива. Есть ли питоновские библиотеки или, может быть, встроенный функционал, позволявший бы теперь взять - и заменить найденные строки на другие, мануально задаваемые?
Погуглил - немного удивился, что 100% ответов на похожие вопросы предлагают какие-то несусветные костыли, хотя, казалось бы, задача должна быть распространённой. Может, кто-то работал с чем-то подобным?
Аноним 22/04/20 Срд 16:17:42 1664564466
Аноним 22/04/20 Срд 16:27:05 1664580467
>>1664564
Мне не подойдёт, потому что replace() возвращает целиком изменённую строку, а у меня в среднем файлы на 100k символов и в каждом по 80-100 подстрок для замены. Тут нужно как-то напрямую в файле аппендить новую строку по индексу, удаляя старую.
Аноним 22/04/20 Срд 16:54:14 1664635468
>>1664580
открыть файл в append моде и гулять по нему seek()?
Аноним 22/04/20 Срд 17:09:07 1664662469
В чем разница между стандартным драйвером для БД и ODBC драйвером, кроме подключения последнего через жопу?
Аноним 22/04/20 Срд 17:13:07 1664675470
>>1664662
В смысле вот есть mysql-connector-python, а есть pyodbc, и никаких бенчмарков для последнего, никаких преимуществ не написано. Нахуя оно надо?
Аноним 22/04/20 Срд 17:13:14 1664676471
>>1664635
Тут уже возникает вопрос, как аппендить по этой позиции.
Наверное-таки, придётся делать неэффективный костыль через replace().
Аноним 22/04/20 Срд 17:47:02 1664739472
Анонче, я не программист, но иногда по работе пишу простейшие скрипты. Сейчас чет застрял, нужна ваша помощь. У меня есть большой csv-файл с содержимым datetime - число, типа вот такого:
2020-02-14 00:00:00 25
2020-02-14 01:00:00 27
2020-02-14 02:00:00 26

Таких значений у меня на несколько месяцев, и мне нужно посчитать среднее количество за час дня по этим данным, т.е. если 02-14 в 00:00:00 было 25, а 02-15 в 00:00:00 было 35, то по итогу за время 00:00:00 мне нужно иметь 30. Как это сделать?
Аноним 22/04/20 Срд 17:47:38 1664741473
>>1664739
\t откуда-то вылезло, там пробел:
2020-02-14 00:00:00 25
2020-02-14 01:00:00 27
2020-02-14 02:00:00 26
Аноним 22/04/20 Срд 17:56:36 1664751474
>>1664739
> среднее количество за час дня
Нихуя не понял
Аноним 22/04/20 Срд 18:02:57 1664757475
>>1664751
Ну в дне 24 часа, каждому часу соответствует некое количество. В 00:00 часов - 20, в 01:00 час - 25 и т.д.
У меня таких дней несколько, и мне нужно посчитать среднее значение за каждый час суток с учетом всех дней.
Аноним 22/04/20 Срд 18:08:03 1664765476
Чего блядь.webm (173Кб, 640x360, 00:00:01)
640x360
>>1664757
>В 00:00 часов - 20, в 01:00 час - 25 и т.д.
Аноним 22/04/20 Срд 18:09:29 1664767477
>>1664757
using System;
using System.IO;
using System.Linq;

namespace laba1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var data = File.ReadAllLines(@"c:\dev\data.txt").Select(x => x.Split().ToArray()).GroupBy(x => x[0])
.Select(x => Tuple.Create(x.Key, x.Average(y => long.Parse(y[2])))).ToArray();
foreach (var datum in data) {
Console.WriteLine($"{datum.Item1}, {datum.Item2}");
}
}
}
}
Аноним 22/04/20 Срд 18:13:49 1664772478
image.png (89Кб, 565x1605)
565x1605
>>1664765
Бля, кто здесь тупой, ты или я?
Есть пикрелейтед таблица. Нужно получить среднее от суммы рядов 1, 25, 49, 73, 97 - это будет среднее количество в 00:00 каждого дня.
Нужно получить среднее от суммы рядов 2, 26, 50, 74, 98 - это будет среднее количество в 01:00 каждого дня.
Нужно получить среднее от суммы рядов 3, 27, 51, 75, 99 - это будет среднее количество в 02:00 каждого дня.
Аноним 22/04/20 Срд 18:15:27 1664774479
image.png (45Кб, 1054x466)
1054x466
>>1664772
Тогда так
using System;
using System.IO;
using System.Linq;

namespace laba1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var data = File.ReadAllLines(@"c:\dev\data.txt").Select(x => x.Split().ToArray()).GroupBy(x => x[1])
.Select(x => Tuple.Create(x.Key, x.Average(y => double.Parse(y[2])))).ToArray();
foreach (var datum in data) {
Console.WriteLine($"{datum.Item1}, {datum.Item2}");
}
}
}
}
Аноним 22/04/20 Срд 18:18:39 1664780480
>>1664774
Я не знаю си, мне знаком только питон.
Аноним 22/04/20 Срд 18:19:34 1664783481
image.png (28Кб, 979x512)
979x512
>>1664780
Это C#, у меня нет интерпретатора питона под рукой. Но это решение твоей проблемы, бро
Аноним 22/04/20 Срд 18:26:09 1664802482
>>1664783
Ладно, спасибо, прогоню им.
Аноним 22/04/20 Срд 18:36:05 1664830483
image.png (17Кб, 517x362)
517x362
>>1664739
Что-то вроде этого.
Аноним 22/04/20 Срд 18:42:55 1664837484
>>1664830
Спасибо за помощь, но там нет date и time, это одна колонка datetime напрямую из БД, т.е. идет 2020-04-14 00:00 | 24.
Аноним 22/04/20 Срд 18:43:22 1664838485
>>1664837
Я обосрался, там сплит по пробелу. Тогда все правильно. Спасибо!
Аноним 22/04/20 Срд 18:49:12 1664842486
@dataclass -- это как в других языках struct?
Аноним 22/04/20 Срд 19:32:56 1664872487
>>1656865 (OP)
Летом будет год как вкатился в backend разработчики, стек Python/Django/Postgresql, опытные анончики посоветуйте куда дальше двигаться, как быстрее стать мидлом? Пока могу по ТЗ написать сервис (Rest/Soap) или модуль какой-нибудь, есть опыт интеграции с разными сервисами. Куда двигаться дальше?
Аноним 22/04/20 Срд 20:04:35 1664902488
>>1664507
>и что потом происходит с этим ебическим набором бесполезных имен веток ?
Зачем их хранить? Удаляешь.
Аноним 22/04/20 Срд 20:14:14 1664909489
>>1664872
>как вкатился в backend разработчики
>>1664872
>как быстрее стать мидлом
А чего не сеньером сразу после школы \ завода \ нужное подчернуть?
Аноним 22/04/20 Срд 21:46:36 1664978490
>>1664842
это как в других языках dataclass
Аноним 22/04/20 Срд 22:11:13 1664992491
Аноним 22/04/20 Срд 22:24:37 1665000492
>>1664549
Ну блин, тут безотносительно Питона как бы. У тебя есть координаты кусков в файле, которые надо заменить на что-то другое. То есть в принципе у тебя задана последовательность кусков из исходного файла оставить-заменить-оставить-заменить-оставить. Просто пробегаешь их в цикле последовательно. То, что оставить, пишешь во второй файл, вместо того, что заменить, пишешь во второй файл то, на что заменить.
Аноним 22/04/20 Срд 22:42:32 1665009493
>>1656865 (OP)

Бот телеграма BotFather

ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None))

В Код писал соксы и прочее не помогало особо.

TLS 1.2 Как то ещё может быть связана?
Аноним 22/04/20 Срд 22:58:50 1665021494
>>1664580
>Тут нужно как-то напрямую в файле аппендить новую строку по индексу, удаляя старую.
Невозможно, потому что если ты вставляешь какие-то данные иного размера, чем были, то тебе нужно сдвигать все данные, что записаны после. А это возможно только перезаписью, причём даже с перезаписью много нюансов.

Решение тебе уже предложили, поточно читать и записывать в новый файл. Но, если у тебя файлы ВСЕГО по 100к символов, но проще всё в памяти делать. Блин, это и 20 лет назад было проще, когда у компов было в 1000 раз меньше оперативки, чем сейчас.
Аноним 22/04/20 Срд 23:16:13 1665031495
>>1665009
Удаленному хосту что-то не понравилось и он закрыл сокет. Может версия протокола не понравилась, тут надо как-то логирование сделать и посмотреть. В реализациях TLS там же вроде настраивается, какие протоколы можно использовать.
Аноним 23/04/20 Чтв 01:39:04 1665073496
>>1664167
Да это тестовое для бесплатного задания за нихуя. Прост я сам не умею себе задачи придумывать, а так хоть мотивация небольшая будет пописать код, будто я рил погромист. Хотя она всё ещё не ответила, мб и его хуево сделал, лел.
Аноним 23/04/20 Чтв 02:31:12 1665081497
>>1665073
Лел, прямо сейчас ответила, мб в треде сдит.
Написали, что вместо result = re.sub(' +', ' ', text).strip().split() можно было бы использовать просто result = text.split() и что я не догадался выводить какое-нибудь уникальное сообщение, когда в теге вообще нет текста. И что писать "Код не валиден" не красиво.
Так что не заслужил бесплатного задания.
Аноним 23/04/20 Чтв 05:54:19 1665134498
Посоветуйте чат-бота для твича. Пробовал twitchio - нихуя не получилось его запустить. Данные все верные указываю, на них не ругается, но ругается на тайм-аут соединения и что к каналу подключиться не может.

Сойдут и боты с самым базовым функционалом.

Алсо, что лучше использовать из виртуального окружения - virtual env или pip env? Последний не понял как настраивать в PyCharm, в консольке вроде настраивается, pip файлы создаёт.
Аноним 23/04/20 Чтв 10:35:05 1665201499

>>1665009
Ты хоть через прокси это делал?
Аноним 23/04/20 Чтв 11:38:15 1665234500
>>1664549
А ниче что есть re.sub ?..
Аноним 23/04/20 Чтв 11:46:30 1665240501
>>1664767
ебать дотнетчик порвался.

обесните,что такого крутого в этом ихнем linq, что некоторые питонисты, пытаются эту поеботу переписать в питоне?
есть как минимум три модуля имитирующих linq.

Но как же intertools.groupby и прочие ?
Аноним 23/04/20 Чтв 13:13:30 1665304502
2chfreqwords.png (1630Кб, 1288x1288)
1288x1288
На моём любимом питончике спарсил комменты с двача и сделал облако слов, пиздец двачеры дегенераты...
Аноним 23/04/20 Чтв 13:24:01 1665327503
>>1665304
Заебись плакат/обои получатся. Сделай облако в формате 16:9. А можешь спарсить только /pr?
Аноним 23/04/20 Чтв 13:52:04 1665360504
>>1665304
типичный пример хуевого датасаенса, нет фильтров слов-паразитов.
Аноним 23/04/20 Чтв 13:54:08 1665365505
Программач, нужен совет.
Сам не программист, но для автоматизации всяких разных процессов изучил питон и писал всякие консольные скрипты на чистой функциональщине. Потом стал добавлять гуй для удобства пользователей: сначала tkinter, потом перебрался на QT из-за необходимости поддержки драг-н-дропа в интерфейс.
Собственно, пока функций было не особо много, то сильно не заморачивался, и использовал один класс, куда сваливал и работу с интерфейсом, и свои функции. Но комбайн разрастается, и стало понятно, что куча функций в одном классе/файле - это не очень удобно.
Парадигма ООП мне еще не до конца понятна, и пока раздумываю, можно ли фигачить какие-то универсальные классы для своих нужд.
Т.е., чисто для примера: при нажатии на кнопку происходят определенные запросы через API, затем идет обработка локальных файлов, потом обмен с sqlite, а потом вывод информации в интерфейс.
Как бы это все более-менее удобно реализовать с минимумом геморроя? Делать отдельные классы для работы с АПИ и БД с набором функций в них? Функции довольно захардкоржены, т.к. не очень получается для работы с разными апи использовать универсальные методы, ибо один сервис требует получение ключа одним способом, другой - другим и т.д.
Или есть смысл описания функций в отдельных файлах с последующим подключением?

Немного сумбурно описал все, но, надеюсь, будет в целом вопрос понятен.
Аноним 23/04/20 Чтв 13:55:11 1665367506
>>1665365
>изучил питон
громкое заявление, на самом деле. Скажем так, поставил и немного разобрался с возможностями.

*фикс
Аноним 23/04/20 Чтв 13:57:54 1665371507
>>1665304
Чем парсил?
Каков объем запарсенного контента?
Сколько заняло времени?
Сталкивался с временным баном по IP из-за превышения числа запросов?
Аноним 23/04/20 Чтв 14:09:10 1665388508
>>1665365
Почитай про MVC и прочие деления логики. Многое уже придумали за тебя.
Для работы с классами тебе нужно представлять какой-то элемент программы, как объект, вот у тебя есть интерфейс, у него могут быть только такие-то поля, свои методы и открытые методы, внутри в интерфейсе тоже что-то может быть, а вся работа программы заключается во взаимодействии между различными классами, каждый из которых предоставляет свой API.
>при нажатии на кнопку происходят определенные запросы через API, затем идет обработка локальных файлов, потом обмен с sqlite, а потом вывод информации в интерфейс
Кнопка может быть экземпляром всех кнопок в интерфейсе, он дает запрос другому классу (можно использовать events для этого), экземпляр класса реагирует, внутри себя шаманит (приватные методы), и отдает что надо
Аноним 23/04/20 Чтв 14:18:35 1665401509
>>1664872
soap?
На нем что-то кроме дремучего легаси есть?
Аноним 23/04/20 Чтв 14:23:36 1665410510
>>1665371
делал запросы через requests к api двача, миллион сто тысяч комментов со всех бордов из 5 миллионов возможных, парсил часа два, tqdm предскаызвал 20 часов. банов небыло хуярил запросы без задержок вообще, но запросы медленно и так шли, примерно 1 запрос за 2,2 сек. а мне надо было 20к запросов отослать.
>>1665360
Да пахую вообще, там было сколько то стоп слов но нахуй оно мне надо фильтровать контент для двачеров
>>1665327
могу, может быть ночью сделаю если не забью
Аноним 23/04/20 Чтв 14:26:41 1665415511
>>1665410
Почему асинхронку не юзал через aiohttp?
Аноним 23/04/20 Чтв 14:37:19 1665433512
>>1665415
я не умею вообще не знал
Аноним 23/04/20 Чтв 14:37:53 1665436513
>>1665415
я не умею вообще не знал не думал, по быстрому написал, запустил и пошел пельмешки готовить
Аноним 23/04/20 Чтв 14:40:27 1665444514
>>1665415
Потому что за столько запросов асинхронщиной его бы забанили нахуй
Аноним 23/04/20 Чтв 15:28:47 1665510515
Можно ли в Джанго поместить одно приложение внутрь другого (командой manage.py startapp)?
Аноним 23/04/20 Чтв 19:14:44 1665738516
parrotnew (5).png (1290Кб, 1920x1080)
1920x1080
parrotnew (4).png (1462Кб, 1920x1080)
1920x1080
parrotnew (3).png (1017Кб, 1920x1080)
1920x1080
parrotnew (2).png (1055Кб, 1920x1080)
1920x1080
Аноним 23/04/20 Чтв 19:20:21 1665746517
>>1665738
Мое почтение!

Ради лулзов запарсь еще /dev
Аноним 23/04/20 Чтв 19:22:40 1665751518
Аноним 23/04/20 Чтв 19:34:52 1665767519
>>1665738
Можешь сгруппировать явные синонимы и убрать глаголы? Ничего не понятно об обсуждаемом из этих картинок
Аноним 23/04/20 Чтв 19:42:13 1665775520
devalice2.jpg.png (1258Кб, 1920x1080)
1920x1080
devbl.jpg.png (1422Кб, 1920x1080)
1920x1080
devalice.jpg.png (1522Кб, 1920x1080)
1920x1080
devlena.jpg.png (1472Кб, 1920x1080)
1920x1080
>>1665746
Там же на имгуре остальные

>>1665767
Могу конечно, но как нибудь потом, а может и нет
Аноним 23/04/20 Чтв 20:01:09 1665803521
>>1664838
освой pandas, там есть парсер дат при загрузке файла, и еще дохуя функций для работы со временем
Аноним 23/04/20 Чтв 21:21:57 1665873522
>>1665240
Шарповский linq это питоновские comprehensions и sqlalchemy
Аноним 23/04/20 Чтв 21:45:51 1665889523
Аноним 24/04/20 Птн 05:41:27 1666060524
Аноним 26/04/20 Вск 21:31:06 1668414525
image.png (218Кб, 679x864)
679x864
Уважаемые, программисты, нужна ваша помощь. Есть 3 задания, которые нужно сделать на пике. Так как я в программировании вообще не шарю прошу вас, сделать это. Не за бесплатно, конечно. Есть всего 700 рублей.
Аноним 27/04/20 Пнд 20:50:22 1669515526
>>1668414
Выглядит просто, стажеру дата саинтисту такое можно дать как тестовое
Аноним 06/05/20 Срд 21:23:19 1679086527
>>1668414
это же на уровне шкило
Аноним 08/05/20 Птн 22:55:25 1681648528
Аноним 09/05/20 Суб 03:36:10 1681778529
Аноним 15/05/20 Птн 22:29:36 1689656530
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов