Отмечаем эпохальное событие - наши люди проникли в логово Microsoft, чтобы поставить на python way самого культового производителя программного обеспечения в мире.
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
Вопросы-ответы: — А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х? Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать? Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником. исхдник: https://dumpz.org/bASGKD8cCFDf
>>1861237 → >Не смог идеально рассказать про Не путай собеседование и экзамен в институте. Если ты себя ставишь как студента, пришедшего на экзамен по сложному предмету, то и относиться к тебе будут как к студенту на экзамине, а не как к потенциальному коллеге.
Больше смотрят на то, как ты отвечаешь, а не насколько чётко и идеально. Если, конечно, адекваты и именно ищут, а не просто так собеседования проводят, потому что положено.
>>1861589 >А чем тут плох питон и какие альтернативы? Да ничем он не плох. С точки зрения производительности питон подходит абсолютно для всего кроме числодробилок. С точки зрения удобства - спорно. Небольшие веб-сайты на питоне писать хорошо, большие - не очень, из-за динамической типизации. ГУИ в 2020 нужно вообще писать на электроне, который еще медленнее.
>>1861596 >большие - не очень, из-за динамической типизации Диван? Главное при работе с большими сайтами - читабельность кода и модульность самого проекта. Причем тут типизация вообще? Особенно после того как подвезли в пистон "var: type". P.s. Микросервисы и дробление монолита рулит.
>>1861588 Ну так я понимаю, что перед и после меня 5 таких же дурачков, только они то небось точно помнять все 5 или сколько их там, до сих пор не посмотрел нормальных форм, тут уже единственное во что не скатываюсь так это в оправдания и подобное. Алсо что за привычка у них просить переходить на ты, я себя физически не могу заставить образаться на ты, это я маня закомлексованая или это нормально?(вообще этой темы не понимаю, ни в барах, ни в ресторанах, ни на работе)
>>1861615 >только они то небось точно помнять все 5 или сколько их там Мне кажется, что вот совсем-совсем не нужно их помнить. Это слишком теоретическая вещь. Но саму концепцию знать стоит. И плюсы-минусы нормализации данных. В общем суть в том, что не отвечать как на экзамене надо, а уметь поддержать беседу на тему.
>Алсо что за привычка у них просить переходить на ты, я себя физически не могу заставить образаться на ты, это я маня закомлексованая или это нормально? Люди ищут себе коллег, с кем им будет комфортно работать бок о бок. Когда на Вы, то это какое-то очень формальное отношение, деловое. Некомфортно. Особенно когда о простых друзьях-разработчиках, а не о том, чтобы звёзд с именами привлекать.
Тут есть шарящие в регулярках на питоне? Как мне получить строку, что находится между символами . и &? Например ab.cd123.lox&31g, в данном случае надо lox получить
>>1861615 > я себя физически не могу заставить образаться на ты Когда предлагают перейти на ты, говорю что мне комфортней на вы в данный момент общаться и все. Я этих товарищей первый раз вижу, иногда и послдний, мы не друзьяшки.
>>1861613 >Особенно после того как подвезли в пистон "var: type". >>1861614 >В чем проблема заставлять макакенов писать -> str? Тогда ведь проблем не должно возникать Рано или поздно это закончится типами вроде List[Tuple[Set[str, str], Optional[Tuple[int, float, str]]]], которые не всегда корректно проверяются в IDE. Да, можно писать классы, но питон к этому не принуждает. Из кучи макак кто-нибудь обязательно начнет писать говнокод, и проект постепенно пойдет на дно. В языках со статической типизацией и принудительным ООП дрессировка макак частично выполняется конпелятором, что хорошо влияет на качество кода.
>>1861613 >Особенно после того как подвезли в пистон "var: type". Проиграно в голос. После того, как динамикопетухам завезли статическую типизацию динамическая дрисня стала не так и плоха!
>>1861667 Динамические типы очень хороши, большая гибкость есть, особенно когда надо со сложными структурами данных работать, которые может быть динамически создаются.
Но проблемы от них тоже появляются.
Механизм контроля типизации как раз позволяет делать проверки типов там, где актуально. Для библиотек особенно актуально.
Появляется большая гибкость, можно делать, можно не делать, а не страдать, как приходится людям на c# или golang.
>>1861637 Нет. Если ты в теме более-менее, то и сам знаешь о своём уровне и об уровне топов. Если не в теме, то и по таблице этого не поймёшь, либо же будет очень неверно её интерпретировать.
Как на пайтоне можно получить содержимое текстового файла и найти нужную строку? Ну например на линуксе можно выполнить: cat /etc/relisos | grep version А как эти же самые действия реализовать на питоне? Или как можно консольный вывод баша транслировать в питон?
>>1861734 with open('filename.txt', 'r', encoding='utf-8') as f: ____for line in f: ________if 'something' in line: ____________print(line.rstrip()) ну и с re аналогично.
>>1861665 Соблюдение стилистики и общепринятых правил на проекте при написании кода даёт определенную защиту от различного рода перегибов. А принудительности ООП вообще, как по мне, сомнительная вещь, т.к. не стоит никого ни к чему принуждать. Хочешь ООП и оно в данной ситуации подойдёт - ебош, хочешь ООП но смог высрать класс с одним методом и наследования и и не пахнет - зачем тогда несёшь ООП сюда? Модульность можно прекрасно сделать и без ООП, по крайней мере без своего. >>1861667 Это не типизация, скорее возможность оставлять подсказки за собой, о том, что и как надо передавать и принимать в ответ.
Подскажите, Плес, как реализовать такую штуку Есть блок with, открывающий лог-файл, есть итератор обджект, который читает подряд строчки и ищет в них определенные вещи. Проблема: Есть определенные строки, на которых мне нужна инфа не только из этой строки, но и из следующей, причем одновременно. Как мне получить доступ из current string в next string?
Насколько я понимаю, если взять итератор обджект и тупо дать next(), то я теряю свою нынешнюю строку и перехожу на чужую, штомниделоть...
Пример: [234] в следующей строке написано, кто такой оп [235] он хуй, а что ты ожидал
Когда я наитерировал до 234 строки, я хочу, находясь в ней, получить доступ в 235 строку, чтобы выдать что-то типа оп: хуй
>>1861822 Создай буфер для строк, складывай строки туда, а как накопится нужное количество, делай нужное действие и сбрасывай буфер или его часть.
Если это надо делать больше одного раза и надо оформить красиво, то создай свой собственный генератор, который будет буферизировать строки и выдавать блоками
Хочу иногда пописывать простые веб-приложения, но работу питонистом-говночистом искать не хочу. flask я уже использовал для создания простенького веб-api и остался доволен.
Удачным ли выбор для меня - flask applicaiton builder ? В чем вообще смысл его существования, если есть django ?
Что у него с производительностью исходя из архитектурных соображений? В Как реализуются асинхронные запросы к нескольким источникам? Как работают длительные задачи ?
>>1861583 (OP) Как в sqlalchemy сделать откат при сохранении в базу? Поясню: есть 2 операции, одна добавляет данные в Таблицу_1 (insert), вторая - обновляет данные в Таблице_2 (update), если где-то на пути вылезет Exception то может получиться что данные запишутся лишь частично, а это очень плохо... Как сделать так чтобы при возникновении Exception изменения в базе откатывались к первоначальному состоянию?
>>1861620 Скажи, а отвечать в духе да, я знаю как нормализовать базу данных, но мне нужно погуглить что-то это норм на собеседовании? Типо если говоришь, что знакшь, но отвечаешь, что загуглил бы то и то
>>1862087 Вообще отвечать "загуглил бы" и любые похожие вариации это не очень хорошо. Они ищут программиста, а не мастера по поисковику. Лучше просто сказать, что не помнишь.
>>1862087 Ты лучше скажи про саму идею, что такое нормальные формы и зачем они нужны вообще. Какие плюсы, какие минусы от нормализации. Где бы ты сам стремился к тому, чтобы максимально нормализовать данные, а где наоборот, отказался бы.
В общем можно просто пообщаться на эту тему.
Нормальные формы о том, как представлять данные в БД, чтобы не было противоречий, чтобы они ложились в реляционную модель, чтобы не было избыточности и т.п.
Просто надо понимать, как работать с данными.
Тебе ведь надо делать что-то самому, твоя работа не в том, чтобы на вопросы препода отвечать, а чтобы самостоятельно что-то реализовывать. Ты должен понимать, что ты делаешь и зачем ты это делаешь. Ты должен представлять, какие подходы есть, чтобы при необходимости углубить знания в нужном направлении и использовать его. Или осознанно и аргументированно отказаться от какого-то подхода, что не менее ценно.
>>1862142 >Тебе ведь надо делать что-то самому, твоя работа не в том, чтобы на вопросы препода отвечать, а чтобы самостоятельно что-то реализовывать. Не факт, что то, что спрашивают тебя на собесе будет на работе
У класса есть несколько методов. В каждом одинаковая проверка. Можно как-нибудь зарегистрировать метод, который бы срабатывал до того, как вызовется искомый метод? Пример class A: __def a(self): ____if 1: ______pass __def b(self): ____if 1: ______pass __def c(self): ____if 1: ______pass __def check(self): ____if 1: ______pass
Вот хотелось бы проверки убрать из всех методов, а до их вызова чтоб срабатывал check - проверял и если хорошо, то передавал вызов методу a, b или с. А если нет, то не передавал
>>1862303 Какой-то полный разDRY и непонятно, зачем вообще тут все в классе держать, но ок: 1) Инициализировать проверку в магическом методе __enter__ и запускать класс в контекстом менеджере 2) Вынести все в один метод-обработчик 3) Обработать вызовы на клиентской стороне
>>1862328 Во-первых, это три разных подхода, а не пункты, которые нужно выполнять один за другим, а во-вторых, клиентская сторона - это все, что ты пишешь после if __name__ == '__main__', а не фронтэнд, о котором ты видимо подумал.
>>1861583 (OP) Двач, я не умею писать код, подскажи пожалуйста материалов. Так уж вышло, что пишу код я уже относительно давно(5 лет), и на разных языках, от ассемблера до питона, но всегда писал либо для себя, либо какие то проекты с закрытым кодом. И стыдно это признавать, но я так до сих пор и не научился писать читаемый код. Не знаю как правильно его оформлять, какие давать названия переменным, функциям, классам, с заглавной буквы или нет, и так далее. Анон, молю, накидай разного материала на эту тему. В данный момент пишу на питоне и C#, желательно что то приближенное к этим языкам.
Какой же он ахуенный... этот чел уже больше года пилит свою DI-либу, каждый раз ему пишут что это хуйня без задач но он сука продолжает... мне бы такой стойкости
А почему в PyCharm не выводится в окно выполнения программы результат? Вот в IDLE питоновской выводятся три строки как положено. Причем простой принт Пучарм выводит нормально, а вот с патх нет.
Как открывать пайтон файлы, которые я написал? Вот написал я "print('hello world')", сохранил и хочу запустить просто так, не в ide, но при открытии файла на мгновение появляется какое-то окно и исчезает
>>1863021 Ну так он и выдает результат просто в консоли, это ничем не отличается от того, что просто запущу ее в ide. Есть же наверное способы открывать программу в более "человеческом" виде. Мы ведь не открываем всё через консоль
>>1863051 Причем тут это. Ну я же могу скачать какую нибудь программу на питоне в интернете, открыть ее и работать просто в ней. Мне не нужно открывать ее через консоль, а потом там же работать с программой
>>1862965 >но при открытии файла на мгновение появляется какое-то окно и исчезает
Все верно, программа в свободном ее виде запускается без костылей иде, которая тебе в помощь по окончанию тормозит окно. Так что что бы оно работало самостоятельно, то и тормозить окно тебе нужно самому, например через input
>>1863088 Я знаю что звучит тупо, но я только начал изучать это всё и реально не понимаю как некоторые вещи происходят. Как программа проходит путь от строчек кода в редакторе, до просто .exe файла, который запустит ее. Я знаю, что там вроде скомпилировать что-то нужно, но это вроде не к питону не относится, да и я читаю укус питона, и я конечно в самом начале, но еще так и не объяснили как мне именно сделать программу. Вот допустим я даже сейчас скопирую полностью код другой программы, вставлю в редактор, и что дальше с ним делать чтобы это приобрело вид обычной программы?
>>1863107 > Тогда тебе нужно что бы у тебя была настроена ассоциация расширения файлов, в шинде инсталлятор питона делает это автоматом, если ты не убрал галочку. Вроде не убирал ничего. Это можно как-то проверить? >>1863096 > Все верно, программа в свободном ее виде запускается без костылей иде, которая тебе в помощь по окончанию тормозит окно
Получается он за секунду выводит мой hello word и тут же закрывает, так как программа выполнилась? > то и тормозить окно тебе нужно самому, например через input Как это использовать? Нашел в интернете только функцию input, в которую можно вводить информацию, это оно что ли?
>>1862809 что нового в питоне 3.хх по сравнению с 2.7? Вижу, появилась огромная куча новых функций-методов. Немного поменялся синтаксис print. В остальном синтаксис совместим снизу вверх?
>>1863109 Лучше просто прими то что ты пишешь скрипты а не «программы», принт выводит именно в консоль, можно выводить в файлы или куда-то еще, твой скрипт просто читается сверху вниз и все, если тебе gui нужен, то ищи tkinter для начала
анон, я вот так понял, что вместо потоков нужно юзать процесса Это вообще де факто и всегда так? или все же есть места, где НУЖНО потоки, и месте, где НУЖНО процессы?
вопрос, братва я ведь могу ускорить программу путем введения с++ кода в теории ведь, выходит, что я вообще могу через питон вызывать __только__ код с++? Почему такой вопрос: есть проект на питоне, но его нужно постепенно переписывать на кресты. Имеет ли смысл начать вот с таких вставок и далее итеративно исключать питон код и врубать крестовый? или бред? спасибо
>>1863368 >Это вообще де факто и всегда так? или все же есть места, где НУЖНО потоки, и месте, где НУЖНО процессы? В идеале необходимости юзать процессы вообще не должно возникать, но питоне это приходится делать из-за ублюдочного GIL. В целом получается так.
Для веб-реквестов и прочих вещей, не требующих ресурсов процессора, нужно юзать асинхронность. Потоки нужно юзать при написании интерфейсов (где не требуются вычислительные мощности), или для ускорение задач, где основные вычисления выполняются внешней библиотекой, написанной на си. В таком случае GIL выключается, и потоки будут параллельно выполняться на разных ядрах процессора. Процессы нужно юзать во всех остальных случаях - когда необходимо ускорить вычисления, и главным ограничителем является питоновский код. Главные подводный камень - передача данных между процессами. При использовании потоков память общая, и ничего копировать не нужно. При использовании процессов, у каждого из них своя память, и любое общение между ними будет идти через жопу отдельный процесс-менеджер, что просто пиздец как медленно. Как итог, большое количество задач нельзя адекватно распараллелить используя процессы, поскольку копирование данных убьет весь прирост производительности. В таком случае остается только писать кусок кода на си.
Объясните по поводу аргументов в сортировке списка.
res = Counter(res).most_common()
res.sort(key=lambda x:(-x[1],x[0]))
собственно почему в л\мбда выражении после определения переменной х, нужно переменные вывода указывать явным кортежем. еСЛИ НАПИСАТЬ ТАК lambda x:-x[1],x[0]) ругается на аргументы res.sort(key=lambda x:-x[1],x[0]) ^ SyntaxError: positional argument follows keyword argument
>>1863436 Питон не может или не желает парсить лямбду после того, как заметит запятую, то есть res.sort(key=lambda x:-x[1],x[0]) читается как res.sort(key=foo, bar) но в питоне keyword аргументы должны идти в конце, поэтому тебе выдается ошибка: SyntaxError: positional argument follows keyword argument
со скобками fоo становится lambda x: (-x[1], x[0]) и получаем res.sort(key=foo)
Q all! Подскажите, что надо исправить, чтобы нормально спарсить табличку из Вики. Скрипт https://pastebin.com/bUBR8Z0Q В результате отработки появляются ненужные символы. Еще желательно было бы как-то сохранить заголовки.
>>1863647 120к это вообще для человека без специального образования реально? Просто инженеграм даже с образованием для этого надо быть богом или как я - работать в заполярье
>>1863661 Бля. Хочешь я расскажу как я зарабатываю 120к все равно рассажу
Я работаю в Норильске. В ночные смены Без выходных (1 выходной в месяц, но последние 2 месяца не давали вообще) В среднем по 12,5 часов в сутки Имею какую-то ответсвенность и постоянные дэдлайны
>>1863687 пездос, как ты так живешь. Я 2 года работал 2x2 по 12 и ахуел. это же тупо работа-сон-работа, потому что после 12 часов сил нет ни на что. Сейчас работаю пятидневку по 8 и в пт еще на час раньше ухожу, каеф. но я получаю 48к
>>1863696 А ты думаешь почему я хочу уволиться? 4 месяца так жил. Сейчас отпуск, вот на двощи зашел. Встал в 19:00 Приготовил Вызвал такси (ибо экономия 20 минут это важнее денег в моём случае) На работе в 21:00 Отпахал. Нет дэдлайнов - ушел в 9:00. Есть - сидишь доделываешь. Пришел - помылся или постирал, или убрался (можно выбрать только что-то одно). Лёг спать.
Зато деньги большие для меня. В любом случае надо было заработать что-то для вката в прогерство. Да и я думал, что не зря же я ебашил в универе зря
>>1863636 Вполне реально, только искать будешь долго. И тут я вспоминаю товарища одного, который "вкатился в МЛ" и сразу взяли на стажировку. Ну как вкатился, прошел 5-6 курсов. Высрал пару репозиториев с говнокодом на гитхабе. В этих репах запилил 2 парсера(объективно не готовых к продакшену) и одного ТГ бота(считывать параметры от юзера через кнопки и пошаговый ввод данных? Не. Парсить стену текста от юзер - наш путь). Ну и 4 проекта по МЛ. Ну как по МЛу. 2 проекта с юзанием готовых библиотек с распознаванием лиц - каскады Хаара и обученная модель для нейронки от кераса, а он только метод(найти_лицо) их дёргает да картинку выводит. 2 проекта в которых просто рисуются графики и диаграммы на основе данных из CSV файла. Больше нихуя и не знает. Как так-то блять? Я искал работу бэкэндером 3 месяца, имея пару реальных проектов и почти год фриланса.
Так, анон, подскажи, будь добр. У меня есть PID процесса, как в питоне сделать окно этого процесса активным. Например, запущено у меня 2 экселя. Excel.exe PID 1 и Excel.exe PID 2 вот как мне позвать по пиду 2 эксель, что бы он стал активным, и мог пиздить оттуда данные
>>1863640 >не сможешь ты его продуктивно учить по 8 часов Kek, я как то начинал читать учебник кантора по js, думал за три месяца его осилю, в итоге сдался как помню на половине, а на днях сидя по 14 часов прошел учебник Ала швейгера про автоматизацию на питоне, с решением задач, вот щас буду полировать классы и наследование с помощью учебника питона с w3school и писать прогу на pyqt и делать экзешник на нуитке, потом сделаю для проги сайт на какой-нибудь джанге или фласке, еще не выбрал. Питон как язык лично мне кажется проще остальных которые учил и бросал до этого, а именно плюсы, жс, котлин.
Хотя в основном это зависит от мотивации, по питону у меня есть желание написать кое-какую прогу себе на комп и я понимаю что это будет бытрее за счет пропуска байтоебства, поэтому и бросил читать плюсы для кути но указатели таки же освоил, а когда читал про жс, то не было видения что с его помощью хочу сделать. Так что считаю что в обучении главное держать перед глазами результат, это может быть законченная программа (которой или будешь пользоваться сам или поместишь в свое именное потрфолио на гитхабе, если пишешь калькулятор в стол то ответственности не чувствуешь а чувствуешь бессмысленность и бросаешь) или тест на сертификат.
>>1863724 В местныз ДСах искал. Но у меня не было "комерческого" опыта, на их взгляд. >>1863733 Безусловно, но надо делать хорошо, а не говно пилить без описания и прочего. Ну и если ты идешь в МЛшики но при этом у тебя примеры работ уровня "взял либу, применил, ничего не крутил в параметрах, вывел результат" - никто в зравом уме тебя не возьмет, ибо такое делается за пару часов изучения документаций opencv\numpy\matplotlib and etc.
Ладно, весь секрет знакомого был в том, что его взяли по знакомству, без собеса технического.
После того как я сделал локально гит пуш своих коммитов, есть ли какой-то способ прямо в коде видеть изменения с мастером? Т.е я создал ветку с мастера, сделал там свои изменения и локально запушил на удаленный сервак(затупил) в своей ветке.
А то сейчас много коммитов в разных файлах и не очень удобно смотреть где в файлах по 10к строк были изменения.
Пока что просто локально делал git reset soft и только так в файлах посдсвечиваются последние изменения, очевидно, что потом пушить это дело будет не шибко удобно.
>>1863855 Скажем так, когда я перевелся на удалёнку, то лишился ВНЖ, а этот банк требует европейского резидентства, которое по докам у меня заканчивается в следующем месяце и аккаунт могут заблокировать
Есть таблица А, она имеет строковое поле и внешний ключ к таблице Б. Если в связанной записи из таблицы Б значение определённого поля равно определённой строке, то из таблицы В надо взять записи по айди, равному строковому полю из таблицы А. Как это сделать в один запрос через SQLalchemy?
И такие фрагменты повторяются много раз. Я вот хочу вытащить содержимое body. И причем не обязательно что будет именно 2 аргумента или что будут имена arg и name.
Пока допедрил до такого ^# DATA(\s+.+){5} - оно съедает всё, до строки body. Вот и весь словарь мне надо получить. Подскажите что дальше делать?
>>1863976 Это кусок файла. В нём намешано много всего. Просто так в json его не прочитаешь. Нужно вычистить необходимое, а потом да, читать строчку в json
>>1863979 Надо смотреть что и как намешано. Поубивать лишнее, но в джейсон фрагмент не влазит. Например если есть строчки с комментами, можно просто поубирать их '\n'.join(x for x in x.splitlines() if not x.lstrip().startswith('#'))
>>1864004 Я вот скинул пример вышел. Там несколько тысяч фрагментов, которые извлечь надо. Это файл логов, там много чего есть. Есть и комментарии, которые не комментарии, а просто выделение участков лога. Есть и голый текст. Если и ненужные фрагменты json'a. Херачить всё, кроме нужного участка - такое себе. Но вот то, что есть что точно, так это следование нужного фрагмента после определённого блока. Поэтому и использую регулярки. Как-то помнил раньше, как взять первую пару скобок и вытащить всё до её закрытия.
Аноны, вопрос по архитектуре приложений. Что можно почитать по теме? Или это только с опытом приходит? Пока научился только разделять по отдельным файлам функции. Смотрю чужие проекты, там папки с handler's, middleware, tools, etc.
>>1861583 (OP) Всем привет. Есть небольшой репозиторий в котором нужно тесты из отдельных папок перекинуть в папку тесты. Можно ли как это в Пайчарме сделать по красоте? Там ведь импорты всякие и тд. Юнит тестов пара сотен, не хотелось бы вручную все делать. Спасибо.
В colorthief получается всё та же картина, противоречащая колорпикеру Питона. А чисто через пил всё тот же бред, противоречащий здравому смыслу, который я вообще не понимаю, как интерпретировать. По идее должен был быть вывод типа >defaultdict(<type 'int'>, {(00, 00, 00): 8, (125, 125, 125): и т.д.
Пик 3 - данные, с которыми работаю. Интересно, у тебя заработает?
Подгрузил сторонний проект, смотрю его в IDE (Пайчарм), настроил интерпретатор из виртуальной среды, все работает однако периодически IDE не может найти некоторые референсы в импортах и подсвечивает их как "Unresolved reference" (сам код конечно же запускается и работает как надо без ошибок) - почему так происходит и как фиксить эти рефы?
Правда, немного другая кодировка, чем в imagemagick: 8,8,8 у тебя и > (0.619195,0.619195,0.619195,255) #010101FF rgba(0.242822%,0.242822%,0.242822%,1) в imagemagick. 15,15,15 у тебя и > (1.21812,1.21812,1.21812,255) #010101FF rgba(0.477695%,0.477695%,0.477695%,1) в imagemagick.
Это, я так понимаю, 8битная 256 цветовая greyscale палитра? Где-то есть такая таблица с позициями типа 12 и 21 и значениями RGB для них? Я пытался сейчас нагуглить, но что-то туплю.
Вообще с цветами впервые работаю, поэтому много тупки
>>1864370 Это, я так понимаю, 8битная 256 цветовая greyscale палитра? Где-то есть такая таблица с позициями типа 12 и 21 и значениями RGB для них? Я пытался сейчас нагуглить, но что-то туплю. Да, у гифок фиксированная палитра с заранее определенными цветами.
>>1864374 Так даже лучше. Моя конечная задача - нахождение разницы высоты двух точек. И поиск используемых кодов нужен был мне именно для этого, я хотел ступенчатую таблицу запилить. А получается, что она уже как бы есть и запиливать даже не надо, лол.
>>1864374 Неразгаданными для меня осталось два вопроса: 1. Почему у двух разных цветов (см. ниже) одно HEX-значение, а именно #010101FF ? Это вообще законно?
2. Почему RGB так по-разному кодируется в PIL, GIMP с одной стороны, и Imagemagick - с другой? 8,8,8 у тебя и > (0.619195,0.619195,0.619195,255) #010101FF rgba(0.242822%,0.242822%,0.242822%,1) в imagemagick. 15,15,15 у тебя и > (1.21812,1.21812,1.21812,255) #010101FF rgba(0.477695%,0.477695%,0.477695%,1) в imagemagick.
Мне требуется ваш совет, я даже готов заплатить за консультацию какие-то разумные MONEY
Ситуация: мне 27, я работаю начальником сервисной службы, зарплата в среднем 80-100к деревянных(пишу не для выебонов а что-бы вы понимали что речь дальше пройдет не про 300к наносек хочу)
Я начинаю выгорать на основной работе и хочу попробовать себя в программировании, для начала в качестве ХОББИ!
Но, поскольку я должен работать на основной работе, у меня в день есть максимум 2-3 часа свободного времени которое я могу ОСОЗНАННО, ВДУМЧИВО, выделить на своё ХОББИ.
А поэтому мне нужны максимально актуальные источники информации, как вкатится в Python, какие курсы купить, какие книги почитать, с чего начать? Спрашиваю не потому-что не умею в гугл, а потому-что недавно обновили же Питона вашего и мне как новичку совершенно непонятно какая информация теперь является актуальной. Пока юзаю Fructcode,но не уверен что это правильный выбор.
До этого ничего не программировал, немного умею в HTML CSS, английский на хорошем среднем уровне в технической области(так-как работаю с инструкциями на англ мове)
Пожалуйста, кому не лень проконсультируйте меня без рофлов.
>>1864386 Ну это же индивидуально. Я вкатываюсь по Automate Boring Stuff with Python (я пердолик и для меня это в целом актуально, постоянно скриптинговые задачи возникают), и через игроблядство (куча игр использует питон, плюс можно писать вспомогательные утилиты для игор на питоне, не связанные с кодбазой самой игры).
>>1864388 1)Пердолик? не уверен что понял о чем ты... 2)Понимаю что индивидуально, но в любой сфере есть какой-то базис и середина золотая с которой можно стартовать.
Вот книга которую ты назвал, я её видел в рекомендациях к изучению, вопрос - она подходит для совсем нубасов?
>>1864394 Ко всем, видимо он делает какие-то преобразования, так что цвета уже не строго оригинальные, нет смысла сравнивать. Надо курить документацию.
>>1864386 Попробуй бесплатные курсы по Питону (начиная с курсов для кольников) на курсере, открытом образовании. Можно даже на степике, но там порядочно ерунды всякой. Проходишь одинаковые курсы ради решения задачек и набивания руки. Где больше задачек, там и хорошо. Понемногу задачки усложняешь. За 2-3 часа можно решить их с десяток. За год поднатаскаешься достаточно сильно.
А пока едешь с работы и на работу, в телефоне читай учебники по Питону. Накачать их можно на рутрекере. Какие понравятся. Тут задача не в том, чтобы прочесть объём материала или прорешать тысячу задач. А чтобы понимание возникло. Поэтому, иногда книку можно бросить читать и начать другую - не все книжки подходят всем. Единственное что, не читай ничего по 2-й ветке Питона, коли уже третья на исход идёт.
>>1864386 Программирование и питон это разные вещи. Причем если ты выучишь питон раньше БАЗЫ программирования вроде принципов работы компьютера или любой платы, двоичной системы, блок-схем алгоритмов и пр, то станешь кодомакакой. Поэтому советую материалы от нашего соотечественника, они конечно не про питон, а про то без чего питон бы и не появился в этом мире, но после их усвоения тебе зайдет и питон и любой другой язык.
>>1864454 я именно по пути на работу читаю, в электричке в 6 утра очень даже заходит и не срубает - лично меня. говорю про первую...может вторая сложнее я не начал еще
>>1864456 круто, спасибо а то вот уже 3 год работаю и все ощущение, что я макака а не прогер. вообще что отличает макаку питониста от тру прогера питониста, а? аноны?
>>1864448 Ну хуй знает, автор весьма упорот и не лечится. Я бы поостерегся учится по этому, а для общего развития можно и читнуть что он там насочинял.
Анон, помоги с пучармом. Внезапно сбилась кодировка, в терминале пучармовском все работает, а вот в выводе run нет, вместо русских букв кракозябры, а раньше вообще при выводе русских букв писало ошибку и решилось только в run configurator простановкой кодировки, теперь оно хоть и выводит без тсключений, но распознает русские буквы неправильно, что еще изменить в настройках? Что в пучарме вообще отвечает за вывод в run?
>>1864448 Так, все сложно то как, нужны годы, нет, десятилетия, нет, сотни поколений чтобы во всем разобраться. Начинать надо не с питона, отнюдь. Это только прелюдия, дело других поколений, хех, слишком просто. Отложим питон, на пенсию. Начнем с азов, там все сложно же. Уйдут еще повторяю десятилетия. Итак. Есть компьютер, 0 и 1, транзистор, есть тока и нету тока, вкл и выкл. Он понимает только когда 0 и 1. Переведем ему, хмм, есть асм, так перевели, но процессоров по прежнему много, нужна кроссплатформенность, хмм, так, пускай будет еще и си. Так, вот есть железа, есть архитектура, придумаем операционную систему. Напишем, на асме, так нет, лучше на си. Готово. Так надо передать соощение другому компьютеру, так, придумали пару кабелей, создали сеть, разработали пару протоколов, вот у нас есть стек ОСИ или как там, похуй. Так, мы теперь знаем как работает ось, как работает интернет. На это ушло 100 лет. Завещаем изучение питона внукам. ОК.
раз уж такая тема пошла про Столярова и пр Аноны, ваше мнение интересно (просто мнение, не реквестую никакх материалов) Что по-вашему отличается питониста-макаку от питониста-программиста? Какие знания/качества ?
>>1864565 >Что по-вашему отличается питониста-макаку от питониста-программиста? Отличает только определение настоящего программиста у спрашивающего. Кто-то считает, что если байты не пилил, тот не погромист, кому-то шелл-мага подавай, кто-то вообще матан требует.
Написал свою реализацию простеской бд, которая на json'е работает, хочу поправить и в бинарном виде хранить в файле. И быстрее и состояние любых объектов можно сохранить будет. Хочу кому-нибудь показать, но ссыкую. Не потому что говнокод, а из-за социалки
QT-рабы, здесь? Помогите наложить швы, вся жопа в крови. В гугле искал, ничего не нашел, потому что у людей другие ситуации, но с похожей проблемой. А моя ситуация не позволяет следовать решению. Потому что я без layout'ов.
Мне надо реализовать добавление виджетов по нажатии кнопки. Без layout'ов, т.к. макет в QT дизайнере уже сделал, а с layout'ами дизайн становится максимально уебанским. Добавлять виджеты надо на ScrollArea.
Проблема: 1. Если я создам виджет в __init__, то все заебись, он создастся(пик2). Изменять характеристики я смогу в методах. 2. Если я создам виджет в методе, то QT будет чисто поебать и ничего не создастся.
Почему так? Как мне в методах класса создавать виджеты? 2.
сам, анонам. поставил перед собой задачу. есть, условно, 20 картинок
1. мне требуется найти уникальный пиксель на каждой из них 2. требуется найти 1 пиксель, который есть на каждой картинке
картинки открывают через pillow, при помощи numpy перехуяриваю в массив
результат в чем искать на пикриле
что делаю: 1. каждое изображение хуярю в матрицу 2. беру 1, 2,... пиксель из первой пикчи и проверяю на наличие его в других матрицах 3. если его нигде нет - уникальный пиксель 4. если он есть во всех. то собсно 2 пункт решен
в общем-то получилось получить все точки. щас удОлю дубли и получу что-то хуй знает что делать дальше буду, но это для меня прогресс. без двача хуй справишься
Пишу тестовый скрипт для селениума, создаю класс, в селф передаю объект браузера для того чтобы методы могли с ним работать.
В коде довольно много методов, и некоторые из них вызывают execute_script для выполнения js кода передавая одни и те же данные функции несколько раз.
Подумал соорудить примерно следующую конструкцию:
def __init__(self): код код код код self.exec_get_me = self.driver.execute_script("return get_me('%s')" % me)
Понятное дело эта переменная me появляется в коде значительно дальше, и поэтому когда конструктор пытается создать этот метод он выполняет функцию, и она завершается с ошибкой.
В общем вопрос такой, как заставить питон угомонится ежи и не выполнять функцию ?
>>1865067 Благодарю за помощь, только проблема в том что суля по всему лейблы (тексты БАМП которые ты спавнишь кнопкой) и виджеты в PyQT - разные классы, соответственно имеют разные методы. Т.е. ты просто создаешь лейбл и через move двигаешь их.
А вот мне надо спавнить менно что виджеты, тот же QtWidgets.QCheckBox или QtWidgets.QLineEdit к примеру. Попробуй в функции их определить и вызвать и нихуя не будет, а вот в init будет. Почему - хуй знает, это меня огорчает и я хз что делать. Застрял на этом моменте и не могу дальше прогать, т.к. вообще жесткий тупик.
Конечно, погуглив, я примерно понял что если работать с layout'ами то может получиться, т.к. у лейаутов есть метод addWidget специальный, но мне лейауты как раз не нужны, т.к. сломается дизайн который я делал в QT designer без этих самых лейаутов. А как посредством лейаутов сделать такой же дизайн я хз, у меня не получилось.
>>1865073 Ебать. Так там же нет метода move, что за хуйня? Или там он ретурнит другой класс какой-нибудь... А там етсь QLineEdit, QComboBox и QPushButton? Охуеть, что это за читерный класс где все есть? Ты ведь это все от QtWidgets заимствуешь? Проверь пожалуйста. Если есть, то кажется решение проблемы найдено, я просто забью хуй на уебанский QtWidget
>>1865077 >я просто забью хуй на уебанский QtWidget Хуйню под ночь стал нести. Вообщем, скорее всего это и есть QtWidgets, только ты другие методы какие-то используешь, я вообще хз откуда move там.
>>1865085 В общем, большое спасибо. Как проснусь и завершу все дела попытаюсь вновь окунуться в кьютомир, надеюсь у меня все главдко пройдет.
Хотя меня смущает что у мува нельзя выбрать ширину и высоту, но главное что класс вообще создается. Хотя у меня подозрения большие что если я буду опять создавать виджеты не на главном окне как делаешь ты, а на ScrollArea, то снова ничего не выйдет, но посмотрим.
>>1865087 ну поглядишь, я про шизу писал к тому, что наспамить их можно, а вот как их потом удолять, я не разобрался еще. может вообще отдельный класс чекбоксов создать с методами и его экземпляры уже спамить с коннектом к своим методам.
>>1865140 Да блядь, ваш хауди хо тот еще пидор и петух. Бабки он рубит с ютаба и трафика, зыркал его последний видос, как обставлена хата. И его габочий день в кавычках. Ясно одно - это все куплено предками, програмистами - не рождаются, а делают програмистами родители, ибо в 18+ до 30 жить так с кодинга - либо ты дохуя реально вундеркинд, либо повезло, либо что ближе к реальности - предки башляют бабки, пока сына работает програмистом, спит до 2 дня и решаез зададачки на кодворзе по комбинаторике за 15 мин и страдает ожирением.
>>1865152 > поступить на бюджет уже проблема, с обратным - просто иди нахуй, не раз уже обсжудалось, что во - не просто дорого, не просто нахуй не нужно, а просто с ним даже ты просто нахуй никому не нужен будешь. Видел сколько юристов, экономистов, програмистов - за кассаой, в торговых залаз и тд.
>>1865154 Ну да , про то и разговор. Он просто показал базовую хуету. Так могу и я по любому вообще япу. Но он это начала делать первый. Ну и не он один. Те он зарабатывает не кодингом, а просто сливает грамотно траф на волен хайпа по петухону и прочему. Я не знаю какой он как кодер, но как арбитран норм. Думаю этим он и знаимается.
>>1865156 > уже проблема, с обратным - просто иди нахуй, не раз уже обсжудалось, что во - не просто дорого, не просто нахуй не нужно, а просто с ним даже ты просто нахуй никому не нужен будешь. Видел сколько юристов, экономистов, програмистов - за кассаой, в торговых залаз и тд.
логика тех кто не работает. вышка нужна. не сами знания, а корочка. кто говорит обратное, тот либо пиздобол, либо дурак
простой пример: приходишь ты и вася. вы оба +- равны. но у васи вышка. а ты иди на хуй аналогично и с перекатом за бугор. забудь про работу за границей без ВО
мой брательник закончил им баумана. работает и по странам летает. последний раз на кипре 3 мес. работал. куча примеров когда люди просто не получали работу и теряли шанс. если ты, дебил, не осилил даже ВО и пришел с 9 или 11 классами, то нахуй ты нужен?
нет, бывает что кому-то везет и его берут. но на это ставить не стоит
>>1865156 >>1865140 И кстати это не офтоп и не шитпостинг. Выучить можно вообще все что угодно за час или полчаса. Вопрос в другом. Что потом с этим делать и как это монетизировать. Вот хауди и понял, что можно просто пилить обучалки на ютабе, и делать земейки на петухоне. Те он - просто псевдопрограмист, а считает себя програмистом. Если и прилетает с фриланса - то мб раз в год, остальное - бабки с ютаба, и заряжают паханы. Так жить - так живу уже люди после 40 кто копит годами на пяти работах. А он кстати - тупо учит англ даже по его словам. Те вряд ли он трет с заказчиками. Это пиздец госпоад и наебка.
>>1865160 добавлю. сестра работает в хорошей компании. зп ~100к дс2 что для бабы считает довольно много. +хороший ДМС и разные соц. помощи. она вышла замуж и ей 50к накинули в компании
так вот, была вакансия на конструктора чего-то там. с обучением. и ин.язу бы обучили. но СТРОГО с ВО. то есть каким бы ты не был ауенным перспективным сотрудником, если ты без ВО, то идёшь просто на хуй
>>1865160 ПРостой пример, на заводе все с во, у всех универы. Но работают кто слесарями, кто станочниками. Те они получили во по профилю и они не востребованы от слова вообще. Те - да, для галочки во нужно, но и оно не помогает, если нету мам, пап, волосатых лап. Я к тому, что не нужно вводить людей в заблуждение. Кто с во, получит норм работу 1 на 100, те 99 будут стоять за кассой.
>>1865161 хз зачем ты что-то там серьезно анализируешь. это контент школьного уровня. ты смотришь в лайтовой форме и если тебя заинтересовало - берешься за книги, поступаешь в вуз. да и всё
>>1865164 Да нет не все. Проблемв будет не только поступить, но для начала - сдать ЕГЭ, если сдал, а это уже подвиг, надо будет найти бабки, причем нехуевые, если эконом, и то что востребовано, то надо просто овердохуя бабок на поступление. И вот ты поступил. Как-то чудом закончил, за бабки, и вот, ты на рынке, где тонны таких же как ты дебиков. И вот, 1 на 100, тебя не выбрали, по итогу, ты за кассой или в торговом зале, раскладыавешь товар. Нужны бабки, сдать ЕГЭ, на ноуты, качественную технику, на образование, на проживание, если ты из далека и еще тонны нужны денег, плюс подработки и еще овер дохуя инфраструктуры. И еще , нужно соображать, причем быстрее, лучше и эфективнне других. Те нужно бабки, много бабок айкью выше чем у други, тк к бабкам нужны родители, норм генетика и много чего еще.
>>1865164 > контент школьного уровня. только вот школьник хауди хо живет далеко не как школьник. И конечно он добился всего сам, только кодингом, и показывает нам не только дни из жизни тру програмиста, но и как живет и как обставлена квартира програмиста. Так, школьник, квартира програмиста, ЧТОооо блядь? Ну норм челк в 20 лет заработал кодингом уже свою хату, спит до 3 дня, и страдает ожирением. Решает задачи по комбинаторике за 15 минут. Норм живут школьники.
>>1865168 Ну вот шоу рум парня который всего добился сам, на фрилансе, на заказах, с забугорными заказчиками https://www.youtube.com/watch?v=vRUjJKztpzw&t=490s У него там один шкав и один "компьютер" Те посмотрите просто сколько техники, и оцените приблизительную стоимтость всего этого. С учетом что челу даже 30 нету.
>>1865170 Вы просто посмотрите как он живет, оцените стоимость техники, жилья, и сколько нужно на такой образ жизни. И чел позиционирует себя как фрилансер, пилил ролики как делал заказ на фрилансе, в реальном бою, но заказ брал - не из-за бугра, а у нас, а это рубли. То есть как надо пахать, чтобы так жить на рубли и за рубли. Цены видели? Так вот, а он еще только учит англ язык. То есть он не может даже общаться с заказчиками. А уже так живет. И конечно он всего доблся сам. В 20+ до 30 лет, спит до 3 дня, кодит, купается джакузи, и решает целыми днями задачки на кодворзе по комбинаторики. К слову, у меня в 20 лет даже компа не было кек. Те у всех равные возможности. способности, стартовые площадки. Все честно ребята.
>>1865172 >Вы просто посмотрите как он живет, оцените стоимость техники, жилья, и сколько нужно на такой образ жизни. Живёт он как скотина в бараке. Только обставился очень дорогими гаджетами (для показа больше, чем для использования по назначению). Вместо того, чтобы сделать жильё уютным и удобным - сделал образцовый свинарник с брильянтовыми корытами. Так Ашоты живут - спят на гнилом матрасе в три поколения, зато на тонированной низкой вишнёвой Приоре и с золотыми браслетами.
Сап. Нужен толковый прогромизд на питоне, ознакомленный со всеми ньюансами этого дерьма. Есть одна интересная тема, в которой я не могу разобраться, но с твоей помощью мы захватим мир. Ну или заработаем щекелей на пару Мерседесов. Фейкомыло: [email protected]я не троль
>>1865323 Как обычно - решить тестовое задание, а потом вам скажут что вы не подходите, а задние окажется реальным тз, которое анон взял на бирже, решил с вашей помощью, и заработал капусты.
>>1865401 >>1865410 Такая схема работает в теории, на деле на такое обычно ведутся хуи, которые соответственно сделают хуйню или вообще не сделают, в результате соснут все - что заказчик, что посредник, что хуй. В любом случае, в долгосрочной перспективе рейтинг посредника провалится.
def find_short(s:str) -> int: ____ b = [] ____ a = s.split() ____ for x in a: ________ b.append(len(x)) ________ return min(b) Почему когда я набираю в ipython у меня все работает, и выводит мин элемент массива, а когда я делаю функцию выводит первый элемент. И это не первый раз уже. Обычно дропаю такое, но надоело, хочу понять в чем прикол. Пробовал также и while. Так то все работает. Но в функции - нет.
>>1864673 > Без layout'ов, т.к. макет в QT дизайнере уже сделал, а с layout'ами дизайн становится максимально уебанским.
Зря ты так. Что ты будешь делать при изменении размеров окна? Запретишь менять размер окна? Или вот, как раз твой случай, при добалении/удалении виджетов? В ручную менять размеры и координаты? Родина дала им лэйауты, размещай виджеты, радуйся, нет, они хотят жрать говно
>>1865690 У меня дизайн фиксированный, я запретил увеличивать и сжимать окно. И вообще лэйауты сильно ограничивают в дизайне, я вообще не понимаю как с ними что-то изобретать. Они все виджеты уравнивают. >при добалении/удалении виджетов Я их затем и добавляю на ScrollArea чтобы потом скроллинг припаять (если получится) когда за зону они выйдут.
>>1865725 >[0] ⚹ 3 == [0, 0, 0] фича пригодится С этим надо поосторожнее, если элементы массива это изменяемые объекты, например, другие массивы. Вот нужна матрица [[0, 0, 0], [0, 0, 0], [0, 0, 0]], если просто написать matrix = [[0, 0, 0]]*3, то в matrix будет храниться не три разных списка, а три ссылки на один и тот же список, то есть, если потом написать matrix[0][0] = 2, то получится [[2, 0, 0], [2, 0, 0], [2, 0, 0]], а вовсе не [[2, 0, 0], [0, 0, 0], [0, 0, 0]]. В таком случае, лучше писать что-нибудь вроде matrix = [[0 for i in range(3)] for j in range(3)]
>>1865741 йех, я думал написать про это, но мне было лень я бы написал [[0] * 3 for _ in range(3)] или создавал row в цикле, заполнял его и добавлял в конец arr2d
>>1865703 >И вообще лэйауты сильно ограничивают в дизайне, я вообще не понимаю как с ними что-то изобретать. Они все виджеты уравнивают Так принято при создании интерфейсов, чтобы виджеты укладывались в определенную сетку, это не значит, что они все одинакового размера, просто должны быть общие линии, по которым они выравнены. Можно задавть максимальные и минимальные размеры для виджетов, можно много всяких настроек в лэйауте менять, можно вставлять лэйауты в другие лэйауты.
>Я их затем и добавляю на ScrollArea чтобы потом скроллинг припаять (если получится) когда за зону они выйдут. Тебе же приходится в ручную рассчитывать координаты и размеры нового виджита, чтобы он не плюхнулся куда попало. А в лэйауте просто пишешь добавить виджет - он и добавляет.
>>1864673 Может быть, тебе будет полезно почитать про Model-View в Qt. Там есть модель, где хранятся данные, есть вью, который отображает данные, например, таблица или список, есть делегаты, которые определяют внешний вид и возможности конкретного элемента. Так можно организовать добавление-удаление однотипных элементов
>>1865720 ты хочешь из обычного массива проиндексированный сделать чтоли типа [[1, 1], [2, 2], [3, 4]] где первое значение является индексом в массиве ?
>>1865785 Ты где-то видел в требованиях вакансий сертификаты курсов? Скинь, поржём. (Но есть подвид курсов от компаний, по типу как EPAM набирает в моем вузе студентов годик походить на свои курсы, а отличившихся берёт к себе на работу.)
>>1865835 Поясню что хочу: заполнить матрицу arr из списка l. У меня на пикрил значение tmp3 постоянно перезаписывается и я получаю матрицу забитую девятками. Не понимаю почему так происходит. Ведь tmp и tpm2 должны же меняться и в матрицу должны падать новые значения? Сорямба, я новичок.
>>1865835 Я тоже новичок, но у меня вроде получилось. Попробуй так, хотя, я не уверен, что тут уместно использовать enumerate, если у тебя и так значения в l идут по порядку. for i, v in enumerate(l, start=1): ... lt.append(v) ... if i % 3 == 0: ... arr.append(lt) ... lt = []
Алгоритмический вопрос. Есть массив. Как ходить по нему сверху вниз и снизу вверх? Написал код https://ideone.com/8F1jks. Но почему-то он мне дает пройти туда-сюда только два раза, а потом перестает. Подскажите, кто знает.
>>1865872 Начнём с того, что твоё решение, какое-то дюже мудрённое. Нихуя не понял зачем нужно n, while, remove Закончим на том что оно не работает, к примеру для пустого list'а
>>1865875 https://www.codepile.net/pile/ZE85QYD8 проверка на пустой список тоже не помогла но спасибо. Ну просто решил потренировать while, циклы вот это все. Они видимо какую-то нех подставляют в тестах, так то проверка проходит только рандомные тесты или как там у них - нет. Я не еебу что они подставляют туда. А три примера что у них проходят. Ну будут думать дальше
>>1865876 >Ну просто решил потренировать while, циклы вот это все. Ну это же не значит, что их нужно херачить куда-угодно. >проверка на пустой список тоже не помогла Я сказал например, а не только. >Я не еебу что они подставляют туда. Ну например ["a"]
>>1865878 Да. на самом деле. Странно, что если в массиве одна строка или несколько то виснет, с цифрами инт все норм. По идее, цикл и задает проверку, если есть строка, то ее нахуй из массива. НО вот почему не удаляет странно.
>>1865882 >НО вот почему не удаляет странно. Удаляет, в этом и проблема. Фишка в том, что комплюктер делает то, что ты написал, а не то, что ты задумал. Пойми что ты написал.
>>1865835 >>1866076 Зачем писать так, когда можно писать на питоне? l = [1, 2, 3, 4, 5, 6, 7, 8, 9] arr = [l[i: i+3] for i in range(0, 9, 3)] print(arr) > [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
У меня есть объект, в которы вызывается метод, внутри которого происходит изменение объекта, загружаются данные, меняются свойства и т.д Как мне замокать его? Есть метод, в котором я подготовил имитацию заменённого объекта типа def another(self): ____a = A() ____a.x=1 ____return a
Сам вызов объекта идет так a.sync() Как замокать его, чтоб он заменялся на тот, что вырнется из def another?
Мне вот интересно, почему именно в питонотреде одни вкатывальщики и полные долбаебы? Почему в c++ довольно интересные вопросы, а здесь >ЫЫЫЫЫ пип не работает, чо бля делать? Гуглить не умею, книжки читать тоже, видео сматреть долга >Учу питон, планирую получать 150к через 2 месяца.
>>1866441 >>1866628 хотя сам питон, не смотря на все его недостатки, гибкий пиздец я на нем писал от хуйни, которая общается с платой по кастомному протоколу, до ебобобы, которая генерит меш по показаниям двух камер коллеги с работы делают вообще ебецову штуку с рассчетом динамики многостепенного механизма да долго (дольше крестов), да не оптимально в некоторых местах ( я про менеджмент памяти) но свободы пиздец искренне люблю язык и от того горит с тухлости треда и "ыыы кодворс не могу осилить ыыы как перебрать массив и как учить жангу ик пук серьк"
Аноны, хочу вкатиться в Python. Вкратце о себе: ничего не знаю о программирование, математика тоже вплавленном состояние ибо школьный курс не осилил и прошел школу так на отъебись. Мне начать с Математики и потом только начинать Python или там он не так необходим?
>>1866441 Потому что основы питона учатся за 2 часа, а гибкость самого языка позволяет писать хуиту хует. Отсюда и элементарные вопросы от тупиц, которые не знаю элементарных вещей, души которых любой си или кресты ебал бы на самом старте изучения языка.
>>1864386 Напиши для начала калькулятор как бы это банально не звучало. А в метро что-нибудь почитывай. По-моему субьективному мнению, практика у тебя должна занимать 80% твоего времени, теория 20%. Если уж бросаться из крайности в крайность, то лучше уметь писать работающий код и не знать как он работает, чем наоборот.
>>1866742 Если ты только обучаешься, то это наоборот хорошо. Если по работе, то первый жизненный урок получен - проверь, не написал ли кто-нибудь велосипед до тебя.
>>1866630 >>1866631 Сейчас все хотят вкатиться в новые специальности, в программирование и машинное обучение. В год китайской летучей мыши особенно стало актуально, "агент туристической индустрии" больше не модно и не очень перспективно.
Соответственно очень много случайных людей, не умеющих программировать совсем, кто книжку по базе питона не удосужился прочесть и т.п.
Это не значит, что серьёзные программисты и серьёзные на питоне не пишут. Если бы не писали, не было бы такого хайпа вокруг языка.
А в плюсы случайный человек сейчас не полезет.
Кстати именно в веб направлении всё адекватно. Веб не очень удобно на питоне делать, относительно сложно, вкатываться скорее идут через JS и PHP.
>>1866763 да конечно, говорю же, язык топ по возможностям можно с крестами сравнить в целом-то, конечно, насколько я знаю, нет управления памятью (ну мб advanced shit какой-то, но хз), зато можно сишный код вставлять короче питон топчик, я вообще не базарю ничего немного не радует рынок труда - реально все в вебе практически (либо не там ищу). И так как я пишу на питоне, но от веба далек из-за специфики компашки, то грустно (не люблю веб, люблю ШИМ на питоне моделировать)
>>1866709 automated boring stuff например >>1866734 у меня из средств программирования только ноут с виндой и винду я удалять не хочу потому что дрова под нее есть а под линукс не всегда, я конечно искал как поставить линукс дуалбутом, но там есть риск похерить мне всяки таблицы если нарукожоплю а идти мне потом с этим некуда, и раз я не нашел убедительного гайда, то отложил эту затею >>1866751 Оооо, братишь, выглядит жоска. ИИ тренируешь тама?
Извини за глупый вопрос, анон, пытаюсь для себя изучать этот язык по сути с 0. И хочу написать парсер нашего архивача, который бы сохранял полноразмерные картинки и видео. Получаю список ссылок, а дальше нужно оставить те, что начинаются с определённых слов и заканчиваются определённым разрешением, причём каждая ссылка начиналась бы с новой строки. И вот с этим проблемы.
>>1866904 >>1866856 ЛОЛ, это все равно что "порежу колбасу вилкой, а то еще нужно гуглить как ножом пользоваться" а потом говорят, что математика в программировании не нужна конечно она не нужна с таким подходом
>>1866881 Просто пока ты просто на голом питоне с модулями что-то делаешь, то ок. А когда начнёшь использовать внешние системы, вроде БД, redis, rabbit и т.п., то будут проблемы.
Лучше как-нибудь докер под виндой поднять для этого.
>>1866909 >порежу колбасу вилкой, а то еще нужно гуглить как ножом пользоваться Ну в принципе вилкой и правда легче будет если вилкой не научен. Иногда консервативный склад ума просто мешает новое повторить, т.к. болезненно.
>>1866938 Тут полярные и обычные координаты вообще не при чём.
turtle работает иначе, там система отчёта это сама turtle. turtle имеет текущее местоположение и поворот. forward(1) означает "продвинуться на 1 пиксель вперёд", любое float значение может быть. right(1) означает "повернуться на 1 градус вправо".
Какие полярные координаты вообще?
прошли чуть вперёд, повернулись. Ещё чуть вперёд, опять повернулись. В сумме надо развернуться на 360 градусов. Если нужна окружность нужного радиуса, то надо за эти 360 градусов поворота пройти 2pi*R вперёд.
Сап, анон. Позвали на собеседование на тестировщика-автоматизатора на Python. Как думаете стоит ли оно того, если я в большей степени хотел backend-программистом стать? Учу Python 3-4 месяца всего
>>1866957 Сам решай, но тебя позвали пока на собеседование, а не на работу. Ещё не факт, что предложат работу.
И вот совсем не факт, что так просто устроишься на бекенд без опыта работы.
На собес, мне кажется, в любом случае сходить стоит. Вот особенно когда ты в этой работе не очень заинтересован, очень полезный опыт. Там уже надо смотреть на то, что на этой работе делать и как, полезна ли она тебе. ХЗ что там делать надо. Может реально полезная для прокачки скиллов, плюс опыт работы.
>>1866957 Ты так говоришь, как будто тебя гарантированно примут. Собеседование лишним не бывает, подготовься, сходи, вежливо побеседуй, возьми контакты, перекинься шуточками с няшной hrшей или тимлидшей. Или еще год будешь свой пипон зубрить в отрыве от реальности?
>>1866953 ты вот это сказал, чтобы просто что-то сказать или как? ты конечно можешь заебашить через свои декартовы - без проблем. Юзай свои ебливи форварды и прочее говно я вот с черепахой вообще дело не имел, но даже такого валенку как я хватило 2-х минут гугления, чтобы 1) узнать как делаются полярные координаты в вашей это черепахе (давай, удачи черчения кардиойди своими форвардами) 2) узнать про команду goto(), с помощью которой это делается ИЗЕЙШЕ досвидания, разберись сначала с темой
>>1866963 Высоконагруженные системы, backend, iOS, Android, Desktop тестировать надо. По факту в основном дрочить на Selenium. Но я тоже считаю, что лучше сходить на собеседование, чем нет.
>>1866971 это плохо я сам таким очень грешу, но поверь такому же itхикку - лучше сходи к первой работе ты никогда не будешь готов на сто процентов: везде свой стек, свои архитектурные решения, подходы так что знакомитсья нужно как можно раньше со всем этим
>>1866968 > написал как уебан, сорян Есть такое. Для тебя вот этот код >>1866920 очень сложен? Ты думаешь, можно сильно проще, не используя библиотечный circle?
По-моему ты просто хочешь закосить за умного. А по факту ведёшь себя как неадекват. Будет другая задача, будут и другие системы координат по необходимости. А в конкретно этой задаче НЕ НУЖНО, только хуже будет.
>>1866979 что ж, могу только признать свою ошибку. Действительно так тоже очень просто справедливости ради скажу, что с полярными не сильно сложнее, но, в целом, это тоже гуд
> Будет другая задача, будут и другие системы координат по необходимости. А в конкретно этой задаче НЕ НУЖНО, только хуже будет. такое , если задача учебная - имхо лучше решать так, чтобы знать больше, а не решить побыстрее
> По-моему ты просто хочешь закосить за умного ну если для тебя полярные координаты это "для умных", то сорян, не был готов к такому уровню. Полярные мы и в школе проходили
>>1867000 ну я признал, что проебался и так проще, кто ж спорит надеюсь никого тут своими радианами не обидел но чисто имхо, так нагляднее, потому что ты сразу видишь функцию и понимаешь, что собсна она далает + параметры видно ну короче забей, если цель проще - тот вар лучше
заебали своими координатами лучше скажите, что лучше: компилить проект или пихать в докер? интересует скорость работы и что по памяти? докер же наверное побольше будет весить
>>1866996 >сильно сложно и умно ? icq выше 228 надо иметь? Решение с багом, нужно сначала выставить точку на окружность, чтобы не было черты из центра (в других решениях тоже надо бы, там просто окружность смещена, но хоть визуально рисунок корректный).
6.28 было бы лучше записывать как 2*math.pi, раз ты модуль math всё равно импортируешь.
И заметь, в оригинале никаких декартовых координат не было вообще. Исходный автор делать x,y, но они не использовались у него совсем.
>>1867003 вообще очень интересно получается смело сделаю предположение, что этот модуль используется далеко не в сложный комерческих проектах, а для себя и своего обучения и возникает вопрос: а надо делать проще или так, чтобы чему-то научиться? ну сделал ты ыыы форвард ыыыы райт, и что? вот если человек не знал, про полярные координаты, то он имеет возможность применить "золотое" правило программиста "вот когда понадобится, тогда и выучу". Ну вот, понадобилось, почему бы не написать на 4 строчки больше, но разобраться в такой несложной теме? Но уж если проще, то , ребят, проще вообще не заниматься программированием в целом, найдите работу полегче
>>1867002 >лучше скажите, что лучше: компилить проект или пихать в докер? Вообще это совершенно разные вещи для разных вещей.
Если ты компилируешь, то ты получаешь standalone сборку, которую можешь запускать без дополнительных установок чего-либо.
А докер-контейнер нужно запускать в докер среде, её надо ставить, ставить соответствующие образы, собирать и т.п.
Для разного совсем.
При этом памяти на процесс докер отъедать не будет, если под линуксом. Потому что докер это скорее система управления базовыми линуксовыми возможностями виртуализации, а не какая-то тяжёлая виртуальная среда. В винде надо много, потому что там что-то вроде виртуального линукса в довесок поднимается.
В общем для настольного применения лучше компилировать, для линкус-серверов лучше докер образы, имхо как-то так.
Идея turtle вообще в том, что это робот, которым ты управляешь. Ты же превращаешь тупо в курсор, это концепции turtle противоречит.
Чисто по логике кода некрасиво смотрится pendown() в цикле, когда реально он должен быть вызван один раз. Может тут и нет никакого перерасхода и ничего не ломается, но вот мне это как-то несимпатично.
Ну и, наконец, не понятно, что ты пытаешься доказать. Да все знают про то, что можно кучу разных систем координат использовать. Те, кто с тобой спорят, уж точно знают.
>>1867018 Потому что это изолированный процесс. Во время сборки контейнера еще могут выполняться различные тесты, проверки на CI, а потом выкатывать в какой-то ECS, кубер, etc, где нет такого понятия как выделенная машина под сервер, а конкретно работа с контейнерами.
>>1867021 ну в целом я не вижу ситуации, что кто-то кому-то пытается что-то доказать я тред по питону в дваче всегда воспринимал как обмен информации в неформальном стиле вот мы, формально, и общаемся на тему того, как решить эту задачу собсна все а что насчет спора с системами координат, так автор вопроса сам сказал, что их не знает, что в целом тоже абсолютно нормальная история. и все , что я хотел сказать - посомотри ВОТ НА ЭТО - оно полезно
Как прописать в регулярке ИЛИ то есть или 4 или 6 цифр, пишу так \d{4} вроде норм, но не получается в одном выражении указать или 4 или 6. Только получается 4. Как сделать в одном выражении?
>>1867018 Докер позволяет делать образы, которые с одной стороны стабильны, с другой стороны их легко править под себя. Позволяет легко настраивать их, в первую очередь подключать файловые системы, настраивать порты ничего не меняя в приложении вообще, докер-сети и т.п., делать сборки из докер-контейнеров (docker-compose) и т.п. Вот на этом докер взлетает. На серверах это актуально. При этом держать докер систему на сервере в любом случае полезно.
Просто идейно, ты разделяешь среду исполнения, питон и его модули (это образ, тяжёлый контейнер) и своё приложение, которое на нём построено, это другой, лёгкий образ.
А вот держать докер только ради одного приложения в одном контейнере в принципе неправильно. Он не для этого и неудобен в таком варианте, и плюсов никаких, одни минусы.
Просто ставлю свой анус что с помощью layout'ов для пидорасов и хуесосов невозможно сделать такой же дизайн. Это просто нереально блять. Я слишком тупой чтобы его повторить через лейауты.
>>1865703 > лэйауты сильно ограничивают в дизайне лэйауты позволяют создать любой желаемый дизайн (хоть фиксированный хоть динамический), не уравнивают а раздают пространство учитывая sizeHint(), например если в QVBoxLayout будет QTableView и QPushButton лэйаут отдаст сколько нужно кнопке а табличке отдаст оставшееся место. Если хочется растянуть кнопку можно полиси поменять и она будет растягиваться по вертикали, если хочется таблицу зажать можно таблице maximumSize задать, если нужно в какой-то пропрорции свободное место раздать можно layoutStretch задать. Без лэйаутов дизайн гарантированно будет ущербным.
Для обучения мне кажется IDE вообще противопоказана, она слишком сильно думает за автора, когда надо учиться думать самому. Для работы да, для обучения неправильно.
Нужен просто какой-то редактор с подсветкой синтаксиса, автотабуляцией, и всё. Вот как вим, но с привычным для нормальных людей управлением, не как у вима.
>>1867061 Ты ебнулся? vs code не ide. Профилировки нету из коробки, дебага нету из коробки. Весь функционал разбит по расширениям. По памяти можно сравнить. У меня пайчарм по 4 гига съедала после индексации
>>1865703 Рекомендую ознакомиться с примерами использования или доками перед тем как делать что-то новое чтобы не недоумевать.
A scroll area is used to display the contents of a child widget within a frame. If the widget exceeds the size of the frame, the view can provide scroll bars so that the entire area of the child widget can be viewed. The child widget must be specified with setWidget()
Если пэрентить от scroll area скроллов не будет, нужно задавать пэрентом self.widget() кроме того нужно вызывать show() чтобы виджет стал видимым.
>>1867076 Интервью не то слово, один из этапов скрининга, решить три задачи на codility за 90 минут, из дома. Она уже была у меня решенной, потому что знакомый, который проходил туда же до этого, дал мне условие заранее. Остальные две задачи, одну я решил сам, решение другой нашел в википедии лол.
>>1867067 >>1867076 Хотя идейно понятно, реально нужно сравнивать пересечение последнего пройденного участка с участком либо на 3 шага до него, или, отдельный частный случай, за 5 шагов до него. Что очень быстро и просто.
В принципе в условии подсказка, что решение должно быть очень простое, раз сложность O(N) и расход дополнительной памяти O(1). Ёмкие решению хотя бы логарифм добавляют.
>>1867089 Всё-таки неправильная задача, особенно для веба, и если сразу решение предъявить. Это надо быть настроенным решать алгоритмические задачи "на подумать" и уметь их решать в такой обстановке.
>>1867090 Похоже на правду, насколько я помню, я довольно быстро додумался до основной идеи и сложности были с проверкой пересечения. Позже я наткнулся на статью, где для этого использовалось векторное произведение, что было намного проще, чем мой код.
>>1867092 Там необязательно было решать все три, кстати, можно было пройти с 2 из 3.
Для каких задач вы учите питон? Если хочется попробовать мобильные приложения, то у питона есть возможности/библиотеки для этого? Или он только для веба?
А если в следующем году додумаю пересдавать егэ чтобы в вуз на айти поступить, специальностей по мобильным не будет? Тоже максимум это веб? Вышеупомянутые языки в вузах со средним баллом в 240 допустим с информатикой где-то вообще преподают? Почему мне кажется что веб остывает, а мобильные очень актуальны? Я ошибаюсь? Или если учить именно питон, то в вузе он хотя бы будет? Или в вузах с такими проходными его не будет? Что тогда учить из того что будет в вузах и укрепит знания после и если его закончить найти уже работу и не остаться за бортом все новых языков и т.д? Что подскажете? Спасибо за ответы. Мимо25лвлбезобразования.
>>1867156 Я знаю, но если это все или есть ещё одна, две, то питон явно не для мобилок. Справедливый вопрос. Для чего питон? Что на нем можно делать? Если изучать мобильные приложения, то там ты на собеседование идёшь с несколькими готовыми. Игра/менеджер, будильник/калькулятор/ридер и т.д. А с чем идут на собеседования питончики?
>>1867161 > Для чего питон? Что на нем можно делать? - десктопные приложения, например Calibre или Anki, хотя я смотрю последний переписывают на rust. - data science / машинное обучение. - автоматизация всякой фигни, например, например flexget написан на питоне, программа для трэкинга и скачивания торрентов фильмов, сериалов, комиксов и прочего. - написание прототипов по-быстрому, появилась идея, хочешь побыстрому проверить ее, у питона найдутся библиотеки или биндинги к ним для чего угодно. - про веб ты уже знаешь
>>1867174 Курс по робототехнике с вуза, книжка только физическая копия. Там и книга не нужна для решения, главное знать что левый сенсов контролирует скорость левого колеса, а правый - правого.
>>1867175 Что насчет препятствий, обработки коллизий, вижу также там источник света и сенсоры. Это все только ко второму заданию? Препятствия судя по тексту никак не влияют на интенсивность света?
>>1867203 Как я понял по лекциям, сенсоры отвечают каждый за свое колесо. Когда нет препятствий - оба колеса на условной скорости 1, а когда левый сенсор замечат препятствие дистанция до препятствия меньше 1 метра или типа того - скорость правого колеса пропорционально уменьшается и машинка чуть клонится вправо. По мере достижения не знаю как нормально написать препятствия скорость колес меняется и одно колесо может стать нулем и машина будет поворачивать вокруг своей оси. На теории вроде хуйня, на деле нихуя не смог. И да, в первом вроде не надо со светом играться, лишь препятствия обходить.
>>1867203 Коллизия не учитывается, тут идеальная симуляция. Нашел уже готовый проект, но там замудренно, еще и автор GUIзапилил и я не смог его реверснуть в проект попроще.
>>1861583 (OP) Как присвоить значение конкретной ячейки в pandas Атр1 Атр2 А 0 Б 0 С 0 Значения в столбце "Атр1" уникальные. Нужную мне строку получаю обычным кодом: df[df['Атр1'] == Б]['Атр2'], как присвоить этой ячейке значение вместо нуля.
>>1867326 дали задание написать rsa шифратор дешифратор, делал по етому гайду http://www.michurin.net/computer-science/rsa.html столкнулся с такой проблемой, при выборке числа e программа тупит, то выдавает неверные значения, то вообще стопится. вот сам код https://dumpz.org/aGgAMdRnAfHx, да код хуйня все дела, но в чем проблема? при дебаге на этой строчке while (simple(e) != 0) and (gcd(phi, e) != 1): код проверяет только первое условие с функцией simple, при этом скипает второе с функцией gcd. сап аноны
>>1867357 Логика этих строк неправильная: >while (simple(e) != 0) and (gcd(phi, e) != 1): >____e+= 1
Ты хочешь найти простое e, (i) оно должно быть простое, (ii) оно должно быть меньше φ (iii) оно должно быть взаимно простое с φ; Я кстати не понимаю, по идее iii + i означает, что φ не делится на i. Зачем так сложно тогда? Хотя по-моему в RSA не нужно, чтобы оно было простым, достаточно взаимной простоты с функцией Эйлера.
Но смотри на свой цикл. Пока число простое и не взаимно простое с φ, пробовать следующее число.
А тебе нужно нужно перебирать цикл до тех пор, пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ. Ошибка в логики поиска.
>>1867416 у меня в условии - пока число НЕ простое и НЕ взаимно простое с фи >пока у тебя число ИЛИ составное, ИЛИ не взаимо простое с φ нужно же юзать И нет? допустим фи = 110 а е = 11, получается е не составное, но и не взаимно простое с фи. в таком случае твой цикл прервется, хотя е будет подобран неверно.
Аноны, есть такой замечательный модуль как pyaytogui, для автоматизации дивижения курсора мыши, кликов и прочего. Но координаты каждой точки надо вводить вручную. Это так заёбисто... Как бы автоматизировать процесс или может уже есть какая-нибудь оснастка по захвату таких треков?
>>1870196 Все модули выводит. Просто скорее всего в сурс код не заглядывал в питоне уже заранее определена функция "help" которая в качестве аргументов принимает текстовые хуйни. И при получения "modules" она подключает библиотеку pip либо как-то по другому, не смотрел, еще раз., и внутри себя вызывает функцию пипа которая ответственна за выведение в консольку модулей.