24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Есть ли смысл учить ПЩ для стэка с пайтоном? Как я понимаю полноценную разработку асинхронных програм через ПЩ с использованием питона я не могу реализовать. А если и засунуть в сам ПЩ, то это всё гораздо сложнее чем использовать питоновские библиотеки для ассинхронности. Для веба тут смысла тоже никакого, при таком колличестве уже готовых технологий.
Помоги, анон. У меня платина, не обоссывайте. Я не знаю, что писать. Вторая книга Лутца скучная пиздец. На челленжи и задачки не встает. Иногда пишу простенькие скрипты по работе (инженер).
>>1237856 (OP) Товарищи, памахите, пожалуйста. Вот тут https://repl.it/repls/TrimVengefulFinance простенькая основа кода с логированием ошибок. Здесь суть в том, что при инпуте буковки выдается трейсбэк и в лог пишется, что произошла ошибка. Но я просто с ног сбился, пытаясь сделать так, чтобы этот самый трейсбэк писался в лог. Я не понимаю, почему не существует простого решения. Ведь если в логи пишется хоть что-то, неужели нельзя автоматом туда запихивать то, что выдалось в консоль? Почти везде советуется поднимать исключение через try-except, но это же смешно. Если разработчик пилит огромное десктопное приложение (разумеется, без висящей рядышком консоли), он не может при каждом подозрении писать try-конструкцию. Да и невозможно все предугадать, обязательно что-то да пропустишь. Но как-то же эти ошибки ловятся и логируются, чтобы разраб мог по коду нужный номер строки посмотреть и понять, в чем дело! Это реально возможно в реалиях Питона? Подсобите хоть подсказкой, хотя я почти всю документацию по logging прошерстил, нихуя нет ничего по этой проблеме.
Глядите, какое детище нашел: https://github.com/chriscz/timer А теперь прошу объяснить/показать/намекнуть, куда именно надо всучить скроллбар, что бы он корректно мог скроллировать этот список таймеров. За вариант "объяснить" благодарю заранее, т.к. всё делал методом тыка и хочется узнать, почему именно так будет правильно.
>>1237999 Я иду против системы. Никогда не понимал этой любви использовать исключения для контроля нормального поведения, хоть оно и как бы есть в дзене, как-то очень уродливо и топорно выглядит. инб4: так быстрее. ради быстрее это не к питону.
>>1237930 В нормальный языках для этого есть filter(coll, pred) но Говнидо сказал, что map\reduce - это не пантой-вей, потому что его в детстве лисперы опускали он не осилил первый курс комьютир ссайенс.
>>1238003 try: x==42 print("x is 42") except EqualityError as e: print("x is not 42")
>>1238003 >>1238018 Да чё вы несёте?! Задизайнили так, на то есть причины. Допустим remove нихуя не рейзит, я хочу узнать, удалил ли он что-то? Как мне поступить? Конечно сделать проверку "yoba" in x перед вызовом remove. Тут просто другая сторона. Если ты хочешь удалить что-то, то if "yoba" in x: ____x.remove("yoba") изи же. Если не нравится проверка и не нравится try/except, то есть with contextlib.suppress(ValueError): ____x.remove("yoba")
>>1238075 Конечно. Пифон — отличный клей, чтобы вызывать низкоуровневое говно, типа распарси yaml, запиши хуйню в файл. Главное чтобы низкоуровневое говно GIL отпускало, тогда вообще сказка.
Врываюсь быстро и решительно. Как запустить и коммуницировать с другим поток из-под фласка. wsgi использует объект app для передачи ему данных запроса, будет ли нормально просто присоединить к нему объект потока и получать данные из него при необходимости?
Блядь как люди вообще получают навыки для работы с этой хуйней? Документация - очень скудный калл, уровня "Как нарисовать сову". Я блядь что бы нарисовать диаграмму ганта копался в ней, эти мрази тут же выдают десяток страниц с QtCharts и что вы думаете? Там маленькая строчка которую хуй заметишь: >Note: Since Qt Creator 3.0 the project created with Qt Quick Application wizard based on Qt Quick 2 template uses QGuiApplication by default. As Qt Charts utilizes Qt Graphics View Framework for drawing, QApplication must be used. The project created with the wizard is usable with Qt Charts after the QGuiApplication is replaced with QApplication. А вчера я весь день насиловал гукгл пытаясь понять хули не импортируется QtCharts? Да ебись ты в рот.
А книг по QML особенно с PyQT я не нашел вообще. Откуда столько специалистов на этом говне? Это переобувшиеся жаба скрипт макаки? Или это какой то отмыв денег чи шо? Где можно почитать актуальную информацию о рисовании графиков в этой хуйне? И есть ли хоть какой то стоящий материал, хотя бы на английском, кроме официальной документацции от которой пользы как с козла молока. Аж трисет нахуй.
>>1238148 Книга есть, одна. Прохоренок автор. Наполовину состоит из перевода документации с ссылками же на нее (!) А вообще дополню вопросом: Какой есть распиздатый фреймворк для приложений под питон? Вот для веба есть Фласк и Жанго, тут ясно. Есть такого же уровня для настольных аппов?
>>1238275 Да но там походу не описаны ньанцы работы с QML.
КМД кстати реально пиздат. Очень красивые интерфейсы можно делать. Но документация не структурированная. Нормальных книг непосредственно с питоном пока не нашел. Да и не нормальных тоже, их просто нет.
>>1238297 >>1238287 Уйди плес. Никому это не нужно, графический интерфейс разрабатывают либо специалисты, либо те у кого не на них денег. Топовый софт работает без фреймворков, а тулсы можно вполне удобно писать на стандартных средствах питона. Для парсеров и всякого остального ГУИ-зависимого дерьма есть GTK с его открытым кодом и глэйдом.
>>1238383 >Это значит чтоты пользуешься какой-то сраной ИДЕ
а точно) Ninja IDE... взял за легковесность и удобство
Я вкатывальщик, поясните. Если мне нужно будет потом рабочий проект перекинуть на ноут к примеру или сделать экзешник, все используемые лабы вместе с ним в экзешник тащить?
>>1238385 Перекинуть на ноут - да. Компиляция по разному бывает. Ясное дело некоторая часть либ тоже туда идёт, читай доки к компиляторам. Но сразу предупреждаю, что экзешник компилируется вместе с интерпретатором.
Анон, пытаюсь разобраться с потоками (раньше только треды в freertos испльзовал), хочу замутить, чтобы у меня основной поток что-то там делал и параллельно крутился поток, который бы отрисовывал в консоль прогрессбар. Сейчас сделал так, что основной поток в объект класса Queue кладет значение, а поток с прогрессбаром оттуда значение достает, отрисовывает, и ложится спать на какое-то время. Столкнулся с двумя проблемами: если основной накладывает в очередь быстрее, чем прогрессбар забирает, то прогрессбар затупливает до тех пор, пока не вытащит всё из очереди даже если основной уже перестал выполнять то, для чего бар отрисовывается. И второе - Основной поток может где-то вывести в консоль что-то раньше, чем бар успеет отрисовать последнее значение, что типа всё закончено. В общем, через жёппу, понятно. Но я не смог найти нормальных и доступных пояснений или примеров того, как это правильно было бы сделать. Что анон может посоветовать?
Госпаде блядь, каким тупым стал тред, какие тупые вопросы, джва года назад тут еще были проблески чего-то светлого, а сейчас каждый первый вкатывальщик, которому даже книгу лень прочитать, прежде чем начинать срать на двощи
>>1237928 Спасибо за помощь, пидоры. Потом и кровью, но я все-таки вычислил решение для данной задачи. Сам, блять. В очередной раз задаюсь вопросом, нахуя вы вообще нужны. Поскольку кривожопый repl.it (традиционно) не хочет работать с данным кодом, привожу, как оно пашет на десктопе. Запишите себе куда-нибудь, потому что когда с таким же вопросом придет еще один ищущий помощи анон, вы не тупорыло проигнорите его мольбу, а передадите ему ценную информацию.
>>1238375 > It states that every method should either be a command that performs an action, or a query that returns data to the caller Обожаю, когда пытаются оправдать косяки в дизайне высерами авторов мертвых языков. Там рядом с .append() лежит .pop(), который и command, и query. Такие дела.
так куда дальше двигаться после Мэтиза "Изучаем Питон. Программирование игр, визуализации данных и веба"? "Программируем на Питоне" Лутца для практики, или "автоматизация рутинных задач на питоне" Свегарта? Или иные предложения
>>1238560 Короче анон, я понял так: После пол года обучения я принялся за Джангу, ну, думаю, надрочил питончика, ща попру и на работу устроюсь. Так вот, с Джанги надо было начинать, а не дрочить никому ненужные проекты, книжки и калькуляторы. Вернуть бы время назад, я бы сразу после A Byte of Python начал писать свой блог на Джанге, чего и тебе советую.
Вывод я такой сделал потому, что большинство туториалов для новичкой по Джанге требуют МИНИМАЛЬНОГО знания языка. Просто выучи синтаксис, и пиздуй пиши свой блог. Вот те https://tutorial.djangogirls.org/ru/ охуенный бабский гайд как сделать свой блог за 5 минут.
>>1238585 Похую. В выдаче гугла он первый. Там жуют и в рот вкладывают, и надо только сглотнуть. Как там в стандартных доках не ебу, занимаюсь по Tango with Django. Там постоянно на доки ссылаются, но я их не буду читать до тех пор пока не начну свой проект, ибо бессмысленно, т.к. всё прочитанное но незакреплённое забудется.
Есть Телеграм-бот. Для его создания используется враппер https://github.com/python-telegram-bot. Команду бота обрабатывает функция с первого пика. Проблема в том, что на эту команду бот не отвечает, хотя Но отвечает на другие команды, например /help. Вопрос - какого хуя?
>>1238607 Нет. Но если бы после укуса Питона я начал учить Джангу, то с вероятностью 80% уже бы зарабатывал, имея в портфолио как минимум 3-4 готовых проекта, пусть и "для себя".
>>1238583 Бери английскую книгу и ебашь. Смотришь перевод слов, но как можно быстрее переходи на английские определения из словаря(wordnik). Слова запомнатся сами. Если без английского, то так и будешь искать кривые переводы от васяна.
>>1238583 Двачую этого >>1238621 Как говорил выше, читаю Tango with Django, и там такой уровень английского что даже самый даун сможет осилить. Никаких тебе хитровыебанных оборотов или жаргона. Установил себе GoldenDict со словарями от Abbyy lingvo и теперь в любом месте ОС, в том числе и в читалке (Okular на kde) при выделении текста сразу появляется перевод. Отличный способ подтянуть английский и перестать бояться читать на английском не то, что большие статьи, но и книги. Но минус в том, что постоянно отвлекаюсь, больше чем при чтении книг на русском, т.к. сил концентрации на неизвестный язык надо гораздо больше. Вот как раз сейчас я постоянно отвлекаюсь на ёбаный двач, вместо того чтобы учиться. >>1238623 Скоро стану волшебником.
>>1238542 Почему оправдать? Они сначала взяли принцип этот, а потом задизайнили, ёпт, а не наоборот. (Про pop там рядом же на стаке и упомянуто, например.)
>>1238626 Я щас сижу на даче с ограниченным интернетом. 2 гига на месяц, которые идут от телефона к ноуту. У меня отключены все картинки. Я не могу смотреть видео на ютубе, иначе весь трафик проебу. При этом скорость не намного отличается от домашнего. Думаю и дома, где есть вайфай, так юзать интернет.
>>1238632 >>1238633 Я это практикую. И это работает. Отключаю уведомления на всех устройствах, выхожу из всех соц. сетей с которых могут прилетать уведомления. Вот только теперь надо себя заставить всё это сделать.
Есть тут кто с регулярками работает? Мне надо найти либо одно слово в строке либо другое. Такая форма правильна? re.search('(^[Jj](an)|[Kk](at))', some_string)
>>1238646 re.search('^jan|kat', some_string, re.I) Но вообще > Надо ли перед [Kk](at) тоже ставить "^" ? Да, у | очень низкий приоритет. Но можешь, если хочешь, сгруппировать, и тогда будет ок: ^(это|или это)
>>1238650 Спасибо. А теперь, пожалуйста, для ньюфага по частям: >re.search('^jan|kat', some_string, re.I) '^jan|kat' - это шаблон, some_string - это строка, а re.I что из себя представляет? Я правильно понимаю, что в при использовании такого шаблона ^(jan|kat) поиск будет искать все слова в строке, которые начинаются либо с jan, либо с kat ? Есть ли ограничения на использование оператора "|" ? И ещё т.е. форма шаблона [Jj](an) - неверна?
>>1237928 > он не может при каждом подозрении писать try-конструкцию Вообще-то именно так и надо делать, лол. Посмотри любой разросшийся гит-репозиторий для любого языка где есть обработка исключений. Исключения обрабатывать можно и нужно, нельзя объяснять пользователю «ходить надо только по вот этой вот прямой палочке, шаг в сторону - упадёшь», пользователь все равно не станет тебя слушать.
> Я правильно понимаю, что в при использовании такого шаблона ^(jan|kat) поиск будет искать все слова в строке, которые начинаются либо с jan, либо с kat ^ же. Оно сматчится только если строка будет начинаться с jan или kat. Если тебе нужно искать с начала слова, ты скорее всего хочешь что-то типа re.findall(r'(?:^|\W)(?:jan|kat)\w*', 'jan jana ja n katjanka ka', re.I).
> Есть ли ограничения на использование оператора "|" Ну нет.
> И ещё т.е. форма шаблона [Jj](an) - неверна? Нет, норм, просто с re.I получается проще.
>>1238663 Пробовал писать на питоне, симпатичный язык. Но вот публика у вас тут какая-то совсем неадекватная. Исключения отрицают, в жеппу долбятся, voobshe ohuet короче
>>1238662 "Так и надо делать", если ты просчитал все ходы заранее. Разработчик не сможет 10 раз из 10 писать чистейший код. Где-то да он и оступится (потому и нужны QA). Ну вот отправил ты клиенту прогу, а он что-то где-то кликнул, и "Программа не отвечает". Что дальше? Придешь к нему, установишь ему питон с либами, а потом попросишь его повторить шаги, только через интерпретатор питона с консолью? Потому что "на твоей-то машине все работает" и повторить ошибку не получается. Для того и требуется логирование по всему коду. Выше я показал, как этого можно добиться. Теперь разработчик может законопатить дыру и прописать исключение для этого места.
>>1238674 >Исключения отрицают Работаю в компании-почти-лидере своей отрасли с массивным проектом не на питоне, правда. Исключения гайдлайнами запрещены, стоят -fno-exceptions флаги в gcc, например. У нас, конечно, не для пользователей приложение, т.е. они напрямую абсолютно никак не контактируют с ним, но тем не менее.
По-моему, всё упирается лишь в подход: "сделать и поймать" или "проверить и сделать". Я не могу сейчас сходу придумать ни одного действительно необходимого места для исключений, не считая вынужденных сторонними либами (например, когда urllib/requests кидается исключением при 404, вместо того, чтобы дать мне возможность спокойно проверить ответ, блядь), которые нельзя было бы решить без исключений.
>>1238800 >И с чем связан запрет на обработку исключений?
1) Обработка исключений - это удар по производительности уровня свопающейся на хард оперативы. Даже в плюсах с -O3.
2) Исключения ломают поток выполнения. Нужно ебаться с корректной обработкой и закрытием всех открытых дескрипторов, если таковое требуется.
3) Зачем ловить залупы если можно их предотвращать еще на этапе компиляции/подсветки линтером в IDE? Способов тысячи, начиная с ассертов и заканчивая монадами и контрактным программированием.
>>1238800 Телекоммуникации. Memory overhead, если верить гайдлайнам. (Эмбеддед же и всё такое.)
Погуглил минутку, вроде как и firefox с хромом тоже без обработки исключений работают из-за проблем с быстродействием (по крайней мере, много лет назад так было).
>>1238810 >Обработка исключений - это удар по производительности уровня свопающейся на хард оперативы. Даже в плюсах с -O3.
не зря на двач с утречка зашел, что то новое узнал
> Зачем ловить залупы
собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной
>>1238810 >ассертов >исключения запрещены, а ассерты нет >серьезная компания Они указанием флага отключаются, там мясо будет
>закрытием всех открытых дескрипторов Контекстные менеджеры тебе на что?
> Зачем ловить залупы если можно их предотвращать еще на этапе компиляции/подсветки линтером в IDE Тут динамическая типизация, какая подсветка? Тут даже аннотации до 4.0 во заморозили. Да и обработка исключений тут гораздо легче, чем в плюсах
>>1238826 > не зря на двач с утречка зашел, что то новое узнал
Так и есть. Обработка исключений вызывает по-сути генерацию Debug - лапши с трапами и прочими выпадениями в отладку на каждый чих.
>собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной
Easier to ask for forgiveness than permission. This common Python coding style assumes the existence of valid keys or attributes and catches exceptions if the assumption proves false. This clean and fast style is characterized by the presence of many try and except statements. The technique contrasts with the LBYL style common to many other languages such as C.
>>1239020 Создаешь множество и итерируешь список, проверяешь на наличие элемента в множестве, если есть, то возвращаешь True, если нет, то кладешь его в множество, по окончаю итерации возвращаешь false
>>1239047 >Нашел дубль - return True, а дальше смысла итерировать нет Так то оно так. А что более затратно - создавать объект set или объект-итератор из списка? Я просто не знаю.
>>1239058 Одинаковый размер -> false (дубликатов нет) Разный размер -> true (дубликаты есть)
Как сделать чтобы при запуска файла все данные и результаты команд выводились будто бы они выполняются в терминале? Надоело каждый раз print() писать перед командой. Заранее спасибо.
>>1239034 На случай, если ты имел в ввиду, что это менее оптимальный способ решения из-за нового объекта (в худшем случае твой способ затратит столько же памяти, например), держи — https://repl.it/repls/ThoughtfulCharmingCpu Твой способ быстрее только если повторяющийся элемент встречается достаточно рано (В зависимости от длины списка от 1/8 на 100к до 1/3 на 1млн элементов).
Сап, помогач. Читаю бинарный файл через функцию read. Она возвращает строку вида '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t' И как мне с этим работать? Желательно бы в hex перевести без всяких там \t
>>1237856 (OP) >Не изучай синтаксис, изучай программирование! Что это значит? Как я буду знать и пользовать язык, если не знаю его синтаксис? Или имеется ввиду прям люто не задрачивать и зубрить или что?
>>1239097 Это не строка, а поток байт, ёпт. Что ты хотел с бинарным данными файла сделать, то и делай, блин. В чём твой вопрос? В hex это уже будет именно строка. struct.unpack и arr = array.array('B'), arr.frombytes(b'') тебе в помощь
Всетаки какой же ахуенный язык питон! На других языках прежде чем начать писать полезный код нужно вбить кучу бесполезной хуеты, всякие там скобочки хуёбочки, дать имя модулю и еще совершить овер9000 действий. Потом компиляция - вылезет куча ошибок, и вот вроде все исправил - программа запустилась, но т.к. ты уже навалял кучу кода без проверки, наверняка где-то будет ошибка, которую надо дебажить.
А питон быстренько запустил, хуяк-хуяк и твой скрипт работает. И синтакс не такой уёбский как в баше или тикле. Если в каких-то моментах по ходу написания кода сомневаешься - запустил интерпретатор и проверяй нужный тебе участок кода, красота.
>>1239091 Ставь пайчарм, пиши в ней код, ставь брейкпоинты в интересующих тебя строках, когда произойдет останов - можешь смотреть в дебагере содержимое объеков
ВНИМАНИЕ Вакансия в Донецке! Требуется ПРОГРАММИСТ PHP.
Что мы можем Вам предложить:
Полноценное рабочее место в комфортном офисе в самом центре Донецка. Молодую,дружную команду «Life Agency» . Чай ,кофе за счет компании. Оплачиваемые 22 дня отпуска и больничные. Обучение в it индустрии. Стабильная з/п (2 раза в месяц) в размере 15.000 рублей Оплачиваемые выходные и внеурочные х2
Требования:
Знание PHP +MySQL Понимание *NIX системы Понимание ide для php MySQL(NetBeanse,dbForge ) Желателен опыт работы с git Умение соблюдать сроки и оценивать время исполнения задач. Желание развиваться.
График работы пн-пт с 9-18 (час обеденного перерыва).
>>1239125 Когда разберусь с Пайтоном, первым делом напишу скрипт, который можно вставить в код и он сам будет все это делать. Принт писать не сложно, но внутренний маленький перфекционист начинает буянить. >>1239126 Дебаг везде есть. Мне нужно не только ошибку найти, но и проследить за точностью выполнения.
>>1239196 Ну я про это и говорю, посмотри еще раз на >>1239189-пик. Редактор называется LightTable, там все значения какие у тебя есть в программе показываются рядом с твоими выражениями.
В нем вроде есть питон, но вроде он давненько уже не поддерживается. Можешь попробовать, хуже точно не станет.
Алсо, есть вот такая пикрелейтед штука (в браузере), опять же для пайтона я такого не видел, оче не хватает
>>1239210 jupyter - адовый блоатварный пиздец, не советую. Дико неудобно пользоваться, плюс он предназначен для другого (там типа визуализация данных и презенташки делать). Хотя может чуваку и зайдет - все лучше, чем пиздец как на пике городить.
Алсо, они вроде (пичарм - точно) просто посылают выражения в консольку и показывают результат рядом. То есть там нельзя, допустим, выделить отдельное выражение внутри функции и посмотреть, какие там внутри значения у переменных, разве нет?
>>1239172 >Пиши логи Зачем, это везде так и в порядке вещей. >>1239144 Обязательно попробую, но я пздец хуевый в ингрише. >>1239208 Так у тебя только подсветка классная, больше я ничего не увидел. >>1239210 Когда ПайЧарм юзал тоже самое было. М.б. там есть нужный функционал, но я хз как там. Юпитер какая-то странная вещь, у меня не работает, какие-то ошибки с note'м.
>>1239113 Ты читаешь бинарный файл, так и указывает "rb", тогда будут тебе байты. Внешне, правда, ничего не изменится, кроме типа возвращенного значения.
>>1239234 >Так у тебя только подсветка классная, больше я ничего не увидел. Лол, ты слоупок. Посмотри еще раз. На >>1239208-скрине слева код, справа - результат выполнения этого кода. На >>1239189-скрине слева - код, рядом с этим кодом в фиолетовых плашечках - результат выполнения этого кода и значения всех переменных и выражений внутри этого кода. Видишь там neighbours [x y]? А рядом плашечки "0" и "1"? И так далее. Вот тебе еще скрин, видишь, там рядом с каждой переменной (name) подсвечивается ее текущее значение (сперва abu, потом Abu)?
Но для пайтона там только инлайн-эвалюация выражений (пикрелейтед, тебе как раз это и надо), но нет трейсинга значений всех переменных, как на предыдущих пиках (для пайтона такого нигде нет, что меня очень печалит)
>>1239241 Странная хуйня. На работе у меня питон 2.7, дома 3.7. Ключ 'rb' работает только на версии 3.7 На 2.7 получаю в обоих случаях строку. 2.7 не поддерживает бинарных строк получается?
Что-то я жёстко туплю: есть поиск по странице, по его итогам что-то либо записывается в файл, либо идёт переход к следующей странице. Как записать номер страницы в единичном экземпляре, если поиск на ней успешен?
>>1239354 Ты не только жестко тупишь, но еще и не можешь толком объяснить в чем выражается твое жесткое отупение. Еденичный экземпляр чего, блядь? Кто на ком стоял, нахуй?
>>> 0.1 + 0.1 + 0.1 - 0.3 # Должен быть получен ноль (близко, но не точно) >5.5511151231257827e-17 Чот шок, кто-нибудь может объяснить почему ТАКАЯ не точность?
>>1239439 Да ты охуел, 15 символов после запятой правильные, и тебе еще мало? А за объяснениями в гугл на тему IEEE 754 и структуры чисел с плавающей точкой. Ни 0.1, ни 0.3 нельзя представить в виде суммы положительных и отрицательных степеней двойки, поэтому они округляются до ближайших преставимых чисел, дополнительно при сложении-вычитании накапливается ошибка округления. Но для обычных расчетов такой точности за глаза хватает.
Кто-нибудь работал с http(s) на питоне? Нужна либа, поддерживающая обработку expect 100 со стороны клиента. Задача: https://tech.yandex.ru/disk/doc/dg/reference/put-docpage/ Если код 201, то запрос сразу закрывается и благодать. Если 100, то он ждёт загрузку файла, а я не хочу посылать. При этом запрос не закрывается. Поддерживает aiohttp, но нихера я не разобрался может он мою хотелку сделать или нет.
>>1239650 > Что я делаю не так? Пишешь на языке с мутабельными коллекциями по умолчанию.
Твой cells - это список списков. Ты копируешь внешний список, в котором лежат указатели на внутренние списки. Естественно, при копировании эти указатели тупо копируются и продолжают указывать на те же самые списки, что и cells. Так что тебе нужно скопировать каждый список внутри твоего списка. Алсо, если у тебя ВНЕЗАПНО внутри списков окажутся не числа, а какие-то объекты, то их тебе тоже придется скопировать.
tl;dr: либо возьми нормальный язык, либо смирись с тем, что ничего копировать тебе нельзя - всегда держи в голове, что ты работаешь не с абстрактными "данными", а с указателями на область в памяти (алсо, желательно прочитать какую-нибудь книжку по си, прежде чем брать пайтон)
>>1239670 Здесь el уже не ссылка на элемент в списке, а скопированное из списка число. Повторюсь, желательно прочитать книжку по си перед тем, как заниматься пайтоном, чтобы понимать, как работает память, чем отличается передача по значению от передачи по ссылке и т.п. В пайтоне ты точно так же по факту жонглируешь указателями и работаешь с низкоуровневой моделью памяти.
Аноны, следую по Tango with Django. Нужно показать картинку на сайте. Создал необходимую дерикторию с картинкой, написал путь в settings.py и вставил тег <img> с сорсом. Но картинки то всё равно нет! Что делать?
но ведь никто не писал что их не полно, я лишь заметил что лучший сборник практикума - это 2 тома лутца состоящих целиком и полностью из практикума во всех возможных сферах, от гуи и системщины до сокетом и биг даты
Ты либо школьник, либо жирный и тупой болван с рассеянностью
>>1239407>>1239394 Есть несколько веб-страниц. Я на них последовательно что-то ищу, если поиск на странице успешный, записываю в файл результат и иду дальше, если поиск неуспешный - иду на следующую страницу ... a = search() if a is None: --continue else --f.write("file.txt") ... Вопрос: если поиск был успешен на странице мне адрес этой самой страницы как записать в файл, что бы сначала был адрес, а потом результаты поиска?
Укус питона везде 2011 год, а мне анон в соседнем треде затирал, что лучше отталкиваться от 2014 года так как там были изменения какие-то(?). Как быть?
This prognosis includes Programming Python, whose latest 4th edition is still not quite 5 years old; is still fully relevant as an applications foundations tutorial; and presents examples which work well on the most recent Python 3.Xs—including 3.3, 3.4, and 3.5—with only very minor changes. More to the point, this is not a version-specific book; rather than trying to document the transient leading edge which changes from year to year, it teaches fundamental software development tools and techniques that apply to all Python releases.
>>1239869 Жаль. У меня просто с инглишем есть некоторые траблы. Хотел поначалу вкатиться на русском языке, а дальше уже, когда буду большую часть понятий знать, то уже совершенствоваться на английских ресурсах.
>>1239755 > Ты либо школьник, либо жирный и тупой болван с рассеянностью Не проецируйте, месье толстый школьник. Вводите тут народ в заблуждение своими высказываниями...
>>1238794 > например, когда urllib/requests кидается исключением при 404, вместо того, чтобы дать мне возможность спокойно проверить ответ Ох, щеночек. А если произошёл таймаут? А если такого хоста вообще нет? Тебе придётся возвращать супер-йоба объект с кучей полей чтобы понять что пошло не так. Как можно быть таким узколобым чтобы не понимать предназначение исключений?! Суть в упрощении основого флоу и хендле любого эксепшена, чтобы либо перезапустить, либо что-то юзеру выдать. В 99% случаев никого не ебёт хост это ненайден, ConnectionRefused или 404 уже на уровне http. Вообще охуеть!
>>1238810 1. В пифоне на это похуй. 2. Для этого есть with и finally. Если бы возвращался объект, то бы его if-ом проверял и также хуярил блок финализации. 3. Как ты предотвратишь 404 на этапе компиляции/подсветки?
>>1239824 >как записать в файл, что бы сначала был адрес, а потом результаты поиска? Записать сначала адрес, а потом результаты. В чём твоя проблема-то? Компьютер выполняет ровно то, что ты ему прикажешь (пока что). Ты, вроде бы, определился с тем, что тебе надо записать, функцию f.write() знаешь, так и где проблема-то? Завтра придёшь спрашивать, как выйти из цикла при неком условии, зная при этом и про break, и про if?
Анон, может ты мне подскажешь как лучше. Требуется хранить следующие записи "путь к файлу" - "размер файла, md5, sha256". Всё бы ничего, но хочется упаковать в красивую структуру, ибо пути могут быть длинные, все файлы вложены в папки и так далее. Если кто-то знает формат, который можно под это адаптировать(а если ещё и инструмент), то буду премного благодарен. # Пошёл добывать нефть.
>>1240096 Интересно, надо чекнуть. >>1240108 Думал, думал. Как бы подходит, но что-то всё равно не то. >>1240109 Пробовал, работает, но вдруг есть способ получше. Просто хочется сделать именно упор, чтобы была иерархия, а не писался полный путь каждый раз. Можно конечно применить сжатие текста...
Есть сервис с юзер-генерейтед контентом. Последнее время его стали одолевать ебучие индусы спамящие ссылками на свое индусское говно. Это даже не боты, это реальные люди, ручками вбивающие капчи. Так вот, как мне минимизировать спам ссылками или хотя бы снизить негативный эффект от такого спама? <a href rel="nofollow"> будет достаточно? Или надо делать как реддит и форчан, на бекенде все ссылки указывать на out.reddit/your-url, а потом с этого аута уже перенаправлять на юзерскую ссылку? Как вот этот последний вариант правильно сделать чтобы юзерскую ссылку не сломать?
>>1240177 Вспомнил что твиттер решает эту проблему похожим способом, но он полностью дропает юзерскую ссылку и перенаправляет на рандомное гово вида t.co/AzjErjt, а мне хотелось бы чтобы юзер таки имел представление куда ведет ссылка.
Может глупый вопрос задам, но что бы такого покодить на питоне? Хочу его попрактиковать, но нет абсолютно никаких идей что можно такого нужного/интересного сделать.
>>1240218 Индия просто частный случай. Вместо нее со временем может придти Бангладеш или Египет какой. Так вообще весь третий мир придется забанить. Ну и плюс там есть легитимные юзеры, а моя хуйня не настолько популярна чтобы разбрасываться юзерами.
>>1238826 >собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной Блядь, прочитай какую-нибудь книжку по разработке софта (я серьезно). Может у тебя там еще весь контрол флоу на goto?
Ты просто привел архетипичный пример мизюза исключений, обычно в книжках его как раз и приводят со словами "смотрите детки, вот так делать не надо, а то получится говнокод, исключения для другого придуманы".
>>1240087 >>1239892 Лутц, даже 2011 года все еще актуальный. Там не описаны несколько фич, таких как появились в 3.6-3.7 версиях, но их можно на пальцах одной руки пересчитать - новая интерполяция строк, упорядоченый словарь..все. Не слушай манек.
>>1239910 >>1239961 Смотрите, поиск идёт по строкам. Строка удовлетворяет поиску - её программа записывает в файл. Строка не удовлетворяет поиску - поиск переходит к следующей строке. Строки закончились - идёт переход к следующей странице. Если перед записью строки буду записывать адрес страницы, то в случае нескольких совпадений на странице я несколько раз получу запись адреса страницы. Ну и нахуя это? Если я вынесу запись адреса перед циклом - то что мне делать, если на странице не окажется ничего удовлетворяющего поиску? Удалять запись? Нахуя её писать тогда? Поэтому и возник вопрос, можно ли сделать так, чтобы однократно перед результатами поиска по странице указать адрес этой самой страницы.
def обработатькнигу(книга): __for страница in книга: ____u, res = обработатьстраницу(страница) ____if u: ______print(соси) ______for i in res: ________print(хуй)
>>1240442 Спустя тысячелетие бесконечных войн между кланом Пробела и кланом Табуляции явился Он, тот, кто сплотит оба клана и принесет мир на землю. Встречайте: __-пидор.
>>1239917 Возвращает объект уровня абстракции http. Я кстати на слово поверил >>1238794-петуху на слово, но requests не рейзит исключение на 404, у него для этого специальный метод есть у респонза raise_for_status. Но как бы то ни было, если включить в объект ошибки всех уровней, то можно охуеть и это не даст никакой пользы.
>>1240421 Молодец, делаешь успехи, с третьего раза сумел таки объяснить свою проблемку уровня тупой даун.
А метода проста: результаты поиска по странице пиши в буферную строку, после заврешения цикла поиска по странице если буферная строка не пустая пиши в файл сначала адрес страницы, потом буферную строку.
>>1240567 Ну чо петух-то сразу, ну ошибся. Встроенный urllib.request.urlopen-то точно рейзит. Ну и как бы это даже подтверждает нинужность исключений в таких случаях, раз самая популярная либо не рейзит, т.е. мне даже лучше.
На страничке есть select, где при выборе другой опции подгружается колесико загрузки, а потом другая табличка.
Делаю с силениумом так: select = Select(browser.find_element_by_name('testName')) select.select_by_visible_text('value2')
Файрфокс загружает страничку, выбирает нужную опцию, срабатывает эвент, появляется скриптованное колесико загрузки, но дальше дело не идет, табличка не прогружается, колесико загрузки остается крутиться навечно, что может быть не так?
>>1240732 Компактней, чище, быстрее. Компилируемый в статику -> никакой ебли с библиотеками и виртуаленвами на продакшене. С изкоробочной многопоточностью и без ебучего гила.
Го это язык которым мог бы быть питон если бы его делал Человек, а не членодевка Гвидо.
>>1240646 Почему ты вот это проигнорил? > если включить в объект ошибки всех уровней, то можно охуеть и это не даст никакой пользы и вообще всю идею, что сотни вариантов ошибок и их ручная проверка при каждом реквесте (например) усложнят весь код до уровня нечитаемой параши.
>>1240890 Можно каждые 30 дней сбрасывать триал. Взамен пичарма сейчас принято советовать vscode. А многие пишут прямо в виде обмазавшись дохуищей питоноплагинов.
>>1240735 >Го это язык которым мог бы быть питон если бы его делал Человек Лол, Пайк такой же говноед и долбоеб некомпетентный language designer, как и Говнидо. Не удивлюсь, если эти двое дебилов в сракотан жахаются в чуланах гугла.
>>1240732 Го уже второй год как падает во всех рейтингах ЯПов, кто его выбирает-то, блядь? Тем более вместо питона.
>>1241014 >Го уже второй год как падает во всех рейтингах ЯПов Looking at the Trending preset, designed to weight the metrics to emphasize languages that are growing quickly, we see that Google’s Go has risen from No. 7 to No. 5.
>>1241080 Сколько с ним мучаюсь - все по мелочи, что мог бы загуглить. Мне тупо времени жалко даже, а он так преподносит все неинтересно и нудно, что я ничего не могу делать. Я даже сам не замечаю как у меня прокрастинация по кд прокает. Вообще не двигаюсь. Что я потеряю, если сразу программирование пойду учить? Ведь всякую мелочь же загуглить можно.
>>1241034 >Что такое порядок, как это гуглить? В школу в пятый класс сходить надо. Ну или, блядь, прямо по "порядок числа" и гуглить. Но ты, к сожалению для тебя, тупой, так что лучше заброс это дело.
Блядь, двощ. Пытаюсь спиздить браузер на pyqt5. Спиздил один, получил No module named 'PyQt5.QtWebKitWidgets'. Окей, погуглил, узнал, что мол это переименовали на QtWebEngineWidgets, спиздил версию с ним, получил No module named 'PyQt5.QtWebEngineWidgets', дальше не гуглится. Ну что за хуйня? И это еще не первое что я спиздил после варика с вебкитом, была и всякая ебанина вроде 'QWebEnginePage' object has no attribute 'mainFrame'
Джангоебы, подскажите нубу. Есть дивы в 1/3 строки, а есть один большой во всю строку. Например выводим по дате, если 3 дивов есть большой, то выводим его, если нет, то выводим маленькие.
Змеебоги, читаю лутца (изучаем питон), вроде интересно, поэтому собираюсь читать следующие два тома (программируем на питоне), в связи с этим вопрос : если я это все осилю, то заимею ли я достаточный скилл для фриланса и смогу ли писать достойные проэкты? Или после первой книги начать читать что то другое?
>>1241354 Ты скилл для фриланса заимеешь после пары-тройки лет работы в офисе, не ранее. Потому-что книги скилл не дают, а только теоретические знания, которым грош цена.
>>1241428 Чукча не писатель, чукча читатель? Ты понимаешь что без практики книги не имеет смысла читать? Сколько ты кода написал, ммм? Сколько? Отвечай.
>>1241430 Все, что прохожу пишу. Выполнил задание в конце Укуса, написал мокропиську когда начинал только. И вообще, я вот и хочу что-то осмысленное писать, а не проходить тот же материал по второму кругу. >>1241431 Не, Укус я прям супер доволен. Изучения Питона от Луца уже третий раз дропаю. Короче, я вас понял, иду сразу к программированию.
Сейчас смотрю есть всякие прокси типа typescript -> js, котлин -> js, кложа даже. Но нет скорее всего есть, но не популярно питон -> js Почему? Ведь удобно фронтенд на питоне писать
Анон тупой вопрос: как сделать ввод значение для переменной, в школке на паскале чёто было типо print ('Введите а','a') а как на питоне, уже неделю не могу понять.
>>1241580 Я тебе подскажу, ты только в обморок не грохнись. Прочти книжечку. Вообще любую. Можно даже не по питону. Инпут — это, блять, следующая глава после Хеллоу Ворлда.
>>1241594 Скачай "Укус Питона" и "Простой Питон" 2017г
Укус разжует основы, Простой Питон пожалуй лучшая книга для вкатывания. Это актуальный "Лутц" ужатый с 1000 страниц в 400~ с хорошими примерами и разжевыванием
>>1241619 Ну я пеку торты в пекарне за 20к/месяц, но хочется ещё с детства научится погромировать, а как будто мозг ставит блок, как взрослые не могут освоить интернет.
>>1241619 Пусть он в воркач пиздует и приглянет себе, что интересно. Очевидно, программированием ему не заниматься, не дано. Но бабло можно и на работе ручками поднимать, кузнечеством хотя бы.
Чувствую себя как аутисто-анон, который не разобрался как переменную заполнить. Что это за ебенячья схема бля завязывания шнурков, я нихуя не могу разобраться куда там сколько раз просовывается. Судя по рисунку идет количество прямоугольников на 1 меньшее, чем N, столько же кусков по a и ещё 2 кусочка по l. Но проверка говорит мне сосать хуй.
>>1241654 >На рисунке всё правильно и всё понятно. Нихуя не понятно на самом деле - оба конца слиты воедино, в описании про два конца тоже ничего не сказано.
>>1241563 >питон хуита уровня жс Сильное заявление.
В питоне есть настоящие модули, классы, декораторы и охуенная стандартная библиотека. Питон - полноценный язык. В отличие от ES любой версии, бывшей и будущей.
>>1241696 >Очевидно, чтобы не держать в голове костыли и подводные камни сразу двух языков. Ну так это решается проще - выкидываешь нахуй пайтон и все yobaface.png
А так тебе один хуй придется работать с платформой, библиотеками итп, так что подводные камни все равно будут свои. Ну и еще раз, как показал коффескрипт, никому кроме трех с половиной аутистов это нахуй не надо, так что селяви, хуль тут еще скажешь. Учи в дополнение к пайтону другой язык на место жс, где меньше косяков.
>>1241705 >настоящие модули, классы, декораторы В es6 тоже.
>охуенная стандартная библиотека ))
>Питон - полноценный язык. >динамикодрисня уровня "перл с нескучными отступами" ))
Аноны, кто нибудь сталкивался с использованием API географических карт в python 3. ? Мне необходимо найти расстояние проезда* между двумя домами на карте, все пытаюсь воткнуть в Yandex Map API, но похоже долблюсь в глаза и не могу найти нужного.
>>1241228 Бамп. Не подходит что бы я не пробовал: PyQt5.QtWebKitWidgets PyQt5.QtWebEngineWidgets PyQt5.QtWebKit PyQt5.QtWebEngine PyQt5.QtWebkitWidgets И прочий бред.
Анон как этот тэг в джанге работает {% get_category_list %} Нихуя не понимаю. Возвращает сразу отрендереный список с проставленными тэгами и атрибутами. А я хочу например проставить атрибуты вручную.
>>1241931 Да, просто этот тэг возвращает уже готовый неитерируемый список. В общем так или иначе мне надо было лишь проскроллить ещё одну страницу "учебника".
Нужно создать сайт(без js и прочей ереси) выдерживающий большую нагрузку и имеющий возможности по постройки велосипеда, а так же возможности по настройки безопасности и минимизации уязвимостей.
Django подойдет под эти требования? Flask как я читал - это джанго в минималке.
Да, и какую БД использовать, что бы максимально обезопасить себя от sql
писал когда то бэк на пыхе, но пару месяцев на освоение есть
>>1241934 Сам недавно читал пару статей, в которых говорится что именно в django уже вся защита в т.ч. от sql бомб (или как их там) включена. Из баз я бы взял PostgreSQL т.к. самая ходовая, и лучше быть в трендах. Но это мысли вслух от неудачника, можешь не обращать внимания.
Братишки, тут такое дело. Я сам себе придумал задачку и теперь охуеваю от того, что не могу к ней подступиться.
Начнём с самого простого (то, что я себе придумал, ещё запутаннее).
Представим, для простоты, что у нас третичная система счисления (1,2,3). Теперь представим, что нам надо посчитать от самого малого, допустим, трёхзначного числа 111, до самого большого - 333. На бумаге всё просто, алгоритм понятен. Сейчас, думаю, ебану for луп. И на этом месте я обосрался.
Ок, самое очевидное, запихнём все данные для перебора в любой контейнер nums = (1,2,3) Ну, допустим, мы можем по нему пробежаться for num in nums: Казалось бы, ну запихни ты эту конструкцию в nested loop for i in range(3):, что может быть проще? Пошёл нахуй, ответил мне интерпретатор питона.
Казалось бы, элементарная задача на комбинаторику.
>>1242118 Так-то оно так, но я пытаюсь обойтись без хардкода. Сейчас у тебя длина 3, которая никак не меняется. Кроме того, в моём варианте задачи, я пытаюсь перебрать номера без повторов: например (две единицы, одна двойка) 112, без 121 или 211 Алгоритм, опять же, элементарный, если расписать его на бумаге. Но здесь нельзя просто обойтись хардкодом.
Проблема в том, что на бумаге алгоритм расписывается просто, следовательно и реализовать его не должно составить больших проблем, только не для меня.
>>1241009 Надо вписать - вписывай, не надо - не вписывай. На запуск скриптов в винде это не влияет, там файлы ассоциированы с интерпретатором напрямую.
Если ты извращенец и работаешь из виндового cmd и вызываешь оттуда интерпретатор в интерактивном режиме, то впиши. И путь к pip добавь еще чтобы не вбивать его каждый раз при установке пакетов.
Выложите, пожалуйста, список задач (как то давно видел пикчу) которые нужно сделать любому изучающиму язык. Там около 100 заданий было по-моему разных. Ну или что то похожее.
>>1241106 > нельзя было просто так и сказать На, заебал. Чтоб тебе всегда такие числа писать вместо экспоненциальной нотации! 0.000000000000000055511151231257827021181583404541015625
>>1242232 Тут понятно, что это за число, анон спрашивал про ешку, потом разобрался и спросил нахуй вы мозг ебете. Претензий к работе тут не было. Все прыщи токсики - в этом была претензия как я понял. В последнем я с ним согласен
Ну, это если тебе проблему решить надо, а не самому додуматься до решения.
>>1242245 >Все прыщи токсики - в этом была претензия как я понял. Ну извините, если человека в самом деле захотел заняться программированием и даже не знает, что такое порядок числа, то единственный способ до него что-то донести — это с небольшой издёвкой для создания сильного эмоционального всплеска, что приведёт к лучшему запоминанию информации. Вероятнее всего нет, разумеется, он же тупой, но теория такая.
Как бы, я изначально думал, что он просто не увидел e-17 и даже представить не мог, что он не знает, что это такое. А дальше на все вопросы ответили же.
>>1242309 Откуда узнать, что такое е-17, если в учебнике нет пояснения что это такое? Ты сказал, что это порядок числа - человек загуглил - узнал. Нахуй желчь плеваться?
>>1242309 >это если тебе проблему решить надо Сама задача, конечно, родилась из проблемы. Но, учитывая, что делаю я это для самообразования, хочется именно найти решение, точнее, понять его.
В доках питона есть реализация данной функции. Посидел, немного разобрался, что как работает. Завязать алгоритм на reversed i в for лупе, надо же до такого додуматься.
>>1241934 Большая нагрузка это сколько? Если не сильно дохуя и нужна нормальная орм то фласк + алхимия. Если совсем пиздец то асинхронщина типа aiohttp + aiopg но там без sql вроде никак. Насколько я знаю нормальных асинхронных орм нет.
>>1242331 >Ты сказал, что это порядок числа - человек загуглил Нет, он не загуглил. Он начала спрашивать, что это такое, вместо гугления, а это очень плохой знак. Дауном не я называл, если что.
>Откуда узнать, что такое е-17 Я не верю, что человек ни разу за свою жизнь не умножил два больших числа на любом калькуляторе.
Есть 2 модели - адреса и адреса заведений. Как правильно прописать ключи. Хочу чтоб так работала, заходим в админку заведений, нажимаем + добавляем адреса, у другого заведения этих адресов видно быть не должно.
Помогите с пандас. У меня есть датафрейм и я хочу в некоторых его столбцах поменять НА на среднее по этому столбцу, допустим. Среднее у меня вычисляет функция MyMean почему же тогда не работает такой код? https://pastebin.com/ECAnZtkP
>>1242727 Да, я нюфаня, судя по всему, как и он. В этом нет ничего плохого, все люди приходят в мир с 0 знаний и обретают их. Не понимаю суть твоей претензии. А нахуй тут, вообще, гуглить, если можно человеку сразу сказать, а не давать наводку? Времени ты не выиграешь, человека лучше не сделаешь т.к. все знают со школы о чем речь. Тут тупо уточнить человеку надо, а вы желчью плюетесь.
1)Объясните всю ахуенность лямбда функций 2) Лутц - изучаем Питон хорош, но пиздец он по 20 раз про срезы говорит, поясняет за типы переменных, а потом про них же еще на 150 страниц 3)какие же ахуенные штуки % и format, хотя мне больше нрав % своей легкостью, но и в format есть плюсы
>>1237920 сделой try: list.remove(something) except ValueError: pass/continue/huinue могу неправильна написать, я с сипласпласа перешол сначала хотел написать catch вместе ексепт, пиздец
>>1242744 >А нахуй тут, вообще, гуглить, если можно человеку сразу сказать, а не давать наводку? В надежде, что следующий тупой вопрос он всё же задаст сначала гуглу, который (пока что) его говном не обольёт. Ну это вдобавок к тому, что наводки давать полезнее, чем просто ответ.
>>1238598 У тебя rel_words вне области видимости функции, затем ты указываешь её как параметр для передачи, но не передаешь её. В итоге посмотри что у тебя выведет rel_words в фунцкии нихуя и пойми где ты обосрался перенеси rel_words = False в функцию до while https://python-scripts.com/scope
"Автоматизация рутинных задач с помощью Python" Свейгарта подойдет для вката в автоматизационное тестирование, если до этого писал только хеллоуворлды? Или все-таки лучше с Лутца начинать?
>>1242776 > Лутц - изучаем Питон хорош, но пиздец он по 20 раз про срезы говорит, поясняет за типы переменных, а потом про них же еще на 150 страниц чтобы запомнилось лучше
>>1238598 Я удивлён, что у тебя код вообще запускается, он же должен был упасть по одной из двух причин: >UnboundLocalError: local variable 'rel_words' referenced before assignment Потому что ты не указал на использование глобала, а значит питон будет считать rel_words локальной, так как в коде функции ей присваивается значение >TypeError: rel_words_opt() missing 1 required positional argument: 'rel_words' Потому что функция, передаваемая в CommandHandler вызывается лишь с двумя аргументами.
Вероятнее всего, оба этих исключения молча проглатываются твоей телеграм-либой, и вместо человеческого оповещения ошибки не происходит ничего (и бот не отвечает на сообщение).
>>1242985 Что именно не работает? Объект создаётся и тут же уничтожается, всё ок.
>>1242744 Видишь, что происходит, когда тупым не называют: сообщение за сообщением — невнятная хуита. Нет бы, блин, сразу сказать, что он хочет чтобы происходило.
>>1242970 Куда ты вообще полез если у тебя банально мозг на программирование ещё не настроился? Как можно не понимать, что ты не можешь создать объект в той же переменной в одном пространстве имён? Ну а ошибка твоя в том, что ты не выучил нормально самые основы.
Куда дальше? Интересуют сокеты и системные утилиты
И такой проблемс, у меня ступор при использовании библиотек. Слегка впадаю в аутизм когда понимаю что я не понимаю как используемая библиотека работает, а в книгах примеры без объяснений начинки этих библиотек.
т.е я знаю что вот по книге\шаблону она берёт эти данные и возвращает в таком то виде, а что под копотом хёр поймешь... даже если откроешь её и начнёшь копать код. Из за этого весь твой код приобретает непонятный смысл, ибо ты не знаешь как часть данных в обще получается.
>>1243091 Ты знать все не обязан, к библиотекам, хорошим, должна прилагаться документация. В пичарме она вызывается ctrl+Q когда курсор на импортируемом модуле.
Пацаны, а как передавать переменную из __init__-функции класса в любую функцию ДРУГОГО класса, не прибегая к global переменная ? А то он мне пишет, что Class_Pizdahas no argumenthuy
>>1243198 Никак, если не создаёшь атрибут. Вообще в питоне невозможно из функции вытащить переменную. Для этого есть global. Идиоты пиздят на global потому что не умеют нормально контролировать пространство имён и думают что ООП это когда создают класс машина с атрибутами цвет и модель.
>>1243204 self.huy будет работать только среди функций класса Class_Pizda. Передаться в другой класс он не сможет. >>1243205 Понятно, спасибо за объяснение, а то я думал, что решаю проблему слишком нубовским способом.
>>1237856 (OP) Сегодня словил шок. Оказывается, варка вне функции (aka переменная глобальной области видимости) и варка внутри функции С ТЕМ ЖЕ ИМЕНЕМ — это две разные, блять, варки. Словил столбняк с такой подставы. Это во всех языках так?
>>1243212 > Это во всех языках так? Да. В других языках еще можно иметь отдельные переменные внутри блока (внутри if, например), которые будут отличаться от одноименных переменных внутри функции, вне этого блока. Правда, это считается говнокодом.
>>1243241 > Про аттрибуты я упомянул. А еще можно def foo(a): ....foo.a = a foo(1) print(foo.a) И ни глобалов, ни классов. Всегда хотел такое для статических локальных переменных в крестах.
>>1243212 Ответ один - безблагодатность Говнидо не додумался сделать объявление переменной через let x = ..., как во всех нормальных языках потому что изначально делал язык для таких же макак, как он сам, чтоб говнякать скрипты в консольке, но потом что-то пошло не так, так что присваивание существующей переменной от объявления новой переменной отличить невозможно. Из-за этого приходится городить кучу костылей, типа такого: https://docs.python.org/3/faq/programming.html#why-am-i-getting-an-unboundlocalerror-when-the-variable-has-a-value
Мораль: человеки обречены не давайте дизайнить языки дебилам, не видящим дальше своего носа
>>1243250 При чем тут си-подобные языки, дурачок? С чего ты взял, что мне что-то непривычно, дурилка?
>>1243252 >Интересно, что ты забыл в этом треде? Отвечаю нуфагам на вопросы, а что?
>Просто сидел в ожидании повода обосрать язык? Нет (лол, его Говнидо уже так обосрал, что дальше обсирать смысла нет, разницы не видно). А у тебя что, религиозные чувства заделись? Как бы чтобы пользоваться инструментом совершенно необязательно на него молиться и закрывать глаза на все тупорылые косяки, которые в нем есть (капитан очевидность, ага)
>>1243253 > С чего ты взял, что мне что-то непривычно, дурилка? Ну а чего тогда у тебя подгорает? По мне, так поведение питона в данном случае наиболее удобное и очевидное.
>>1243241 >если не создаёшь атрибут Не заметил, но вопрос "шта" остаётся в силе, просто немного меняет свой вектор. Какой смылс не прибегать а созданию атрибута?
Если, вдруг, тебе не нравится то, что переменная является атрибутом объекта, можешь сделать её атрибутом класса.
class foo(): ,,,,a = 1
А вот объявлять глобал переменную внутри класса, такого я ещё не видел. Просто возьми и без задней мысли объяви её в глобал скопе.
>Я имел ввиду неймспейсы Можешь сделать неймспейсы в питоне. class namespace(): ,,,,pass
a = namespace() b = namespace() a.a = 10 b.a = 20
>>1243243 >у тебя переменная висит просто в классе, а не в ините Что?))
>>1237856 (OP) >>1008826 (OP) Сап. Есть задача - написать библиотеку для приложения, потом на основе вызовов библиотеки написать CLI интерфейс и само приложение, затем написать web Язык - python, sqlalchemy orm
Набросал модельки, тут все ок. Начал писать саму либу. Получился класс, где происходит соединение с базой. И методы в духе action(user_id, entity_id)
Вроде всё ок. 1) Дошло дело до обновления объектов. Варианты: а) метод update(user_id, entity_id, entity_args) где внутри проверяю - существует ли юзер, можно ли выполнять действие над объектом, если да - беру объект и обновляю, нет - шлю нахуй. Объекты за либу отдаю, но без явного вызова update у объекта - изменения не коммитятся. б) Разрешаю отдавать объекты за либу, пускай делают что хотят и сами делают проверки в) Писать над всем этим еще одну обертку, где напрямую задавать user_id. Тогда можно отдавать объекты за либу, пускай делают что хотят. В конце пускай вызывают save(), внутри проверяется какие объекты изменены за сессию, проверяются права, если для объекта нет - пишу в лог, с этим объектом шлю нахуй и смотрю дальше
2. Нужно ли вообще внутри либы, делать проверки существуют ли объекты, id которых дали для действия? Вдухе, get_smth_id(id) пытаюсь получить объект - объекта нет - исключение. или же объекта нет - вернул none и на этом все.
Проект большой, не хочу проебаться в самом начале чтобы потом заниматься рутиной. Спрашивать больше не у кого.
Продублирую вопрос из ньюфаг треда. Аноны помогайте, я не хочу на бутылку в сентябре.
>>1243256 > Можешь сделать неймспейсы в питоне. Ты можешь лишь притворяться, что это неймспейс - ты не можешь обращаться к "переменной" внутри твоего "неймспейса" без использования "FQN". А настоящие неймспейсы в питоне работают только на уровне модулей и достаточно жестко к ним привязаны (ну если не ебаться с лоадером), и там ты можешь делать as, например.
>>1243255 >Ну а чего тогда у тебя подгорает? Что за проекции, блядь?
>По мне, так поведение питона в данном случае наиболее удобное и очевидное. Ну так я уже тебе сообщил как бы, что ты дурачок.
>>1243256 >Можешь сделать неймспейсы в питоне. Чувак, это нихуя не неймспейсы. Можно конечно эмулировать "модули" через объекты, как в жс-параше, но это же вообще не то. (я другой анон)
>>1243260 Нихуя из твоей простыни непонятно, в чем именно у тебя затык, но тащем-то гугли паттерн repository например. И да, если ты это для учебы делаешь, но для начала сделай без орм, иначе говна наешься.
То бишь идея, что при нажатии первой кнопки открывается второе окно (так и происходит), а при нажатии второй кнопки текст лейбла в первом окне меняется. Если бы у нас было определено global label, это бы действительно происходило. Но чувствуется, будто это костыльный и непрофессиональный ход. Можно твоим способом это как-то решить?
>>1243269 > Можно твоим способом это как-то решить? Так передавай в init второго окна первое, как аргумент parent, сохраняй его и используй, кто ж тебе мешает-то?
>>1243266 https://pastebin.com/tWMdMyMg Ну вот. Забыл правда метод get_task(), но не суть. Я могу отдавать объекты за библиотеку, у этих объектов изменяют поля. Объект можно взять, если есть права на чтение. Нужно как-то мониторить, есть ли права у того, кто этот объект редактировал. Ну и тут появляется проблема. Либо вообще забивать на изменения сделанные вне библиотеки: хочешь обновить объект - вызывай update_obj с параметрами кто ты, и что ты меняешь. Либо изменяй что хочешь, не забудь вызывать api.save() (который просто обертка над session.save() ) Варианты как это мониторить я написал выше. Без орм я писать не могу, потому что если писать голые классы - значит потом маппить обычные объекты с объектами из ORM, времени на это у меня нет.
>>1243085 1. Объединения последовательно создают новые объекты, то есть оверхед. 2. Сделай с помощью плюсика f"value = {x:0>{width}.{precision}f}", наверное будет хуже.
>>1242718 Ты бы хоть код показал. https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html В документации сказано: >Value to use to fill holes (e.g. 0), alternately a dict/Series/DataFrame of values specifying which value to use for each index (for a Series) or column (for a DataFrame). (values not in the dict/Series/DataFrame will not be filled). This value cannot be a list. Так что numpy array возможно не подойдет. На картинке сделал через словарь.
>>1243289 Ага, точно, отдельная функция по setText, а потом вызов ее из другого класса. Я вроде что-то такое пытался, но не смог в синтаксис, конкретно вот тут: >def set_label(self, text): и >(имя инстанса FirstWindow).set_label('новый текст') Имею в виду аргументы в скобках. Спасибо, посмотрю.
Напомните насколько вообще правдив hh? Я вижу тут слишком сильный разброс и отсутствие каких-либо общих тенденций вообще. Смотрю определённо на вакансии джунов и стажёров, во многом там бывают слишком высокие требования к джунам, вплоть до опыта 1-2 года. Есть какие-то вакансии мечты, и при этом зарплата от 50к, до о господи 100к, для джуна слишком, хотя в большинстве случаев не указана зп. В требованиях конечно есть какие-то пункты где нельзя посмеяться и сказать что так макака умеет, но осилить можно. В чём подвох? Более реально и по требованиям, и по состоянию дел, и по финансам выглядят вакансии для веба, но я в веб что-то не знаю, есть ли смысл нырять к макакам только чтобы три года стремиться сменить работу получив опыт, зарплата всё равно ниже чем у грузчика. Так вот, чему верить? Где информации по рынку труда вообще набраться? Хочу знать в каком направлении развиваться прямо сейчас. Искать ли мне курсы или дрочить макакинг а потом искать курсы?
Питонята нид хелп, подскажите по структуре джанго проекта, нужно получать данные с двух разных апих, на всякий писать их в базу ну и соотв обрабатывать,нужно ли делать для каждой апишки свое приложение и соответственно приложение для обработки, или разумнее будет разместить все в одном приложении или вобще бахнуть все в корневом каталоге проекта. Нужно ли плодить вьюшки как контроллеры в каком нить ларавеле? Или писать все в одной? Вобще по организации структуры если накинете советов поставлю за каждого свечку. Спасибо всем мир, за пыху если что не бобите
Ребята, всем здравствуйте-пидераствуйте, у меня возник такой вопрос. Пилю заказчику ERP-систему, и нужно подтягивать, просто подтягивать, максимум красиво обрабатывать, но это уже проблема front-end мартышки данные со сторонних ресурсов. Таких как директ, что-то там crm и т.д. Вопрос следующий: Как лучше это реализовать? Непосредственно через API или же костылить через html парсер с вытягиванием нужных данных? Да, переменные соответственно динамичные. Фреймворк - Django.
>>1243631 >Ребята, всем здравствуйте-пидераствуйте, у меня возник такой вопрос. >Пилю заказчику ERP-систему, и нужно подтягивать, просто подтягивать, максимум красиво обрабатывать, но это уже проблема front-end мартышки данные со сторонних ресурсов. Таких как директ, что-то там crm и т.д. Вопрос следующий: >Как лучше это реализовать? Непосредственно через API или же костылить через html парсер с вытягиванием нужных данных? >Да, переменные соответственно динамичные. >Фреймворк - Django.
>>1243631 Это я тупой или ты тупой? Зачем парсить, если API отдаёт дату? >переменные соответственно динамичные Переменные, соответственно, переменные? Сильное умозаключение.
>>1243791 >чем конкретно в питоне метод класса отличается от функции Не в питоне, а в терминологии ООП. Метод принадлежит объекту. Фунция принадлежит скопу.
>>1243631 Подтягивай через апи если не платное и всё отдаёт, может придётся где-то парсить, проанализируй чё тебе дали. Аггрегируй @ кэшируй - отдавай на фронт. Зачем заставляешь гадать - перечитай ТЗ, там всё должно быть или на чернуюмагию сходи - тебе там погадают. Переменные динамичные == масло маслянное.
Есть ли какой-нимбудь экстеншион для jupyter notebook, который проверяет на соответствие кода в ячейке стандарту pep8 ?? Не могу найти в инете нормальную инструкцию по установке
Если я запущу скомпилированую горутину в питоне без возвращаемого значения, то питоновский код продолжит исполняться или будет ждать выполнения горутины? Потому что если представить что возвращаемое значение всё-таки есть, то код не должен выполняться. Это довольно глубокая тема и никак не регулируется человеком, так что я хуй знает. Или питон всё-таки вызовет горутину и продолжит исполняться сам?
Суп, анон я нуб который осилил очко на питоне и ещё несколько стандартных примеров уровня хэллоу ворд. Мне нужно сделать программу для проверки профессиональных знаний персонала, чтоб выбирала рандомом десяток тестоввх вопросов из базы и считала процент правильных ответов. Уверен что-то подобное есть нете но я вот не нашел, может кто видел гайды по написанию подобного? Насколько это трудоёмкая задача несчитая создания огромной базы из книги
>>1244086 > >Суп, анон я нуб который осилил очко на питоне и ещё несколько стандартных примеров уровня хэллоу ворд. Мне нужно сделать программу для проверки профессиональных знаний персонала, чтоб выбирала рандомом десяток тестоввх вопросов из базы и считала процент правильны
Самый легкий вариант это поднять SQlite базу через Django, там же набросать вопрос-ответов, система юзарей и админка в комплекте. Работа на один день. Должно быть, тебе еще и денег заплатят, тысяч 300
>>1244119 >>нужно програмку для оценки по 10 булам >>поднимай джангу, пили авторизацию, базу данных на sql, чтоб с юзерами >Робот-бэкэндщик в треде. при зарплате 35к в месяц Ебаная деревня
>>1244166 >при зарплате 35к в месяц Ты считаешь, что тебе недоплачивают? Ок, почему именно джанго, какие есть альтернативы, почему ты их исключил? Почему именно sqllite? Какие альтернативные структуры данных ты рассматривал, в чём их отличие?
>>1244190 >Каково осознавать, что даже такое говно быстрее? Я конечно говорил про плюсы и го. Ну хуле поделать, мне не бигдату на кластерах верстать, а всего-то 1000 подключений в час
>>1244195 > >Ты считаешь, что тебе недоплачивают? >Ок, почему именно джанго, какие есть альтернативы, почему ты их исключил? альтернатива это Node.js, долго учиться, не факт, что будет востребованным через пару лет.
Из баз использую MySQL, из платформы Debian
суть в том, что я посоветовал самый простой вариант )
>>1244202 Конечно, не имеет. Питон - это язык одного фреймворка. Это как вордпресс, только ещё хуже, вордпресс хотя бы на нормальном языке написан и там админка удобная, шаблоны нескучные.
Прохожу начальные знания на каком-то курсе с задачками. Пишу быдло-код, если тесты не проходит, подправляю так, чтобы проходил, часто даже не понимая почему это верное исправление. Правильно все делаю?
>>1244244 >Прохожу начальные знания на каком-то курсе с задачками. Пишу быдло-код, если тесты не проходит, подправляю так, чтобы проходил, часто даже не понимая почему это верное исправление. Правильно все делаю?
нихуя неправильно
лучше делать неправильно, но понимать что именно этот код делать. Python - язык богов, через 5 лет взлетит до минимальной оплаты 300к\с, у тебя есть все шансы занять первые места в рядах элиты
>>1244246 Ну первое решение, которое иногда неправильное, я понимаю что делает. Дальше начинаются тупняки и я кручу по-всякому первое решение, чтобы проходило тесты.
>>1244248 забей на эти блядокурсы по выбиванию денег. Настоящие питонщики рождаются в нищите на одних бушных книгах и вырастают настоящими профессионалами своими дела
>>1244246 Ладно, я понял что надо разбираться, в том, что пишешь. Тогда другой вопрос. Если я никак не могу осилить задачку, хотя все другие из этого блока сделал, лучше погуглить её решение или сидеть ломать голову сто лет?
>>1244250 > >Ладно, я понял что надо разбираться, в том, что пишешь. Тогда другой вопрос. Если я никак не могу осилить задачку, хотя все другие из этого блока сделал, лучше погуглить её решение или сидеть ломать голову сто лет?
конечно, гуглить. все разработчики так делают. Погуглить, запомнить, применить, обучить другого
>>1244343 > >Установил прям в настройках интерпретатора, как и те модули, что работают. ну даже и не знаю что сказать. я в эти настройки интерпретатора и не лажу, не нужно туда лезть. все таки должно автоматом хватать. как вариант - переставь все модули через внутренний терминал
PS Надеюсь ты не из тех, кто забывает делать from import
>>1244408 Это пост-постирония, спрятанная за несколькими слоями 0 cost абстракций. Слишком сложно для тебя. Начни сначала с просмотра рика и морти, чтобы привыкнуть к высокоинтеллектуальному стилю юмора.
>>1243982 >перешел с IDLE Ебать, шутник. IDLE лучше чарма, я прислушался к вскодеру и попробовал. После этого охуел от того как просто, удобно и быстро. Тебе тоже посоветую попробовать. +можно из исходников собрать
>>1244497 А не проще поставить ВСку? Он такой же минималистичный, быстрый и удобный как ИДЛ и функциональней за редким исключением Чарма. Ты занимаешь, не в обиду, каким-то ананизмом. Шок, тогда уже как васяны можно было бы писать в текстовом редакторе и запускать в терминале. Покормил
Встречал тему включая треды питона, проект по созданию уменьшенного интерпретатора python - или типа того, но вес интерпретатора раза в три меньше оригинала, включая стандартные библиотеки
Будьте так добры, посоветуйте, пожалуйста, программу для работы на python для прям вообще новичка. Чтобы просто скачать её, распаковать и сразу начать программировать. У меня немного зависает PyCharm и VS Code, сильно зависает Komodo Edit, мне кто-то советовал пару тредов назад spacemacs и Ninja IDE, но то я, похоже, что-то не так сделал, потому что в первой программе оказалась куча папок с непонятными расширениями, а вторая просто не запускается.
Короче не обассывайте сильно, я новичок в Питоне. Вообщем пишу сайтик на джанге и что то не могу нагуглить ответ, гитхаб тоже смотрел, похожего кода не увидел. В чем вопрос: есть вьюха TemplateView, там 2 функции которые принимают id ссылки и происходит запрос в БД за данными по этому id, после чего мне нужно перебросить этот id в forms и там создать форму ChoiceField на основе данных из БД. Так вот сделать это соответственно не удается.
>>1245082 Вообще format иногда удобен. Например, когда у тебя в сотне функций используется какой-то шаблон типа "yoba request with arg {argument}". Тогда очевидно, что шаблон должен быть один и доступен всем функция, которые будут делать template.format(argument=x). Можно конечно и f"{eval(f'{template}')}", но, во-первых, за такое бьют лопатой по лицу, во-вторых, имя аргумента фиксировано. Собственно, это единственный пример, который я смог придумать в пользу format.
>>1245194 Не сразу понял, что ты имеешь ввиду. Потому что охуел от монструозного >Можно конечно и f"{eval(f'{template}')}" Нихуя себе можно. Уже за один такой пример можно лопатой получить, осторожнее.
def print_template(x): print(f"yoba request with arg {x}")
>>1245215 Совсем не подходит, по целому ряду причин.
Но я озвучу самую главную. Function should do one thing.
Сейчас ты хардкодишь print(template.format(argument=x)). Ну а если ты вдруг временно перехочешь выводить данную информацию? Иди комментируй свой print() в сотне функций. А может ты больше одного аргумента захочешь принимать? Иди правь формат в сотне функций.
Либо в первом случае ты просто пишешь def print_template(x): pass Во втором распакуешь что надо и сколько надо через def print_template(args, *kwargs):
>>1245219 > временно перехочешь print = lambda ∗args,∗∗kwargs: pass И вообще, это вопрос дизайна. С нормальным дизайном ты либо не должен перехотеть, либо у тебя будет опция в конфиге на этот счет.
>>1245219 >>1245227 Вообще это больше к logging (в котором, кстати, f-strings не стоит использовать), вряд ли кто-то в своём уме будет использовать print для логгирования, а в logging достаточо поставить другой level и всё ок, ты не увидишь лишнего. И да, logging умеет только в %-нотацию. Но ты прав в своём примере, когда тебе "перехотелось". Тут вопрос реально в дизайне, "перехочется" ли и в том, чтобы не сделать over-engineering. У нас в одном проекте есть функция `_now`, которая возвращает time.time(). С одной стороны, хороший ход, можно быстро заменить источник данных о времени. С другой, все эти абстракции усложняют код, уменьшают читабельность и плодят баги, да-да. Я заменю в _now time.time() на time.monotonic() с лучшими побуждениями, а кто-то опирался на абсолютное значение времени, а не на дельту.
>>1245263 Смотря что использовать. Если подключить псутил и просто выключить тебе все процессы то ты может что и петеряешь, но можешь перезапустить компьютер и всё норм. А можно вообще без модулей спиздить информацию с сервера или скачать мальварю.
Я вот хочу подрабатывать веб-макакингом, НО, у меня так же хобби это РС модельки, было бы классно запилить дрона на базе коптера, что бы он по визуальным меткам летал и вообще есть пара идей с самолетами на солнечных панелях.
Значит питон получается лучше пыхи, ну то есть на пыхе можно, поднять денех быстрее, но вот на питоне даже если на пол годика позднее начну получать даллары то как надоест, то смогу сразу развивать свои хобби получается да?
Так то аутировать люблю, но правда больше руками.
знаю, что смысл не в синтаксисе, но вроде как пишут, что если затачиваться чисто под веб, то и выходишь на даллары раньше, но в реал погроминге много проблов и потом целую ветку прокачивать по новой, а на питоне если пройти общий курс, то все более универсально получается.
Исчерпывающий ресурс для новичка -> https://sites.google.com/view/pypry/
F.A.Q -> https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Для кода -> https://repl.it/languages/python3
Книги -> https://yadi.sk/d/tArKKuQu3Kejuq
Предыдущий:
python питон пайтон