Вы видите копию треда, сохраненную 23 сентября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Исчерпывающий ресурс для новичка -> 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
Предыдущий: >>1228115 (OP)
python питон пайтон
есть Спейсок.
надо поудаляйт элементы.
list.remove('пизда твоей мамки')
ValueError: list.remove(x): x not in list
АХУЕННЫЙ ЕЗЫГ, для истинных пидарасов гойловново мосга
я НЕПИДОРАС и мне ТЯЖЕЛО
нету элемента - ну и все, иди нахуй
КАКОВО ХУЯ ОНО ПРЕРЫВАЕТ ИСПОЛНЕНИЕ
КАКИМ ПИДОРАСОМ НАДО БЫТЬ ЧТОБ ТАК ЗАДЕЗАЙНИТЬ СПЕЙСКИ???
Товарищи, памахите, пожалуйста.
Вот тут
https://repl.it/repls/TrimVengefulFinance
простенькая основа кода с логированием ошибок. Здесь суть в том, что при инпуте буковки выдается трейсбэк и в лог пишется, что произошла ошибка.
Но я просто с ног сбился, пытаясь сделать так, чтобы этот самый трейсбэк писался в лог. Я не понимаю, почему не существует простого решения. Ведь если в логи пишется хоть что-то, неужели нельзя автоматом туда запихивать то, что выдалось в консоль?
Почти везде советуется поднимать исключение через try-except, но это же смешно. Если разработчик пилит огромное десктопное приложение (разумеется, без висящей рядышком консоли), он не может при каждом подозрении писать try-конструкцию. Да и невозможно все предугадать, обязательно что-то да пропустишь. Но как-то же эти ошибки ловятся и логируются, чтобы разраб мог по коду нужный номер строки посмотреть и понять, в чем дело!
Это реально возможно в реалиях Питона? Подсобите хоть подсказкой, хотя я почти всю документацию по logging прошерстил, нихуя нет ничего по этой проблеме.
И?
- у меня есть лист йоба размеров
- из него надо поудалять дохуя всяково
- удаляемые элементы могут иногда оццуцтвовать в листе
как мне нужно дрочить вприсядку чтоб оно
НЕ ОСТАНАВЛИВАЛОСЬ по причине
ValueError: list.remove(x): x not in list
Я же говорю - тупоголовый.
Порой такие тупые вопросы опасно читать, а то сам отупеешь
А теперь прошу объяснить/показать/намекнуть, куда именно надо всучить скроллбар, что бы он корректно мог скроллировать этот список таймеров. За вариант "объяснить" благодарю заранее, т.к. всё делал методом тыка и хочется узнать, почему именно так будет правильно.
Сделаешь поменьше?
Уже есть, но еще один не помешает.
Я иду против системы. Никогда не понимал этой любви использовать исключения для контроля нормального поведения, хоть оно и как бы есть в дзене, как-то очень уродливо и топорно выглядит. инб4: так быстрее. ради быстрее это не к питону.
В нормальный языках для этого есть filter(coll, pred) но Говнидо сказал, что map\reduce - это не пантой-вей, потому что его в детстве лисперы опускали он не осилил первый курс комьютир ссайенс.
>>38003
try:
x==42
print("x is 42")
except EqualityError as e:
print("x is not 42")
Вот ето я понимаю пантой-вей, Говнидо бы одобрил!
>>38018
Да чё вы несёте?! Задизайнили так, на то есть причины. Допустим remove нихуя не рейзит, я хочу узнать, удалил ли он что-то? Как мне поступить? Конечно сделать проверку "yoba" in x перед вызовом remove. Тут просто другая сторона. Если ты хочешь удалить что-то, то
if "yoba" in x:
____x.remove("yoba")
изи же.
Если не нравится проверка и не нравится try/except, то есть
with contextlib.suppress(ValueError):
____x.remove("yoba")
Конечно. Пифон — отличный клей, чтобы вызывать низкоуровневое говно, типа распарси 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 я не нашел вообще.
Откуда столько специалистов на этом говне? Это переобувшиеся жаба скрипт макаки?
Или это какой то отмыв денег чи шо?
Где можно почитать актуальную информацию о рисовании графиков в этой хуйне?
И есть ли хоть какой то стоящий материал, хотя бы на английском, кроме официальной документацции от которой пользы как с козла молока.
Аж трисет нахуй.
Ах да блядский кют креатор из коробки даже экземплы не предоставит, надо ебаться дай боже с настройкой. Ебанный в рот.
Это плюсовики, которые на кюти годами задрачивали. Не пытайся, это сфера для стариков.
Книга есть, одна.
Прохоренок автор. Наполовину состоит из перевода документации с ссылками же на нее (!)
А вообще дополню вопросом:
Какой есть распиздатый фреймворк для приложений под питон?
Вот для веба есть Фласк и Жанго, тут ясно.
Есть такого же уровня для настольных аппов?
Да но там походу не описаны ньанцы работы с QML.
КМД кстати реально пиздат.
Очень красивые интерфейсы можно делать.
Но документация не структурированная.
Нормальных книг непосредственно с питоном пока не нашел. Да и не нормальных тоже, их просто нет.
Алсо, как понял для питона кют десктопа сейчас пайсад два самый топ.
Держу братишек в курсе.
>>38287
Уйди плес. Никому это не нужно, графический интерфейс разрабатывают либо специалисты, либо те у кого не на них денег. Топовый софт работает без фреймворков, а тулсы можно вполне удобно писать на стандартных средствах питона. Для парсеров и всякого остального ГУИ-зависимого дерьма есть GTK с его открытым кодом и глэйдом.
Значит директория, в которую усановил пип не используется питоном этой версии. Ты мог открыть не ту версию или напортачить при установке.
Потому что так сделано. .extend изменяет список in-place и всё. Как и lst.sort(), например.
https://stackoverflow.com/questions/1682567/why-does-list-append-evaluate-to-false-in-a-boolean-context#49688611 тут есть ссылка на принцип, которому следовали.
> не используется питоном этой версии
да он единственный. Я перенёс папку матплотбала из либа питона в папку проекта и заработало... Но почему не работает импорт из папки самого питона?
Дело в том, что питон всё равно не читает из библиотек потому что хуёво установлен. Переустанови.
>Это значит чтоты пользуешься какой-то сраной ИДЕ
а точно) Ninja IDE... взял за легковесность и удобство
Я вкатывальщик, поясните. Если мне нужно будет потом рабочий проект перекинуть на ноут к примеру или сделать экзешник, все используемые лабы вместе с ним в экзешник тащить?
Перекинуть на ноут - да. Компиляция по разному бывает. Ясное дело некоторая часть либ тоже туда идёт, читай доки к компиляторам. Но сразу предупреждаю, что экзешник компилируется вместе с интерпретатором.
> или сделать экзешник, все используемые лабы вместе с ним в экзешник тащить?
Есть pyinstaller, есть -F, и всё, ничего придумывать не нужно.
Столкнулся с двумя проблемами: если основной накладывает в очередь быстрее, чем прогрессбар забирает, то прогрессбар затупливает до тех пор, пока не вытащит всё из очереди даже если основной уже перестал выполнять то, для чего бар отрисовывается. И второе - Основной поток может где-то вывести в консоль что-то раньше, чем бар успеет отрисовать последнее значение, что типа всё закончено.
В общем, через жёппу, понятно. Но я не смог найти нормальных и доступных пояснений или примеров того, как это правильно было бы сделать. Что анон может посоветовать?
>Но сразу предупреждаю, что экзешник компилируется вместе с интерпретатором.
а як тогда? таскать папкой и через консольку запускать?
Так и компилировать. Нужно чтоб работало у тебя и ничего больше - можно и не компилировать. Запускать можно и дабблкликом по py файлу.
Есть бесплатная версия
1264x804, 0:57
Спасибо за помощь, пидоры.
Потом и кровью, но я все-таки вычислил решение для данной задачи. Сам, блять.
В очередной раз задаюсь вопросом, нахуя вы вообще нужны.
Поскольку кривожопый repl.it (традиционно) не хочет работать с данным кодом, привожу, как оно пашет на десктопе.
Запишите себе куда-нибудь, потому что когда с таким же вопросом придет еще один ищущий помощи анон, вы не тупорыло проигнорите его мольбу, а передадите ему ценную информацию.
А ты >>37939 вообще иди нахуй.
Сам виноват, т.к. пользуешься сайтиками. На телефон интерпретатор ставится в 2 клика.
> 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. Такие дела.
Вообще согласен с тобой. Выглядит уёбищно. Не Pythonic way. Но я из тех кто схавает, потому что так правильней. Увы
так куда дальше двигаться после Мэтиза "Изучаем Питон. Программирование игр, визуализации данных и веба"? "Программируем на Питоне" Лутца для практики, или "автоматизация рутинных задач на питоне" Свегарта? Или иные предложения
Нету
> Напиши уже что-нибудь
Например? Когда нет реальной цели, из головы придумать и реализовать - задача не из легких.
Короче анон, я понял так:
После пол года обучения я принялся за Джангу, ну, думаю, надрочил питончика, ща попру и на работу устроюсь. Так вот, с Джанги надо было начинать, а не дрочить никому ненужные проекты, книжки и калькуляторы. Вернуть бы время назад, я бы сразу после A Byte of Python начал писать свой блог на Джанге, чего и тебе советую.
Вывод я такой сделал потому, что большинство туториалов для новичкой по Джанге требуют МИНИМАЛЬНОГО знания языка. Просто выучи синтаксис, и пиздуй пиши свой блог. Вот те https://tutorial.djangogirls.org/ru/ охуенный бабский гайд как сделать свой блог за 5 минут.
>бабский гайд
этот гайд просто перефорс стандартного гайда в документации Джанго с женскими артиклями
Похую. В выдаче гугла он первый. Там жуют и в рот вкладывают, и надо только сглотнуть. Как там в стандартных доках не ебу, занимаюсь по Tango with Django. Там постоянно на доки ссылаются, но я их не буду читать до тех пор пока не начну свой проект, ибо бессмысленно, т.к. всё прочитанное но незакреплённое забудется.
Нет. Но если бы после укуса Питона я начал учить Джангу, то с вероятностью 80% уже бы зарабатывал, имея в портфолио как минимум 3-4 готовых проекта, пусть и "для себя".
Бери английскую книгу и ебашь. Смотришь перевод слов, но как можно быстрее переходи на английские определения из словаря(wordnik). Слова запомнатся сами. Если без английского, то так и будешь искать кривые переводы от васяна.
Двачую этого >>38621
Как говорил выше, читаю Tango with Django, и там такой уровень английского что даже самый даун сможет осилить. Никаких тебе хитровыебанных оборотов или жаргона. Установил себе GoldenDict со словарями от Abbyy lingvo и теперь в любом месте ОС, в том числе и в читалке (Okular на kde) при выделении текста сразу появляется перевод. Отличный способ подтянуть английский и перестать бояться читать на английском не то, что большие статьи, но и книги. Но минус в том, что постоянно отвлекаюсь, больше чем при чтении книг на русском, т.к. сил концентрации на неизвестный язык надо гораздо больше. Вот как раз сейчас я постоянно отвлекаюсь на ёбаный двач, вместо того чтобы учиться.
>>38623
Скоро стану волшебником.
Почему оправдать? Они сначала взяли принцип этот, а потом задизайнили, ёпт, а не наоборот. (Про pop там рядом же на стаке и упомянуто, например.)
Я щас сижу на даче с ограниченным интернетом. 2 гига на месяц, которые идут от телефона к ноуту. У меня отключены все картинки. Я не могу смотреть видео на ютубе, иначе весь трафик проебу. При этом скорость не намного отличается от домашнего. Думаю и дома, где есть вайфай, так юзать интернет.
Я ещё сопровождаю занятия чаем, что очень приятно. Но не нравится что его нужно готовить. Так хочется, чтобы кто-нибудь это делал за меня.
Мне надо найти либо одно слово в строке либо другое.
Такая форма правильна?
re.search('(^[Jj](an)|[Kk](at))', some_string)
Надо ли перед [Kk](at) тоже ставить "^" ?
re.search('^jan|kat', some_string, re.I)
Но вообще
> Надо ли перед [Kk](at) тоже ставить "^" ?
Да, у | очень низкий приоритет. Но можешь, если хочешь, сгруппировать, и тогда будет ок: ^(это|или это)
Спасибо.
А теперь, пожалуйста, для ньюфага по частям:
>re.search('^jan|kat', some_string, re.I)
'^jan|kat' - это шаблон, some_string - это строка, а re.I что из себя представляет?
Я правильно понимаю, что в при использовании такого шаблона ^(jan|kat) поиск будет искать все слова в строке, которые начинаются либо с jan, либо с kat ? Есть ли ограничения на использование оператора "|" ?
И ещё т.е. форма шаблона [Jj](an) - неверна?
Посмотри исходники tqdm, progressbar2. Тебе либо нужна асинхронность, либо не нужна конкурентность треды в любом случае не нужны
> он не может при каждом подозрении писать try-конструкцию
Вообще-то именно так и надо делать, лол. Посмотри любой разросшийся гит-репозиторий для любого языка где есть обработка исключений. Исключения обрабатывать можно и нужно, нельзя объяснять пользователю «ходить надо только по вот этой вот прямой палочке, шаг в сторону - упадёшь», пользователь все равно не станет тебя слушать.
> re.I
re.IGNORECASE
> Я правильно понимаю, что в при использовании такого шаблона ^(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 получается проще.
Пробовал писать на питоне, симпатичный язык. Но вот публика у вас тут какая-то совсем неадекватная. Исключения отрицают, в жеппу долбятся, voobshe ohuet короче
"Так и надо делать", если ты просчитал все ходы заранее. Разработчик не сможет 10 раз из 10 писать чистейший код. Где-то да он и оступится (потому и нужны QA). Ну вот отправил ты клиенту прогу, а он что-то где-то кликнул, и "Программа не отвечает". Что дальше? Придешь к нему, установишь ему питон с либами, а потом попросишь его повторить шаги, только через интерпретатор питона с консолью? Потому что "на твоей-то машине все работает" и повторить ошибку не получается.
Для того и требуется логирование по всему коду. Выше я показал, как этого можно добиться. Теперь разработчик может законопатить дыру и прописать исключение для этого места.
Хер знает что ты там используешь, попробуй православный telebot, там всё на пальцах работает.
>Исключения отрицают
Работаю в компании-почти-лидере своей отрасли с массивным проектом не на питоне, правда. Исключения гайдлайнами запрещены, стоят -fno-exceptions флаги в gcc, например. У нас, конечно, не для пользователей приложение, т.е. они напрямую абсолютно никак не контактируют с ним, но тем не менее.
По-моему, всё упирается лишь в подход: "сделать и поймать" или "проверить и сделать". Я не могу сейчас сходу придумать ни одного действительно необходимого места для исключений, не считая вынужденных сторонними либами (например, когда urllib/requests кидается исключением при 404, вместо того, чтобы дать мне возможность спокойно проверить ответ, блядь), которые нельзя было бы решить без исключений.
Какая у вас отрасль, если не секрет? И с чем связан запрет на обработку исключений?
>И с чем связан запрет на обработку исключений?
1) Обработка исключений - это удар по производительности уровня свопающейся на хард оперативы. Даже в плюсах с -O3.
2) Исключения ломают поток выполнения. Нужно ебаться с корректной обработкой и закрытием всех открытых дескрипторов, если таковое требуется.
3) Зачем ловить залупы если можно их предотвращать еще на этапе компиляции/подсветки линтером в IDE? Способов тысячи, начиная с ассертов и заканчивая монадами и контрактным программированием.
Телекоммуникации. Memory overhead, если верить гайдлайнам. (Эмбеддед же и всё такое.)
Погуглил минутку, вроде как и firefox с хромом тоже без обработки исключений работают из-за проблем с быстродействием (по крайней мере, много лет назад так было).
>Обработка исключений - это удар по производительности уровня свопающейся на хард оперативы. Даже в плюсах с -O3.
не зря на двач с утречка зашел, что то новое узнал
> Зачем ловить залупы
собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной
>ассертов
>исключения запрещены, а ассерты нет
>серьезная компания
Они указанием флага отключаются, там мясо будет
>закрытием всех открытых дескрипторов
Контекстные менеджеры тебе на что?
> Зачем ловить залупы если можно их предотвращать еще на этапе компиляции/подсветки линтером в IDE
Тут динамическая типизация, какая подсветка? Тут даже аннотации до 4.0 во заморозили. Да и обработка исключений тут гораздо легче, чем в плюсах
> не зря на двач с утречка зашел, что то новое узнал
Так и есть. Обработка исключений вызывает по-сути генерацию Debug - лапши с трапами и прочими выпадениями в отладку на каждый чих.
>собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной
Нахуя?
Бамп.
Ребята вышла гениальная книжка The Quick Python 3 Edition. Где можно достать, м?!
Это питоник вей, с точки зрения стиля все верно
https://docs.python.org/3/glossary.html
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.
Командир ушёл, привила более не действуют. Да здравствует свобода!
Может сразу начнешь qt или лучше GTK 3?
> На чём писать графику? На Ситоне можно много чего делать, но ведь не выводить pygame? Или можно? Нужно чтоб быстро было.
OPENGL 1.0
P
E
N
G
L
1
.
0
Потому что видеокарты все 3D, дурень. И 2D в них или эмуляция через 3D под капотом, или аппаратные депрекейтед рудименты пека-архитектуры из 80х-90х.
Тебе в жабаскрипт-тред, дебич.
Вайпать джава-треды.
>фриланс на питоне это нужно быть вебмастером
Почему же. Кроме веба есть парсеры, чеккеры, авторегеры и скрипты, работа с бд и тд, да и просто бывает можно найти заказы на доработку кусков кода
на апворке можно глянуть, я думаю должно быть достаточно
https://regex101.com - там писал регулярочки, вставляешь текст который парсишь вниз и чекаешь группы
Спасибо
иди жирни в другом месте, тебе тут не рады
Создаешь множество и итерируешь список, проверяешь на наличие элемента в множестве, если есть, то возвращаешь True, если нет, то кладешь его в множество, по окончаю итерации возвращаешь false
Ммм, сейчас бы копировать целиком весь список чтобы проверить, есть ли в нем одинаковые элементы...
Мне даже интересно, как это делать по-нормальному
Та же итерация но с созданием нового объекта и при нахождении дубля нет выхода
На случай, если ты имел в ввиду, что это менее оптимальный способ решения из-за нового объекта (в худшем случае твой способ затратит столько же памяти, например), держи — https://repl.it/repls/ThoughtfulCharmingCpu
Твой способ быстрее только если повторяющийся элемент встречается достаточно рано (В зависимости от длины списка от 1/8 на 100к до 1/3 на 1млн элементов).
И как мне с этим работать? Желательно бы в hex перевести без всяких там \t
>У меня такое ощущение, что меня наебали
>Лучше бы побольше уделял внимания плюсам чем питону.
Неистово двачую
Жму отладку в ВСке - происходит обычный вывод.
>Не изучай синтаксис, изучай программирование!
Что это значит? Как я буду знать и пользовать язык, если не знаю его синтаксис? Или имеется ввиду прям люто не задрачивать и зубрить или что?
Это не строка, а поток байт, ёпт. Что ты хотел с бинарным данными файла сделать, то и делай, блин. В чём твой вопрос? В hex это уже будет именно строка. struct.unpack и arr = array.array('B'), arr.frombytes(b'') тебе в помощь
Я не понимаю о чем ты. Мог бы просто ответить, потратив 15 секунд времени. Гнида.
Ну так поможет кто-нибудь?
А питон быстренько запустил, хуяк-хуяк и твой скрипт работает. И синтакс не такой уёбский как в баше или тикле.
Если в каких-то моментах по ходу написания кода сомневаешься - запустил интерпретатор и проверяй нужный тебе участок кода, красота.
А сколько всего можно автоматизировать, мм...
Вроде же есть какая-то фича, которая весь код построчно в терминале выполняет? Точно что-то должно быть.
Эта фича называется скопипастить скрипт в интерактивное окно интерпретатора.
Если ты запускаешь через "python myscript.py", то я на 99% уверен, что спамить мусором после выполнения каждой функции невозможно.
Ставь пайчарм, пиши в ней код, ставь брейкпоинты в интересующих тебя строках, когда произойдет останов - можешь смотреть в дебагере содержимое объеков
Вакансия в Донецке!
Требуется ПРОГРАММИСТ PHP.
Что мы можем Вам предложить:
Полноценное рабочее место в комфортном офисе в самом центре Донецка.
Молодую,дружную команду «Life Agency» .
Чай ,кофе за счет компании.
Оплачиваемые 22 дня отпуска и больничные.
Обучение в it индустрии.
Стабильная з/п (2 раза в месяц) в размере 15.000 рублей
Оплачиваемые выходные и внеурочные х2
Требования:
Знание PHP +MySQL
Понимание *NIX системы
Понимание ide для php MySQL(NetBeanse,dbForge )
Желателен опыт работы с git
Умение соблюдать сроки и оценивать время исполнения задач.
Желание развиваться.
График работы пн-пт с 9-18 (час обеденного перерыва).
Когда разберусь с Пайтоном, первым делом напишу скрипт, который можно вставить в код и он сам будет все это делать. Принт писать не сложно, но внутренний маленький перфекционист начинает буянить.
>>39126
Дебаг везде есть. Мне нужно не только ошибку найти, но и проследить за точностью выполнения.
Скобочки это охуенно, скобочки это надежно. Скобочки не подведут тебя в самый не подходящий момент. Люби скобочки, пидор.
)))))))))
Спасибо.
Можешь что-то из этого попробовать —
https://stackoverflow.com/questions/31339433/how-to-print-every-line-of-processing-code-in-python
https://pymotw.com/2/trace/
В Си-подобном шлаке проблема не в скобках (скобки и в питоне есть, и даже там в них можно запутаться), а в ебучих семиколонах.
Тебе такое, как на пикрелейтед надо? (Левая панель, фиолетовые плашки показывают результат эвалюации экспрешнов)
Мне нежна принт не писать перед каждой строчкой пока Луца учу).
Ну я про это и говорю, посмотри еще раз на >>39189-пик. Редактор называется LightTable, там все значения какие у тебя есть в программе показываются рядом с твоими выражениями.
В нем вроде есть питон, но вроде он давненько уже не поддерживается. Можешь попробовать, хуже точно не станет.
Алсо, есть вот такая пикрелейтед штука (в браузере), опять же для пайтона я такого не видел, оче не хватает
jupyter - адовый блоатварный пиздец, не советую. Дико неудобно пользоваться, плюс он предназначен для другого (там типа визуализация данных и презенташки делать). Хотя может чуваку и зайдет - все лучше, чем пиздец как на пике городить.
Алсо, они вроде (пичарм - точно) просто посылают выражения в консольку и показывают результат рядом. То есть там нельзя, допустим, выделить отдельное выражение внутри функции и посмотреть, какие там внутри значения у переменных, разве нет?
Ну какой же это поток? Функция read возвращает строку. Вот:
>>> f = open('test.txt', 'r')
>>> tmp = f.read(4)
>>> tmp
'\x00\x01\x02\x03'
>>> type(tmp)
<class 'str'>
>>> my_string = '22sjsjs'
>>> type(my_string)
<class 'str'>
>>>
>Пиши логи
Зачем, это везде так и в порядке вещей.
>>39144
Обязательно попробую, но я пздец хуевый в ингрише.
>>39208
Так у тебя только подсветка классная, больше я ничего не увидел.
>>39210
Когда ПайЧарм юзал тоже самое было. М.б. там есть нужный функционал, но я хз как там. Юпитер какая-то странная вещь, у меня не работает, какие-то ошибки с note'м.
Ты читаешь бинарный файл, так и указывает "rb", тогда будут тебе байты. Внешне, правда, ничего не изменится, кроме типа возвращенного значения.
>Так у тебя только подсветка классная, больше я ничего не увидел.
Лол, ты слоупок. Посмотри еще раз. На >>39208-скрине слева код, справа - результат выполнения этого кода. На >>39189-скрине слева - код, рядом с этим кодом в фиолетовых плашечках - результат выполнения этого кода и значения всех переменных и выражений внутри этого кода. Видишь там neighbours [x y]? А рядом плашечки "0" и "1"? И так далее. Вот тебе еще скрин, видишь, там рядом с каждой переменной (name) подсвечивается ее текущее значение (сперва abu, потом Abu)?
Соре, устал сегодня проебал. Ок, ты для этого специальный редактор юзал LightTable?
В гугле на первых строчках. Базарю ещё захочешь.
Да. в имаксе еще такое тоже есть
Но для пайтона там только инлайн-эвалюация выражений (пикрелейтед, тебе как раз это и надо), но нет трейсинга значений всех переменных, как на предыдущих пиках (для пайтона такого нигде нет, что меня очень печалит)
Странная хуйня. На работе у меня питон 2.7, дома 3.7. Ключ 'rb' работает только на версии 3.7 На 2.7 получаю в обоих случаях строку. 2.7 не поддерживает бинарных строк получается?
есть поиск по странице, по его итогам что-то либо записывается в файл, либо идёт переход к следующей странице. Как записать номер страницы в единичном экземпляре, если поиск на ней успешен?
В 2.x нет нормального раделения между символами и байтами. Это одна из причин, почему https://pythonclock.org/
Что значит "в единичном экземпляре" и куда ты записать хочешь? Ответив на эти вопросы сам решение и найдёшь.
Ты не только жестко тупишь, но еще и не можешь толком объяснить в чем выражается твое жесткое отупение. Еденичный экземпляр чего, блядь? Кто на ком стоял, нахуй?
Можно. Компилируй.
>>> 0.1 + 0.1 + 0.1 - 0.3 # Должен быть получен ноль (близко, но не точно)
>5.5511151231257827e-17
Чот шок, кто-нибудь может объяснить почему ТАКАЯ не точность?
Да ты охуел, 15 символов после запятой правильные, и тебе еще мало? А за объяснениями в гугл на тему IEEE 754 и структуры чисел с плавающей точкой. Ни 0.1, ни 0.3 нельзя представить в виде суммы положительных и отрицательных степеней двойки, поэтому они округляются до ближайших преставимых чисел, дополнительно при сложении-вычитании накапливается ошибка округления. Но для обычных расчетов такой точности за глаза хватает.
>Как и Лутц
Да ладно. "Программируем на Питон" лучший сборник практики. От сокетов до системщины
Хорошая годная книга для новчика, но ООП там плохо рассмотрено.
версия джанго: 2.0.3
версия python: 3.5
django-endless-pagination не подходит, там устаревшее все и много проблем, разобраться с которыми я не смог
Если код 201, то запрос сразу закрывается и благодать. Если 100, то он ждёт загрузку файла, а я не хочу посылать. При этом запрос не закрывается.
Поддерживает aiohttp, но нихера я не разобрался может он мою хотелку сделать или нет.
z = copy.copy(cells)
cells[0][0] = 0
print z
значение z[0][0] тоже меняется
Возможно во втором питоне прослеживается изменения копируемого списка, могу ошибаться
Мне понравилась. Хотя я нуб, прочитал пока только ее и «укус питона».
> Что я делаю не так?
Пишешь на языке с мутабельными коллекциями по умолчанию.
Твой cells - это список списков. Ты копируешь внешний список, в котором лежат указатели на внутренние списки. Естественно, при копировании эти указатели тупо копируются и продолжают указывать на те же самые списки, что и cells. Так что тебе нужно скопировать каждый список внутри твоего списка. Алсо, если у тебя ВНЕЗАПНО внутри списков окажутся не числа, а какие-то объекты, то их тебе тоже придется скопировать.
tl;dr: либо возьми нормальный язык, либо смирись с тем, что ничего копировать тебе нельзя - всегда держи в голове, что ты работаешь не с абстрактными "данными", а с указателями на область в памяти (алсо, желательно прочитать какую-нибудь книжку по си, прежде чем брать пайтон)
Решил проблему с помощью костыля:
https://stackoverflow.com/questions/38084993/python-http-client-stuck-on-100-continue
Удачи, анон.
for el in test_list:
if el == 7:
el = 8
print(test_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
блеать, какое же дерьмо этот ваш питон. ну, не пиздец?
Я об этом и написал в своем посте, ты чем читаешь? Алсо, делать deepcopy - это почти всегда очень плохая идея.
Здесь el уже не ссылка на элемент в списке, а скопированное из списка число. Повторюсь, желательно прочитать книжку по си перед тем, как заниматься пайтоном, чтобы понимать, как работает память, чем отличается передача по значению от передачи по ссылке и т.п. В пайтоне ты точно так же по факту жонглируешь указателями и работаешь с низкоуровневой моделью памяти.
main.cpp:15:17: fatal error: SDL.h: No such file or directory
#include <SDL.h>
Памагите пожалуйста
ИДЕ NetBeans
Ай бля, не туда
Почему load staticfile, если в документации написано load static? Вангую еблю с версиями
https://docs.djangoproject.com/en/2.0/howto/static-files/
В логах что-нибудь написано?
А ты кстати добавил их в урлы?
https://docs.djangoproject.com/en/2.0/howto/static-files/#serving-static-files-during-development
>Ложь, пиздеж и провокация ничем не подтвержденная
и тут ты такой запруфал лучший сборник практикума по Питону чем "Программируем Лутца" в структурированном виде.
его нет, а ты пидор
Пидор ето твое кредо. А книг по змее полно толковых fluent python, python crash course and so on, так що не пизди мене тута.
>А книг по змее полно
но ведь никто не писал что их не полно, я лишь заметил что лучший сборник практикума - это 2 тома лутца состоящих целиком и полностью из практикума во всех возможных сферах, от гуи и системщины до сокетом и биг даты
Ты либо школьник, либо жирный и тупой болван с рассеянностью
Есть несколько веб-страниц.
Я на них последовательно что-то ищу, если поиск на странице успешный, записываю в файл результат и иду дальше, если поиск неуспешный - иду на следующую страницу
...
a = search()
if a is None:
--continue
else
--f.write("file.txt")
...
Вопрос: если поиск был успешен на странице мне адрес этой самой страницы как записать в файл, что бы сначала был адрес, а потом результаты поиска?
да кроме автоматизации свейгарта то вариантов больше и нет. Только ломится на грабли или бездумно тыкать код с гита заглядывая в гугол
Читать документацию.
У лутца последнее 5 издание 2013 года, читаешь его, а потом идешь читать это http://learning-python.com/python-changes-2014-plus.html
Нет вроде, но и не особо нужно
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.
Жаль. У меня просто с инглишем есть некоторые траблы. Хотел поначалу вкатиться на русском языке, а дальше уже, когда буду большую часть понятий знать, то уже совершенствоваться на английских ресурсах.
> Ты либо школьник, либо жирный и тупой болван с рассеянностью
Не проецируйте, месье толстый школьник. Вводите тут народ в заблуждение своими высказываниями...
Если ты сначала запишешь в файл адрес страницы, вот так:
f.write(page_address)
а потом запишешь результаты поиска
f.write(search_results)
то у тебя в файле сначала будет записан адрес страницы, а после него результаты поиска.
Не благодари.
> например, когда urllib/requests кидается исключением при 404, вместо того, чтобы дать мне возможность спокойно проверить ответ
Ох, щеночек. А если произошёл таймаут? А если такого хоста вообще нет? Тебе придётся возвращать супер-йоба объект с кучей полей чтобы понять что пошло не так. Как можно быть таким узколобым чтобы не понимать предназначение исключений?! Суть в упрощении основого флоу и хендле любого эксепшена, чтобы либо перезапустить, либо что-то юзеру выдать. В 99% случаев никого не ебёт хост это ненайден, ConnectionRefused или 404 уже на уровне http. Вообще охуеть!
1. В пифоне на это похуй.
2. Для этого есть with и finally. Если бы возвращался объект, то бы его if-ом проверял и также хуярил блок финализации.
3. Как ты предотвратишь 404 на этапе компиляции/подсветки?
> Тебе придётся возвращать супер-йоба объект с кучей полей чтобы понять что пошло не так
Но именно это он и возвращает!
>как записать в файл, что бы сначала был адрес, а потом результаты поиска?
Записать сначала адрес, а потом результаты. В чём твоя проблема-то? Компьютер выполняет ровно то, что ты ему прикажешь (пока что). Ты, вроде бы, определился с тем, что тебе надо записать, функцию f.write() знаешь, так и где проблема-то? Завтра придёшь спрашивать, как выйти из цикла при неком условии, зная при этом и про break, и про if?
# Пошёл добывать нефть.
Я думал все это хуйня. Сапсибо.
Есть сервис с юзер-генерейтед контентом. Последнее время его стали одолевать ебучие индусы спамящие ссылками на свое индусское говно. Это даже не боты, это реальные люди, ручками вбивающие капчи. Так вот, как мне минимизировать спам ссылками или хотя бы снизить негативный эффект от такого спама? <a href rel="nofollow"> будет достаточно? Или надо делать как реддит и форчан, на бекенде все ссылки указывать на out.reddit/your-url, а потом с этого аута уже перенаправлять на юзерскую ссылку? Как вот этот последний вариант правильно сделать чтобы юзерскую ссылку не сломать?
Вспомнил что твиттер решает эту проблему похожим способом, но он полностью дропает юзерскую ссылку и перенаправляет на рандомное гово вида t.co/AzjErjt, а мне хотелось бы чтобы юзер таки имел представление куда ведет ссылка.
Питон - это либо веб, либо автоматизации всякой рутинной хуйни под свои задачи... всё по факту
остальное это дата саенс
Возьми плюсы и ваяй что хочется.
Индия просто частный случай. Вместо нее со временем может придти Бангладеш или Египет какой. Так вообще весь третий мир придется забанить. Ну и плюс там есть легитимные юзеры, а моя хуйня не настолько популярна чтобы разбрасываться юзерами.
>Возьми плюсы и ваяй что хочется.
Через 5 минут в плюсотреде
>Может глупый вопрос задам, но что бы такого покодить на плюсах.
>собственно логика приложения на этой залупе может держаться. К пример обработка введённых пользователем данных, вроде пустой отправленной формы, или некорректной
Блядь, прочитай какую-нибудь книжку по разработке софта (я серьезно). Может у тебя там еще весь контрол флоу на goto?
Ты просто привел архетипичный пример мизюза исключений, обычно в книжках его как раз и приводят со словами "смотрите детки, вот так делать не надо, а то получится говнокод, исключения для другого придуманы".
Этот прав.
>>39961
Смотрите, поиск идёт по строкам. Строка удовлетворяет поиску - её программа записывает в файл. Строка не удовлетворяет поиску - поиск переходит к следующей строке. Строки закончились - идёт переход к следующей странице.
Если перед записью строки буду записывать адрес страницы, то в случае нескольких совпадений на странице я несколько раз получу запись адреса страницы. Ну и нахуя это?
Если я вынесу запись адреса перед циклом - то что мне делать, если на странице не окажется ничего удовлетворяющего поиску? Удалять запись? Нахуя её писать тогда?
Поэтому и возник вопрос, можно ли сделать так, чтобы однократно перед результатами поиска по странице указать адрес этой самой страницы.
def обработатьстраницу(страница):
__useful = false
__strings = []
__for строка in страница:
____if строка подходит:
______strings.append(строка)
______useful = true
__return useful, strings
def обработатькнигу(книга):
__for страница in книга:
____u, res = обработатьстраницу(страница)
____if u:
______print(соси)
______for i in res:
________print(хуй)
Спустя тысячелетие бесконечных войн между кланом Пробела и кланом Табуляции явился Он, тот, кто сплотит оба клана и принесет мир на землю.
Встречайте: __-пидор.
go
Возвращает объект уровня абстракции http. Я кстати на слово поверил >>38794-петуху на слово, но requests не рейзит исключение на 404, у него для этого специальный метод есть у респонза raise_for_status. Но как бы то ни было, если включить в объект ошибки всех уровней, то можно охуеть и это не даст никакой пользы.
Можешь считать, что первых двух слов нет, по делу отвечай, ёпту.
Молодец, делаешь успехи, с третьего раза сумел таки объяснить свою проблемку уровня тупой даун.
А метода проста: результаты поиска по странице пиши в буферную строку, после заврешения цикла поиска по странице если буферная строка не пустая пиши в файл сначала адрес страницы, потом буферную строку.
Ну чо петух-то сразу, ну ошибся. Встроенный urllib.request.urlopen-то точно рейзит.
Ну и как бы это даже подтверждает нинужность исключений в таких случаях, раз самая популярная либо не рейзит, т.е. мне даже лучше.
Нет, таким говном как пхп уже никто не сможет стать.
Говнокод, хуле. Индусы ебаные.
Делаю с силениумом так:
select = Select(browser.find_element_by_name('testName'))
select.select_by_visible_text('value2')
Файрфокс загружает страничку, выбирает нужную опцию, срабатывает эвент, появляется скриптованное колесико загрузки, но дальше дело не идет, табличка не прогружается, колесико загрузки остается крутиться навечно, что может быть не так?
Компактней, чище, быстрее. Компилируемый в статику -> никакой ебли с библиотеками и виртуаленвами на продакшене. С изкоробочной многопоточностью и без ебучего гила.
Го это язык которым мог бы быть питон если бы его делал Человек, а не членодевка Гвидо.
Почему ты вот это проигнорил?
> если включить в объект ошибки всех уровней, то можно охуеть и это не даст никакой пользы
и вообще всю идею, что сотни вариантов ошибок и их ручная проверка при каждом реквесте (например) усложнят весь код до уровня нечитаемой параши.
Форсеров под кроватью поищи. Человек спросил почему выбирают Го, я ему пояснил как вижу, а сам я на питоне пишу.
Зачем в установочник запихали py launcher и idle?
Могу смело снимать галочки, ведь это мне не пригодится?
Можно каждые 30 дней сбрасывать триал. Взамен пичарма сейчас принято советовать vscode. А многие пишут прямо в виде обмазавшись дохуищей питоноплагинов.
>vscode
Почему кстати? Вкусовщина или есть рил какие-то поинты? Жрет ли меньше памяти у меня линукс в вирт машине, память важна?
> компилятор вставит
Это про Go? Он вставляет точку с запятой сам? Они необучаемые и не слышали о проблемах с ASI в JS?
Нюфагитт
>Го это язык которым мог бы быть питон если бы его делал Человек
Лол, Пайк такой же говноед и долбоеб некомпетентный language designer, как и Говнидо. Не удивлюсь, если эти двое дебилов в сракотан жахаются в чуланах гугла.
>>40732
Го уже второй год как падает во всех рейтингах ЯПов, кто его выбирает-то, блядь? Тем более вместо питона.
>Го уже второй год как падает во всех рейтингах ЯПов
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.
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
Да, а си популярнее жаваскрипта. Долго еще со своей ссылкой носиться будешь? Тебе в том треде уже пояснили все.
Если он там не вписан, впиши. Хули нам, хикканам
Что я потеряю? Укус Питона уже прочитал.
Сколько с ним мучаюсь - все по мелочи, что мог бы загуглить. Мне тупо времени жалко даже, а он так преподносит все неинтересно и нудно, что я ничего не могу делать. Я даже сам не замечаю как у меня прокрастинация по кд прокает. Вообще не двигаюсь. Что я потеряю, если сразу программирование пойду учить? Ведь всякую мелочь же загуглить можно.
Как заставить Django не создавать такие названия, а оставлять в Бд просто таблицу 2CH?
Двачую. Забросил из-за его книги ебучей. Сейчас заново стал учить по Укусу Питона, вроде норм идёт.
>Что такое порядок, как это гуглить?
В школу в пятый класс сходить надо. Ну или, блядь, прямо по "порядок числа" и гуглить. Но ты, к сожалению для тебя, тупой, так что лучше заброс это дело.
Блядь, эта хуйня значит число*10^-17, пиздец, нельзя было просто так и сказать. Мозг мне ебешь пизда.
Вы заебали эту всратую ублюдину нихель пихель везде постить, суки вы спидозные, спидорака вам кретины вонючие
Нельзя было.
разве это не midnight обычный?
И это еще не первое что я спиздил после варика с вебкитом, была и всякая ебанина вроде 'QWebEnginePage' object has no attribute 'mainFrame'
Есть дивы в 1/3 строки, а есть один большой во всю строку.
Например выводим по дате, если 3 дивов есть большой, то выводим его, если нет, то выводим маленькие.
Что в темплейте писать?
Сейчас почти во всех вакансиях пишут требования. Гугли для СВОЕГО региона, может быть питон не будет востребован.
Ты скилл для фриланса заимеешь после пары-тройки лет работы в офисе, не ранее. Потому-что книги скилл не дают, а только теоретические знания, которым грош цена.
Почему тогда в type.__bases__ object есть, а в object.__bases__ нет type?
>Прочитал Укус Питона
К этому моменту ты уже должен был написать имиджборду. Ты написал имиджборду?
Чукча не писатель, чукча читатель? Ты понимаешь что без практики книги не имеет смысла читать? Сколько ты кода написал, ммм? Сколько? Отвечай.
Естественно. Ты мог укус и не читать вообще, по туториалам в интернете всё понять.
Все, что прохожу пишу. Выполнил задание в конце Укуса, написал мокропиську когда начинал только. И вообще, я вот и хочу что-то осмысленное писать, а не проходить тот же материал по второму кругу.
>>41431
Не, Укус я прям супер доволен. Изучения Питона от Луца уже третий раз дропаю.
Короче, я вас понял, иду сразу к программированию.
Что сказать-то хотел?
Почему? Ведь удобно фронтенд на питоне писать
coffeescript был, но сдох, ибо ненужно
да и питон хуита уровня жс (если сравнивать с es6, то даже хуже), в чем профит транслировать говно в парашу?
Ты блять совсем что ли умственно отсталый или у тебя доступ только на двач есть?
dolbaeb = input('Введи своё имя, маня:')
Нет, пока получаются только школьные паскальные знания на питоне, дальше уже туплю и не осознаю что вообще делать то.
Я тебе подскажу, ты только в обморок не грохнись.
Прочти книжечку. Вообще любую. Можно даже не по питону. Инпут — это, блять, следующая глава после Хеллоу Ворлда.
Выдаёт пик
Во что обернуть? Обычный метод не работает
Ну мне всю жизнь прямо говорили что я тупой, а в армейке что я тормоз и мне надо работать крановщиком.
Извини если что-то сказал не так.
У тебя, видимо, модель 2ch находится в приложении 2ch. Хули ты мозги то ебёшь?
Скачай "Укус Питона" и "Простой Питон" 2017г
Укус разжует основы, Простой Питон пожалуй лучшая книга для вкатывания. Это актуальный "Лутц" ужатый с 1000 страниц в 400~ с хорошими примерами и разжевыванием
Тогда ищи дело под работу руками, после армейки можно в охрану податься или в ПТУ на автомеханика. Либо попробуй еще раз прорешать укус
Ну я пеку торты в пекарне за 20к/месяц, но хочется ещё с детства научится погромировать, а как будто мозг ставит блок, как взрослые не могут освоить интернет.
Пусть он в воркач пиздует и приглянет себе, что интересно. Очевидно, программированием ему не заниматься, не дано. Но бабло можно и на работе ручками поднимать, кузнечеством хотя бы.
390x376, 0:04
Иди тестировщиком тогда. Тестировщик - хорошее начало для гумманитария, который внезапно понял, что его тянет в IT.
Он же написал, что работа есть, просто чувак хочет научиться программировать. Какие нахуй тестировщики, какое айти?
Если знаешь английский, то попробуй вот это: https://www.maria.cloud/intro
Если не знаешь, то не могу ничего похожего посоветовать.
Взрослые могут освоить интернет.
Научиться программировать может любой и в любом возрасте.
Если твой мозг ставит блок - значит заходишь не с того конца.
Или пытаешься продвинуться слишком быстро.
Тебе нужно найти ключ.
Попробуй детские вещи, типа Scratch или Logo.
Не стремись сразу научиться "взрослым" вещам.
ну это совсем высшая математика
Ты правда хочешь, чтобы я тебе сказал ответ?
Он очень просто находится.
На рисунке всё правильно и всё понятно.
>На рисунке всё правильно и всё понятно.
Нихуя не понятно на самом деле - оба конца слиты воедино, в описании про два конца тоже ничего не сказано.
a, b, l, N = 2, 1, 3, 4
p1 = (a N 2) - a
p2 = (b (N - 1) 2)
p3 = (l * 2)
res = p1 + p2 + p3
print(res) # prints 26
Блд, вакаба звёздочки сожрала, кроме одной, почему-то.
http://tpcg.io/SpuQ0p
>Я уже стал пограмистом?
Ты на верном пути, лол.
>в чем профит транслировать говно в парашу?
Очевидно, чтобы не держать в голове костыли и подводные камни сразу двух языков.
Пишу на жс мало и как только начинаю, вхожу в состояние страданий и вспоминаний всех косяков
>питон хуита уровня жс
Сильное заявление.
В питоне есть настоящие модули, классы, декораторы и охуенная стандартная библиотека.
Питон - полноценный язык.
В отличие от ES любой версии, бывшей и будущей.
А вот лямбд нормальных нету, спасибо, Гвидо.
>Очевидно, чтобы не держать в голове костыли и подводные камни сразу двух языков.
Ну так это решается проще - выкидываешь нахуй пайтон и все yobaface.png
А так тебе один хуй придется работать с платформой, библиотеками итп, так что подводные камни все равно будут свои. Ну и еще раз, как показал коффескрипт, никому кроме трех с половиной аутистов это нахуй не надо, так что селяви, хуль тут еще скажешь. Учи в дополнение к пайтону другой язык на место жс, где меньше косяков.
>>41705
>настоящие модули, классы, декораторы
В es6 тоже.
>охуенная стандартная библиотека
))
>Питон - полноценный язык.
>динамикодрисня уровня "перл с нескучными отступами"
))
Бамп.
text = subprocess.check_output('ninja.exe', shell=True)
print(text.replace(b'\r\n', b'\n').decode('cp866'))
нода жопа полная
пикрандом
Не знаю, что там сейчас, игрался пару лет назад, но если у тебя API 2.0, и токен получаешь с
То потом просто GET-запрос на
И в ответе json, в котором:
>response['data']['features'][0]['properties']['RouteMetaData']['Distance']['value']
Расстояние в метрах. (['DurationInTraffic']['value'] вместое последних двух для времени в пути)
Нашёл в своё коде, не пробовал, может уже прикрыли лавочку.
У Yandex API обнаружил получение ключика платное, облом, пойду в Google Maps втыкать
Бамп. Не подходит что бы я не пробовал:
PyQt5.QtWebKitWidgets
PyQt5.QtWebEngineWidgets
PyQt5.QtWebKit
PyQt5.QtWebEngine
PyQt5.QtWebkitWidgets
И прочий бред.
А как у вас несколько штук? Пишут про subprocess, но чот не понял, пример бы.
{% get_category_list %}
Нихуя не понимаю.
Возвращает сразу отрендереный список с проставленными тэгами и атрибутами. А я хочу например проставить атрибуты вручную.
Намного не понял тебя, но вроде как нужно пройтись циклом по списку и вызвать атрибуты?
Да, просто этот тэг возвращает уже готовый неитерируемый список. В общем так или иначе мне надо было лишь проскроллить ещё одну страницу "учебника".
Django подойдет под эти требования? Flask как я читал - это джанго в минималке.
Да, и какую БД использовать, что бы максимально обезопасить себя от sql
писал когда то бэк на пыхе, но пару месяцев на освоение есть
Короче всё. Я тут туплю, пойду получше разберусь и потом буду вопросы задавать.
Сам недавно читал пару статей, в которых говорится что именно в django уже вся защита в т.ч. от sql бомб (или как их там) включена.
Из баз я бы взял PostgreSQL т.к. самая ходовая, и лучше быть в трендах.
Но это мысли вслух от неудачника, можешь не обращать внимания.
Короче оказывается это самописный тэг который я когда-то написал и успешно забыл.
Я сам себе придумал задачку и теперь охуеваю от того, что не могу к ней подступиться.
Начнём с самого простого (то, что я себе придумал, ещё запутаннее).
Представим, для простоты, что у нас третичная система счисления (1,2,3).
Теперь представим, что нам надо посчитать от самого малого, допустим, трёхзначного числа 111, до самого большого - 333.
На бумаге всё просто, алгоритм понятен. Сейчас, думаю, ебану for луп. И на этом месте я обосрался.
Допустим, мы хотим перебрать.
111
112
121
122
123
131
...
333
Ок, самое очевидное, запихнём все данные для перебора в любой контейнер nums = (1,2,3)
Ну, допустим, мы можем по нему пробежаться for num in nums:
Казалось бы, ну запихни ты эту конструкцию в nested loop for i in range(3):, что может быть проще? Пошёл нахуй, ответил мне интерпретатор питона.
Казалось бы, элементарная задача на комбинаторику.
Вроде так. Но я всё забыл и сейчас заново учу.
for a in [1, 2, 3]:
for b in [1, 2, 3]:
for c in [1, 2, 3]:
print(a, b, c)
Так-то оно так, но я пытаюсь обойтись без хардкода. Сейчас у тебя длина 3, которая никак не меняется.
Кроме того, в моём варианте задачи, я пытаюсь перебрать номера без повторов:
например (две единицы, одна двойка) 112, без 121 или 211
Алгоритм, опять же, элементарный, если расписать его на бумаге. Но здесь нельзя просто обойтись хардкодом.
Проблема в том, что на бумаге алгоритм расписывается просто, следовательно и реализовать его не должно составить больших проблем, только не для меня.
Надо вписать - вписывай, не надо - не вписывай. На запуск скриптов в винде это не влияет, там файлы ассоциированы с интерпретатором напрямую.
Если ты извращенец и работаешь из виндового cmd и вызываешь оттуда интерпретатор в интерактивном режиме, то впиши. И путь к pip добавь еще чтобы не вбивать его каждый раз при установке пакетов.
Да.
https://github.com/jorgegonzalez/beginner-projects
Была еще другая репа, но найти я ее уже не могу. Ну и пикчу про которую ты говоришь я помню, но не схоронил. Того что я скинул тебе должно хватить.
> нельзя было просто так и сказать
На, заебал. Чтоб тебе всегда такие числа писать вместо экспоненциальной нотации!
0.000000000000000055511151231257827021181583404541015625
Тут понятно, что это за число, анон спрашивал про ешку, потом разобрался и спросил нахуй вы мозг ебете. Претензий к работе тут не было. Все прыщи токсики - в этом была претензия как я понял.
В последнем я с ним согласен
На идл похоже.
list(itertools.combinations_with_replacement(range(1,4), 3))
Ну, это если тебе проблему решить надо, а не самому додуматься до решения.
>>42245
>Все прыщи токсики - в этом была претензия как я понял.
Ну извините, если человека в самом деле захотел заняться программированием и даже не знает, что такое порядок числа, то единственный способ до него что-то донести — это с небольшой издёвкой для создания сильного эмоционального всплеска, что приведёт к лучшему запоминанию информации. Вероятнее всего нет, разумеется, он же тупой, но теория такая.
Как бы, я изначально думал, что он просто не увидел e-17 и даже представить не мог, что он не знает, что это такое. А дальше на все вопросы ответили же.
Откуда узнать, что такое е-17, если в учебнике нет пояснения что это такое? Ты сказал, что это порядок числа - человек загуглил - узнал. Нахуй желчь плеваться?
>это если тебе проблему решить надо
Сама задача, конечно, родилась из проблемы. Но, учитывая, что делаю я это для самообразования, хочется именно найти решение, точнее, понять его.
В доках питона есть реализация данной функции.
Посидел, немного разобрался, что как работает. Завязать алгоритм на reversed i в for лупе, надо же до такого додуматься.
Завтра буду https://rosettacode.org/wiki/Combinations_with_repetitions выдрачивать.
Спасибо всем.
Большая нагрузка это сколько?
Если не сильно дохуя и нужна нормальная орм то фласк + алхимия.
Если совсем пиздец то асинхронщина типа aiohttp + aiopg но там без sql вроде никак.
Насколько я знаю нормальных асинхронных орм нет.
>Ты сказал, что это порядок числа - человек загуглил
Нет, он не загуглил. Он начала спрашивать, что это такое, вместо гугления, а это очень плохой знак. Дауном не я называл, если что.
>Откуда узнать, что такое е-17
Я не верю, что человек ни разу за свою жизнь не умножил два больших числа на любом калькуляторе.
repl.it, лол
js + mongodb
Если примитивное, то лучше bottle бери
Есть 2 модели - адреса и адреса заведений. Как правильно прописать ключи. Хочу чтоб так работала, заходим в админку заведений, нажимаем + добавляем адреса, у другого заведения этих адресов видно быть не должно.
да
Но он же разобрался что это такое, ему никто не сказал, загуглил.
Я, например, ни разу в жизни такого не видел.
Какой на сегодняшний день самый оптимальный путь для написания rest-сервиса с использованием асинхронщины? Торнадо? aiohttp?
На всякий случай уточню задачу - от меня хотят сделать агрегатор/панель управления для различных сервисов баннерной рекламы.
У меня есть датафрейм и я хочу в некоторых его столбцах поменять НА на среднее по этому столбцу, допустим. Среднее у меня вычисляет функция MyMean почему же тогда не работает такой код?
https://pastebin.com/ECAnZtkP
>загуглил.
С третьего раза.
>Я, например, ни разу в жизни такого не видел.
Теперь понятно, почему ты пытаешься его защищать.
Да, я нюфаня, судя по всему, как и он. В этом нет ничего плохого, все люди приходят в мир с 0 знаний и обретают их. Не понимаю суть твоей претензии.
А нахуй тут, вообще, гуглить, если можно человеку сразу сказать, а не давать наводку? Времени ты не выиграешь, человека лучше не сделаешь т.к. все знают со школы о чем речь. Тут тупо уточнить человеку надо, а вы желчью плюетесь.
>без sql вроде никак
Можно sqlalchemy core юзать, она нагенерит sql строки без ебли. Базарю, ещё захочешь.
2) Лутц - изучаем Питон хорош, но пиздец он по 20 раз про срезы говорит, поясняет за типы переменных, а потом про них же еще на 150 страниц
3)какие же ахуенные штуки % и format, хотя мне больше нрав % своей легкостью, но и в format есть плюсы
> % своей легкостью
.format(∗∗locals()), да и вообще f"var = {var}"
> всю ахуенность лямбда функций
Пишешь одну строчку вместо двух-трех, не засираешь область видимости бессмысленными именами.
До (local())
А чем плоха конструкция типа "{},{},{}".format(x)? Лутц пишет тип "смысл формата меняется" и че ?
Уточню: для автоматизационного тестирования.
Как на питоне добавить какую-то папку в system variables-path ?
сделой
try: list.remove(something)
except ValueError: pass/continue/huinue
могу неправильна написать, я с сипласпласа перешол сначала хотел написать catch вместе ексепт, пиздец
>А нахуй тут, вообще, гуглить, если можно человеку сразу сказать, а не давать наводку?
В надежде, что следующий тупой вопрос он всё же задаст сначала гуглу, который (пока что) его говном не обольёт. Ну это вдобавок к тому, что наводки давать полезнее, чем просто ответ.
У тебя rel_words вне области видимости функции, затем ты указываешь её как параметр для передачи, но не передаешь её.
В итоге посмотри что у тебя выведет rel_words в фунцкии нихуя и пойми где ты обосрался
перенеси rel_words = False в функцию до while
https://python-scripts.com/scope
> Лутц - изучаем Питон хорош, но пиздец он по 20 раз про срезы говорит, поясняет за типы переменных, а потом про них же еще на 150 страниц
чтобы запомнилось лучше
раби ващет король тестов
Я удивлён, что у тебя код вообще запускается, он же должен был упасть по одной из двух причин:
>UnboundLocalError: local variable 'rel_words' referenced before assignment
Потому что ты не указал на использование глобала, а значит питон будет считать rel_words локальной, так как в коде функции ей присваивается значение
>TypeError: rel_words_opt() missing 1 required positional argument: 'rel_words'
Потому что функция, передаваемая в CommandHandler вызывается лишь с двумя аргументами.
Вероятнее всего, оба этих исключения молча проглатываются твоей телеграм-либой, и вместо человеческого оповещения ошибки не происходит ничего (и бот не отвечает на сообщение).
Кнопка должна создавать экземпляр класса с ссылкой которая вводится.
Куда ты вообще полез если у тебя банально мозг на программирование ещё не настроился? Как можно не понимать, что ты не можешь создать объект в той же переменной в одном пространстве имён? Ну а ошибка твоя в том, что ты не выучил нормально самые основы.
Ты дальше не показал что ты хочешь делать то.
А тут одни экстрасенсы да
Вангую возвращать parser или parser.links
В укусе питона в самом начале. Насколько ты невнимательно читал или не читал вообще или просто толсто тролишь.
У нас есть удобные мерседесы для перемещения из А в Б. Вопрос, нахуя нужны бмв?
Куда дальше? Интересуют сокеты и системные утилиты
И такой проблемс, у меня ступор при использовании библиотек. Слегка впадаю в аутизм когда понимаю что я не понимаю как используемая библиотека работает, а в книгах примеры без объяснений начинки этих библиотек.
т.е я знаю что вот по книге\шаблону она берёт эти данные и возвращает в таком то виде, а что под копотом хёр поймешь... даже если откроешь её и начнёшь копать код. Из за этого весь твой код приобретает непонятный смысл, ибо ты не знаешь как часть данных в обще получается.
У вас таких ступоров не бывает?
Ты знать все не обязан, к библиотекам, хорошим, должна прилагаться документация.
В пичарме она вызывается ctrl+Q когда курсор на импортируемом модуле.
Какие подводные?
global переменная ?
А то он мне пишет, что
Class_Pizda has no argument huy
Никак, если не создаёшь атрибут. Вообще в питоне невозможно из функции вытащить переменную. Для этого есть global. Идиоты пиздят на global потому что не умеют нормально контролировать пространство имён и думают что ООП это когда создают класс машина с атрибутами цвет и модель.
Сегодня словил шок.
Оказывается, варка вне функции (aka переменная глобальной области видимости) и варка внутри функции С ТЕМ ЖЕ ИМЕНЕМ — это две разные, блять, варки.
Словил столбняк с такой подставы.
Это во всех языках так?
Ты чё деб? Иди в плюса, там можно хоть сколько переменных с одним именем сделать.
> Это во всех языках так?
Да. В других языках еще можно иметь отдельные переменные внутри блока (внутри if, например), которые будут отличаться от одноименных переменных внутри функции, вне этого блока. Правда, это считается говнокодом.
> Про аттрибуты я упомянул.
А еще можно
def foo(a):
....foo.a = a
foo(1)
print(foo.a)
И ни глобалов, ни классов. Всегда хотел такое для статических локальных переменных в крестах.
Ответ один - безблагодатность Говнидо не додумался сделать объявление переменной через let x = ..., как во всех нормальных языках потому что изначально делал язык для таких же макак, как он сам, чтоб говнякать скрипты в консольке, но потом что-то пошло не так, так что присваивание существующей переменной от объявления новой переменной отличить невозможно. Из-за этого приходится городить кучу костылей, типа такого: https://docs.python.org/3/faq/programming.html#why-am-i-getting-an-unboundlocalerror-when-the-variable-has-a-value
Мораль: человеки обречены не давайте дизайнить языки дебилам, не видящим дальше своего носа
То, что тебе такое непривычно после сиподобных языков еще не означает, что сделано плохо.
Интересно, что ты забыл в этом треде? Просто сидел в ожидании повода обосрать язык?
При чем тут си-подобные языки, дурачок? С чего ты взял, что мне что-то непривычно, дурилка?
>>43252
>Интересно, что ты забыл в этом треде?
Отвечаю нуфагам на вопросы, а что?
>Просто сидел в ожидании повода обосрать язык?
Нет (лол, его Говнидо уже так обосрал, что дальше обсирать смысла нет, разницы не видно). А у тебя что, религиозные чувства заделись? Как бы чтобы пользоваться инструментом совершенно необязательно на него молиться и закрывать глаза на все тупорылые косяки, которые в нем есть (капитан очевидность, ага)
> С чего ты взял, что мне что-то непривычно, дурилка?
Ну а чего тогда у тебя подгорает? По мне, так поведение питона в данном случае наиболее удобное и очевидное.
>если не создаёшь атрибут
Не заметил, но вопрос "шта" остаётся в силе, просто немного меняет свой вектор.
Какой смылс не прибегать а созданию атрибута?
Если, вдруг, тебе не нравится то, что переменная является атрибутом объекта, можешь сделать её атрибутом класса.
class foo():
,,,,a = 1
А вот объявлять глобал переменную внутри класса, такого я ещё не видел.
Просто возьми и без задней мысли объяви её в глобал скопе.
>Я имел ввиду неймспейсы
Можешь сделать неймспейсы в питоне.
class namespace():
,,,,pass
a = namespace()
b = namespace()
a.a = 10
b.a = 20
>>43243
>у тебя переменная висит просто в классе, а не в ините
Что?))
>let x = ..., как во всех нормальных языках
Я вам такого кадра нарисовал, фронтендер, реактомакака.
>>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 и на этом все.
Проект большой, не хочу проебаться в самом начале чтобы потом заниматься рутиной. Спрашивать больше не у кого.
Продублирую вопрос из ньюфаг треда. Аноны помогайте, я не хочу на бутылку в сентябре.
> Можешь сделать неймспейсы в питоне.
Ты можешь лишь притворяться, что это неймспейс - ты не можешь обращаться к "переменной" внутри твоего "неймспейса" без использования "FQN". А настоящие неймспейсы в питоне работают только на уровне модулей и достаточно жестко к ним привязаны (ну если не ебаться с лоадером), и там ты можешь делать as, например.
>Ну а чего тогда у тебя подгорает?
Что за проекции, блядь?
>По мне, так поведение питона в данном случае наиболее удобное и очевидное.
Ну так я уже тебе сообщил как бы, что ты дурачок.
>>43256
>Можешь сделать неймспейсы в питоне.
Чувак, это нихуя не неймспейсы. Можно конечно эмулировать "модули" через объекты, как в жс-параше, но это же вообще не то. (я другой анон)
>>43259
Чего? Нахуй съеби, шизик.
Нихуя из твоей простыни непонятно, в чем именно у тебя затык, но тащем-то гугли паттерн repository например. И да, если ты это для учебы делаешь, но для начала сделай без орм, иначе говна наешься.
Слушай, а ты не подскажешь, как это организовать в PyQT?
К примеру, имеем вырезку (отбросим лэйауты и прочую мишуру):
class FirstWindow(QWidget):
----def __init__(self):
--------super().__init__()
--------label = QLabel('Исходный текст')
--------button1 = QPushButton('Открыть второе окно')
--------button1.clicked.connect(self.second_window)
----def second_window(self):
--------secondWindow = SecondWindow()
--------secondWindow.show()
class SecondWindow(QWidget):
----def __init__(self):
--------super().__init__()
--------button2 = QPushButton('Сигнал первому окну')
--------button2.clicked.connect(self.signal)
----def signal(self):
--------label.setText('Новый текст')
То бишь идея, что при нажатии первой кнопки открывается второе окно (так и происходит), а при нажатии второй кнопки текст лейбла в первом окне меняется. Если бы у нас было определено global label, это бы действительно происходило. Но чувствуется, будто это костыльный и непрофессиональный ход.
Можно твоим способом это как-то решить?
Слушай, а ты не подскажешь, как это организовать в PyQT?
К примеру, имеем вырезку (отбросим лэйауты и прочую мишуру):
class FirstWindow(QWidget):
----def __init__(self):
--------super().__init__()
--------label = QLabel('Исходный текст')
--------button1 = QPushButton('Открыть второе окно')
--------button1.clicked.connect(self.second_window)
----def second_window(self):
--------secondWindow = SecondWindow()
--------secondWindow.show()
class SecondWindow(QWidget):
----def __init__(self):
--------super().__init__()
--------button2 = QPushButton('Сигнал первому окну')
--------button2.clicked.connect(self.signal)
----def signal(self):
--------label.setText('Новый текст')
То бишь идея, что при нажатии первой кнопки открывается второе окно (так и происходит), а при нажатии второй кнопки текст лейбла в первом окне меняется. Если бы у нас было определено global label, это бы действительно происходило. Но чувствуется, будто это костыльный и непрофессиональный ход.
Можно твоим способом это как-то решить?
> Можно твоим способом это как-то решить?
Так передавай в init второго окна первое, как аргумент parent, сохраняй его и используй, кто ж тебе мешает-то?
Про mvc что-нибудь слышал?
https://pastebin.com/tWMdMyMg
Ну вот. Забыл правда метод get_task(), но не суть.
Я могу отдавать объекты за библиотеку, у этих объектов изменяют поля. Объект можно взять, если есть права на чтение.
Нужно как-то мониторить, есть ли права у того, кто этот объект редактировал.
Ну и тут появляется проблема.
Либо вообще забивать на изменения сделанные вне библиотеки: хочешь обновить объект - вызывай update_obj с параметрами кто ты, и что ты меняешь.
Либо изменяй что хочешь, не забудь вызывать api.save() (который просто обертка над session.save() )
Варианты как это мониторить я написал выше.
Без орм я писать не могу, потому что если писать голые классы - значит потом маппить обычные объекты с объектами из ORM, времени на это у меня нет.
Я не работал с pyqt, поэтому пишу навскидку.
label должен быть self.label.
Дальше, в FirstWindow создаёшь метод:
def set_label(self, text):
,,,,self.label.setText(text)
Дальше откуда угодно вызываешь
(имя инстанса FirstWindow).set_label('новый текст')
1. Объединения последовательно создают новые объекты, то есть оверхед.
2. Сделай с помощью плюсика f"value = {x:0>{width}.{precision}f}", наверное будет хуже.
Ты бы хоть код показал.
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 возможно не подойдет. На картинке сделал через словарь.
Ага, точно, отдельная функция по setText, а потом вызов ее из другого класса. Я вроде что-то такое пытался, но не смог в синтаксис, конкретно вот тут:
>def set_label(self, text):
и
>(имя инстанса FirstWindow).set_label('новый текст')
Имею в виду аргументы в скобках.
Спасибо, посмотрю.
Так вот, чему верить? Где информации по рынку труда вообще набраться? Хочу знать в каком направлении развиваться прямо сейчас. Искать ли мне курсы или дрочить макакинг а потом искать курсы?
кек, а что ты ожидал?
Вот я передаю через
{% Include 'somemodule.html' with VAR='StringSuper ' only %}
И этот VAR Надо вставить в
{% for item in {{VAR}} %}
{% HelloWorld%}
{% endfor %}
Можно ли перегрузить шаблонизаторо или нет?
>__init__-функции класса в любую функцию ДРУГОГО класса
это называется метод. Признавайся, ты из JS вкатился?
Куда лучше поставить обработку БД в Django, чтобы выполнялось при старте сервера и каждый час?
manage.py ?
Пилю заказчику ERP-систему, и нужно подтягивать, просто подтягивать, максимум красиво обрабатывать, но это уже проблема front-end мартышки данные со сторонних ресурсов. Таких как директ, что-то там crm и т.д. Вопрос следующий:
Как лучше это реализовать? Непосредственно через API или же костылить через html парсер с вытягиванием нужных данных?
Да, переменные соответственно динамичные.
Фреймворк - Django.
>Ребята, всем здравствуйте-пидераствуйте, у меня возник такой вопрос.
>Пилю заказчику ERP-систему, и нужно подтягивать, просто подтягивать, максимум красиво обрабатывать, но это уже проблема front-end мартышки данные со сторонних ресурсов. Таких как директ, что-то там crm и т.д. Вопрос следующий:
>Как лучше это реализовать? Непосредственно через API или же костылить через html парсер с вытягиванием нужных данных?
>Да, переменные соответственно динамичные.
>Фреймворк - Django.
JSON
S
O
N
Это я тупой или ты тупой?
Зачем парсить, если API отдаёт дату?
>переменные соответственно динамичные
Переменные, соответственно, переменные? Сильное умозаключение.
ну вот отдохни третий день на двоще, а потом посоветуйся с фронтендами. у них там каждый день новые фреймы
> это называется метод
И сейчас ты нам такой рассказываешь, чем конкретно в питоне метод класса отличается от функции.
Ты не поверишь. Я вкатился с нуля.
Тем, что у функции могут быть методы.
>чем конкретно в питоне метод класса отличается от функции
Не в питоне, а в терминологии ООП.
Метод принадлежит объекту. Фунция принадлежит скопу.
И тут ты такой обосрался и обтекаешь.
def foo(*args): print('Ты хуй')
class Bar:
....x = foo
Ты не маневрируй. О том, что ты хуй, тебе говорит функция или метод?
Бля я хз если честно. Ща погуглю чё как
Я пытался, но мой пека это залупа из 2005 года. PyCharm лагает.
Нелепо маняврируешь тут только ты.
Тут нет метода, ты не знаешь ООП, ты не знаешь, что такое first-class функции.
Так ты ещё #include <iostream> забыл добавить.
Им пользуются только мартышки, которые даже virtual environment руками поднять не могут.
Так может это ты ничего не знаешь, если не можешь ответить на конкретный вопрос.
> Тут нет метода
Так может считать только человек с крестами вместо мозга, где метод к классу прибит гвоздями. Питон считает иначе.
Работаю системным администратором-экникеем-нищуком, Python использую как рабочий инструмент для внутреннего корпоративного портала
Отличная IDE. Много чего сама делает, позволяет находить ошибки не запуская файл. Перешёл на неё с IDLE и охуел как удобно.
Подтягивай через апи если не платное и всё отдаёт, может придётся где-то парсить, проанализируй чё тебе дали. Аггрегируй @ кэшируй - отдавай на фронт. Зачем заставляешь гадать - перечитай ТЗ, там всё должно быть или на чернуюмагию сходи - тебе там погадают. Переменные динамичные == масло маслянное.
>>> Bar.x
<function foo at 0xffee1618>
>>> b = Bar()
>>> b.x
<bound method Bar.foo of <__main__.Bar object at 0xffeed750>>
Не могу найти в инете нормальную инструкцию по установке
Это тоже на уровне хеллоуворлда. База - это файл. Рандомные числа в random модуле. Цикл и суммирование сам сможешь написать.
>
>Суп, анон я нуб который осилил очко на питоне и ещё несколько стандартных примеров уровня хэллоу ворд. Мне нужно сделать программу для проверки профессиональных знаний персонала, чтоб выбирала рандомом десяток тестоввх вопросов из базы и считала процент правильны
Самый легкий вариант это поднять SQlite базу через Django, там же набросать вопрос-ответов, система юзарей и админка в комплекте. Работа на один день. Должно быть, тебе еще и денег заплатят, тысяч 300
Заябывает. Как пользователь PyCharm скажу, что пеп8 отстой. Конвенция должна быть идеальной, тем более если её навязывают.
>нужно програмку для оценки по 10 булам
>поднимай джангу, пили авторизацию, базу данных на sql, чтоб с юзерами
Робот-бэкэндщик в треде.
>>нужно програмку для оценки по 10 булам
>>поднимай джангу, пили авторизацию, базу данных на sql, чтоб с юзерами
>Робот-бэкэндщик в треде.
при зарплате 35к в месяц
Ебаная деревня
Ты пишешь бэкенд, который в 30 раз медленнее, чем на нормальном серверном языке. Чего ты хотел?
>при зарплате 35к в месяц
Ты считаешь, что тебе недоплачивают?
Ок, почему именно джанго, какие есть альтернативы, почему ты их исключил?
Почему именно sqllite? Какие альтернативные структуры данных ты рассматривал, в чём их отличие?
>Каково осознавать, что даже такое говно быстрее? Я конечно говорил про плюсы и го.
Ну хуле поделать, мне не бигдату на кластерах верстать, а всего-то 1000 подключений в час
>
>Ты считаешь, что тебе недоплачивают?
>Ок, почему именно джанго, какие есть альтернативы, почему ты их исключил?
альтернатива это Node.js, долго учиться, не факт, что будет востребованным через пару лет.
Из баз использую MySQL, из платформы Debian
суть в том, что я посоветовал самый простой вариант )
зато потом можно похвастаться мамке начальнику, что какой охуенный сайт сделал и какой хороший специалист
Хочу только спросить. Твой начальник что-то смыслит в айти или это чисто менеджер?
Конечно, не имеет. Питон - это язык одного фреймворка.
Это как вордпресс, только ещё хуже, вордпресс хотя бы на нормальном языке написан и там админка удобная, шаблоны нескучные.
срочно нужна картинка про Карслона, маленькую зарплату питониста и "я тебе ща хату разнесу"
Есть только про божественного лифтёра и его качественную мышечную массу.
>Прохожу начальные знания на каком-то курсе с задачками. Пишу быдло-код, если тесты не проходит, подправляю так, чтобы проходил, часто даже не понимая почему это верное исправление. Правильно все делаю?
нихуя неправильно
лучше делать неправильно, но понимать что именно этот код делать.
Python - язык богов, через 5 лет взлетит до минимальной оплаты 300к\с, у тебя есть все шансы занять первые места в рядах элиты
Ну первое решение, которое иногда неправильное, я понимаю что делает. Дальше начинаются тупняки и я кручу по-всякому первое решение, чтобы проходило тесты.
забей на эти блядокурсы по выбиванию денег. Настоящие питонщики рождаются в нищите на одних бушных книгах и вырастают настоящими профессионалами своими дела
Ладно, я понял что надо разбираться, в том, что пишешь. Тогда другой вопрос. Если я никак не могу осилить задачку, хотя все другие из этого блока сделал, лучше погуглить её решение или сидеть ломать голову сто лет?
У меня только по машобу. Питонотред всё-таки.
>
>Ладно, я понял что надо разбираться, в том, что пишешь. Тогда другой вопрос. Если я никак не могу осилить задачку, хотя все другие из этого блока сделал, лучше погуглить её решение или сидеть ломать голову сто лет?
конечно, гуглить. все разработчики так делают. Погуглить, запомнить, применить, обучить другого
почему-то и смешно и грустно, яхз
Благодарю.
ты сделал мой вечер)
Прочитал про флоат, вроде понял. Спасибо.
Это вообще хоть как-то касается Python 3 и старше?
>Актуально ли в 2к18 знать old-style и new-style по классам?
>Это вообще хоть как-то касается Python 3 и старше?
Вопрос не понял, но в 2018 Python меньше 3й версии уже не нужен. Все успешные разработчики переписывают свой код уже
>
>Установил прям в настройках интерпретатора, как и те модули, что работают.
ну даже и не знаю что сказать. я в эти настройки интерпретатора и не лажу, не нужно туда лезть. все таки должно автоматом хватать. как вариант - переставь все модули через внутренний терминал
PS Надеюсь ты не из тех, кто забывает делать from import
Ты про old-style до 2.1? 17 лет уже прошло, мань.
Сейчас бы на скриптовом языке легаси код поддерживать.
Он ставивит свои модули в свой env/манямирок, то есть тебе достаточно активировать env и подключить ссаный модуль в .py файле
потому что они застряли в 90х.php? И это является детектором гавноконторы с некрокодом
На 2 дня опоздал, придётся подождать.
Это пост-постирония, спрятанная за несколькими слоями 0 cost абстракций. Слишком сложно для тебя. Начни сначала с просмотра рика и морти, чтобы привыкнуть к высокоинтеллектуальному стилю юмора.
Ну не овни плиз(((
>перешел с IDLE
Ебать, шутник. IDLE лучше чарма, я прислушался к вскодеру и попробовал. После этого охуел от того как просто, удобно и быстро. Тебе тоже посоветую попробовать.
+можно из исходников собрать
Но памяти у меня при конвертации питона в си реально меньше жрется
Да, нужно.
А не проще поставить ВСку? Он такой же минималистичный, быстрый и удобный как ИДЛ и функциональней за редким исключением Чарма. Ты занимаешь, не в обиду, каким-то ананизмом. Шок, тогда уже как васяны можно было бы писать в текстовом редакторе и запускать в терминале.
Покормил
Саморазивающаяся программа.
>ВСку
Чё? Ты про студию? Серьёзно нахуй?
>минималистичный, быстрый и удобный
Студия? Может ты перепутал с блjкнотом?
Хватит меня траллить, плиз.
Если ты не тролль, то у меня для тебя плохие новости.
Тебе только на заводе работать
Не могу нагуглить
Встречал тему включая треды питона, проект по созданию уменьшенного интерпретатора python - или типа того, но вес интерпретатора раза в три меньше оригинала, включая стандартные библиотеки
IDLE
Среда разработки от питона для питона, гугли епта.
Пц, народ, ну вы чего, все ламеры, да?
from machineLearning import ai
from random import random
def main():
ai.writeProgram(random)
return 0
define "запущу"
VIM
Вопрос тысячелетия: за какой метод форматирования топить или оба на зубок нужно знать?
А чо там по перекатам ваще?
БАМП вопросу и ГДЕ БЛЯТЬ ПЕРЕКАТ
Я нюфаня, до fstring еще не дошел.
>идиоту дали плюсик а он пользуется форматированием и не может добавлять произвольное количество элементов через функции высшего порядка.
Вообщем пишу сайтик на джанге и что то не могу нагуглить ответ, гитхаб тоже смотрел, похожего кода не увидел.
В чем вопрос: есть вьюха TemplateView, там 2 функции которые принимают id ссылки и происходит запрос в БД за данными по этому id, после чего мне нужно перебросить этот id в forms и там создать форму ChoiceField на основе данных из БД. Так вот сделать это соответственно не удается.
Вообще format иногда удобен. Например, когда у тебя в сотне функций используется какой-то шаблон типа "yoba request with arg {argument}". Тогда очевидно, что шаблон должен быть один и доступен всем функция, которые будут делать template.format(argument=x). Можно конечно и f"{eval(f'{template}')}", но, во-первых, за такое бьют лопатой по лицу, во-вторых, имя аргумента фиксировано. Собственно, это единственный пример, который я смог придумать в пользу format.
Вообщем сделал по другому, пришлось делать текст отдельно и кнопки отдельно.
Не сразу понял, что ты имеешь ввиду. Потому что охуел от монструозного
>Можно конечно и f"{eval(f'{template}')}"
Нихуя себе можно. Уже за один такой пример можно лопатой получить, осторожнее.
def print_template(x):
print(f"yoba request with arg {x}")
Совсем не подходит, по целому ряду причин.
Но я озвучу самую главную.
Function should do one thing.
Сейчас ты хардкодишь print(template.format(argument=x)).
Ну а если ты вдруг временно перехочешь выводить данную информацию? Иди комментируй свой print() в сотне функций.
А может ты больше одного аргумента захочешь принимать? Иди правь формат в сотне функций.
Либо в первом случае ты просто пишешь
def print_template(x):
pass
Во втором распакуешь что надо и сколько надо через
def print_template(args, *kwargs):
Тут даже спорить не о чем.
> временно перехочешь
print = lambda ∗args,∗∗kwargs: pass
И вообще, это вопрос дизайна. С нормальным дизайном ты либо не должен перехотеть, либо у тебя будет опция в конфиге на этот счет.
дегенерат
>>45227
Вообще это больше к logging (в котором, кстати, f-strings не стоит использовать), вряд ли кто-то в своём уме будет использовать print для логгирования, а в logging достаточо поставить другой level и всё ок, ты не увидишь лишнего. И да, logging умеет только в %-нотацию. Но ты прав в своём примере, когда тебе "перехотелось". Тут вопрос реально в дизайне, "перехочется" ли и в том, чтобы не сделать over-engineering. У нас в одном проекте есть функция `_now`, которая возвращает time.time(). С одной стороны, хороший ход, можно быстро заменить источник данных о времени. С другой, все эти абстракции усложняют код, уменьшают читабельность и плодят баги, да-да. Я заменю в _now time.time() на time.monotonic() с лучшими побуждениями, а кто-то опирался на абсолютное значение времени, а не на дельту.
ты чемпион!
Я это и имел ввиду, анончик. А что, даже предупреждения не будет, тип от антивируса или самой винды?
Смотря что использовать. Если подключить псутил и просто выключить тебе все процессы то ты может что и петеряешь, но можешь перезапустить компьютер и всё норм. А можно вообще без модулей спиздить информацию с сервера или скачать мальварю.
А откуда им знать что там твое дерьмо творит. Если права у программы такое говно делать есть, то она будет это делать.
и как вообще лучше делать такое?
Надо бы ещё логи на жёсткий диск.
Что всё?
Это попен сурс детка, возьми да перекати
>этот ленивый пидор нихуя не делает
Я сделал перекат в этот тред, теперь пусть другие делают, чтобы никому обидно не было.
Значит питон получается лучше пыхи, ну то есть на пыхе можно, поднять денех быстрее, но вот на питоне даже если на пол годика позднее начну получать даллары то как надоест, то смогу сразу развивать свои хобби получается да?
Так то аутировать люблю, но правда больше руками.
знаю, что смысл не в синтаксисе, но вроде как пишут, что если затачиваться чисто под веб, то и выходишь на даллары раньше, но в реал погроминге много проблов и потом целую ветку прокачивать по новой, а на питоне если пройти общий курс, то все более универсально получается.
ятаксказала, тамушто
еще пару ссылок, что нужно знать джуниору питона:
https://proglib.io/p/python-junior-2017/
путь программиста питона от новичка до профи:
https://proglib.io/p/python-from-newbie-to-professional/
Вы видите копию треда, сохраненную 23 сентября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.