Тред, посвящённый языку программирования Питон, #69.Предыдущий >>1472577 (OP)ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 годаКнижки: https://yadi.sk/d/HQhhsBsq3TVRUqТоже книжки: https://yadi.sk/d/tArKKuQu3KejuqБольше книжек: https://yadi.sk/d/H-00n-UG3RSQemОчень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLKАнон, вместо того, чтобы без разметки постить код, лучше шарь код через специальные ресурсы:https://ideone.com/https://pastebin.com/https://pyfiddle.io/https://www.codepile.net/#######################################Вопросы-ответы:А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.хА что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.htmlА как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
>>1484225 (OP)Привет, двач. Есть у кого на примете годный курс лекций по алгоритмам? Знаю, что библией алгоритмизации считается книга Кормэна(потом по нисходящей идут Дасгупта и Бхагарва, тоже знаю) и мне нравится её полнота, однако, формальный язык очень и очень отталкивает, не способствуя пониманию. Да и вообще, формат лекций мне как-то ближе, нежели просто чтение книги. В общем, какие требования? Полнота(речь не об N-полноте, лол) Кормэна в сочетании с интересным, не сухоформально рассказывающим преподом. А, да, и чтобы на русском(знаю, что охуел). Подскажите чего по сабжу?
>>1484225 (OP)Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Интересует именно что, как, где и зачем это применять.>>1484265Мфтишный курс, например, https://www.youtube.com/user/tkhirianov/playlists
Пишу крестики-нолики с применением PyQT, сейчас такая загвоздка, когда выбираю символ и нажимаю на кнопку, то изменяется текст самой последней кнопки, а не выбранной мною. Я понимаю почему так происходит, но не понимаю, как мне это исправить?Вот код: https://pastebin.com/KUYjNzBaСпасибо за помощь.
Как GIL решает чья треда очередь сейчас выполняться и захавать блокировку интерпретатора? В ситуациях когда выполняющийся тред делает join или в блокировке сычует это понятно, а вот когда main тред например в бесконечном цикле выполняет важные вычисления (3 + 3), как GIL что сейчас в этот тик он дает врем main треду, а в другое одному из сотни других, запущенных в бэкграунде?
>>1484425Специально для тебя шизик.Сверился с доками: в текущей реализации CPython он каждые 400 инструкций меняет контекст потока исполнения на следующий тред.В версиях ~до 3.0 многопоточные треды вешались
>>1484225 (OP)Аноны, помогите c PyQt, пожалуйста. Написал на PyQt небольшой скрипт, который выводит результаты расчетов по введенным параметрам(первый пик), но когда меняю значение одного из параметров и нажимаю кнопку рассчитать(по идее все значения должны переопределиться), он добавляет строчки поверх других(видно на втором пике), когда писал на tkinter,, строчки автоматически обновлялись, а здесь нет. В чём проблема в общем? Неужели еще писать отдельную функцию для очистки строк или я что-то проглядел? вот ссылка на код: https://pastebin.com/RCuGZDHA
>>1484781Еботню написал полную, в плане архитектуры твоего окна и виджетов.Возьми ты КТДезигнер и накидай всё нормально и потом уже логику прикрути.
>>1484781А че консольное для такой хуйни не подойдет? Или тебе надо именно кнопки для бабок срак? Тут имха проще по шурику какой нибудь флакс развернуть и хтмл кнопки нарисовать
>>1484856Второй вариант. Сам бы я смог и в консоли, но скрипт этот буду показывать дядьке, который в программировании не понимает ничего(хотя я и сам новичок в этом), а так покажу приложение это мол смотрите что умею, с кнопками всё и всё автоматически чертит и считает, презентовать так сказать навыки свои.
>>1484225 (OP)второй петухон все? Сразу в третий вкатываться? Что думаете о курсах на юдеми? Как апнуть левел с "рисованием совы"?
>>1484895> второй петухон все? Сразу в третий вкатываться?Он был всё ещё 10 лет назад.> Что думаете о курсах на юдеми?Хз, но если уже кодил на чём-то, для начала хватит официального туториала.> Как апнуть левел с "рисованием совы"? Писать свои проекты.
>>1484781Хуйню несуразную написал даже лень разбираться. Ты печатаешь каждый новый результат поверх всех прежних.сделай грид с QLabel и используй QLabel,setText("твое говно")
Сап, прСап, б, как мне запилить анимацию графика в матплотлибе, если есть уже готовые точки?Есть переменная такого видаG = [array([ 0.71047606, -1.08423201]), array([ 0.6865158, -1.0781426]),...array(..)]В каждом из array'ев х и у координаты.Я прост не могу по примерам переделать, не понимаю куда что идёт
Сап двоч, пытаюсь запилить бота, подскажите как можно сделать, чтоб после команды определенной были доступны последующие команды, т.е. чтоб была вложенность, условно /Услуга -> /УслугаОхраны, /УслугаПинка, /УслугаТвоейМамы
>>1485465> *namesРаспаковка, распаковочка?>>1485278Я подобное делал через запоминание последнего состояния юзера.Ну и собсна отдельно хранил все дерево всех возможных состояний.
Сходил сегодня на собес, на галеру.Первый вопрос:Как строка хранится в памяти? Сколько места занимает один символ из строки в памяти?Забавно, такой хуйни я ещё не слышал.
Аноны, посоветуйте как быть. Нужно запилить простые формы для заполнения и форма логина. С заполнением я вроде как справился, а что для логина использовать? Посмотрел в сторону session и вроде как подходит, ещё нашел flask_login но он какой-то мудреный. До этого с флаской был знаком на уровне одностраничного сайта с табличкой без кнопок.
>>1485593Ну ещё немного от задачи зависит. Если у тебя что-то серьёзное, то надо думоть. А тут же хуйня из-под коня, расслабься.
>>1485595Я б расслабился, если б разбирался в вопросе. Потому что заполнение данных и кое-какую форму логина я собрал из говна и палок, что нашел в интернете. FlaskWTF вообще полным пиздецом показался на первый взгляд.
Анон, подскажи, пожалуйста, есть цикл типа:for i in list:--ibКак вот это самое ib через фласк сервис отобразить так, чтобы оно пошагово выполнялось? Что-то типа i1b показалось, потом обновил страницу отобразилось i2b и так пока цикл не закончится?
>>1485749Все что нужно было ответить копируется ли значение из других переменных по ссылке или по значению и про утф лол
>>1485755Пахнет асинхронщиной.Если прям через фласк хочешь - возьми Celery, создай там таск, верни юзеру ID таска и пускай он периодически проверяет состояние данного таска.В одной из книг по фласку - было подобное. Чекай книги по ссылкам в ОП-посте.
>>1485768> А что, есть альтернативы?Можно сделать через потоки/процессы с костылями и кучей говна.Выход есть всегда.
>>1485774Ну да я сказал, что мне нехорошо и надо выйти, извинился и пошел в туалет быстрым шагом, за спиной услышал "фу блядь", оказывается повидло по ноге стекло и оставило след на полу. Ну я обратно не вернулся.
>>1485774> Ты хоть чето ответил мудак бляЯ охуел от такого вопроса сразу и совсем его не понял.Он потом пизданул про утф, я дополнил, он пизданул про 2 байта на символ и всьо.Благо дальше собес норм прошёл.>>1485775Вот кстати было подобное(ну почти) однажды.Пришёл на собес, пропиздели там 2 часа с двумя лидами, в конце спрашивают "Есть ли к нам вопросы?", я - "Не, нихуя". Лиды уходят, остаюсь с хрюшей. С ней ещё попиздел и захотел ссать. При выходе из переговорки спросил у неё, где туалет на этаже, она рассказала. Идём блять около мест в попенспейсе, где сидят те лиды, и она во весь голос им говорит "Вы знаете чому у анона не было вопросов к вам? Он в туалет захотел, лол.". Сука, ну ебаный в рот блять, чому ты такое тупое животное?Ну и самое охуенно ждало в туалете: весь такой ниибацца БЦ снаружи, всё охуенно, ага, а туалет(очко+писуар) один на этаж, а офисов то дохуя.Охуительных историй трэнд
Аноны, выручайте. У меня есть пять числовых массивов и одно число. Мне нужно, чтобы это число и еще пять чисел, по одному из каждого массива случайным образом взятые, давали в сумме 100, при этом два из них принимали одинаковое значение. Что почитать, куда смотреть, чтобы понять как это реализовать?
Здравствуйте. Начал разбираться с многопоточностью, нихуя не понял, начал разбирать си и курс по операционным системам на степике. Это правильное решение или есть иные и лучшие способы разобраться в процессах/потоках/семафорах?
>>1485937У меня известен диапазон, в котором находятся случайные числа. Идея в том, что пять из шести должны быть взяты каждый из своего диапазона таким образом, чтобы в сумме они давали 100.
>>1485947А шестое число мы будем брать такое, чтобы в итоге сумма шести была равна 100? И в чем проблема тогда? Складывай пять случайных чисел, вычитай из них сто - получишь шестое число с обратным знаком.
>>1485959Я так понял у него уже есть какое-то рандомное число и надо к нему приплюсовать еще пять рандомных таким образом, чтобы получилась сотка.
>>1485959>>1485962Спасибо, я с этим разобрался. Только проблема: оно почему-то не работает. Сам не кодер ни разу, не разбираюсь, просто некоторые вещи своей работы хотел автоматизировать, чтобы в ручную не считать нихера. Вот че наделал: https://pastebin.com/L7vpMDsg почему-то выводы print(1) и print(Possible) не делаются, только print(2), а интерпретатор не ругается ни на что. Подскажите, где я мудак?
>>1485964Ну тут много вариантов. Мой любимый:uwsgi->sock->nginxЕщё неплохо:Gunicorn->sock/port->nginxНо второй вариант с aiohttp юзаю обычно.Можно ещё через апач, можно вообще напрямую тестовый сервак ебнуть.
>>14860441. Где нормальный нэйминг?2. "Закройте программу и попробуйте снова" - ты серьезно? Ебни над каждым выбором цифры цикл бесконечный, который бы прерывался только верно введённым числом + хоткеем каким кастомным.Конец вообще не осилил
>>1484225 (OP)Я новичок, за пару недель вроде натянул базовый пайтон, посмотрел видосы, прочитал несколько книг. Хочу попробовать создавать парсеры, что бы хотя бы за копейки сделать какой нибудь заказ на парсер. Не ради денег, а просто интересно и для мотивации, что бы понять как знания можно применять. Что для этого сейчас актуально учить? Видосы в ютубе по парсерам планирую посмотреть, но там в основном 16-17 год, мб уже что то изменилось.
>>1485919Не, курс по ОС для этого не нужен.По ОС полезно что-то знать, чтобы понимать, что такое процесс, системный вызов и прочая хрень. Треды тоже туда, но ты учти, что это про более низкий уровень, не про питон. Теме наверное нужны материалы по конкурентному программированию, это и про потоки, и про ОС. Попробуй вот этот видос: https://www.youtube.com/watch?v=MCs5OvhV9S4английский тут умеренно сложный. Тут как раз очень наглядные примеры и про потоки, и про процессы, и идеи асинхронности.
>>1486064>Хочу попробовать создавать парсеры, что бы хотя бы за копейки сделать какой нибудь заказ на парсер.Такого рынка практически нет. Есть, но очень эпизодический. >Что для этого сейчас актуально учить?Доки по регуляркам. > Видосы в ютубе по парсерам планирую посмотреть, но там в основном 16-17 год, мб уже что то изменилосьЭто настолько древняя тема, что даже за 20 лет ничего не изменилось. Эту тему можно и по книгам для второго питона учить, ничего не потеряешь.
>>1486069>Такого рынка практически нет. Есть, но очень эпизодический.То есть смысла нет? Я просто читал, что так можно получить первый опыт, что бы потом легче было на нормальную работу устроиться, на постоянке то естественно не собирался только этим заниматься
>>1486064Найди среди книг на я.диске "скрапинг данных"(или что-то типа того), там всё годно расписано.
Аноны, как лучше организовать напоминания за N часов до события?На ум приходит только запуск в celery таска, раз в час, который выгребал бы все события из бд по определённым параметрам и потом запускал рассылку. Но это выглядит как-то не очень.
Анончики, хотелось бы подискутировать на такую тему: эмуляция человеческой активности в сети.В чем смысл идеи - создать монстра, чтоб ходил по моим же сайтам, и накручивал клики Адсенс! Главный вопрос: есть ли вообще шанс обмануть таким образом всемогущего гугла? (хотелось бы посредством питона). Кажется, всё достаточно просто: посылай реквесты с разными параметрами (ну и конечно прокси). Спалит? Можно ли с помощью реквестов эмулировать разное время пребывания на сайте, или для этого нужен другой инструмент?Посоветуйте куда копать...
>>1486165Гугол с помощью своих метрик анализирует поведение пользователей плюс снимает уникальный слепок браузера (есть куча browser fingerprint техник).
>>1486193угу, уже почитал, походу это нереал ((А если и реал, то ооочень трудозатратно, легче замутить белую тему
Блять, помогите ущербному. Прочёл и доки, и блять на русском гуглил и даже лекцию посмотрел, но все равно нихуя не понял. Как работает, и как писать при помощи асинцио?
>>1485764Ещё вопрос, ибо туплю.Надо в простейший фласк сервис засунуть json, обработать его внутри, и потом выдать результат в виде json'a.Как это сделать? А если будет поток json'ов на входе и выходе?
>>1486552Посмотрел уже кучу примеров. но не понял, поэтому и спрашиваю.Вот есть какой-нибудь input.jsonКак его в простейшем случае подать на вход , чтобы получился выход?@app route("/")def huita():----return jsonify(do_something(input.json))
>>1486610а что там такоготем более наверняка есть либы для отслеживания событий и не надо велосипедитья лично вкатывальщик на фронт а не бэк тоже такое напишу (не на питоне а на джс офк) но пришлось бы несколько дней мучиться потому что никогда не тыкал всерьез регистрацию и рассылку почты это же бэк
Антоны, нужно выбрать из списка только строки длинной больше трёх символов. Если в строке есть пробелы(i.e. предложение из нескольких слов) – выбрать только то, что длиннее трёх символов. Иными словами, реализовать пик1. Для меня важно сделать это эффективно с точки зрения компуктерных ресурсов. Для меня очевиден генератор в генераторе, пик2. Но т.к. остаются пустые элементы, их нужно исключить.Следовательно вопрос, пик3 или пик4? Может быть я глуп и можно сделать иначе/проще?
>>1486610>>1486622В смысле технологии? Джанга очевидно на питоне, рест очевидно мейн подход к жанге, жсон очевидно в 99.9% используемый формат Асунк сейчас вообще везде по умолчанию исплоьзуется странно что он вообще перечисленЗадание буквально на полтора роута/контроллера и один апи колл. Я бы давал однодневный дедлайн на такую хуйнюАнон очевидно устраивается в шарашкину контору и скорее всего по распределению с вуза
>>1486587Ну вообще на позицию мидла тестовое.Но, в нем скорее галера хочет проверить у меня умения в drf/celery.Ибо в резюме у меня в основном все кроме джанги.>>1486610Тут технологии базовые для веб-ждуна. На начального ждуна этого хватит +/- на крепкого уже надо больше/шире.
>>1486688> Анон очевидно устраивается в шарашкину конторуСкорее всего, хз, они ноунэймы, а выебываются много. Вначале опыт им детально распиши, потом они такие "шото слабо" теперь и тестовое.Это я ещё последнюю страницу не заскринил, там вообще ор, чуть позже скину.> скорее всего по распределению с вузаНоупНо мне хули, пока без работы сижу - сделаю.
>>1484225 (OP)Сап, двач, в чем основная проблема вката на работу с python? Он кажется очень классным для решения многих задач. Намного проще, чем, скажем, Java. И как-то не так много моментов, когда день не можешь понять, что не так и как что сделать. Да и в целом он приятен. Значит ли это, что можно забить на прошлое и за несколько месяцев подтянуть себя до написания приложений/скриптов нормального уровня? Пора уже работу искать, но страшно что-то менять. Кажется, что если уделил столько времени другим языкам -- не стоит перекатываться пока.
>>1486711В ТЗ на джангиста указан блять питон с джангой но не указаны ни меил сервис ни условия использования крона ни бд )Какая-то галерная ловушка
>>1486714> В ТЗ на джангиста указан блять питон с джангой но не указаны ни меил сервис ни условия использования крона ни бд )Ну гляди, они перечислили желаемые технологии, для данного теста. Очевидно юзание БД, любой, раз не прописано. С меилсервисом я ебаториться не буду у них, оставлю пустые места для кредов под мыло.> Какая-то галерная ловушкаТаки галера, да ещё и мелкая, тут иначе никак.Чуть позже скину скрины вакансии.
Я где-то видел что в последних версиях питона необязательно в async/await писать постоянно loop.run_until_complete() или что-то такое, где подробнее почитать?
>>1486744>необязательно в async/await писать постоянно loop.run_until_complete()Ну вроде как во всех последних версиях(3,5+ точно) можно писать не только лишь run_until_complete, но и другие команды.А про это почитать можно в доках. Как и про многое другое.https://docs.python.org/3/library/asyncio-eventloop.html
>>1486724О така хуйняПик 3 - завершение тестового письма, немного проиграл с этих условий начала разработки и т.п. Проиграл ибо у меня есть гитхаб, нужны комиты и качество коментах к ним - пиздуйте туда.
>>1486753Это наверно наебка гоев, там носатый сидит и раздает задачи с фриланса под видом тестового лол.
>>1486769>Че ты сразу не сказалКонечно тут все пидорасыСайт сделан на жкверях с моргающими анимациями Проекты половина мертваhttp://celebstalker.com/http://remoda.io/http://app.nrs.co.uk/Наебалово какое-то 100 процентов
>>1486773Че орешь-то, все так и начинается как в тюрьме бля. Сначала говорят, подай кружку пожалуйста, потом подмети пол, а потом ты уже хуй сосешь.Вот и тут также, сначала создать проект на битбакете, а потом будешь анус на вебку дергать.
>>1486788сначала создать проект на битбакетепотом закоммитить на него свое обнаженное фотону а там и до вебки недалеко
>>1486810> тут натуралы сидят.> обсуждают своих питонов> доказывают, что у кого-то питон лучше> натуралыОкай
>>1486744run_until_complete вообще плохой выбор, это функция скорее для разового запуска задачи, это больше какие-то тестовые примеры. Если у тебя в программе больше одного вызова run-функций, то ты скорее всего что-то не так делаешь.В разных версиях свои нюансы. Сейчас тенденция такова, что стараются выпиливать явное указание loop отовсюду, откуда можно.Начиная с версии 3.5.3 можно узнать текущий loop специальными функциями и поэтому явно передавать не обязательно. Беда с версиями в том, что в ubuntu LTS 16.04 версия 3.5.2.Грамотнее перейти на 3.6, или лучше сразу на 3.7, если нет завязок на 3.6В 3.7 уже практически полностью ушли от того, чтобы явно цикл обработки сообщений указывать. Ты просто вызовы функций вродеasyncio.run(main()), все сервисы тоже через asyncio, никуда loop не передаёшь.
>>1486711Повышаю:Сап, двач, в чем основная проблема вката на работу с python?Он кажется очень классным для решения многих задач. Намного проще, чем, скажем, Java. И как-то не так много моментов, когда день не можешь понять, что не так и как что сделать. Да и в целом он приятен. Значит ли это, что можно забить на прошлое и за несколько месяцев подтянуть себя до написания приложений/скриптов нормального уровня? Пора уже работу искать, но страшно что-то менять. Кажется, что если уделил столько времени другим языкам -- не стоит перекатываться пока.
>>1486908Нет никаких проблем. Берешь и вкатываешься. Но если ты где то там например в джаве или шарпе что то не можешь понять по целому дню то в питоне будет тоже самое.Может программирование просто не твое. Иди на пекаря лучше выучись. Будешь вкусный хлебушек печь в пекарне.Не всем дано головой работать.
>>1486941Сын педофила, он по жизни дизморальнутый. По его посту видно что он не сможет в программирование.
>>1486936Ну задачи то разные бывают. И я бы не сказал, что среди моих знакомых все сходу на Spring'ах писать смогли, но ничего, живые. >>1486941Спасибо, анон.
>>1486908Проблемы всё примерно те же, что и с другими языками. Сложно вкатиться не в питон, а в коммерческое программирование, конкретный язык не так важен.В Java сильно тяжелее вкатиться потому, что на Java в основном серьёзные проекты и нужны серьёзные матёрые программисты. За хороших сеньёров драка, уже мидлы не очень нужны, джуны даже за доплату не нужны.
Есть задачка , есть проблема в решении , в переменную Path путь стоит просто C:\ , и то что надо скопировать и то куда надо скопировать находится на диске С
>>1487464Так сразу не понятно, что не так. Ты ведь создал предварительно ручками каталог RESERV, да? Должно работать тогда. Если не создал, должно НЕ работать.
>>1487464И вместо того, чтобы руками склеивать путь, вставляя os.sep, лучше делать как-то так:target = os.path.join(target_dir, time.strftime(xxxx) + '.zip')
>>1487454Вкатиться в джаву - херня по сравнению с теми же плюсами. Работы, где не нужен опыт, полно. Стажировок тоже хватает.Мимоджун
>>1487494> херня по сравнению с теми же плюсамиДа ты что? Вот это новость.> Работы, где не нужен опыт, полно. Стажировок тоже хватает.Как насчёт пруфов?
Создал себе виртуальную ENV командой python3 -m venv env в домашней директории.Активирую эту среду и пытаюсь ставить туда модули pip. При установке выскакивает ошибка доступа к директории /usr/local/основнойпитон и предлагает использовать флаг --user. С этим флагом все работает. Вопрос такой почему вообще установка модуля в виртуальной среде стучится в папку основного интерпретатора? В добавок модуль ставится не в папку созданной env, а не понятно куда в систему. Это норма?Это всё на линуксе, если что.
Проблема с отображением графиков в pycharm с использованием matplotlib. Выдает ошибку:UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. plt.show()Поставил я python3-tk sudo apt install python3-tkГрафики стали отображаться, но только на интерпретаторе 3.5. Если ставлю 3.6 ошибка повторяется. Как и куда мне прописать путь, чтоб python3-tk видел python3.6?От самого python3-tk только текстовые файлы нашел в usr/share/doc
Тот анон, который выучил питон за два дня и создаёт на нём игру, уже две недели не выкатывает серию с pathfinding'ом
Хочу сделать тест на PythonВопрос и варианты ответа, выбираешь вариант он тебе ответ правильно или нет, либо список 10 вопросов из 100 и в конце результат правильно-неправильно.Как лучше это все реализовать? Знаю что есть отдельные программы и без питона, он хочется на питоне)
Привет, анонасы. Стартап проекту нужен разработчик на Питоне/R, желательно могущий в большие БД и нейросеточки. Алсо, если есть знания в математике - будет просто супер. Контакты: телеграм: @madmadnezНемного о проекте под спойлером:Разрабатывается сервис, который призван стать новой рыночной средой, объединив в рамках одного интерфейса (мобильного приложения и веб-сайта) любые товары и услуги, которые существуют в мире, и оптимизируя рыночные взаимодействия по всей цепочке "добыча—потребление". Разработано это будет как переносом модели теории игр на взаимодействие участников рынка, так и созданием прогнозируемой рыночной среды, в которой запросы на товары и услуги будут удовлетворяться предложением и наоборот.В конечном итоге это приведёт к тому что:а) потребитель будет быстро находить наиболее подходящие для него товары и услуги и платить за них меньше;б) производитель увеличит оборот, будет затрачивать меньше ресурсов и получать больше прибыли.У нас продуманы концепции инструментов, на которых будет функционировать будущий сервис (они раскроют намного больше возможностей), разработана дорожная карта, составлен бизнес план формата UNIDO, сформирована команда единомышленников — людей самых разных навыков, которые двигают разработку. Мы пока в начале пути и привлечь нам удалось лишь 106к рублей инвестиций — мелочь, но мы набираем обороты. Совсем недавно в сырой версии выкатили презентационный сайт, который сейчас активно допиливается. Сейчас переходим к этапу малой маркетинговой кампании. Все члены команды, которые вносят вклад в развитие проекта впоследствии получат справедливую долю в компании. Однако, и уже сейчас мы стараемся платить какие-то деньги, из идущих инвестиций, согласно потребностям людей, и приобретать необходимые для эффективной работы вещи. В ближайшей перспективе планируем перекатываться на иностранный рынок.
Аноны, а это нормально, что socket.gethostname() возвращает мне Аноннэйм-ПК?Естественно айпи адрес по этой хуйне получить невозможно
Оо боги погремисты, извините меня за дерзость, но помогите новичку лоху с лабой. Задание 4 просто проверить хочу, а задание 5 хочу код плз.
Изучаю кресты, хочу написать программу для чтения манги, и подумалось что для парсера сайтов лучше всего подойдет питон. Я прав, или лучше что то другое использовать?
>>1487915Консольный или графический? Если графический, то именно оконный или через браузер можно?Самый ключевой вопрос в том, на чём интерфейс делать.
>>1488074>формула сложных процентов>экономистУ меня на первом курсе был один семестр экономики, и то там были задачи мудовейшие, типо про то, сколько там завод выработает, если у него 10 видов станков, и детали должны по каждому виду пройти, но скорость станков разная, они работают в разное время в день, на разных видах разное количество рабочих с фиксированным процентом того, что рабочий забухает и на работу не выйдет и так далее
Приветствую, аноны. Прошу помощи с тестированием, сам не вижу что работает не так. Есть функция, возвращающая свободное место на диске или в директории. Я тестирую ее таким образом - создаю временную директорию, вызываю функцию и записываю результат первую переменную. Затем создаю в этой директории временный файл, записав в него строчку, и снова вызываю функцию, записывая результат во вторую переменную. Ну и в конце сравниваю их. По идее, во второй переменной значение меньше, чем в первой. Но они одинаковые, хотя сам файл занимает место. Проверял и не с временными директориями и файлами. Всегда результат такой. Что я делаю не так?Ссылка на код: https://www.codepile.net/pile/jDjEl4yN
>>1488305Что ты тестируешь? Создание файла? Выделение системой места под файл? Нет, ты вроде тестируешь функцию, которая возвращает свободное место на диске. Поэтому, как по мне, тебе нужна получить объём свободного места через свою функцию и вызвать системную команду, которая выведет тебе это же значение, затем сравнивай их.Да, это не будет кросс-платформенно(на сколько я понимаю), но зато будет логичней.
>>1488330Да, я понимаю, что тестирую функцию, которая возвращает свободное место на диске. Но вот придумать, как правильно протестировать, с этим трудности. Я могу попробовать вызвать системную команду, но разве это не будет один и тот же код, что я тестирую? Или я неправильно понял?Да, файл создается. Пробовал и обычные файлы создавать(через open().write()). Функцию, которую тестирую, прикрепляю.
>>1488336А, ты пишешь тест ради теста?Просто в идеале, твою функцию можно не тестировать, ибо тут ты берёшь и выполняешь методы из стандартной либы.Протестируй возвращаемый результат(тип) и позитивные/отрицательные тесты над вариантами переданного параметра проведи.На этом всё.
>>1487623Бамп с уточнением. pycharm тут не играет роли как я понял. Если в консоли запускать python 3.6 затем import tkinter, то выдает:Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Python may not be configured for TkModuleNotFoundError: No module named '_tkinter'То есть будто его нет. Но при запуске python 3.5 import tkinter работает без ошибок.Если важно, то python 3.5 лежит в /usr/bin/python3.5 python 3.6 лежит в /usr/local/bin/python3.6Возможно из-за разных путей модуль не подгружается, но я без понятия куда путь нужно прописывать.
>>1488372Спасибо за помощь. Я пытаюсь вникнуть в правильное написание тестов, и пока стараюсь писать их для всего, для чего могу. И когда встречаются функции сложнее, чем стандартные (def calc(a, b): return a + b), я хз как подступиться.Уточню только насчет поз./отриц. вариантов - это значит вызов функции с корректными/некорректными данными? Или что-то типа assertTrue(), assertFalse() над результатом?
>>1488376> и пока стараюсь писать их для всего, для чего могуА надо для того, что нужно, но скоро поймёшь.> корректными/некорректными даннымиThis
>>1489320А, ну тогда она не нужна.На сколько я понял из коментов к книге - это просто выжимка его статей с сайта, с небольшими дополнениями/пояснениями.Оно того не стоит, в общем и целом.Когда только кикстартер по ней подходил к концу - была скидка, хотел купить, но потом передумал и не жалею.
Как из Питона исполнить комманду (запустить субпроцесс) (ну, например ls -a .) и принтить то что этот процесс пишет в stdin и stdout?Только не после того как процесс завершится, а "пайпить" по мере выполнения процесса.Короч мне нужно поведение как если бы я просто в шелле команду исполнил.subprocess.run - очевидно не подходит.Кажется нужно ебаться с subprocess.Popen.
сап, двач. ничего не шарю в кодировках, поэтому спрашиваю туткак мне перекодировать это началев нормальные символы?
Как при помощи функции re.sub заменить ВСЕ вхождения паттерна на мою строку? Он заменяет только первое вхождение, а дальше забивает хуйМожно конечно прогонять строки через цикл while, но это выглядит по-дебильному, уверен есть способ проще
>>1489430https://docs.python.org/3/library/re.html#re.sub>re.sub(pattern, repl, string, count=0, flags=0)>The optional argument count is the maximum number of pattern occurrences to be replaced; count must be a non-negative integer. If omitted or zero, all occurrences will be replaced.Аргумент count ты не трогал? Если нет, то скорее всего ты обосрался где-то в самой регулярке, запости её.
>>1489380С этим сложно. Мне когда-то очень давно удавалось решить эту проблему, через fcntl кажется, но сейчас на нагугленных тестовых примерах проверил, не работает ничего.Недавно спрашивал тут про решение на asyncio, ничего не работает, никто тут не ответил.Это всё на линуксе, и раньше, когда удавалось, и сейчас. Раньше делал на 2.6, на работе такой питон был.Если у кого есть рабочее решение, отпишите.Я ещё гляну, может у меня моё решение сохранилось где-нибудь, может заново воссоздам.
>>1489437Ну, я до вот такого решения дошел (пока без stderr).def _run_command(args):....process = subprocess.Popen(args, encoding='utf-8', stdout=subprocess.PIPE)....for c in iter(lambda: process.stdout.read(1), ''):........print(c, end='')
аноны, собираюсь вкатываться в веб и видел у всяких дноблогеров и где то на днофорумах что лучше сначала изучать фласк, затем джангу буду обязательно обе изучать, но важна последовательность тк фласк проще в освоении и с ним легко можно изучить основы и понять что такое веб бэк энд разработка и как писать логику сайта, а затем вот вкатываться уже в джангу ибо из за базы фласка будет легче. так вот, аноны, это тру?
>>1489603ты можешь писать на джанге так же, как и на фласкеа можешь писать на фласке так же, как и на джангена что планируешь туда и вкатывайся
>>1489610Есть ли смысл перекатываться на джангу, если более-менее разобрался и пишешь на фласке?И ещё хотел узнать, почему в опере и хроме с моим костыльным дизайном все нормально, а в фоксе все идёт по пизде. Юзаю бутстрап.мимо
Джанго еще не умер?Читал мельком, что следующую версию будут делать асинхронной, там же охуеть сколько переписывать.
>>1489618блять я сам пишу на фласке и мне норм. Но если будет проект на джанге - для меня не проблема и перекатится на неё.Вопрос "стоит ли" исходит из проекта под который пишешь. А если по фану во что-то вкатится - вкатывайся в джангу.Вёрстка в комплект не входит так-то.
>>1489618Не вижу толком разницы между джангой/фласком/пирамидой/etcВсе одно и тоже. Полистай доки и будешь готов к проекту на любом фреймворке.
В чем разница между Exception и BaseException? Нахуя они оба нужны? Одно наследует другое без каких-либо дополнительных объяснений и примочек
>>1489610планирую и на том и на том. просто сооль в том что фласк же более низкоуровневый и надо будет все ручками по шагу писать - чтопоможет мне в изучении веба, как и что устроено и как все это реализовать. на джанге многое это из коробки кнч идет, но думаю будут проблемы из за непонимания вот веба
>>1489659ну вот и я тоже так думаю и рершаю что стоит хуй забить на фласк и учить джангу>>1489661а зачем? я хочу из коробки получить ту же админку в одну консольную команду а не ебаться прикручивая ее и возясь с настройками суперюзера
Фласк учится за один вечер, еще вечер на его ебнутые батарейки.Ты бы его уже освоил вместо того, чтобы здесь весь постить.
>>1489591Да хуй знает.Сколько попросишь - столько и будет.Всё зависит от твоих скилов и опыта ибо вакансия эта как "хуйня в вакууме", на неё и мидла зовут и ждуна.
>>1489591а не в дсах этих ваших? просто в своем поволжье миллионике там нигде не написана зп конкретно джун интересует
>>1489738Где-то было сравнение зарплат в Москве и регионах у программистов. Загугли. И попроси чуть выше.
>>1489742ну опыта нет. вот подучил джангу фласк sql соответственно ну и хтмл и ксс чтобы это все как то вывести. херовые знания в общем. из практики реально ток то что в доках, видеоуроках, книгах да да везде давайте создадим свой бложик ведь это мега оригинально ну и джва сайта которые я сам писал когда присылали тест задания на 17 откликов лул. хуй знает как вкатиться в это ебучее айти и где брать идеи для заданий чтобы можно было хоть какое то портфолио набить. соваться на фриланс ?>>1489745а меня не пошлют ли нахуй сказав мы вам перезвоним и будут глядеть на другого кандидата в таком случае?
>>1489754> а меня не пошлют ли нахуйНет.Ты не грузчиком устраиваешься.Есть разные варианты.Могут отложить вопрос ЗП до момента, когда будут делать офер.Могут поинтересоваться, почему столько. Скажешь как есть - сайты говорят столько, но ты готов к торгу Могут сразу сказать свою вилку.А могут и дать.
>>1489754Фреймворки это хорошо.Но;1. Не собираешься в фуллстэк - не учи особо хтмл/жс. Слегка по верхам можешь, что бы уметь свою админку сверстать, но не более.2. Что плохого в бложиках/борде? Это идеи лежащие на поверхности, бери и пили + добавляй свои фишки, заодно выучишь кучу сопутствующих библиотек и сервисов.3. Кроме фремворков, потыкай ещё скрапинг данных, автоматизацию и ботов, тоже полезные вещи. Можешь запилить свой фреймворк с плагинами для этой ерунды, тоже охуенная практика.4. Как по мне, идеи если и брать, то для своих проектов, которые, возможно, взлетят.Я б на твоем месте просил 300-400$ и похуй куда(но не больше года), что бы набить "комерческий" опыт. Поверь, с ним тебя будут с руками отрывать на рынке труда.Ну и не забудь на линкедине зарегаться.HH был и есть говном, вернее хрюши его в это превратили.В линкедине, после расширения своей сети "друзей," за неделю по 3-4 хрюши пишет с предложениями различных вакансий, да, в 99% это галеры и большинство говно, но тем не менее, чому б ни? В то время как на HH мне из 5 откликов лишь в 1 отписались, причём на почту, и позвали в телегу на разговор, а оттуда потащили в зум, ебаны рот.
Как выбраться из тупика?Знаю Python, немного Django. Пробовал делать блог на чистом django, что дальше? Гуглил, как стать веб-разработчиком. Между моими знаниями и нужными знаниями огромная пропасть и я вообще хз как сделать мостик((
>>1489799"Новое" - в плане новое для себя, а не появившееся недавно.Бежать за технологиями, появившимися вотпрямвчера - не самая хорошая идея. Вот взять что-нибудь проверенное временем и положиться на это - норм.
>>1489352Ты ошибаешься, но по правде говоря это замедление настолько мизерно, что можно сказать, что его вовсе нет.
Антоны, кто-нибудь есть кто работает питонистом за пределами СНГ? Планирую сделать перекат из рашки и меня интересует, что нужно знать касательно питона, чтобы найти галеру.
>>1489904иди в си и ебись со своими миллисекундами.Сложность у try/except константная.достаточный пролет будет если эксепшн будет всё таки вылетать, поэтому флоу надо планировать по успешному кейсу, а не наоборот.
Вроде как раньше в Питоне на винде строки помимо символа \n заканчивались еще и символом \r, а сейчас он нахуя нужен? Он же не делает ничего
>>1489912>достаточный пролет будет если эксепшн будет всё таки вылетать, поэтому флоу надо планировать по успешному кейсу, а не наоборот.Бросать эксшепшн затратная хуита, почти в два раза дольше дольше по времени выходило чем просто сверять на true/false. мимокродидил
>>1489952Хм, интересно было б посмотреть как на производительность влияет количество бросаемых эксепшнов в нетривиальных циклах
>>1489962меня только интересует на сколько надо быть отбитым на голову, чтобы думать о производительности эксепшнов в питоне.Ах да, мы ж на двоще!
>>1489969Если у вас есть функции, которые занимают CPU, перепишите их на c/кресты/раст/cython.А не ебите мозги производительностью эксепшенов
>>1489965> думать о производительности эксепшнов в питонеЭто после си у многих остается такой вид извращения. Я сам в одно время дрочил на ассемблерные вставки, на хитрые изъебы с помощью битовых смещений, но это было в молодости, когда компиляторы были тупые, сейчас уже такое не встретишь.
>>1489974И грешен, байтоёбил, но перешёл на питон патамушта быстро и намного проще поддерживать то что было написано до.
>>1489979>патамушта быстро и намного проще поддерживатьЯ просто понял, что если перейду на питон, то буду получать больше при меньших затратах. Как перестал байтоебить сразу высыпаться начал, похудел на 15 килограмм, женился, стал отцом и живу полной жизнью.
Как раскрыть список при передачи его в аргумент функции? Например, есть функция chlen(height, width) и есть список [2, 3]. Как список этот в член запихать?
>>1489783>Что плохого в бложиках/борде? Это идеи лежащие на поверхности, бери и пили + добавляй свои фишки, заодно выучишь кучу сопутствующих библиотек и сервисов.хорошая идея? ибо если мне дадут какую то левую идею и пооставят перед фактом я буду думать че и как делать и ебаться, а если я сам чет придумываю - задача в разы легче уже выходит>Ну и не забудь на линкедине зарегаться.уже давно там есть. даже до того как стал кодить там уже был зареган. но смысл от него? там если искать по вакансиям по городам то выходит либо тоже самое что и на хх (даже ссылка туда ведет) либо что то от йоба-иностранных компаний где нужен сеньор на 3к вечноевропейских в месяц>после расширения своей сети "друзей," а где их найти то, раз я нигде не работал и никого не знаю?
>>1489906Становись сеньером и предложения будут поступать. Т.к. имеет смысл тебе переезжать только при з.п. от 3к€, ведь жизнь а Европе дорогая(даже есть годный сайт с калькулятором цены жизни в разных городах, чекни).
>>1490002> ибо если мне дадут какую то левую идею и пооставят перед фактом я буду думать че и как делать и ебаться, а если я сам чет придумываю - задача в разы легче уже выходитПоэтому, после того как запилишь базовый блог/бороду, можешь придти сюда и анон предложит расширения для нее и дополнения.Ну вот если хочешь нетривиальную задачу, вот тебе пример с недавнего собеса в стартуп:Есть мобильное приложение(на самом деле похуй какое), и нас надо собирать логи юзеров, то есть юзер кликнул по этой кнопке, юзер выбрал такой цвет, юзер открыл такой пункт меню и т.п.(абсолютно все действия. На чем писать будешь? Как реализовывать будешь? Чем бы ты визуализировать потом это?Попробуй это решить, для начала теоретически, м?> а где их найти то, раз я нигде не работал и никого не знаю?И то правда.У меня был коллега, в армии служил, так он каждое утро начинал с того, что заходил в линкедин, в предложку друзей и добавлял всех подряд, после 1.5 лет службы у него уже была сеть на 2к контактов.Намек, думаю, понял. Нет блять, не идти служить, а перебороть себЯ и добавлять незнакомых поезд/хуев в друзья, тебя не покупают за это.
>>1490048Я сьебываю просто по учебной линии в Германию, а опыт работы всего один год. Вряд ли я за 6 месяцев до сеньора допру.
>>1490050>можешь придти сюда и анон предложит расширения для нее и дополненияну видимо так и сделаю т.к. вариантов особо то и нет>вот тебе примерда, задача реальнно оч сложая, пока что не очень понимаю как такое реализовывать даже теоритически>перебороть себЯ и добавлять незнакомых пёзд/хуев в друзьятупа там находить ит компаху в своем усть-пиздинске на линкеде и всех подписчиков из нее френдить?так получается чтоли?
>>1490111> тупа там находить ит компаху в своем усть-пиздинске на линкеде и всех подписчиков из нее френдить?так получается чтоли?Можно так, но можешь ещё просто всех из предложки своей добавить, они всё равно подбираются максимально полезно для тебя. Пикрил.> да, задача реальнно оч сложая, пока что не очень понимаю как такое реализовывать даже теоритическиНа самом деле не очень. Ты подумой и первые свои мысли накидай, мне интересно просто. Есть как минимум 2 варианта решения.Хотя бы с чего начал бы, про БД и визуализацию потом решишь.
Антоны, есть вопрос к вам.На первом пике класс клетки. На втором пике наследуемый от нее класс. В этом классе есть метод next (см. пик 3), но там есть строчка (обведена на третьем пике зеленом), которая вызывает у интерпретатора сообщение, которое можно лицезреть на пике 4. В чем дело? Он пишет, что нельзя изменять этот инт, но по идее хули нельзя то мне?
>>1490115>первые свои мысли накидайну думаю что можно записывать все действия пользователя в последовательность в БД ???хуй знает на самом деле???
>>1490181Следить за экраном пользователя, сохранять в кэш кадры за последнюю секунду, например. Отслеживать нажатия, при каждом брать кадр из кэша, брать координаты нажатия и проверять, изображение какой из всех возможных кнопок больше всего подходит под эти координаты. Нужно составить какое-то дерево состояний программы, чтобы в каждом состоянии были свои возможные кнопки. попросить тех, кто писал приложение, просто в хэндлер каждой кнопки вставить хуйню, записывающую данные о кнопке в логмимо другой вкатывальщик
>>1490241Официально - нет, сейчас в активной разработке.Но у них на гите есть вторая ветка, в которой миграция в тестовом режиме прикручена. Если ты не юзаешь JSON поля у себя, то всё будет ок, а если юзаешь - надо будет пару правок внести, что я и сделал.Да, это хуйня, но ОРМ зацепила свой питоничностью и удобством работы.
>>1490237не проще ли картинку сохранять только если она отличилась от предыдущей (с указанием момента времени изменения) + координаты тычков тоже с указанием?
>>1490237Ебать ты перец. Универ недавно закончил что ли?Или я не так пояснил или вы загоняетесь.Вот два варианта, которые я придумал:1, RabbitMQ. Пускай приложение пишет свои логи в очередь на нашем сервере. Разбить типы логов с приложения на группы и развести по очередям. Логи брать из очереди и ложить в БД.2, aiohttp/tornado. Асинхронный веб-сервер который просто принимает хттп запросы и складирует в БД.Первый вариант лучше, т.к. в рэбите мы можем настроить долговременное хранение логов, если у нас что-то поломается, да и скейлить рэбит тоже легко.Второй вариант тоже неплох, но со своими минусами.И первый и второй вариант хорошо справится с кучей мелки запросов, т.к. логи с мобилы приходят к нам как JSON с N полей.
>>1490248> а ограничения целостности модели также как алхимик поддерживать умеет?Что ты под этим понимаешь?>>1490251Если тебя устраивает синтаксис алхимии - сиди на ней лучше, ибо решение проверенное. Меня не устраивало и я на пони пересел.
>>1490257> любой хттп сервер может принимать запросыУгу> ты сюда асинк из-за моды предложил?Нет, из-за RPS, ибо по заданию там очень много мелких запросов.
>>1490250и как бы передача данных кроликом от сервера в бд это какая то наркомания. Балансер запустить на фронте и кучей серверов обычных разгребать, не, надо хуйню строить
Предлагал же вместе чо нить пилить, не, все проходили мимо, говорили нахер иди бесплатно писать не будем. Теперь тут плачутся - что нам пилить. Ну пиздец товарищи
>>1490250Аа, я думал мы должны доставать логи просто из приложения, даже если оно в оффлайне, и вообще у нас к коду никакого доступа нет, есть только картинка, которую выдаёт приложение и информация о действиях пользователя. В твоём-то случае можно как угодно это сделать, хоть отправлять инфу на сервер при каждом клике, хоть сохранять инфу куда-то в память телефона и отправлять при соединении с сетью, или например, копить штук 50 действий и отправлять, чтобы сервак особо не грузить>>1490245Так чтобы понять, отличилась она или нет, всё равно нужно картинку сохранить, только нужно ещё и сравнивать её с последней. Проще просто в кэш сохранить новую и из кэша удалить самую старую
>>1490263> и как бы передача данных кроликом от сервера в бд это какая то наркомания. От какого сервера? Я пишу про передачу данных с мобильного устройства в рэбит и из рэбита в БД, после обработки.И почему наркомания сразу? Рэбит довольно популярный способ для сбора логов и прочей инфы.И как я уже написал, рэбит решает трабл если у нас, к примеру ошибка при парсинге будет или сервер отвалится, данные тупо в рэбите останутся. Офк если включено подтверждение получения.
>>1490271> В твоём-то случае можно ....1, Приложение работает только с сетью.2, Логи отправляются каждый раз при действии.Это всё жёстко забито в приложении, я поэтому и писал про "много мелких запросов".
>>1490272если ошибка при парсинге будет то это вопрос к тому, кто этот сервис будет говнокодить.Ребит не гарантия персистентности.
Кто-нибудь тут пользовался win10toast? Подскажите, можно ли заставить нотификацию оставаться на виду бесконечно или долгое время? Я вижу параметр duration, но каким бы я его не выставлял оно исчезает через секунды 3. Прописывать 0 уже пробовал.
>>1490281> если ошибка при парсинге будет то это вопрос к тому, кто этот сервис будет говнокодить.Вопрос и задача была не в этом, ты помнишь?> Ребит не гарантия персистентности.Той гарантии, что он даёт хватает для логов.
>>1490284>Вопрос и задача была не в этом, ты помнишь?Вопрос вообще был сформирован некорректно, и звучал "как собирать логи на клиенте"
>>1490287>Это не магия, а рабочее решение.оно рабочее но длиннее чем требуется и выглядит "я хочу выпендрится и использовать для задачи хранения логов которые можно потерять отказоустойчивую очередь сообщений"
>>1490289Одно дело потерять все сообщения за 1-2-3 суток из-за изменений логики/ошибок и совсем другое дело, когда ты знаешь, что можешь проебать пару сообщений, что не критично.Глянь на досугеhttps://youtu.be/jMZviSKf3QU
>>1490293обычно когда мы пишем логи, мы пишем их сразу в БД. и парсинг там может быть минимальный если это json. И если что то сломается - то сломается только один лог, один запрос - один лог, понимаешь???Какая там еще магическая ошибка парсинга возникнет?
>>1490294> только один логЭтот один лог может приходить N раз.>>1490296Действительно, ужас, очереди, рэбит. РестАПИ - наше всё.
У меня есть несколько потоков (threading.Thread), как заставить их начинать работу по таймеру? Начал работать первый, спустя 20 секунд второй, спустя еще 15 секунд - третий. Время задержек между запусками канешн везде разное и задается заранееИЛИ: как заставить потоки включаться в работу только при достижении некого события? Допустим на часах появилось время 13:44 UTC или же какая-либо функция вернула значение определенного рода? Загнать все это в цикл и бесконечно дрочить if/else - такая себе затея, т.к. условие при котором запускается поток, выпадает весьма редко и производительность будет неслабо страдать
>>1490298Вот кстати, ещё кейс:У тебя отвалилась/иногда отваливается БД. То есть ты успешно распарсил пришедший хттп запрос, но записать его никуда не можешь.
Планирую писать бекенд на питоне для своего андроид-приложения. Есть годные книги/видеокурсы про это?
>>1490431Потому что всем нужен максимальный rpc, реалтайм и утилизация ресурсов.Синхронные фреймворки уже нах никому не упали, aiohttp и торнадо уверенно сместили джанги/фласки.Что бы Джанго не сдох, его нужно тоже пересети на асинхронные рельсы (гыгы, рельсы).
>>1490444Они запланировали все это в версии 3.0. Правда работы дохуя, но если сделают, то это будет лучший движок.Я все равно не понял. Что за rpc, переведи плс. И все же, что дает ассинк движок. Тип несколько пользователей смогут сделать какую-то хрень одновременно и ничего не будет тормозить?
>>1490458>>1490448Такс, котаны, так что сейчас тащит из веб-фреймворков? Джанго? Фласк? Торнадо? На чем больше всего актуальных вакансий можно найти и кто не сдохнет в ближайшие годы?
>>1490476Я бы перенес aiohttp на первое место, второе место занимают фласк и Django.Все остальное - местечковые решения.
>>1490478Ну, я думаю анон просто список написал, без мест и важности.Но вообще да, ты прав.Но изучение лучше всё же с синхронщины начать, как по мне
Здраститя. Есть у кого туториал как телега боту вьебать кнопками 2х или 3х уровневое меню ? Находил самое разное говно но хоть убейте не понимаю как ебучие кнопки привинтить, а это единственное что мне нужно . Если кто откликнется заранее спасибо.
А я ведь предлагал анонам принять участие а развитии подобного проекта. Только с gui и плюшками, а не консольную херню.Що, желающих все ещё нет?https://twitter.com/pythontrending/status/1180883261976907777?s=19
Безопасно ли передавать токен (в хэдере) в GET запросе? Или нужно использовать POST? Больше параметров в запрос не передаю
>>1484225 (OP)Добрый день,столкнулся с такой проблемой,что когда пытаюсь запустить код в PyCharm,среда ругается на команду zip. Как фиксить?
>>1490907У тебя в системных переменных возможно не прописан путь к этому, попробуй заранее через cd зайти в директорию, куда ты свой zip ставил. Но это все догадки, гугли
Аноны, стартую курс по 3 питону на codeacademy.comНемного не понял про подписку, нужна ли она для того чтобы пройти курс? (рядом с ним стоит метка PRO, про платный акк).Там на аккаунт дают триалку 7 дней, после этого можно запилить новый акк и проходить с того урока, на котором закончил?
>>1490917Я установил zip в С:\\GnuWin32, затем зашел в системные переменные и добавил в Path вот эту директорию куда зип установил,но все равно что-то не пашет.
>>1490931> после этого можно запилить новый акк и проходить с того урока, на котором закончил?А ты смешной.
>>1490934Попробуй заранее заходить в эту директорию, может быть неправильно что то прописал. Как я писал выше, я захожу, у меня все работает.
В треде есть сектанты jetbrains? В их Intelij IDEA для явы раньше помню я мог написать например print и щелкнуть по нему колесиком мыши, после этого в новой вкладке открывался этот класс из библиотек самой явы. Как в pycharm подобное делать? Щелкаю колесиком по тому же принту -- нихуя, когда просто print пишу только справа в тултипе, если правой кнопкой и go to definition то нихуя не находит.
>>1486065> [YouTube] David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015Какой крутой мужик.
>>1490250Ебать ты высрал хуйню. Для логгирования действий пользователя на мобилках есть специальные инструменты: AppMetrica или Google Analytics например. Мобилка просто добавляет хэндлер на кнопку, в котором это событие логгируется (там есть ещё много разных фичей). Если грамотно релизовать, то даже бэк не понадобится, эти сервисы тебе и базовую аналитику предоставят, если нужна своя кастомная логика, то можно на бэке периодически (зависит от нужд) запрашивать данные у этих сервисов и дальше уже их обрабатывать
Вот я написал простейший сервер на socket и select. Он нормально работает на одном компе, биндит слушающий сокет, потом скрипт клиент к нему подключается. Что нужно сделать, чтобы коннектить к серверу клиент с другого компа? Порт у меня открыт, но сервер ничего не видит, клиент пару минут висит и выходит с connection timed out
>>1491288Сервер на шиндоус и сокет биндит на локалхост, клиент на линуксе и коннектится к внешнему айпи, который я на 2ip посмотрел
>>1491265Ты долбоёб? Долбоёб.Читай выше, это вопрос на собесе и там требовалось продумать логику/принцип своей системы. Дальше на этом строился разговор и отрабатывались различные решения.
>>1491283Всё, решил вопрос, я загуглил в итоге архивач с десятым тредом по питону и там было расписано, что нельзя биндить на локалхост. Я забиндил на "" и всё заработало.
Я абсолютный 0 в частности в пайтоне и языках программирования в целом, я хочу научится писать ботов и скрипты (чтобы само бекапилось у меня и совершало простейшие операции в стиле "залесть на сайт и пёрнуть коммент или типо того", как мне подступить к этому? Я даже примерно не представляю как это начать делать. памахити
>>1491533> простейшие операции в стиле "залесть на сайт и пёрнуть коммент или типо того"bs4/selenium + requests
>>1491533Начни лучше с основ синтаксиса, то есть книг из шапки.В той же шапке найди книгу про скрапинг данных.Затем почитай за selenium(для тыканья по сайту)
Начал недавно учить питон просто ради интереса (хорошо даются иностранные языки, стало интересно, осилю ли язык программирования). Базовые вещи выучил, но не знаю, что учить дальше. Наука не интересует, фронтэнд тоже, что еще такого я могу научиться делать, посоны?
Пик 2, пример из книги в архиве с яндекс диска.Пик 1, результат в пайтоне.Книга устаревшая и синтаксис поменнялся? Или моих 30.4 iq не хватает чтобы понять этот текст?
>>1491559я абракадабру ввожу вместо этих слов, но я уже понял что книжечка устарела, и все в скобочках пишется
Может знает что нужно написать чтоб менялись назначения кнопок мышки? Т.е. из правши в левшу например. Гугл не знает, вся надежда на вас.
Сколько времени примерно должно уходить на простые скрипты? Например, проверять текстовый файл с днями рождениями друзей и выдавать оповещение + возраст.
>>1491553Блять, тебе даже сам питон подсказывает что писать нужно, нет, нужно лезть на двач и плакаться нам. Пиздец.
>>1491549Найди "Автоматизации тред". Там много интересных примеров применения питона.> фронтэнд тожеА питон и не про фронтенд, он про бекенд.
>>1491572Ты глупый, твоё утверждение это капитан очевидность, но даже если принять в расчёт, будто бы я не видел, что там написал питон, то "Привет, мир!", это не конечная в обучении языку. В дальнейшем будут более сложные примеры в стилеname = raw_input('Enter file;')handle = open (name, 'r')text = handle.read()words = text.split()counts = dict()for words in words: counts[word] = counts.get(word,0) + 1bigcount = Nonebigword = Nonefor words,count in counts.items(): if bigcount is None or count > bigcount: bigword = words bigcount = countprint (bigword,bigcount)В книге описано именно так, но на такой текст 3 питон выдаёт пикрил 2, т.е сдесь уже не обойдется тем простым действием, добавления скобочек, тут уже просто нихуя непонятно, и возможно ли обучится по книге, которая так сильно устарела?
>>1491569> Зачем? Это же всё в виндвс настраивается. Я заибался это делать два раза в день, хочу скрипт написать.>>1491577> Winapi же!Можно пожалуйста чуть подробней? А то там чет слишком много всего и нихуя не понимаю.
>>1491486У меня спросили про него, но не пояснили почему нельзя, я вообще не очень понимал значение айпи адреса в бинде сокета, сейчас понял только что сокет на локалхосте слушает только этот компьютер, а "" слушает всё
https://inventwithpython.com/blog/2019/10/07/whats-new-in-the-2nd-edition-of-automate-the-boring-stuff-with-python/Грядёт второй эдишон годной книги для нубов.
>>1491581Можно пожалуйста чуть подробней? А то там чет слишком много всего и нихуя не понимаю.Мне лень!
>>1491648Круто. Как раз осилил первую треть боринг стафа. Наверное, одна из самых полезных книг с точки зрения практики.
>>1491709На торрентах (ну или на Udemy для честных котиков) есть полный курс его видеоуроков по этой книге, мне было чуток удобнее, чем заниматься с текстом, мб тебе понравится.
>>1491756До этой книги был опыт погромирования, или начал с нее? На что собираешься переходить, закончив ее? Я в начале пути, и кажется, что вариантов очень много, хз что выбрать.
>>1491578В шапке даже комментарий есть на твой вопрос.Нет, ищи другую книгу, про питон-3 и современную. Слишком много разницы как в самой базе, так и в продвинутых возможностях, так и в библиотеках разных.
>>1491815Не обращай внимание, это трансвиститы и редкие феминистки развлекаются, ответка на то, что везде принято обращаться в мужском роде.
>>1491822ну...да, в английском обращение не имеет пола. гораздо удобнее, чем в русском, конечно, никаких "замечала/замечал, ты/вы".
Хочу построить гистограмку, напримерarr2=numpy.array([1,2,3,4,5,1,1])matplotlib.hist(arr2, rwidth=0.8);Выходит пикрил. Столбцы гистограммы смещены, причем по разному. Как это фиксить, чтоб они были по центру цифр на оси Х? Желательно используя matplotlib.hist, а не matplotlib.subplots().
>>1491764Опыт есть, да. В молодые годы увлекался программированием. Паскаль, С++, Ассемблер.Сейчас вот опять решил вкатиться. Я сейчас параллельно прохожу Python for Everybody Specialization. Добью его и боринг стафф и буду пилить какой-нибудь свой пет-проект (заодно гит освою)
>>1491830Я не подскажу, но вот недавно на хабре статью выкатили по твоей теме. Может поможет...https://habr.com/en/post/470535/
аноны, есть какой нибудь годный бешплатный онлайн курсец по джанге? важно лишь получение сертификата для резюме тк выяснилось что работодатель пиздос как смотрит на это
Аноны, нужна помощь.Нужен простейший клиент отправляющий json и простейший сервер принимающий его.Сервер же должен быть активным когда ему посылают файлы, правильно?
>>1491935> Сервер же должен быть активным когда ему посылают файлы, правильно?А как иначе? Где файл висеть должен будет, пока сервак не `проснётся`?Это если при простейшей реализации.
>>1491938Можно какой-нибудь пример рабочий и порядок вызова?Допустим, один py-файл - клиент, другой - сервер.Как смоделировать отсылку json'a с клиента, и может даже ответ с сервера?
>>1491954Пример клиента? Например, вот:response = requests.post(адрес, json={'foo': 'bar'})С сервером чуть сложнее.
>>1491948> Как смоделировать отсылку json'a с клиентаЧитай доки requests> и может даже ответ с сервера?Читай доки фласкаИ там и там сразу наглядные примеры, я бы начал с фласка
>>1491958Ну и сервер:from bottle import request, route, run@route('/адрес', method='POST')def perform_json():print(request.json)run(host='localhost', port=8080)
Други, как в PyCharm сменить горячие клавиши? Нажимать тот же ctr+shift+F10 каждый раз для пуска - ебанизм
>>1491958>>1491959>>1491962Спасибо.Ну вот вопрос, клиент и сервер разнесены по разным файлам, вызываются оба в третьем. (грубо говоря я моделирую поведение реальных клиента и сервера)Т.е. сначала я должен запускать сервер, потом начинать отправлять json, так?
>>1491997Не уверен в правильности применения слова "моделирую" в данном контексте, это ведь и есть "реальные" клиент и сервер, только совсем маленькие.Вызвать оба в третьем просто так не получится. Сервер блокирует текущий тред, потому что ждёт подключений, а не обработал и сразу завершился. В принципе, можно сервер вызывать из одного треда, а клиент - из другого. Тогда всё можно будет вызвать в одном файле.А так да, сначала запускается сервер, а затем запускается клиент и что-то ему шлёт.
>>1492011Типа того. Ну или процессы.Самый простой вариант - не делать этого, оставить два файла (с сервером и с клиентом), а сервер запускать вручную.
>>1491997Запускается в отдельном процессе сервер и находится в постоянном ожидании. Затем запускается уже клиент и начинает общаться с сервером. Офк у тебя это все в пределах одного компа, но сути это не меняет
>>1492042Ну то есть конечно хочется сказать ДА Я ЗА, ГО, но я пока бесполезный элемент, прошедший половину Automate the boring stuff и вряд ли смогу чем-то помочь. Но идея заебись, конечно.
>>1491997>Ну вот вопрос, клиент и сервер разнесены по разным файлам, вызываются оба в третьемСамые вопросы вот здесь.Как твои клиент и сервер запускаются, как отдельные процессы? Тогда основные запарки будут с тем, чтобы с их вводом-выводом работать. Или ты подключаешь их как библиотеки?Если ты в одном процессе всё запускаешь, то надо смотреть либо на запуск в тредах, либо на asyncio.
>>1491549я Вот делаю на Arma3 проект и у меня там 1001 унылая операция, которую можно переложить на плечи змеи.Питон может быть штукой, которая отдаляет тебя от скучных однообразных действий в повседневности трудовой.
>>1491650> Мне лень! Не кажется ли тебя что это немного жестоко посылать меня ковырять огромный пласт знаний которые для питонануба будут очень сложными для того чтоб решить пустяковую задачу?Решение за тобой конечно, я не настаиваю.
>>1492235> В чем прикол смеяться над человеком с экзотропией?Прикол в том что у неё нет экзотропии, её просто сделали похожей на Долана.
>>1492236Ничего не понял, таблица хоть в каком формате? Если это можно собрать в пандас, то элементарноdf[столбец с номером группы].fillna(method= 'ffill') Номера групп заполнят соответствующие им пропущенные ячейки и можешь фильтровать по номеру своей группы все что захочешь
>>1492290Страница что из себя представляет статичный html или йоба-JavaScript ?В первом случае для парсинга нужен beautifulsoup, во втором - selenium Поебешься немного с разметкой и вытянешь нужный тег с таблицей, из содержимого можно уже датафрейм собрать
>>1492314Забыл добавить, что у пандас в коробке есть встроенный парсер read_html(), который считывает все таблицы на странице. Попробуй, может и без танцев с бубном все получится
Ананасы, может подскажет кто. Пишу на питоне уже полтора года, но книг по нему не читал, только доки и код товарищей. Реквестирую книгу, чтобы как-то систематизировать знания. Благодарю
>>1492489> Стоимость программы 60 000 ₽Ну если деньги есть на такое, то чому ни?Но вообще, по анализу данных есть куча бесплатного контента и видеоуроков, в том числе.
Что из себя представляет сигнал, например, звуковой?csv файл?Например, надо подать сигнал на вход функции для преобразования, что он из себя будет представлять?
Нужно воспроизводить .wav файлы, менять высоту звука и длину, что использовать?И да, нужно воспроизводить несколько звуков одновременно.
>>1492538Лучше начать с основ сетевого взаимодействия(не пистон), потом основы пистона и затем уже браться за задачу.
>>1492496Хороший вопрос, сам хочу знатьЭто отдельная дисциплина по ЦОС. Матлаб должен дать ответ даже четче
>>1492666Тебе же сказали- массив чисел. Какая разница какой формат у файла? Интерпретацией этих чисел будет заниматься проигрыватель звуковых файлов.
>>1492666Почитай, как устроен wav, это один из самых простых форматов аудио.Кратко: у реального сигнала есть амплитуда и частота для каждого момента времени. Но время можно делить на сколь угодно малые промежутки, поэтому для хранения сигнала на ЭВМ вводится понятие дискретизации: синусоида делится на маленькие равные промежутки, в каждом таком промежутке значения усредняется, полученное среднее называется амплитудой и сохраняется как "квант" сигнала. Ну и в результате у тебя получается цепочка амплитуд, которую можно анализировать. Об оригинальном сигнале сохраняется информация, сколько длится каждый такой "квант".Хранить эту последовательность чисел можно как угодно, хоть wav, хоть csv.
>>1492666>Одномерный?Сигналы и двумерные бывают. А видеосигналы это вообще 3D - длина, ширина и время.А данные томографа во времени - это 4D сигналы>И всё-таки, какой формат файла имеет такой сигнал?Какой хочешь. Обычно это заголовок, плюс идущие подряд байты, представляющие собой:поток восьмибитных чисел, где от -127 до 127, где 0 - отсутствие звукапотом шестнадцатибитных чисел от -32767 до 32768поток 32-х битных чисел с плавающей точкой , где вышеперечисленные амплитуды отображаются -1.0 до 1.0, а все, что выше - резерв для зашкаливанияЕсли у тебя моно звук, то массив одномерный, если стерео - то это 2D массив с N строк и 2 столбцами, при чем каналы расположены локально во времени, так удобнее считывать временной поток (то есть данные левого и правого канала идут в перемешку парами, а не сначала левый канал, потом правый)Если звук 5.1 - это будет массив с N строк и 5-6 столбцами.>>1492687>Почитай, как устроен wav, это один из самых простых форматов аудио.На самом деле wav это контейнер. То что ты описываешь называется LPCM
>>1492700Столбиков слишком много, или они слишком широкие для консоли, вот он и показывает только то, что помещается. Можно явно указать, чтобы он выводил больше, для этого есть настройка:pandas.set_option('display.max_rows', 500)pandas.set_option('display.max_columns', 500)pandas.set_option('display.width', 1000)
>>1492709Я сейчас пытался в csv файл превратить, но он почему-то хуярит все названия столбец в одну ячейку, потом в ячейку ниже неё данные все подряд. Не понимаю, что не так делаю, гуглил про df.to_csv и у людей вроде нормально сразу получается
>>1492709Спасибо, но у меня в некоторых ячейках много инфы, он их зажевывает, тут походу неудобно это через консоль делать
>>1492768У тебя куча словарей и ты их пытаешься превратить в датафрейм?Уж не из json'a ли ты их достаёшь?
>>1492792Нет, парсю html бьютифулсупом. В туториале, с которым я сверялся, занесение в датафрэйм точно так же выглядит, только у меня столбцов больше. Но там всё в айпайтон ноутбуке и дальше он сам рисует красивую табличку
Вот использую я апи одного сайта, он мне дает клиент-ид. Как мне лучше хранить этот клиент-ид, если я собираюсь разместить код на гитхаб.
>>1492687Это только одно из возможных представлений, самое примитивное, но не самое лучшее. Потому что такое представление ни воспроизвести нельзя напрямую, и преобразовать трудно.Ты можешь представлять сигнал не в виде значений в каждый момент времени, а в виде суммы каких-то базисных функций с какими-то коэффициентами. Скажем на каком-то отрезке любой звук можно представить в виде суммы синусоид. Тут работают разные преобразования, всякие преобразования Фурье, свёртки и т.п. хрень, это серьёзная очень наука.На этих идеях работают алгоритмы по кодированию аудио и фото-видео. >>1492496>Например, надо подать сигнал на вход функции для преобразования, что он из себя будет представлять?Тебе надо документацию изучать на конкретные библиотеки и АПИ, с которыми ты работаешь.
>>1492824Можно просто в файле + .gitignoreЯ для каких-то чувствительных конфигов делал так, создаёшь два конфига, базисный, который попадает в git, где описаны все параметры и какие-то тестовые примеры, и локальный конфиг, где чувствительные параметры, пароли и т.п. Локальный не загружается в транк, прописывается в gitignoreСначала загружается общий конфиг, потом локальный, который перезаписывает часть параметров.
>>1492799pd.from_dicthttps://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.from_dict.html
>>1491648> SMS email gateways - A new section on how to send SMS text messages via the phone carrier's email gateways. Now your Python scripts won't need to use a service such as Twilio to send occasional text messages.Кто-то сталкивался ли с подобным? Тема интересная.
Создал новый проект на джанге и выскочилоDjango - installing mysqlclient error: mysqlclient 1.3.13 or newer is required; you have 0.9.3https://stackoverflow.com/questions/55657752/django-installing-mysqlclient-error-mysqlclient-1-3-13-or-newer-is-requiredВроде решено, но уж очень костыльно.Никто больше не сталкивался?
>>1493231Не помогло?1. Uninstall mysqlclient: pip3 uninstall mysqlclient2. Uninstall pymysql: pip3 uninstall pymysql3. Install mysqlclient: pip3 install mysqlclient
Мне нравится учиться программировать с помощью практики.Например, мне нужно было кое-что автоматизировать на сервере - написал скрипт, всё красиво.Проблема в том, что мне больше ничего в голову не идёт.Видел как-то картинку с заданиями "напиши то-сё", но она показалась мне довольно таки сложной. Не мой уровень.tl;drреквестирую простенькие задачки для обучения во время написания кода
А можно как-то размерность входящих данных проверить, например, массивов, изображений и пр.? Одномерные они или двумерные?
>>1493325Все же помогло, у меня pymysql оказался в requirements.txt, из-за этого и произошел весь затык.
>>1493848import bs4import requestsизи>>1493878Для шинды нормально, я для этого виртмашину с докером поднял.
>>1493906Да у меня и на ноуте с линуксом вешает, причём до самого линуксовского ядра, что кнопки перезагрузки графической оболочки работать перестают. Пиздец какой-то
>>1493906Я думаю, сложность не в том, чтобы картинки вытащить из сайта, а в том чтобы сделать готовый продукт, с которым мог бы работать юзер
>>1493912MVP с UI/UX ? На питухоне? Зойчем, когда прожект на реакт-нативе или даже электроне, прости Г-споди, больше звездочек наберет?>>1493909У меня все вм на ссд, мб в этом дело.
Может кто-то помочь, вообщем делаю парсер с помощью scrapy, мне нужно получать инфу о товаре с магазина со страницы, например title и url(описания товара), затем переходить по этому url к описанию и там стягивать еще ~10 полей типо price, brand и тд, затем это все записывать в один файл json и чтобы было как-то так {'products': {'1': {title: 'dsd', 'url': 'http://dfdf', 'price': 100}, '2': {'title': 'gfgfg', 'url': 'http://dfdsd', 'price': 23.12},}} надеюсь понятно, я реализовал так что у меня с одной страницы собирает данные записывает в json, потом проходит по ссылке и там собирает, но данные сохраняются не в один словарь, а в несколько. На скринах я тестирую на этом сайте http://quotes.toscrape.com/random
>>1493936Так снова я, вообще объясните мне просто как сделать так, чтобы я со страницы собирал инфу, добавлял в словарь, потом заходил по ссылке собирал инфу и добавлял в тот же словарь.
>>1494108>как словари сложитьКогда-то и меня вела дорога приключений. Тут надо бы перебор ключей зафигачить, как в любой уважающей себя мутабельной хэшмапе. Но, да, можно и так.d = dict()d.update(d1)d.update(d2)
>>1494127Вот так красивее но боюсь, что работает хуевее>>1494115Я не знаю scrapy и никогда ничего в ней не делал, я бы наговнокодил просто взял файлик с json и отдельным скриптом его распарсил и отформатировал как надо, посмотри там, как с json работать.
Сохраняю данные в json, кириллица выводится вот так " \u0413\u0430\u043b\u043e\u0448\u0438", что с этим делать?
>>1494145Или так и должно быть в json? просто если я вывожу данные в python то там все в порядке, то есть используюimport jsonwith open('test.json', 'r') as f: data = json.load(f)print(data)и принтится кириллица нормально, просто в самом файле json проблема с кодировкой.
>>1494152При записи в файл данных json надо чтоб файл был в нужной кодировке:myfile = open('file.json', 'w', encoding='utf-8')myfile.write(json.dumps(some_data, ensure_ascii=False))myfile.close()у меня таким образом получается human readable json. (но если что, то проблем с \u0413 тоже в принципе никаких - выводится оно нормально, единственно конечно напрягает видеть эти кракозябры в файле)
Так мне сказали сохранить данные текущего времени в json, в формате timestamp, я сделал так, импортировал datetime и сделал такую запись datetime.datetime.now() это верно? Как вообще это проверить?
>>1494499Кстати, а почему миллисекунды в json не записываются, когда я вызываю datetime.datetime.now() в консоли питона все вызывается, а в jsone только до секунд?
>>1494499А бля, там же метод timestamp() есть, кароч переписал так datetime.datetime.now().timestamp() вроде то что надо.
Бляяя, пацаны, в чем смысл отлова Exceptions? Логично же: если ты знаешь, что такой Exception здесь может произойти, то его надо просто предотвратить и не допустить вовсе! Это всё мне напоминает: Собрались поехать на машине на далекое расстояние. И мы знаем что через 500 км у нас может закончиться бензин. Но мы просто едем и улыбаемся. Когда бензин заканчивается, панель приборов радостно нам сообщает: "у вас закончился бензин!" Но это же тупо. Мне кажется логичнее изначально предотвратить такую ситуацию (ведь мы знаем о ней), и например за 50 км предупредить о том что надо заехать на заправку. То есть в этом случае мы вовсе не допустим окончания бензина?
>>1494549>Когда бензин заканчивается, панель приборов радостно нам сообщает: "у вас закончился бензин!" Но это же тупо.Не так. У тебя заканчивается бензин и машина глохнет. При помощи Exception ты можешь сделать прибор, который откроет багажник и напишет водителю: "Ну что лошара, ты приехал! Канистра в багажнике, иди теперь пешком за бензом"
>>1494549Не думал, что эксепшны ты можешь возбуждать САМ? Не думал что тот же эксепшн StopIteration под капотом сигнализирует генератору и прекращении работы? Не думал, что по отлову эксепшна можно обнаружить конец контейнера, файла и тд?
>>1494549>Мне кажется логичнее изначально предотвратить такую ситуацию (ведь мы знаем о ней), и например за 50 км предупредить о том что надо заехать на заправкуОкей, значит в код приборной панели включаем вызов подпрограммы машины времени
Вопрос нуба в треде. Допустим, я постепенно, медленными шагами пытаюсь учить Питон (не в сложности дело, просто мало времени и плохо его распределяю). На работе пару раз в месяц взаимодействую с богомерзким экселем, и ковыряю операции, которые выполнились бы куда быстрее, напиши я скрипт. Но я не умею его написать и думаю, стоят ли того потраченные на это килочасы времени, если я в дальнейшем вряд ли собираюсь связывать жизнь с экселем. По идее помогут как пример того как решать проблемы и т.д.?
>>1497321Ну чел тут вопрос времени ровно одна книга (может меньше), вон прямо над твоим постом ссылка.
Читаю книгу по питону. Собственно вопрос: стоит ли сразу пытаться программировать, либо же лучше для начала ознакомиться устно?