24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Питоначеры особенно знакомые с многопоточностью, дайте пожалуйста немного своей мудрости нюфане. Задача в следующем, есть список элементов неизвестной длины и функция, обрабатывающая каждый из этих элементов. Как должен выглядеть код с использованием threading, чтобы выбирая эти элементы по очереди, мы запускали 5 например копий этой функции единовременно, а для каждого последующего элемента списка - ждали завершения любого из этих пяти потоков и т.д.
>>790381 Почему бы изначально не назначить каждому из n тредов свои элементы (Сделав слайс в шагом в n)? Так треда мне нужно будет шарить данные между собой. (Если время выполнения функции применительно к любому из элементов примерно одинаковое, конечно.)
>>790407 >Почему бы изначально не назначить каждому из n тредов свои элементы Виноват, еще только пишу свои первые хелло ворлды, не подумал о таком варианте. >queue Судя по документации - как раз то, что нужно, грац.
>>790365 (OP) Планирую изучить джанго и сделать пару тройку небольших проектов в портфолио. План примерный: - джанго бук онлайн на офсайте, читаем, выполняем проект-пример - делаю статический сайт например о себе, не акцентируя внимания на UI, ибо с вёрсткой туго (но в планах twitter bootstrap, чтобы уж совсем сайт не был из 90-х) - динамический (как в плане UI - данные подгружаются динамически, так и в плане использования БД, сюда же ORM) - ещё пару проектов, фокусирующихся и использующих что-либо из мира джанго (пока не придумал) - юнит тесты
Всё это дело хочу ограничить месяцем. С python знаком, с джанго - делал "проект" год назад очень простой, но там уже использовал ORM, БД, шаблоны, AJAX (с ним были трудности, нет внятного описания как правильно работать с ajax в джанго, не нашёл и всё тут).
После всего этого - проекты на гитхаб, корректирую резюме с уклоном на джанго-джуниора и отсылаю резюме так же и на удалёнку и с возможностью переезда.
К чему написал? Как первый шаг и чтобы дало те же +1 к мотивации не забросить всё как год назад, правда тогда я делал чисто ради интереса. Может есть кто-нибудь кто так делал или уже делает?
Питоночан, есть одна строка: >inputs = np.concatenate((inputs,-np.ones((self.nData,1))),axis=1) Она должна добавлять слой в нейронную сеть, а - задаст отрицательное значение, так? Это по сути аналогично строке: >np.ones((2, 1)) Если код переписать в виде: >import numpy as np >inputs = np.array([[0,0],[0,1],[1,0],[1,1]]) >nData = np.shape(inputs)[0] >inputs = np.concatenate((inputs,-np.ones((nData,1))),axis=1) >print (input) То интерпретатор выдает built-in function input Как мне перевести это в вид нормального массива?
Только начинаю знакомство с языком, прошу подсказать. Хочу сделать доступ через веб-интерфейс к своему файловому хранилищу. С тегами, возможностью добавлять и удалять файлы. Подходит ли для этого python и mysql? Или целесообразнее использовать какой-то другой язык, например php?
>>790507 А все, лол. Но есть еще фишка >weights -= eta*np.dot(np.transpose(inputs),activations-targets) Говорит, что: >non-broadcastable output operand with shape (3,1) doesnt match the broadcast shape shape (3,3)
Анон, а если мы определяем методы внутри класса, то атрибуты в этих методах можно менять чем-то вроде (данный код внутри класса, где объявлен атрибут): def name_changer(self) ____self.name = "другое имя"
или мы получим локальную переменную? Я на работе, не могу проверить, к сожалению.
>>790603 >>790600 Спасибо, анон. То есть, если бы объявляли без self - был бы локальным, но так, как мы обращаемся к данному атрибуту через self (ссылку на объект), то мы изменяем атрибут "напрямую", я правильно понял?
>>790615 Но как я могу? Разбираю код, а там написано: if np.ndim(inputs)>1: inputs = np.shape(inputs)[1] else: inputs = 1 И тут nData = np.shape(inputs)[0] Если все в функции, то работает, а если вынести все за функцию, то шлет нахуй.
>>790618 Отвлекись, иначе бывает такое, что даже элементарные штуки понять не можешь, когда смотришь в код простейший. Прогуляешься полчаса - становится проще.
Аноны где посчитать за методы и массивы? А то есть код нейронки, а я нихуя не могу в него врубиться. Помню когда-то читал классную книгу, там еще в конце игру-леталку учили делать
>>790675 Не наследуется. Если атрибут не найден в экземпляре, то он ищется в атрибутах класса. >>> class Rya: ... y = 5 ... >>> r = Rya() >>> r.y 5 >>> Rya.y = 6 >>> r.y 6 >>> r.y = 8 >>> Rya.y 6
>>790692 > и то, что смысла распараллеливать вычисления с GIL нет никакого Почему? Если я возьму задачу которая потребляет 10% CPU и выполню её в 10ть потоков что-то помешает отработать ей в ~10раз(минус оверхед GIL который при таком мизерном количестве потоков будет небольшой) быстрее?
>>790729 И передаются ли значения из метода в метод? Если я где-нибудь в классе объявлю, что self.xuy = 10, то в другом методе класса оно тоже будет равно 10? Сейчас интерпретатора под рукой нету.
>>790729 Вот совет, который мне дал старый N., когда я одним зимним вечером задал ему тот же вопрос: -Возьми охапку известных тебе книг по питону, найди посредством предметного указателя или иным способом интересующую тебя информацию, и прочитай все, что сможешь найти
>>790676 Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>790835 Да там с книжки 9 глава. Честно, я не хочу сейчас книжку заливать куда-то. Просто зайди в вк, в поиске документов вбей "доусон программируем" и сразу найдешь. В 9 главе.
А нухуя вааще этот линух нужен питонерам? Я пока что лабаю на винде в пайчарме, запиливаю там какие-то свои простенькие сайты, но на серваки не вываливаю. Неужели на винде пярм никак нельзя остаться?
>>791033 фул стандартная библиотека + пара проектов на джанге типа блогов и магазинов. тер база по вебу, тер. база по алгоритмам, навыки верстки, линух, sql-no sql. Этот минимум.
Аноны, я совсем заебался. У меня в for идет несколько раз обращение к pcnfwd? Сначала, когда self.activation надо назначить. Потом, мы вычисляем self.weights И зачем нам нужно еще раз назначать activations? Объясните порядок действий
>>790850 >Поиск среди атрибутов класса - это не наследование. Наследование было бы, если поиск атрибута происходил в суперклассах. То есть, по-твоему, пространство имен экземпляра - не входит в ромбоидальную или вертикальную схему наследования? Принципиально отличий в поиске атрибута\метода в суперклассе и классе нет. К тому же, Лутц пишет, что это наследование.
>>791112 M. Лутц, стр. 698-699 >Предположим, что мы создали дерево, приведенное на рис. 25.1, и затем пишем: 12.w Этот программный код демонстрирует использование механизма наследования. Так как это выражение вида object.attribute, оно приводит к запуску поиска в дереве, изображенном на рис. 25.1, - интерпретатор приступает к поиску атрибута w, начиная с 12, и движется вверх по дереву. В частности, он будет просматривать объекты в следующем порядке: 12, С1, С2, СЗ и остановится, как только будет найден первый атрибут с таким именем (или возбудит исключение, если атрибут w вообще не будет найден). В этом случае поиск будет продолжаться, пока не будет достигнут объект СЗ, поскольку атрибут w имеется только в этом объекте. Другими словами, имя I2.w в терминах автоматического поиска будет обнаружено, как C3.w. В терминологии ООП это называется 12 «наследует» атрибут w от СЗ. В конечном итоге два экземпляра наследуют от своих классов четыре атрибута: w, х, у и z.
>>791116 M. Лутц, стр. 709 >Объекты экземпляров - это настоящие объекты, обрабатываемые программой, - каждый представляет собой самостоятельное пространство имен, но наследует имена (то есть автоматически имеет доступ к ним) класса, из которого он был создан.
>>790710 >которая потребляет 10% CPU Единственная ситуация, в которой у тебя может вычислительная задача потреблять 10% CPU - это если у тебя 10 ядер и диспетчер задач нормирует всё к 100%. Если нет никаких чтений файлов и ожиданий сокетов, то числа будут дробиться используя все доступные ресурсы, ограничившись одним ядром процессора.
>>791225 https://www.python.org/dev/peps/pep-0488/ >PEP 488 -- Elimination of PYO files Ну охуеть вообще. Пользы от этого pyqt чуть менее, чем нихуя. Каждую строку самому нужно править. А ведь 1.3 версия уже.
>>791231 Какие тебе новые таблицы? У тебя есть схема бд, тебе понадобилось изменить пару полей и на продакшене обновить данные безопасно. Вся суть миграций.
>>791316 Поддерживается, и даже работает ну очень хорошо. Но в pyqtdeploy привлекла возможность забацать приложение под андроид (и все это провернуть на виндоусе). Ну и + поучиться пользоваться всякими Creator'ами. Киви и билдозеры работают только под линуксом, да и долго запускается итог, как говорят.
>>791292 Поздравляю ты привлек своей шокльной парашей настоящего кодерка. http://stackoverflow.com/a/6369984/720545 надеюсь не надо обьяснять почему это один из годнейших вариантов ? Следущий можно попробовать сделать без оверлапов но это совсем уж
>>791318 Ты в курсе, что нужно пересобрать весь qt, pyqt, python и все его третьи либы под arm? Ты под виндой это сделаешь примерно через никогда. Это под линуксом-то черезжопно и я забил хуй на эту парашу. Kivy с buildozer хотя бы apk выдавали.
в пистон вей? Хочу возвращать тапл таплов, чтобы все было нормально читабельно (однострочник таковым не считаю, возможно к хую пизде и залупе прибавится ещё что-то потом), чтобы не было ненужных вызовов append().
>>791496 Он очень простой, можно ещё так: > def extract_smth(self, json_list): > __for j in json_list: > ____yield (float(j['hui']), int(j['pizda']), j['zalupa']) только генератор вместо tuple
>>791518 Да что угодно - можешь с сайта любимой игры/фондовой биржи/метеоцентра что-то забрать и насчитать статистики, чтобы потом запилить инфографику.
bulk_coords = [] for value in coords: model = DjangoModel model.x = value['x'] model.y = value['y'] bulk_coords.append(model) DjangoModel.objects.bulk_create(bulk_coords)
Почему появляется ошибка? AttributeError: type object 'DjangoModel' has no attribute 'id'
Что за ёбаный пиздец с юникодом и строками в питоне 3? Не перекодировать нормально, блядь, нихуя не сделать. Ещё и абу, пидор, \u003c вмето угловых скобок в жсоны напихал. Как мне теперь мои регвыры использовать?
>>791586 >если ходить по сайтам с utf8 Ну так макаба .json в utf и отдаёт.
with urllib.request.urlopen(r) as thread: ....s = thread.read().decode('utf-8')
Выходит что-то типа ... "comment":"\u003ca href=\"/b/res/131341959.html#131351364\" class=\"post-reply-link\" data-thread=\"131341959\" data-num=\"131351364\"\u003e\u003e\u003e131351364\u003c/a\u003e\u003cbr\u003eВот, кстати, первый серьезный вопрос, который требует незамедлительного компетентного ответа." ...
Пытаюсь выпилить <a></a> через регулярку re.compile('<a.звёздочка?.>.звёздочка?.</a>', flags=re.DOTALL) и нихуя не работает, хотя регвыр правильный и проверенный временем. Получается, что нужно что-то делать с хуйнёй типа \u003e итд, но я не знаю что.
>>791608 >Ну декодируй сначала Ну так я и делаю >>791590 s = thread.read().decode('utf-8') Только он эту хуйню вида \u... всё равно продолжает выдавать.
>>791613 Это ты утф8 декодировал. А теперь декодируй JS-овый escape() (вот эти самые \uNNNN). Лучше всего это сделать одновременно с парсингом жсона. Поэтому >>791594.
>>791615 >Лучше всего это сделать одновременно с парсингом жсона Я его итак делаю, но позже, после удаления тегов, чтобы не приходилось потом отдельно из каждого поста их выпиливать.
Братишки, подскажите библиотек, для интеллектуальной работы с изображениями. Например, есть на входе изображение, нужно будет узнать его уменьшенную или увеличенную копию. Что посоветуете?
>>791701 обе книги отбитые на всю голову, у Лутца жевание одного и того же про одно и то же. Вторая ни пойми что. Лучше Python 3. Самое необходимое Прохоренка, загугли, на рутрекере скачай. Ну и укус Питона. Да, еще видеоуроки.
>>791703 Анон, дай что-нибудь почитать, примеры хорошего, годного кода, но только python3, а то на мой предыдущий реквест другой анон скинул примеры кода на python2 с устаревшим синтаксисом, мб код и хороший, но он устарел.
>>791719 Надо самому писать, и много писать. Начни со всяких туториалов популярных, потом просто и без задней мысли пиши программки - всякие калькуляторы, змейки, вайпалки имиджборд. Потом уже начинай читать книжки.
>>791723 ну ок, допустим я хочу написать вайпалку, с чего начать, где взять хотя бы пример кода. Можно сказать, что я освоил алфавит и более менее синтаксис, теперь, чтобы начать писать, нужно научиться читать. Я даже примерно не представляю с чего начать писать скажем вайпалку или калькулятор. Помоги.
>>791726 Сначала ты разбиваешь задачу на подзадачи на листочке. С калькулятором попроще - тебе нужно:
1) Придумать реализацию (внутреннюю логику), которая не должна зависеть от визуализации (2 пункт) - то есть, например, написать функцию, которая получает арифметическое выражение и вычисляет ответ (можешь использовать eval(), можешь сам написать разбор выражений, погуглив нужный для этого алгоритм дейстры для вычисления выражений)
2) придумать визуализацию - если консольная, то это просто ввод строки данных и вывод ответа функции; если окошечная - нарисовать окошки для кнопок, привязать каждую кнопку к добавлению определённого символа к строке и обновлению экрана, привязать кнопку "=" к вычислению результата и вывода на экран.
С вайпалкой посложнее - надо сперва узнать, что такое http запросы и как их делать в питоне (либа requests), потом узнать, что запросы можно делать параллельно (либо сам реализуешь параллельность, либо используя готовые либы типа grequests). Ну а потом дело за малым - делаешь функцию с логикой отправки запросов, которые постят какой-то заготовленный контент на борду. Осталась одна неприятность - капчи. Ты можешь либо сам их решать, либо купить пасскод на распродаже, либо посмотреть как реализуются нейросети для решения капч и попробовать повторить. С визуализацией тут уже сам разберешься.
Вот так, разбивая задачи на подзадачи и постоянно гугля, можно собрать из говна и палок рабочую программу. Самое главное - быть самокритичным, думать о возможном улучшении кода и постоянно узнавать что-то новое о языке, работать над качеством кода (хороший код это не тот, что работает, а тот, что легко читать и модифицировать!). Читаешь книги по языку, по проектированию программ, постоянно придумываешь и решаешь прикольные задачки - и всё будет пучком.
Короче я нашёл к какому сайту парсер писать. Но я решил что это будет не парсер, а бот и без с++ т.к. на нём можно заработать. Теперь что почитать чтобы его хорошо сделать? Те что раньше делал я работали с помощью curl и я не разу не применял их на сайтах с регистрацией.
Я так и не понял зачем нужны декораторы, чтобы уменьшить количество букав при вызове функции? кажется я уже близко к разгадке злоебучей тайны с декоратормаи.
Есть тапл таплов (a, b), некоторые таплы могут иметь одинаковые 'a'. Как можно в пистон вей получить тапл таплов (a, c), где с - среднее от всех b для a? Делать для этого дикт ресурснозатратно же?
Всем доброго времени суток. Подскажите, как лучше прокачивать скилл новичку? Прошел курс на кодакадемии, параллельно решая разные задачки и сейчас выбираю фреймворк, на котором буду пробовать что-нибудь писать. Посоветуйте, что будет проще для освоения и полезнее для понимания?
Ребят, такое дело: взялся за преддипломную работу, которая, в общем, заключается в программировании для анализа данных, полученных при ЯМР. Думаю делать это на Питоне. Опыт есть в программировнаии в принципе - так что мне разъяснять что такое циклы, функции и ооп не надо. Надо бы узнать только специфичные для Питона моменты + как его сейчас используют в науке + инструментарий (библиотеки, фреймворки и тратата). Какие есть туториалы, курсы или даже книги (не талмуды по 1500 страниц ака Лутц) чтоб быстренько (насколько это возможно) вкатиться в данную сферу Питона?
Можно ли в самом интерпретаторе ну или ipython посмотреть список всех модулей и стандартных библиотек. С документацией к ним все понятно, скажем help(os) или прочее.
>>790365 (OP) Аноны, что за говно происходит, когда у меня np.transposes((a),b)) При условии что обе переменных массивы, пусть даже один и тот же? Не догоняю, что он с ними делает
>>792049 Кто предоставляет? >>792042 Говно неюзабельное, как и практически все от мелкософта. Лучше под рукой ориджинал с нормальными репами держать. Велик шанс, что отвалится какой-нибудь пакет при обновлении и пересборке.
Так пацаны. Я накатил бубунту и меня пиздец как ломает, словно наркомана(ну так и есть тащемта, мне в игори охота поиграть). Как морально и психически справиться с этим?
А мне понравилось это видео от шкальника, обучающего в нем почти нихуя, но вот за час оно дает понять, что такое джанга для тех кто не имел дело с вебговном. https://www.youtube.com/watch?v=aX4XjwW4AJQ
>>792157 Плохая идея,антош, лучше поступи иначе: Есть некая задача, ты ищи способы/методы решения ее в гугле, там найдешь библиотек(у/и) и прочитаешь, сделаешь что надо. А учить все библиотеки подряд -
>>792338 у меня только одна дрочильня dungeon fighter online и в линупс его установить проблематично. Точнее не проблема установить, но там геморрой с логином из лаунчера, это игра ебаная использует интернет експлорер в свом лаунчере. воть
>>792360 tl;dr: потому, что питон это такой бейсик с отступами и итераторами, потому, что генераторы вводят новое ключевое слово (yield), вместо того, чтобы сделать всё как у людей, потому, что выполнение в контексте вводит новое ключевое слово (with), вместо того, чтобы сделать всё как у людей.
>>792370 >Вы понимаете то что сливаете свое время Какая разница, куда сливать время? Запилить очередной тысячный хеллоуворлд, попить пива в падике или играть в игры? Результат всегда все еще предсказуем и он только один, как бы ты ни старался этого избежать.
>>792320 Ну смотри какая штука: версии Джанго обратно совместимы в пределах одной цифры. Т.е. ты можешь спокойно в 1.9 писать как писал бы в 1.1 например Лучший учебник по Джанго - древний как мамонты, зато от создателей языка. Есть на русском. Поймёшь его - а дальше останется только понять где дальше искать инфу по пользованию новыми плюшками.
Учебник : Авторы Адриан Головатый, Джейкоб Каплан-Мосс Django - подробное руководство
>>792475 Извлечь это значение из а, преобразовать в int(), затем запилить новый словарь, выдав ключи циклом(если я правильно понял намеренья), и скопировав из старого ключи+значения(взять список ключей из словаря старого,записать куда, затем вставлять циклом в новый словарь).
Просто я привык, что в джаве если ты одну ссылку приравниваешь к другой, то обе ссылки ссылаются на один объект, поэтому немного не понял.
> >>792577 >Видимо, ссылаются на разные объекты, но ключ machine в обоих случаях, ссылается на один и тот же. >>792584 >Ключи у них конечно разные, но ссылаются они на один объект ['foo', 'bar', 'baz']Запутать решил?
Хочу обратиться к несуществующему методу класса, передать аргументы и что-то с этим сделать. Посмотрел как это делается в библиотеке для api контакта, сделал по аналогии, но выглядит это как-то странно. Наверняка есть способ сделать это проще и короче. Может где-то есть советы по написанию кода для работы с api? Мне попадаются только мануалы по реализации самого api.
А можно как-то не ждать ввода input и дальше запустить программу? или может есть другие похожие команды хочу сделать программу с вводом и параллельным отсчетом времени, пробовал threading.Timer, но его дважды не запустишь и к тому же сложна
>>792862 дается задачка на сложение, дается возможность ввести ответ, начинает отсчитывать таймер таймер заканчивается, все начинается опять тащемта, уже получилось, просто интересно как еще можно
Я нахуй тупой. Но, вот, понадобилось мне скомпилировать в exe-шник. http://pythonworld.ru/osnovy/program-compilation-with-cx-freeze.html Нашёл вот это. По ссылке на оф. сайт версия только для 3.4, а у меня 3.5 По второй ссылке, вроде, 3.5, но в whl. И чего мне, ебанашке под виндой, делать?
>>792935 Да, все используемые либы запихивает. И даже если попадается какая-то новая и неизвестная, ему можно указать на неё. pyinstaller - это сейчас номер один в компиляции. Работает на всех операционках. Используй флаг -D тогда не будет ошибок, если у тебя в скрипте есть print
>>793002 Python Package Index — каталог пакетов Python ну там типа пакеты всякие хранятся и ты, с помощью pip, например, можешь их себе установить. pip install django
>>793099 Он скомпилировал terminal file для linux. Просто дважды мышкой нажимаешь и запускается терминал. Если тебе нужно под винду, то запускаешь виду и компилируешь под ней. Придется обзавестись виртуалкой. Поставь хрюнделя чисто для компиляции.
>>793128 Или второй вариант. Если чел тебе доверяет, пусть ставит у себя TeamViewer, подключаешься, ставишь ему питон, компилируешь. Ты ведь ехе создаешь чисто из-за того, что твой клиент нуб? Правильно?
>>793132 Ммм, я его создаю, чтобы попердолиться, если честно. Расчехлил комп с шиндой, скомпилял. Красным обвел команду, которую пришлось ввести, чтобы заработало, лол. Еще и с pyinstallerom ебался минут 10.
>>793139 Снеси питон и поставь заново. При установке в самом низу отметь галочку, чтобы прописался путь для питона. Тогда не потребуется писать весь длинный путь к нему. А вообще привыкнешь. :)
Как сделать конструкцию со множественными исключениями? На вебстранице есть 5 элементов, которые могут быть или не быть. Сейчас я делаю для каждого элемента try: ----print except: ----pass
и вот так пять раз. короче некрасиво. Можно ли исключения сделать без говнокода? типа как if elif Вроде с with можно? Я не знаю как with работает, читаю доки пока.
>>793165 Хуёво ты объясняешь что тебе нужно. >Как сделать конструкцию со множественными исключениями? Вот так. Это если одна функция кидает разные исключения и тебе их надо по-разному обрабатывать. try: ____func() except MyException1: ____print('exception1') except MyException2: ____print('exception2')
Но видимо тебе не это надо. >Сейчас я делаю для каждого элемента Если хочешь ловить одно исключение для разных функций, то так: try: ____func1() ____func2() except MyException: ____print('exception!')
>except: >----pass Если тебе не надо обрабатывать исключения (просто хочешь чтобы они не возникали), то в питоне 3.4+ есть контекст менеджер для этого: from contextlib import suppress with suppress(MyException): ____func1() ____func2()
Есть два списка, некоторое из их элементов совпадают ЧАСТИЧНО, например, в одном есть 'вася', а в втором 'вася.петух', нужен список без таких совпадающих элементов, получается что set не подходит, поскольку нет полного совпадения. Как реализовать КРАСИВО?
>>793197 По инерции. Когда еще не было веб-движков под питон, на рынке набирал силу .net Но там требовались всякие лицензии. Поэтому рынок склонился к java, со временем джаву нагнул php. Куча сайтов написано на пхп и их нужно поддерживать. Рынок сейчас постепенно переходит на питон. По нескольким причинам. Разработка на пхп действительно требуют много времени. Я был тимлидом в стартапе. Меня реально заебало как мои программеры долго делали простые вещи на пхп. На всяких конкурсах по разработке нового стартапа, стали побеждать команды, которые за один день создавали новый стартап на питоне. При разработке использовали питон+джангу. Рынок это видит и сейчас в США на разработку стартапа как правило ищу питонистов. За последние три года согласно индексу tiobe питон поднялся с 10 места на 4. Питон стал задавать моду. Apple осознала как архаичен их objC и сделали Swift, очень похожий на питон.
Есть ли какой-то простой модуль шифрования? Я как-то не правильно гуглю. Делаю прогу на гуи, она спрашивает пароль, не хочу, чтобы он хранился в открытом виде.
Ребят, начал учить питон, после курса codacademy не знаю, за что взяться. Советов в интернете много, и все же, с чего начать, чтобы изучать питон в системе?
>>793252 Для опыта создай программу, которая открывает текстовой файл, и подсчитывает сколько встречается каждого слово. Например, видит слово "машина", сколько раз оно встречается в тексте? Итак каждое слово в тексте. Программа должна занимать не более 10 строк.
>>793257 Я вот читаю доки по hashlib. Но мне требуется зашифровать текст, хранить его у себя и чтобы пользователь никогда его больше не вводил. Сейчас у меня сделано топорно. Прога берет пароль из текстового файла и использует его. Мне нужно, чтобы пользователь один раз ввел пароль и больше его не просили об этом.
>>793265 >>793257 Причем тут хэширование? Тебе нужно зашифровать пароль в памяти, чтобы потом работать с ним. https://pypi.python.org/pypi/pycrypto В pycrypto уже большинство алгоритмов реализовано, можешь простым rsa2 впринципе пользоваться.
>>793283 При том, что хэширование делается очень быстро, по хешу практически невозможно восстановить пароль и хэширование однозначно - нахуя именно шифрование?.
>>793269 Ты не понимаешь, человеку нужен пайтон-вей >>793245 Держи: from itertools import product print(list(set(list1) - set([el[1] for el in product(list2, list1) if el[0] in el[1]])))
Здарова котаны. Понабилось мне перекатиться на генту, дошел до компиляции ядра, и оно час уже компилируется. Короче вопрос. Сколько времени занимает компиляция?
>>793313 Твой питон не очень, качай скилл. list1 = ['Вася.пидор', 'Петя.гной', 'Маша.шлюха', 'Саша.блядь', 'пека', 'йоба'] list2 = ['Вася', 'Петя', 'йоба'] print(list(set(list1) - {s1 for s2 in list2 for s1 in list1 if s2 in s1}))
>>793507 Вроде сам сделал def insert_many(self, things): self.conn.isolation_level = "DEFERRED" self.conn.execute("BEGIN") for t in things: self.conn.execute(self.__insert_request(t)) self.conn.commit() self.conn.isolation_level = None
>>790442 >К чему написал? Как первый шаг и чтобы дало те же +1 к мотивации не забросить всё как год назад, правда тогда я делал чисто ради интереса. Может есть кто-нибудь кто так делал или уже делает? Тоже изучаю django, потом собираюсь mysql и тоже устраиваюсь джуном. Чего уже добился? Может, как-нибудь свяжемся?
Джанганы, поясните за формы. Как сделать простые велосипедные каменты с аяксом? Везде форма вешается на отдельную вьюху с шаблоном. А мне надо, чтобы без редиректов, просто коммент добавлялся в текущию статью и все.
У меня вполне практический вопрос. Вот я хочу сделать сайт. Синтаксис я узнал питона, Лутца, укус, синк почитал. Что дальше, дайте пожалуйста четкий алгоритм того как делать сайты, про джанго слышал. Учить дальше html и css? Или можно уже приступать к созданию сайта?
>>793725 Я вот такой же новичок. Пока запустил хелловорлд на фласке. Потом сделал так, чтобы выводился ответ одной логики для заданных значений. Теперь сижу-разбираюсь, как клепать формочки, чтобы вводить значения.
Аноны, посоветуйте пожалуйста книги или ресурсы по алгоритмам и структурам данных, с использованием синтаксиса python, желательно на русском языке. P.S. данный перевод уже освоил http://aliev.me/runestone/index.html
>>793753 Понимаешь, по-моему мнению легче изучать ту же сортировку, оценку времени работы и графы на языке, на котором сейчас пишешь, а знаю я только python пока.
>>793740 Не, ну смотри вполне честный вопрос. Все наверное читали пасту про питон. Так вот. Погружение я прочитал, укус тоже, про стандартные библиотеки тоже почитал, пеп8 выучил. Дальше в пасте шла речь про написание имиджборды, лол. Как блеать ее написать? Где про это почитать? Ну и как пилить сайты?
>>793782 Я почему спрашиваю, покопался на форумах, дохуя людей которые задают вопросы по джанго и сетуют на то что мало туторилов. Например вот > Достаточно сносно выучил django и доки к нему, но после всех удачных проверок работы с помощью runserver, не было желания дотянуться до развертывания, да и было несколько неудачных попыток это сделать, мои навыки любой административной деятельности равны можно сказать 0, я читал уже на этом форуме несколько тем и ссылок как "просто развернуть django" я плохо понял о чем речь и поэтому задаю вопрос снова и конкретизирую что на данный момент я купил VDS и доменное имя которое я подключил к серверу, на старт в проекте у меня есть созданое виртуальное окружение с самим сайтом на django, с прописанным в settings путем к папкам static и templates как папки в корне проекта с помощью стандартной библиотеки python. Прописано можно сказать практически все, но я не знаю как; 1) Прописать доменное имя в мой сайт 2) Сделать конфиги для сервера или что либо еще, я ступорился на том что устанавливал все необходимые пакеты, и загружал папку с проектом и виртуальным окружением на сервак, активировал окружение - и все тупик. Учитывая что в теме развертывания я новичок прошу не пинать что я не могу сделать "элементарных вещей" , и прошу кто может поделитесь на простом и понятном(для новичка) уровне как " с нуля " развернуть сайт на ваше усмотрение.
>>793760 В алгоритмах важнее всего сложность и скорость работы. Поэтому частенько взрослые дяди пишут это на C или C++. Если учитывать оптимизированный код, то Python медленней их обоих.
>>793804 Не соглашусь. Именно разбираться в алгоритмах на питоне очень удобно. А когда разобрался, для тебя уже нет разницы, на каком языке реализовывать. мимо сишник
На сколько сложно сделать скрипт авторизации на сайте? Ну то есть я хочу написать скрипт, который бы авторизовался за меня на киви и передавал бы количество средств на кошельке. Что для этого нужно? Я так понимаю тут необходимо urllib и какая то библиотека с помощью которой парсят странички, так?
>>793925 Кстати, удваиваю. Я так понимаю, что на питоне писать не сложно. Но есть заеба с модулями и библиотеками. Я как то спрашивал, как можно посмотреть в той же консоле, ну в интерпритаторе список всех модулей и либ, мне не помогли. Хотел просто знать какие модули вообще существуют в питоне. Реквест остается.
>>790365 (OP) Не могу разобраться с asyncore. Переписал asyncore.dispatcher_with_send под прием-отправку HTTP, со страницами и файлами до 64Кб всё нормально. Если отправляю что-либо больше 64Кб - файл режется до этих самых 64Кб. Как фиксить, где может быть проблема?
>>794328 Если хочешь что-бы нажал две кнопки и все заработало, то джанго, а если хочешь хоть немного разобраться как все работает, то Flask или вообще Bottle
>>794458 > Ну рассказывай рецепт. Очень интересно. воу воу, палехче, я тоже не умеюно попробовал бы вот это - http://www.thedigitalmachine.net/alsaequal.html напердолить, просто звуковая подсистема линукса хоть и говно но имеет широкий спектр настройки, кучу костылей и подпорок, и при желании и капельке везения можно напердолить до вменяемого уровня, а ты скорее всего дальше pulseaudio не продвинулся.
> проще сигвин накатить проверенный один раз имел с ним дело, это говно висло намертвопроцессы висели до перезагрузки сервера после ввода любой команды, так что хуй знает какой он там проверенный.
решил погрузиться в python. 1. Для чего применяют питон. Вернее так: за какие области применения платят деньги/востребованы. 2. Как решается вопрос "кроссплатформенности", если разные версии питона имеют разный синтаксис - не запустится ведь! 3. посоветуйте литературу и фреймвоки для веба: парсинг сайтов, отправка запросов/регистрация и рассылка почты.
>>794506 Уебище, нахуй ты вообще в программирование вкатываешься? алсо, линукс используют в разных умных HiFi системах как раз за качественный звук, а то что ты там на своем говне накрутил басов на эквалайзере, а теперь не можешь в нормальный звук - никого не ебет.
>>794542 Нет. Типо приходишь на собеседование и беседуешь так словно ты неебаца профессионал. Ну разводишь короч демагогию, прям как на дваче, только тонко и просишь 100к рублей, те скажут, чтоб хуй соснул и предложат 30, соглашайся.
>>794495 Думал фрилансить начать без меня? У сука, а ну иди сюда, говно собачье! Читай страуструпа пока тошнить не начнет и бросай питон нахуй, это моя территория! Слышишь, это заказы мои и хуй я тебе отдам заказы гребаные. Ты у меня за копейку драться будешь, я из тебя все дерьмо выколочу пока бомжевать на пхп не начнешь! Проваливай с моей территории!
>>794548 С такой философией ты не уедешь далеко, ибо можно всегда найти в себе говно и миллиарды вариантов для роста. Ты никогда ничему не научишься полностью, всё меняется с каждым годом. Пока ты будешь читать книжки и делать примерчики, твой хлеб будут грести лопатами индусы. Продолжай и дальше упиваться перфекционизмом и создавать посты здесь. Благополучие других - это твои ленивые потуги читать книжки.
>>794450 Долбоеб, в линуксах питон собирать гораздо легче. Не можешь освоить десяток команд? Пиздец ты уебище, хули ты вообще забыл в программировании? Нравится править пути и собирать venv на шинде, больной ты ублюдок? Да вангую, ты ничего кроме скриптов на пару функций и не писал, говноеда кусок.
Прохожу курс на codecademy и тут задание, в котором нужно найти медиану. Write a function called median that takes a list as an input and returns the median value of the list. Ну написал я код: http://ideone.com/mhe8Fqhttp://goo.gl/nKUQTQ. По обоим ссылкам работает правильно, а вот их интерпретатор ругается: > Oops, try again. median([4, 5, 5, 4]) returned 4.0 instead of 4.5 Это у меня что-то не так или у них?
>>794527 каждая книжка начинается с того, что питон сейчас везде, типа и компилировать не нужно. Вот я и спросил, что у всех стоит разная версия питона, разный набор фрейвоков. В итоге, твой скрипт будет только у тебя работать..
>>794495 1. Для чего применяют питон. Вернее так: за какие области применения платят деньги/востребованы. Веб. 2. Как решается вопрос "кроссплатформенности", если разные версии питона имеют разный синтаксис - не запустится ведь! Ты вообще понял что сказал? Есть только две версии. Индустрия перешла на третий, второй умирает и нужен только для поддежки старого говна говноконторок в мухосрансках. 3. посоветуйте литературу и фреймвоки для веба: парсинг сайтов, отправка запросов/регистрация и рассылка почты. Литература для лохов, всё остальное можешь узнать загуглив или полистав требования вакансий.
>>794667 спасибо! Я думал, что есть архиполезные веб-фреймвоки, которые сами всё делают в две строчки и годные маны типа "отправка почты", "скачиваем ютуб", "парсим картинка двача" - чтобы не целые книги с нуля, а узкой направленности.
Написал свой ресторан для задачки из учебника. Ну как вам? Ассортимент сделал с помощью собственноручно написанного генератора кнопок и variable к ним же.
>>794671 >отправка почты Встроено в питон. >скачиваем ютуб youtube-dl >парсим картинка двача bs4, requests Всё уже написано за тебя, вбиваешь в поиске гитхаба и копипастишь это говно. Тысячи говна на любой вкус, можешь для вдохновления посерфить на @pythontrending, что народ в мире пишет.
>>794679 всё понял, про requests - уже слышал (к нему справка только на сайте? Это неудобно! Лучше в виде pdf/chm). п.с. используй слово "добро" всесто "говно" - это полезно для подсознания - формируются положительные эмоции ("нарыл кучу добра", "обмазался ценным добром":)
Господа, вы тут часто пишите про написание своей борды. Так вот: есть ли какое-то ТЗ или это сам себе казино? А то я в шапке не нашел. Хотел бы запилить какой-то конструктор борды в портфолио как когда-то сделал Лина-кун(может помнит кто) с кусабой. Сам могу в пистон, джангу трогал.
>>> >>> from threenames import a, b, c # Скопировать несколько имен >>> b, c (‘parrot’, ‘sketch’)
Из модуля threenames импортируются переменные, но в этом модуле есть ещё и инструкция (print a, b, c), результат которой не отображается в консоли по учебнику. У меня же результат этой инструкции отображается. В чём тут дело?
Господа, ниже листинг одного моего скрипта на питоне. Чтобы не утомлять вас техническими подробностями (которые к тому же, как мне показалось, не важны в контексте моего вопроса) я просто смоделировал такой же скрипт в точности скопировав архитектуру.
Что вы думаете о моём способе работы с исключениями? Как сделать лучше?
>>794863 По идее такая конструкция import module импортирует модуль и выполняет все инструкции, находящиеся в нём. А вот такая конструкция from module import attribute импортирует атрибут из модуля и делает из него переменную, занося в область переменных. Насколько я понял из учебника. И последняя конструкция не должна выполнять инструкции из module, а только вытаскивать атрибут из модуля. У меня же она импортирует атрибут и выполняет инструкцию точно так же, как и в первой конструкции. Или так и должно быть?
>>794863 Во втором случае он так и должен выполнять print(t)? В примере из учебника ничего не выводится при выполнении импорта через from module import attribute
>>794868 >>794871 Всё правильно выполняется, не переживай. Питон всегда проходит по модулю один раз и выполняет все инструкции. Это вполне логично, если подумаешь. Отлавливаются ошибки в коде, обрабатываются объявления функции и т.д.. Можешь написать print("a" - получишь ошибку. Для того, чтобы твой принт выполнился только при непосредственном запуске файла, а не при импорте его как модуля, есть конструкция if __name__ == "__main__": ...
>>794868 >>794871 Кстати, если попробуешь заимпортить из этого модуля что-то еще(или ту же переменную еще раз), принт не выполнится, так как питон уже сожрал весь модуль. Так же, если ты поменяешь что-то в самом файле и захочешь заимпортить его еще раз, то нихуя не произойдёт(загуглишь importlib.reload, хотя это может никогда и не понадобиться).
Код вбрасывать в тред через https://ideone.com/
Прошлый: