Сохранен 537
https://2ch.hk/pr/res/867611.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Python Thread

 Аноним 01/11/16 Втр 08:46:24 #1 №867611 
14779791842210.png
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Прошлый: >>861328 (OP)
Какашечка 01/11/16 Втр 08:59:35 #2 №867617 
питухон еще жив?
Аноним 01/11/16 Втр 09:21:34 #3 №867624 
>>867617
http://pypl.github.io/PYPL.html
Какашечка 01/11/16 Втр 09:28:21 #4 №867626 
>>867624
это же запросы гугля? писят хипстеров со смузи могут загнать питухон в топ.
Аноним 01/11/16 Втр 09:35:09 #5 №867627 
Перепостил вопрос из прошлого тхреада
Ананасы, кто-нибудь пилил работу с nmea координатами? Спарсиваю поток координат от маяка через pynmea2, расстояние N между определенными координатами вызывает условную функцию def f(). Но иногда вылетает какая-то левая координата с погрешностью >N и это вызывает ложное срабатывание def f().
Может кто уже изобрел велосипед от таких погрешностей или знает толковую питонячью либу - буду премного благодарен
Завтра ищешь книжку. Но не читаешь её от корки до корки... Аноним 01/11/16 Втр 09:44:02 #6 №867631 
Как читать книги?

Чтение книг, журналов, брошюр, статей на сайтах — прекрасный способ усвоения информации, но только если читать правильно. Что должно остаться после того, как перевернулась последняя страница? Определённо, новые знания. Но кроме того — ясное понимание «что и зачем», связи между отдельными фактами и целостная картина изученного материала. Как получить такой результат, рассказывает брошюра «Как читать книги?» Сергея Поварнина, русского логика и философа первой половины ХХ века.


Может ли чтение быть опасным?

Чтение всегда воспринимается как путь к знаниям. И это ошибочно. Существуют откровенно плохие книги, которые коверкают и опошляют душу. Их следует избегать, закрывать на первой странице, вычислять на полках и не прикасаться даже к обложкам. С таким книжным мусором можно относительно легко бороться, тщательно отбирая литературу к прочтению и используя списки лучших книг и рекомендации. Но есть куда более страшный враг познания — поверхностное чтение. Поварнин называет людей с таким недугом «фразёрами» и «людьми с кашей в голове».

> Есть очень много людей, которые читают только для того, чтобы не думать.
> — Георг Кристоф Лихтенберг, немецкий учёный и публицист

Вспомните какого–нибудь знакомого, сыплющего цитаты на все случаи жизни и своими действиями противоречащего им, или человека–кроссворда, что знает миллион фактов на свете и при этом не понимает ни единой связи между ними. Вот это именно они — люди, знающие многое и не понимающие ничего. Появление таких типов — результат неумения читать правильно, а также отсутствия связи теории и практики. Непонятое и не закреплённое действием, знание так и остаётся в качестве сухих заученных фраз.

> Отрядом книг уставил полку,
> Читал, читал, а всё без толку…
> — Александр Пушкин, русский поэт


А чего вы хотите от книги?

Книгу можно читать, чтобы, к примеру, изучить новый раздел науки или найти ответ на вопрос. От этой цели, с которой мы обращаемся к книге, зависит и способ чтения. Чтобы разыскать информацию по вопросу, необязательно читать всё от начала до конца, а понять материал тяжело, если читать по диагонали. Поэтому, приступая к книге, необходимо сразу определить цель чтения и выбрать подходящий способ. Поварнин различает 4 таких варианта:

Беглый просмотр — прочитать содержание, полистать книгу, обратить внимание на заголовки и некоторые выделенные отрывки.
Неполное чтение — просмотреть содержание, найти интересующий раздел, внимательно его изучить.
Полное чтение — прочитать книгу последовательно от начала и до конца без пропусков.
С проработкой содержания — тщательно изучить книгу, «проработать», понять материал и сделать его «своим».

Третий вариант — это самый частый вариант чтения. Мы открываем книгу и начинаем читать со слов «Посвящается моим детям», пока не наткнёмся на лист с типографской информацией. Это прекрасный вариант для чтения художественной литературы. Страница переворачивается за страницей, открываются характеры героев, стремительно развивается сюжет, и мы проживаем его вместе, впитываем в себя характеры и поражаемся удивительно яркой и точной мысли автора.

Но этот вариант совершенно не подходит для чтения научной литературы. Такой способ не позволяет увидеть общую картину, он последовательно открывает нам всё более сложные разделы, но при этом не даёт никакой связи между знаниями. Поэтому для изучения сложного материала Поварнин предлагает другой способ, помогающий и понять, и навсегда запомнить.

Способ чтения и цель можно связать так:

беглый просмотр — ознакомление с книгой, стоит ли её читать;
неполное чтение — поиск ответов на вопросы;
полное чтение — для художественной и вдохновляющей литературы;
с проработкой содержания — для изучения книг для самообразования, по работе и учёбе. Здесь важно понять и запомнить новый материал.

Постоянно держать цель в голове и помнить о выбранном способе — вот путь избежать траты времени на изучение ненужной информации или, наоборот, на слишком поверхностное неэффективное чтение.

> Самообразование требует самодеятельности. Но самодеятельность эта должна выражаться не в самонабивании головы плохо понятыми сведениями, а в усвоении их и в саморазвитии.

Самый малораспространенный способ чтения — с проработкой содержания, а ведь именно он позволяет максимально качественно изучить материал. Особенно это важно при чтении книг для самообразования.
Завтра ищешь книжку. Но не читаешь её от корки до корки... Аноним 01/11/16 Втр 09:44:34 #7 №867632 
Как «прорабатывать» книгу?

Факт, который нужно принять перед изучением научной литературы — её нельзя читать «в лоб», последовательно от корки до корки.

Шаг, который отделяет чтение «фразёра» от настоящего понимания прочитанного — осознание связей между фактами и ясное видение общей картины. Важно четко понимать, как связано только что прочитанное с уже известным материалом, а также представлять его место в книге в целом.

Основное правило понимания формулируется так: «От общего к частному. От частного к общему».

Сначала необходимо «охватить книгу», поймать её главный смысл и определить составляющие части. Затем углубляться в каждую часть отдельно, последовательно дробя книгу на более мелкие отрывки — продвигаться от общего к частному. Это поможет видеть структуру нового материала и понимать, что откуда следует. При этом одновременно надо осознавать положение отдельного отрывка в масштабе всей книги. Это позволяет точно определять связи, находить соответствия и понимать «а зачем это вообще придумали?» — двигаться от частного к общему. Но и это ещё не всё. Нужно находить точки соприкосновения прочитанного материала с уже известным, обдумывать и смаковать каждую мысль, осматривать её со всех сторон и проверять на прочность. Чем больше работы над текстом, тем прочнее знания.



> То, что мы вычитали в книге, должно как–то связаться с имевшимися уже у нас мыслями, сведениями, эмоциями и т.п., войти в систему их, или изменить их. В этом и состоит его работа; это и есть «отработка» содержания книги. И чем глубже устанавливается связь между прочитанным и имевшимся раньше у нас, чем больше и глубже дополнения и изменения, вносимые прочитанным, тем лучше и глубже обработка.


Так как читать?

Чтобы проработать книгу, стоит изучать её в таком порядке:

Предисловие. Здесь обычно «автор выясняет задачи, которые ставит книге». Прочитав его, можно понять суть и смысл написания книги.
Введение. В этой части автор рассказывает о том, что нужно для понимания книги, приводит уточнения, подробности изложения. Введение уточняет главную цель книги.
Оглавление. «Обыкновенно с его помощью мы можем, ещё не читая книги, узнать общий план её, основные рубрики, общее содержание, основные темы, в ней затронутые». Именно оглавление помогает постепенно переходить от общего к частному и раскрывает структуру книги.
Заключение. Чрезвычайно важный пункт. Здесь чаще всего подводится итог выполненной работы, снова указывается смысл и план книги, и формулируется главная мысль книги.
Основная часть. Чтение книги целиком, с тщательной проработкой материала.

Первые четыре пункта являются основой для изучения любой книги. В зависимости от впечатления уже можно выбрать подходящий способ чтения.

Иногда приходится всю работу ограничить именно этими четырьмя шагами, так как они позволяют кратко просмотреть и составить определенное мнение о книге.
Совет: после прочтения книги восстановите в памяти её содержание и смысл. Это помогает заметить недостаток понимания, почувствовать, какие места в книге пропущены и недостаточно разобраны.

Чтение с проработкой — трудоёмкий и непростой процесс. Редко получается его освоить с первого раза, зато даже небольшие первые шаги дают существенный скачок в понимании.

Сергей Поварнин перечисляет навыки, которые придётся развить для того, чтобы читать правильно:

Сосредотачиваться на том, что читаешь.
Выжимать самую сущность читаемого, отбрасывая мелочи.
Охватывать мысль автора вполне ясно и отчётливо: это помогает выработке ясности и отчетливости собственных мыслей.
Мыслить последовательно и осторожно — целое богатство, ничем не заменимое; кто обладает им, тот обладает самой основой настоящей образованности и не может не обладать знаниями; он обладает ключом к глубокому чтению, а вместе с тем и к более глубокому пониманию жизни.
Наконец, воображать ярко и отчётливо, как бы переживая то, что читаешь, — дар, о важности которого многие и не подозревают.


Что же мешает нам читать максимально продуктивно?

Казалось бы, раз читаешь книгу, нашёл на неё время, отказавшись от альтернатив, так читай и забирай из неё важное, медленно и обстоятельно, делай открытия автора своим достоянием. Но раз за разом книги пролетают мимо, задевая лишь поверхностно наши мысли и оставляя в памяти одно название. Причина — лень мышления. Без тщательной проработки материала, без проверки на истинность мнения автора, без обдумывания предложенных вопросов упускается возможность понять и запомнить материал. То самое пропущенное доказательство есть самое сложное место и причина непонимания.

> Автор доказывает что–нибудь. Надо проанализировать его доказательство. Но для этого требуется некоторое напряжение мышления: и вот мы скользим далее, скорее, туда, где этого усилия не требуется. Читать с наименьшим усилием, с наименьшим напряжением мысли и воображения — вот нередкая склонность. И она — величайшая помеха при чтении.

При проработке текста включаются так называемые мнемотехнические законы памяти. Например, закон осмысления — чем глубже осознать запоминаемую информацию, тем лучше она запомнится. Или закон контекста — при связывании информации с уже знакомыми понятиями новое усваивается лучше. Поэтому один из ключевых моментов для понимания книги — не лениться, каждый раз проверять прочитанное, ставить под сомнение мысли и утверждения автора. Не жалеть на это времени и сил, ведь чем глубже работа с текстом, тем прочнее впитываются полученные знания.
Аноним 01/11/16 Втр 11:13:15 #8 №867650 
Аноны, попробовал запустить скрипт из этого поста https://tproger.ru/translations/mosaic-from-random-images/ чтоб сделать фото-мозаику. Но как только я его запускаю, у меня ноут резко начинает виснуть и даже вырубить скрипт получается с трудом.
Посмотрите плиз, это я запускаю как обсосок, или скрип хуевый и должен долго обрабатывать.
Аноним 01/11/16 Втр 11:59:47 #9 №867668 
Как начать учить питон, если мне лень?
Аноним 01/11/16 Втр 12:06:30 #10 №867672 
>>867668
Не начинай.
Аноним 01/11/16 Втр 12:11:28 #11 №867678 
Подскажите луше есть ли годные онлайн-курсы по питону, пусть и платные, с нуля или не с нуля, и что б сертификатом их не подтираться.
Аноним 01/11/16 Втр 12:29:23 #12 №867684 
>>867631
>>867632
Зачем ты принёс сюда это говно?
Аноним 01/11/16 Втр 12:42:01 #13 №867690 
>>867678
>курсы
>что б сертификатом их не подтираться
raise DoesNotExist
Аноним 01/11/16 Втр 13:07:11 #14 №867705 
>>867684
Чтобы люди знали, как правильно работать с книжками, а не просто читали их в надежде на автоматические знания, как часто отписываются ИТТ.
Аноним 01/11/16 Втр 13:07:17 #15 №867706 
>>867678
курс фенобарбитала пройди
Аноним 01/11/16 Втр 13:08:05 #16 №867707 
>>867678
>сертификатом их не подтираться
Это как? Где-то смотрят на сертификаты с онлайн-курсов?
Аноним 01/11/16 Втр 13:08:38 #17 №867709 
Пишу для дипломной работы реализацию одного алгоритма с NLTK. Нужно прикрутить гуй. Есть ли смысл пилить на питоне десктопное приложение, и если да, то в какой гуи фреймворк лучше вкатиться?
Аноним 01/11/16 Втр 13:09:42 #18 №867710 
>>867709
А какие виджеты тебе нужны?
Аноним 01/11/16 Втр 13:14:07 #19 №867713 
>>867710
Чтобы отображался текст, кнопки и картинки.
Аноним 01/11/16 Втр 13:17:45 #20 №867716 
>>867713
Tkinter за глаза
Аноним 01/11/16 Втр 13:20:47 #21 №867717 
>>867716
Спасибо!
Аноним 01/11/16 Втр 14:40:45 #22 №867781 
Кто вчера это писал? http://ideone.com/FVf8Vu Можешь пояснить за первый способ. У меня никак не получается заставить его работать. Пишу вот так. http://pastebin.com/qdXaAGhF Он запускается и зависает после того как выведет 50. Не понимаю что в этот момент происходит.
Аноним 01/11/16 Втр 16:04:25 #23 №867825 
>>867781
Что за хуйня? Даже этот вариант не хочет работать.
http://pastebin.com/NjtXxYvu
Аноним 01/11/16 Втр 16:31:32 #24 №867840 
>>867611 (OP)
Она не на питоне кодит, а хуй сосёт.
Аноним 01/11/16 Втр 16:43:05 #25 №867846 
>>867840
Блять! Как теперь развидеть?
Аноним 01/11/16 Втр 16:46:39 #26 №867851 
>>867846
Но зачем?
Аноним 01/11/16 Втр 16:56:07 #27 №867863 
>>867840
Но это же одно и то же.
Аноним 01/11/16 Втр 16:58:15 #28 №867866 
Хочу работать с Api питона, посоветуйте по нему книжек.
Аноним 01/11/16 Втр 16:58:36 #29 №867868 
>>867863
ах ты маленький пидрило! проецируешь свои любимые писюны во все стороны
Аноним 01/11/16 Втр 17:28:24 #30 №867893 
>>867781
>>867825
Бамп
Аноним 01/11/16 Втр 17:33:03 #31 №867896 
Антуаны, я тут новенький, питон только с курса на Codecademy и кат на Codewars немного подчерпнул. Вот набросал скрипт для парсинга сосача (сугубо для личных целей, не успеваю во все фаптреды заглянуть), посмотрите мой говнокод? Нужна критика.
Аноним 01/11/16 Втр 17:55:16 #32 №867909 
>>867896
Где код-то, конь? Сука, ты уже накосячил. __орёт__
Аноним 01/11/16 Втр 17:56:08 #33 №867915 
>>867909
https://github.com/TheUnravelGhoul/Py2chParser
Аноним 01/11/16 Втр 18:11:18 #34 №867926 
>>867915
Говно, но нормально. Как-то так выглядит 99,9 % кода, написанного на питоне. На всякий случай ещё раз прочитай PEP8 и сделай import this.

Иф длиной 249 символов насмешил. Геттеры, сеттеры и кемелкейс обычно во всяких уродских биндингах с крестов только присутствуют, в питоньем коде всё это нинужно. Странные манеры андерскорить все переменные в скоупе не нужны тоже. Если уж кровь из носу нужно использовать имя с кейвордом или стандартной функцией, то по конвенции андерскор ставят после: class_

Аноним 01/11/16 Втр 18:13:28 #35 №867930 
И напомню, что двойные кавычки ставят только опущенцы. Правильными кавычками являются одинарные.
Аноним 01/11/16 Втр 18:13:59 #36 №867931 
>>867926
Да, иф самого немного напрягает, но так как нужно искать вхождения и в заголовках (для тематики) и в оп-посте, пришлось писать.

Геттеры-сеттеры - привычка с жабы, буду знать.

>>867930
Чому?
Аноним 01/11/16 Втр 18:16:25 #37 №867935 
>>867915
Про апи двача слышал?
Аноним 01/11/16 Втр 18:19:39 #38 №867939 
>>867935
Дыа. Для слабаков. Суть в том, что хочется чему-то попутно научиться, вот первый раз с супом поколупался.
Аноним 01/11/16 Втр 18:36:55 #39 №867962 
Бороздя просторы интернета в поисках практики на моех любимом питоне наткнулся на весьма интересную статью на хабре. https://m.habrahabr.ru/company/mailru/blog/215487/

Предлагаю добавить её в фак для вкатывающихся ньюфагов.
Аноним 01/11/16 Втр 19:29:51 #40 №867998 
>>867931
А не стоит всё в одну строку паковать.
https://gist.github.com/anonymous/7ee2bfcd16b1fbf026186e77817df270

Файнд олл всегда используется, чтобы взять первый элемент. Разве в супчике не было файнд некст или как-то так? Лучше уж сразу вытащить оппост и работать с ним, а не с первым постом в треде, с первым заголовком в треде, с первым рефлинком в оппосте и т. п. Сам понимаешь, ненадёжно это.
Аноним 01/11/16 Втр 19:38:26 #41 №868001 
>>867781
А вот этот код работает http://pastebin.com/Qn5eCRb3 Но после communicate поток закрывается и писать туда больше нельзя. А если вместо него stdout.read писать, то он зависает и вечно что-то ждёт. Что делать?
Аноним 01/11/16 Втр 20:04:14 #42 №868015 
>>867678
raise GoToFuckOut('ASSHOLE DETECTED')
Аноним 01/11/16 Втр 20:05:52 #43 №868018 
>>867840
> хуй сосет
*питона сосет.
Слоуфиск.
Аноним 01/11/16 Втр 20:06:34 #44 №868020 
>>867866
http://python.org
Аноним 01/11/16 Втр 20:14:05 #45 №868023 
>>868001
Бамп
Аноним 01/11/16 Втр 20:31:03 #46 №868035 
>>868023
Дерьмовый способ, не используй. Сделай на сокетах.
Аноним 01/11/16 Втр 20:35:45 #47 №868037 
>>868035
Хотел максимально просто сделать. Щас погуглю сокеты. Что нужно знать про них кроме синтаксиса питона? Ни разу ими не пользовался.
Книга Риша 01/11/16 Втр 20:38:05 #48 №868039 
Посоветуйте гуд книгу по писону, желательно с задачами/примерами и gui/веб. Спасибо.
Аноним 01/11/16 Втр 20:51:12 #49 №868047 
Мне кто-то в предыдущих тредах рекомендовал не ебать голову со всякими parler а навернуть django-modeltranslation - Добра тебе, братишка. Охуительное.
Аноним 01/11/16 Втр 21:05:19 #50 №868057 
>>867915
не складывай строки, не пиши условия в скобках, форматируй через format, а не через % и вообще полистай pep-8
Аноним 01/11/16 Втр 22:55:58 #51 №868111 
Питоны, нужна ваша помощь.
Есть прога FreePIE, в которой можно запускать скрипты питона.
Есть код - http://pastebin.com/0gn01Krg
26 строка, как я понимаю, по нажатию на капслок происходят некоторые действия.
Как сделать, чтоб эти действия происходили только когда клавиша удерживается нажатой?
в гугле выдает одну хуету
Аноним 01/11/16 Втр 23:12:17 #52 №868118 
>>868111
запускай цикл, который завершается только по event'у отпускания кнопки.
Аноним 01/11/16 Втр 23:22:19 #53 №868122 
>>868118
Я бы рад, но я в питоне вашем вообще нулевой.
Я так понимаю, что эти события берутся из подключаемых библиотек, верно? Где посмотреть все эти события и что они возвращают?
Аноним 02/11/16 Срд 01:09:36 #54 №868175 
>>867930
Вот ты, Гвида, и попался!
Аноним 02/11/16 Срд 01:38:30 #55 №868183 
>>868122
Я тоже, но вроде понял.

https://www.reddit.com/r/Python/comments/2zfb6g/windows_guide_to_getting_getting_keyboard_and/

GetKeyState, кажется, возвращает положение кнопки. Делаешь тоже самое, что и у тебя, но проверяешь, чтобы кнопка была нажатой, при нажатии запускается цикл, в котором идут твои действия, при отпускании цикл прерывается. Я вообще ноль, но я бы сделал как-то так, если образно:

while(нажата):
Твои действия

Аноним 02/11/16 Срд 01:45:58 #56 №868185 
>>867915
Говно без задач
Аноним 02/11/16 Срд 01:52:55 #57 №868189 
>>868185
Спасибо. Я же говорил, что для личных целей делалось, но мне нужна была критика. На питоне первый раз пишу что-то больше 10-20 строк.
Аноним 02/11/16 Срд 02:32:34 #58 №868196 
>>868183
Спасибо, добра.
Аноним 02/11/16 Срд 07:30:58 #59 №868227 
>>867926
>Геттеры, сеттеры и кемелкейс обычно во всяких уродских биндингах
>с крестов
Что ты несешь?
Аноним 02/11/16 Срд 07:43:49 #60 №868230 
Посоветуйте движок под питон, чтобы можно было свою 2Д игру написать.
Аноним 02/11/16 Срд 08:04:47 #61 №868237 
>>867935
Алсо правильно ли юзать beatifulsoup для парсинга json? Там же всё равно xml-структура, из которой надо цеплять, допустим, текст поста.
Аноним 02/11/16 Срд 08:40:21 #62 №868246 
>>868237
нет конечно! import json
Аноним 02/11/16 Срд 08:49:25 #63 №868249 
>>868230
В питоне крайне тухло с живыми и кем-то используемыми игровыми движками. Попробуй Blender Game Engine.
Аноним 02/11/16 Срд 09:03:01 #64 №868252 
>>868227
Просвещение.
Аноним 02/11/16 Срд 09:33:38 #65 №868256 
И снова, здравствуйте.

Скопирую с прошлого треда сюда.

Доброго вечера, господа. В кратце: Работаю почти год прогером. Пишу на джанге.
Хочу освоить asyncio но не знаю с чего начать. Точнее так, по каким-то туториалам что-то делаю/копипастю и что-то получается, но проблема не решается - я не могу написать нормально неблокирующую херню. Например классика - парсер. 10 ссылок нужно спарсить не блокируя поток. Как это сделать, если await ждет? Нашел несколько разных вармантов один из которых: создать корутины для всех ссылок и передать их в asyncio.wait () и мол они там все запустятся и первая функция, которая завершится - отдаст ответ и тд. Правильно ли это? Блять, я аж бомблю от того что нет нормального описания того, где как и что использовать. Поясните мне, тупому, блять, как с этой хуйней совладать. Если не сложно, знающие аноны, распишите подробно. Буду рад и ссылкам и прочему, но в приоритете жду человеческого объяснения основы этой. Чтоб я точно понимал, нахуя мне этот asyncio и почему и где мне его использовать
Аноним 02/11/16 Срд 09:38:10 #66 №868258 
>>868256
Процитирую еще один из ответов который вызвал вопросов больше чем ответов.

>>867496
Поясняю - asyncio не панацея и хорошо помогает только если у тебя затык в I/O - ждем ответ от сервера, ждем данные из сокета и тому подобное. asyncio отлично подходит для веба, где большие задержки и затыки.
Когда твой скрипт блокируется на уровне "парсинг страницы занимает 20 секунд", то asyncio никак не поможет - остается выделять парсер в отдельный процесс или запускать на отдельной машине.

>Как это сделать, если await ждет?
>создать корутины для всех ссылок и передать их в asyncio.wait ()
Ты прав, только когда конкретно .wait() вернет, контролируется аргументом return_when
Еще есть asyncio.gather() и asyncio.create_task()


Вот он в конйе пишет, что есть еще gather и create_task, не считая asyncio.wait.
Вот как понять, где какой метод лучше использовать?
Аноним 02/11/16 Срд 10:10:31 #67 №868265 
Суп, питонисты. Мне нужно сохранять на локальную машину таблицу (условно), каждая строка таблицы состоит из поля с текстом на несколько абзацев, числового флага и ещё пары текстовых полей. Потом эту таблицу нужно будет также подгружать с этой же локальной машины. Как это лучше реализовать: сериализовать в json/protobuf, или запилить базу данных (например, h2)?
Аноним 02/11/16 Срд 10:55:38 #68 №868281 
>>868230
>>868249

Годот же.
Аноним 02/11/16 Срд 11:08:35 #69 №868286 
>>868281
Там не питон же.
Аноним 02/11/16 Срд 11:10:50 #70 №868288 
>>868286
Йеп, там Godot Script, но он, насколько помню, основан на питоне, и от него отличается очень и очень немногим.
Аноним 02/11/16 Срд 11:27:01 #71 №868290 
>>868265
Если сомневаешься - дампай в pickle!
Аноним 02/11/16 Срд 14:03:00 #72 №868405 
14780845800790.jpg
Я совсем тупой мудак. Что я делаю не так? Пиздец на такой простой хуйне запороться.
Аноним 02/11/16 Срд 14:18:20 #73 №868411 
>>868405
Окей, с этим дерьмом я справился.
>answer > 5 и т.д.
Разве можно работать таким образом со строками? Я думал, что нужно преобразовать число в строку что бы не было всяких проблем, а тут выходит строка "ответ" больше 5. Как так? Я совсем запутался.
Аноним 02/11/16 Срд 14:22:19 #74 №868417 
>>868411
answer - это переменная, уёба, в которую ты передаёшь 4, 5, 6
Аноним 02/11/16 Срд 14:22:38 #75 №868420 
>>868411
answer - переменная. ты вызываешь функцию передаешь ей число в качестве аргумента - все правильно. при чем здесь строки?
Аноним 02/11/16 Срд 14:30:44 #76 №868426 
>>868420
Я не знал, что так можно. Откуда я вобще мог знать об этом?Я думал что answer это аргумент. У меня вобще крыша едет от этой всей залупы. Выходит если
def hui(pizda)
print hui(4)
то пизда будет равна 4 ? Я прост раньше думал, что нужно сначала создать переменную.
Аноним 02/11/16 Срд 14:36:20 #77 №868432 
>>868426
>то пизда будет равна 4 ?
да

Почитай какие-нибудь книги, где объясняют про функции. Лутца, например.
Аноним 02/11/16 Срд 14:41:36 #78 №868438 
>>868290
Спасибо! pickle лучше всех
Аноним 02/11/16 Срд 14:48:20 #79 №868446 
>>868432
Я его как раз и читаю, но до функций еще не дошел.
Аноним 02/11/16 Срд 16:47:24 #80 №868522 
14780944440710.png
Блять, как же припекло. Ебучая академия, ну нахуя так мозги ебать. Все же правильно сделал, немножко по своему но результат получается тот который нужен, тот который задавали изначально. Нет блять, хуй тебе пидарас. Делай так как написано, следуй строго по инструкции. Делай как сказали, тварь. Столько времени угандошил, что бы разобраться в том, что именно они хотели от меня. Я понимаю, что они хотели научить меня ебаному срезу. НО Я ВЕДЬ И ТАК ЕГО ПРИМЕНИЛ, ТОЛЬКО ЧУТЬ ЧУТЬ ПО СВОЕМУ.
извиняюсь за баттхерт, нужно было излить свое негодование по поводу данного ресурса
Аноним 02/11/16 Срд 19:37:35 #81 №868647 
>>868037
Читаю про общение процессов через сокеты. Там везде локалхост прописывают. Без этого можно будет сделать? У меня будет 2 клиента и 1 сервер. А клиенты в стандартный ввод и вывод пишут.
Аноним 02/11/16 Срд 22:31:19 #82 №868749 
14781150791000.jpg
Анон, есть фотогалерея, которую я хочу скачать с помощью скрипта + BS4.
Сама страница галереи в формате html, а дальше начинаются проблемы:
при нажатии на изображение открывается не новая страница, а просто подгружается фото,
а адрес изменяется на galery_name.html#page=2 и т.д.
Пока что таким образом вытаскивал изображения из отдельных страниц, с AJAX и т.д. почти не знаком, реквестов POST там вообще нет.


Аноним 03/11/16 Чтв 03:33:35 #83 №868864 
>>868258
> Когда твой скрипт блокируется на уровне "парсинг страницы занимает 20 секунд", то asyncio никак не поможет - остается выделять парсер в отдельный процесс или запускать на отдельной машине.
это бред какой то. каким образом парсинг, не делающий блокирующих операций, может заблокировать луп!?
Аноним 03/11/16 Чтв 03:35:52 #84 №868866 
>>868647
посмотри в сторону zeromq там есть rpc и нормальные питонячьи биндинги
Аноним 03/11/16 Чтв 03:47:31 #85 №868869 
>>868749
тут нужен selenium
Аноним 03/11/16 Чтв 04:36:25 #86 №868871 
>>868647
А чем localhost и сетевые сокеты плохи? Можешь использовать unix sockets, если еще не зашкварился.
Аноним 03/11/16 Чтв 05:23:39 #87 №868880 
>>868864
>каким образом парсинг, не делающий блокирующих операций, может заблокировать луп!?
В случае неблокирующего парсинга, очевидно, никак. Однако, твой вопрос подстроен под этот ответ.
"Каким образом сухая вода может намочить?"
Ты уверен, что блокирующих вызовов в парсинге нет?
Аноним 03/11/16 Чтв 06:04:48 #88 №868888 
>>867930
Чтобы потом экранировать одинарные кавычки?
Аноним 03/11/16 Чтв 06:10:51 #89 №868891 
14781426513160.webm
>>868405
> if 4 > 5
Сделал мой день.
Аноним 03/11/16 Чтв 06:41:05 #90 №868905 
14781444659830.jpg
>>868891
Подождите, это еще не все!
Аноним 03/11/16 Чтв 06:41:35 #91 №868906 
14781444951270.jpg
>>868905
Готовы?
Аноним 03/11/16 Чтв 06:42:52 #92 №868907 
14781445724400.jpg
>>868906
>elif 4 < 5
Аноним 03/11/16 Чтв 06:49:12 #93 №868909 
>>868888
Пиздец просто!
Да за такие вопросы у нас heredoc заставляют для все строковых литералов использовать!
Аноним 03/11/16 Чтв 07:05:31 #94 №868912 
>>868888
Вот для таких редких случаев и нужны двойные кавычки!
Аноним 03/11/16 Чтв 07:10:41 #95 №868913 
Итак, я ржу с Задорнова. Похоже, мне снова 8 лет.
Аноним 03/11/16 Чтв 10:34:50 #96 №868960 
14781584904430.png
>>868907
Аноним 03/11/16 Чтв 10:46:55 #97 №868963 
>>868891
это ты с компами слабо знаком и плавающей запятой
уверен где-то в глубине твоей шайтан-коробки в самом её процессоре валяется инструкция на машинном коде if 1 == 1.00000000034: dowork()
Аноним 03/11/16 Чтв 11:21:44 #98 №868977 
>>868963
Эксперт в треде, все в мантиссу!
Аноним 03/11/16 Чтв 21:10:43 #99 №869299 
>>868880
да, какие блокирующие вызовы делает bs, lxml, regexp в конце концов?
Аноним 03/11/16 Чтв 21:13:11 #100 №869302 
>>868405
уебывай со своей донатной парашей.
Аноним 03/11/16 Чтв 22:44:15 #101 №869397 
>>869299
Пока выполняется код от await до await луп заблокирован.
Аноним 03/11/16 Чтв 23:53:57 #102 №869435 
14782064373600.jpg
>>868869
С selenium бы и аутист справится. В статьях посаны и по POST вытаскивают все что нужно.
В моем случае все оказалось проще: ссылки на исходники и thumbnails были в скрипте в <body>. Что-то слишком легко получилось.
Аноним 04/11/16 Птн 03:41:03 #103 №869512 
>>868647
> Без этого можно будет сделать?
Разделяемая память. У нас это в вузе на первом курсе преподавали.
Аноним 04/11/16 Птн 04:19:30 #104 №869523 
>>869397
хаха. что это за код то такой между между? между булок твоей мамаши? наличие блокирующего кода пораждает рантаймерор вообще то:
> RuntimeWarning: coroutine 'foo' was never awaited foo()
Аноним 04/11/16 Птн 05:41:08 #105 №869532 
Привет, змеяч. Пишу на Питоне третий раз в жизни (в этот раз как никогда раньше понадобилась динамикодрисня), прошу помощи.

Есть код: http://pastebin.ubuntu.com/23423531/

Он находится в файле models/__init__.py. Я хочу его разбить на модули как-то так:

models/amount.py
models/aggregation_function.py
models/modification_function.py
models/requirement.py

Собственно, если так сделать и разбить всё на файлы, то из-за взаимных импортов ничего не работает. Пытался по-всякому пердолить, но понимаю, что нужно совсем другую структуру выбирать, однако, до решения сам дойти не могу пока. Вся эта параша нужна для парсинга одного большого JSON'а, в котором описаны разные объекты с помощью этих моделей.

Буду рад любому совету. Понимаю, что мою парашу мало кому интересно будет разбирать, но больше мне спросить не у кого.
Аноним 04/11/16 Птн 06:28:03 #106 №869534 

>>869532
и в чем тебе помочь? переписать за тебя что бы не было взаимных импортов? может данунахуй!? алсо что за девиация такая пихать рабочий код в __init__.py?
Аноним 04/11/16 Птн 06:30:09 #107 №869535 
>>869532
ну ок, разбиваешь на модули. в инит.ри пишешь
> from amount import Amount ....
Аноним 04/11/16 Птн 06:35:54 #108 №869537 
>>869534
Переписать и сам смогу, если объясните, че мне делать, если объекты зависят друг от друга, блджад.

> алсо что за девиация такая пихать рабочий код в __init__.py
Я начал в отдельную директорию пихать код, разбив его на несколько файлов, и в итоге соснул хуйца. Затем объединил всё в один файл, но оставил в отдельной директории, чтобы в будущем всё же сделать то, что хочу. Можно было догадаться, though.

>>869535
Это было сделано перед тем, как я всё объединил в один файл. Нет, не взлетит, amount.py импортит aggregation_function.py, а aggregation_function.py — amount.py. Также пробовал делать импорты в этих файлах через __init__.py, но это ещё более тупая затея, конечно же.
Аноним 04/11/16 Птн 06:41:01 #109 №869538 
>>869537
что бы избежать конфликтов в импортах, это конечно костыль, но для тебя не могущего нормально построить архитектуру классов, сойдет: импортируй не в начале файла а в теле функции. то есть буквально перед использованием чего то импортируй это.
когда разобьешь на модули и сделаешь как я сказал: прописать импорты в инит, то ты сможешь сделать так, в стороннем коде:
> from models import Amount
Аноним 04/11/16 Птн 06:42:06 #110 №869539 
>>869538
вот так https://github.com/thauber/django-schedule/tree/master/schedule/models
Аноним 04/11/16 Птн 06:44:13 #111 №869540 
>>868405
> 4 < 5

Сука, как же я ору, бля
Аноним 04/11/16 Птн 06:48:13 #112 №869541 
>>869538
> но для тебя не могущего нормально построить архитектуру классов
Для тебя, не могущего в запятые и прописные буквы, объясняю: я пишу парсер JSON, в котором что-то вроде своеобразного AST, и структура JSON мне диктует архитектуру классов.

Числа в данном JSON могут быть представлены как и обычными числами, так и хитровыебанными объектами, ссыляющимися на ресурсы в другой части документа. В таких хитровыебанных объектах могут быть условия, которые, в свою очередь, могут включать хитровыебанные объекты, которые... OH SH~ Нутыпонел.

Как тут можно без взаимных импортов обойтись, если они уже есть в условии задачи, я не знаю.

И да, я гуглить умею и знаю про тот костыль, который ты мне посоветовал, и мне он не подходит. Но спасибо за вимание, че.
Аноним 04/11/16 Птн 06:49:51 #113 №869542 
>>869541
епта, ну вынеси ты ебучий общий функционал в base.py ебанаврот и импортируй его везде
Аноним 04/11/16 Птн 06:50:51 #114 №869543 
>>869542
и наследуйся от него
Аноним 04/11/16 Птн 07:00:43 #115 №869544 
>>869542
>>869543
Ты мне сейчас говоришь, по сути, объединить всё в один модуль (или запихать в класс десятки лишних полей), чего я хочу избежать. Потому что это пока там всего-то нихуя кода, но нужно написать ещё много тысяч строк этого говна (на пике то, что влезло в экран а влезло туда меньше пары процентов папок, и это нужно переписать на Питон).

В языке со статической типизацией я чуть пошаманил с парсером JSON, в полях классов указал лишь интерфейсы, а потом ужа туда анмаршалил объекты, реализующие данные интерфейсы. А в Питоне вот четыре часа с импортами ебусь, пиздец.
Аноним 04/11/16 Птн 07:01:06 #116 №869545 
14782320662420.png
>>869544
Пик отвалился.
Аноним 04/11/16 Птн 07:05:50 #117 №869546 
>>869545
>>869544
Если что, пока обойдусь локальными импортами, но если кто-то хочет что-то посоветовать или обоссать меня, то я еще послежу за тредом. Спасибо.
Аноним 04/11/16 Птн 07:14:54 #118 №869548 
>>869546
ну тебе полюбому надо абстрагироваться от реализаций при таком количестве кода, иначе ждет тебя ад. хз как это сделать без базовых классов.
Аноним 04/11/16 Птн 07:27:46 #119 №869549 
>>869548
Я совсем не понимаю, похоже, что ты подразумеваешь под базовым классом. Это и есть четыре базовых класса документа, лол: числа, условия, агрегирующие и модифицирующие функции. Но они достаточно заёбистые для того, чтобы причинить боль и страдания. Часто классы из одной смысловой группы не имеют почти ничего общего, кроме интерфейса, если так можно в питоньем контексте выразиться, поэтому наследоваться от чего-то смысла нет.

Нужно, наверное, хитрую фабрику городить.
Аноним 04/11/16 Птн 07:30:17 #120 №869550 
>>869549
фабрика + декораторы возможно
Аноним 04/11/16 Птн 07:35:51 #121 №869551 
14782341513240.jpg
>>867631
>Александр Пушкин, русский поэт
>русский
Аноним 04/11/16 Птн 07:50:42 #122 №869553 
>>869551
кстати, http://galkovsky.livejournal.com/261986.html
Аноним 04/11/16 Птн 07:53:22 #123 №869554 
14782352027650.png
>>869550
Двигаюсь в этом направлении. Говнокод, наверное, но уже лучше, чем локальная параша.
Аноним 04/11/16 Птн 07:56:58 #124 №869555 
>>869554
ок, а для методов может это пригодиться https://pypi.python.org/pypi/singledispatch
Аноним 04/11/16 Птн 08:35:39 #125 №869558 
>>869299
> да, какие блокирующие вызовы делает bs, lxml, regexp в конце концов?
re кстати сишный и годами доставляет баттхерты через GIL.
Аноним 04/11/16 Птн 09:48:37 #126 №869565 
>>869554
Зачем такую хуету писать.
Аноним 04/11/16 Птн 09:51:35 #127 №869568 
>>869565
Ты уж объясни, что не так. Я двенадцать часов на Питоне пишу. Одиннадцать из них сейчас без остановки.
Аноним 04/11/16 Птн 09:52:28 #128 №869569 
>>869568
Суть в том, что смотрю я на этот код и не понимаю, что он должен делать. Вообще ноль идей в этом плане.
Аноним 04/11/16 Птн 09:55:45 #129 №869572 
14782425453040.png
>>869569
Ну так ты же не знаешь задачу. Ясен хуй, в отрыве от данных это как хуй знает что выглядит.
Аноним 04/11/16 Птн 13:00:33 #130 №869624 
В оп пасте ссылка на статью хабра, в которой советуют начать с книги "изучаем питон", а в самой пасте советуют "укус питона" с чего начинать?
Аноним 04/11/16 Птн 13:06:23 #131 №869626 
>>869624
Кодакадемия
Аноним 04/11/16 Птн 14:29:52 #132 №869661 
14782589927300.png
>>869523
>наличие блокирующего кода пораждает рантаймерор вообще то:
>> RuntimeWarning: coroutine 'foo' was never awaited foo()

Ты заебал. Нихуя не понимаешь, но мнение имеешь.
Аноним 04/11/16 Птн 14:35:57 #133 №869663 
14782593574010.png
14782593574031.png
14782593574042.png
14782593574063.png
Вопросик по django
Хотел вот форму комментов сделать к посту, но комменты создаются а к посту не привязываются, если из моделей у foreign key убрать null=True, то выдает NOT NULL constraint failed:main_articlecomment.article_id при отправке формы
Я передаю id через hidden input в форме в реквесте оно присутствует, а в sql-запросе все-равно None
Аноним 04/11/16 Птн 14:43:24 #134 №869665 
>>869663
Ну так у тебя форма про поле article не в курсе, ты же его не указал в списке fields
Аноним 04/11/16 Птн 14:48:38 #135 №869667 
>>869665
указывал, тогда условие form.isvalid() не выполняется, и происходит raise Http404
Аноним 04/11/16 Птн 14:50:43 #136 №869668 
>>869665
Поскольку у тебя article_id доступен во view, можешь сделать так:
article_comment = form.save(commit=False)
article_comment.article_id = article_id
article_comment.save()
и поле не нужно
Аноним 04/11/16 Птн 14:52:27 #137 №869670 
>>869667
Это потому что у поля name кто-то поставил article_id вместо article
Аноним 04/11/16 Птн 14:58:02 #138 №869673 
14782606821050.png

>>869668
cпасибо большое, так заработало. С джанго без бутылки не разберешься
Аноним 04/11/16 Птн 14:58:45 #139 №869674 
>>869673
> С джанго без бутылки не разберешься
В гранит!
Аноним 04/11/16 Птн 15:10:33 #140 №869679 
Котятки, подскажите, плизки, как правильно сбросить внутреннее состояние экземпляра класса?Переопределить с тем же именем - правильное решение или есть более правильный способ?
Аноним 04/11/16 Птн 15:14:30 #141 №869687 
>>869679
> сбросить внутреннее состояние экземпляра класса
Создать новый
Аноним 04/11/16 Птн 15:32:14 #142 №869695 
Вопрос скорее всего платиновый, извиняюсь. Я прошёл код академию и дочитал укус. Что теперь делать дальше? Пока что я решаю всякие задачи по основам языка типа работа с типами данных, выражения всякие ну вы поняли, совсем для новичков, но представления что от меня требуется для вкатывания в профессию Джуна питон разработчика абсолютно не имею. Я понимаю, что нужен какой то проект. Но мой максимум это калькулятор и текстовый симулятор бомжа в основе которого по большей части включён рандом и не замысловатое линейное развитие событий if, else который точно не подойдёт. Есть какие нибудь мысли?
Аноним 04/11/16 Птн 15:51:18 #143 №869714 
>>869695
Посмотри адаптивный тренажер Питона на Стэпике.
Аноним 04/11/16 Птн 15:52:49 #144 №869717 
>>869695
Алсо, ты можешь там же пройти курс по нейронкам, потом по Machine Learningу на Курсере, участвовать в соревнованиях на Kaggle и прийти к успеху.
Аноним 04/11/16 Птн 16:47:38 #145 №869733 
>>869714
Благодарю.
>>869717
Звучит дико интересно, у меня нейроные сети ассоциируются с будущем и прочими ништяками в которых я максимально далек, да и судя по всему для обучения по твоему списку требуется знание английского на хорошем уровне который у меня сильно хромает. Честно говоря, у меня в планах ближе к лету попытаться устроиться на работу. Считаешь это действительно поможет для трудоустройства?
Аноним 04/11/16 Птн 17:22:11 #146 №869741 
>>869733
Постоянно проигрываю с мамкиных вкатывальщиков в deep machine learning.
Без серьезной математической подготовки и опыта работы с big data никому ты нахуй не будешь нужен.
Аноним 04/11/16 Птн 17:36:02 #147 №869747 
Есть ли способ изменить в потомке класса то, что задано в __init__ его родителя?
Например есть
class Cat():
def __init__(self):
self.legs = 4
И допустим его потомок класс CreepyCat у которго legs должно быть 8 или 2 мутанты хуй знает.
Как это сделать?

Аноним 04/11/16 Птн 17:39:06 #148 №869751 
>>869747
Сделать инит в потомке, очевидно же.
Аноним 04/11/16 Птн 17:39:58 #149 №869752 
>>869747
Переопределенный метод не вызывает по умолчанию метод родителя.
Тебе надо явно вызывать super().__init__() для этого.
Аноним 04/11/16 Птн 17:49:43 #150 №869756 
>>869752

Спасибо.
Просто если свойств дохуя. 10+ по умолчанию. А изменить надо только например 2.
Как их лучше перечислять в родителе?
def __init__(self, x, y, z... n)
self.x = 1
self.y=2
.

Или запихивать прям в init? не помню где то я такое видел
def __ init__(self, x=1,y=2.. n)
self.x=x
self.y=y
>>869752
class CrCat(Cat):
def __init__(self):
super(Cat,self).__init__()
self.legs=8
А остальные ? Выдаст has no atribut

Аноним 04/11/16 Птн 17:56:45 #151 №869757 
>>869756
http://qualcode.ru/article/inheritance_python/
Сам чет нашел. вроде работает
Аноним 04/11/16 Птн 18:03:05 #152 №869761 
>>867611 (OP)
Только начал учить питон а уже нихуя не понимаю.
1 import sys
2 Zero = [" ",
3 "
",
4 "
",
5 "
",
6 "
",
7 "
",
8 "
"]
9
10 One = [" ",
11 "
",
12 "
",
13 " ",
14 "
",
15 " ",
16 "
"]
17
18 Two = [" ",
19 "
",
20 "
",
21 "
",
22 " ",
23 "
",
24 " *"]
25
26
Digits = [Zero, One, Two]

try:
30 digits = sys.argv[1]
31 row = 0
32 while row < 7:
33 line = ""
34 column = 0
35 while column < len(digits):
36 number = int(digits[column])
37 digit = Digits[number]
38 line += digit[row] + " "
39 column += 1
40 print(line)
41 row += 1


В качестве аргумента sys.argv[1] выступают цифры.
Итого, на 36 строчке
number=int(digits[column])
Что за блядь хуйня? Он хочет получить столбец цифры? Нихуя не понятно, но оно почему-то работает.



Аноним 04/11/16 Птн 18:09:17 #153 №869765 
>>869761
ideone or pastebin or 'Иди нахуй'
Аноним 04/11/16 Птн 18:13:01 #154 №869767 
>>869765
http://pastebin.com/xukrMEti

Вот например я ввел цифру 5.
number = int(digits[column])
Это значит что number = int(5[0]) но питон мне в интерактивном режиме говорит иди нахуй даун, даже если я присвоил какие-нибудь значения для digits и column
Аноним 04/11/16 Птн 18:19:34 #155 №869772 
>>869741
Никто никуда ещё не вкатывается. Я задал вопрос, мне ответили. Если ты пизда какой умный мог бы ответить по существу. >>869695
Аноним 04/11/16 Птн 18:27:36 #156 №869775 
>>869767
Отмена, я понял.
Аноним 04/11/16 Птн 18:29:40 #157 №869777 
14782733806360.png
Чет совсем туго.
Аноним 04/11/16 Птн 18:31:15 #158 №869778 
>>869777
Там в 3 строке случайно убрал перед скрином, на вывод не виляет.
Аноним 04/11/16 Птн 18:38:23 #159 №869782 
>>869777
Тебе надо комплементарную цепочку построить?
Аноним 04/11/16 Птн 18:43:06 #160 №869785 
>>869782
Можно и так сказать, грубо говоря замена символов.
Аноним 04/11/16 Птн 19:13:03 #161 №869794 
С super вроде разобрался. надо читать документацию
Как в питоне лучше писать переменные/классы/функции?
functon_foo или functionFoo?
Класс с заглавной?
обычные переменные x_foo или xFoo?
Аноним 04/11/16 Птн 19:16:50 #162 №869797 
>>869794
ClassFoo - классы
function_foo - функции
>обычные переменные x_foo
this

Почитай PEP8.
Аноним 04/11/16 Птн 19:19:22 #163 №869798 
14782763621310.png
>>869794
https://en.wikipedia.org/wiki/Python_syntax_and_semantics
Только всё равно не пойму почему здесь >>869777 такой результат.
Аноним 04/11/16 Птн 19:21:55 #164 №869799 
>>869797
Ок. Спасибо.
Просто встречал несколько видов написания. И лесенку и подчеркивания. Глобальные переменные капсом.
Аноним 04/11/16 Птн 19:22:26 #165 №869800 
>>869785
Чем string.translate() не устраивает?
http://ideone.com/f1X3tA
Аноним 04/11/16 Птн 19:22:43 #166 №869801 
>>869798
Попробуй по русски псведокодом описать что там делается по шагам. Для себя в комментах рядом.
Аноним 04/11/16 Птн 19:24:49 #167 №869802 
>>869800
Тем, что я даже и не знал о такой функции
>>869801
Да, придется. Спасибо.
Аноним 04/11/16 Птн 19:27:04 #168 №869803 
>>869802
В питоне дохуя полезных фич. Типо итертулз или уже встроенных методов. Прям просто дохуя. Heap встроенный. Ахуеть.
Аноним 04/11/16 Птн 19:29:00 #169 №869805 
>>869803
Да я в курсе. Всего не охватишь.
Аноним 04/11/16 Птн 19:32:56 #170 №869807 
>>869799
>капсом
И константы капсом, да
Аноним 04/11/16 Птн 19:33:25 #171 №869808 
>>869733
Ну фиг знает. Это мой план на ближайшие года два-три, с учетом учебы в вузе. Вообще тебе (и мне) нужно будет еще по хардкору заботать алгоритмы и теорвер со статистикой. Ну и начинать старт не с джуниора, а со стажера. Еще можно закатиться в магу по датасайенс, например.
Аноним 04/11/16 Птн 19:35:03 #172 №869809 
>>867611 (OP)
Привет ребята! Я психолог кун, вкатываюсь в жс и заодно хочу написать о связи популярных языков (петон, раби, жиес) с нетрадиционной сексуальной ориентацией.
Есть готовые поделиться своим опытом разработки?
Аноним 04/11/16 Птн 19:50:26 #173 №869816 
Аноны, есть адрес типа "https://2ch.hk/pr/res/867611.html".
Нужно проверить, есть ли в адресе "res" после названия доски, если нет - добавить.
Я представляю это так:
[CODE]url = 'https://2ch.hk/pr/res/867611.html'
url = url.split(r'/')
if url[3] != 'res':
url.inser(3, 'res')
url = '/'.join(url)
[/CODE]
Но мне такое решение кажется всратым. Есть идеи?
Аноним 04/11/16 Птн 23:22:51 #174 №869891 
>>869816
Нормальное решение, вроде бы.
Только я бы сначала проверял, что 'res' не входит в url, а потом уже сплитил.
Вот решение с регулярками, но не такое простое как у тебя https://gist.github.com/anonymous/c5acdcebf6bea4df421d1ca93eee5fc1
Аноним 04/11/16 Птн 23:48:40 #175 №869906 
14782925201760.jpg
Привет. Не поймите меня не правильно, я мелкий админ эникей босюь что в админстве у меня будет все оче хуево.

Хочу учить ЯП, выбрал питон. С алгоритмами все хуево, пытаюсь понимать как пишутся проги, уходит много времени на 1 маленькую прогу в примерах в книжке.

Каковы шансы что я вкачусь и буду получать хотябы 40-50к?

Я не из тех у кого "горят глаза" на программировании, но буду как-то сквозь боль и немогу пытаться что-то делать.
Аноним 05/11/16 Суб 00:58:35 #176 №869929 
>>869906
100%. Сиди и ебашь потихоньку. В джагну вкатывайся или в авто тестирование.
Аноним 05/11/16 Суб 01:12:16 #177 №869931 
В питоне без numpy никак с матрицами нормально работать нельзя?
Аноним 05/11/16 Суб 01:31:51 #178 №869937 
>>869931
Смотря что ты хочешь с ними делать. Иногда можно и вложенными последовательностями можно обойтись.
Аноним 05/11/16 Суб 01:36:22 #179 №869938 
>>869937
Хочу с уже готовыми решениями. Мне лень самому делать все эти велосипеды. Типа повернуть на 90 градусов, найти количество элементов больших n, просуммировать диагональ или транспонировать.
Аноним 05/11/16 Суб 01:45:51 #180 №869942 
>>869938
Чем тебя numpy не устраивает тогда?
Аноним 05/11/16 Суб 11:30:38 #181 №870146 
Анон, смотри, мне нужно выводить в ткинтере на экран куски текста (много кусков), которые будут визуально разделены. Юзаю скроллер и текст виджет. Почему скроллер не работает? Анон, помоги пожалуйста, всё утро ебусь с этим!

root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
data = {}

def load_data():
for i in range (0, len(data)):
insert_text(data + '\n', i)

def insert_text(post, i):
t = Text(root, wrap=WORD, yscrollcommand=scrollbar.set)
t.insert(END, post)
t.pack(fill="both", expand=1)

def on_finish():
root.mainloop()

load_data()
on_finish()
Аноним 05/11/16 Суб 14:50:39 #182 №870226 
Господа, помогите разобраться со строками http://pastebin.com/Yq352Pqp:
Как получить из последовательности вроде "\xcd\xe8\xf1\xee\xed" строку русской кодировки? Строка приходит из html, при этом латиница там читается нормально, а русские символы именно так.
Аноним 05/11/16 Суб 14:57:44 #183 №870232 
Что нужно знать для современного веб-петушения в python, конкретно с django и flask?
Использовал питно по большей части для мелкой автоматизации и всякой параши в онлайн-курсах, сейчас задумался о поиске работы.
Посмотрел последние версии python3, какие-то асинки, futures, вообще охуеть, ничего непонятно.
1. Нужно ли это всё будет для веба?
2. Есть ли вменяемые ресурсы где это объясняется для людей которые могут только в последовательное исполнение одного треда?
Аноним 05/11/16 Суб 15:01:07 #184 №870235 
>>870232
https://www.fullstackpython.com/django.html
Аноним 05/11/16 Суб 15:24:15 #185 №870250 
>>869931
Никак. Наверняка миллион велосипедов на пукпук, но ты же сказал "нормально", а "нормальная" работа с матрицами в питоне - это строго нампай.
Аноним 05/11/16 Суб 16:13:32 #186 №870285 
>>869942
Докачивать надо, а он жирный. Мне ради одних матриц всё это качать лень.
Аноним 05/11/16 Суб 16:31:24 #187 №870300 
>>867611 (OP)
что учить, чтобы начать зарабатывать на фрилансе?
Аноним 05/11/16 Суб 17:16:32 #188 №870330 
>>870300
PETOOH.
Аноним 05/11/16 Суб 17:18:36 #189 №870333 
>>870226
> bytes = '\xcd\xe8\xf1\xee\xed'
> bytes.encode().decode('utf-8')
Аноним 05/11/16 Суб 18:07:18 #190 №870374 
>>870330
Сам ты петух.
Аноним 05/11/16 Суб 18:07:38 #191 №870375 
>>869551
Ну, не камерунский же.
Аноним 05/11/16 Суб 18:28:13 #192 №870391 
>>870374
Это не оскорбление, а перспективный в настоящее время язык для всех новых проектов.
Аноним 05/11/16 Суб 18:29:17 #193 №870392 
>>870285
Со сцупу не путаешь? Нампай не жирный. Собственно, там внутри только одна матрица и матричные операции и есть по сути. Ну и ещё небольшая кучка легаси сбоку.
Аноним 05/11/16 Суб 18:59:03 #194 №870420 
>>870333
Если я пишу эту строку в самом скрипте то работает, если получаю из разметки то получаю её же. Суть в том, что кроме русских букв там все приходит в хорошем виде.
Аноним 05/11/16 Суб 19:41:07 #195 №870457 
>>870420
Я короче не разбирался что там у тебя, но попробуй еще на 17 строке сделать так:
>return urlopen(url).read().decode('utf-8')
Аноним 05/11/16 Суб 22:32:52 #196 №870556 
14783743728900.png
может кто-то объяснить, как работает оператор in в питоне.
например, когда проверяется, находится ли к в списке каком-нибудь.
if n in range(10): ...
Аноним 05/11/16 Суб 23:08:29 #197 №870569 
>>870457
>.decode('utf-8')
вообщем зашёл на страницу, нашёл в мете кодировку и дописал в функцию:
return urlopen(url).read().decode("windows-1251")
больше никаких проблем. Спасибо за наводку, анон
Аноним 05/11/16 Суб 23:30:35 #198 №870589 
>>870556
The membership test operators (in and not in) are normally implemented as an iteration through a sequence. However, container objects can supply the following special method with a more efficient implementation, which also does not require the object be a sequence.
синтаксис меня уничтожил Аноним 06/11/16 Вск 06:45:19 #199 №870701 
14784039199020.png
Сап, рептилии.
Начал изучать сабж. Сидел изучал, игрался с консолькой, разворачивал строки, посчитал интегральчики, нарисовал график, сделал гифку. Пару раз копипастнул код для графики, в остальном - язык как язык.
И тут дело доходит до основ ООП.
Читаю учебник - чёт не то, не залезает тема в башню.
Например смотрю на пикрил.
Вижу 5 строк. 15 лексем.
Среди этих 15ти лексем - 4 раза повторяется селф, 4 раза - вал, 2 раза - деф.
Итого для описания этой конструкции и всего ее функционала, если верить здравому смыслу, теории формальных систем, общим представлениям о языке и тп - нужно не 15 лексем, а 8.

Итак пишем:
obj1 = Foo(1)
Что означает вроде бы: выделим памяти немношко, под одну переменную типа инт , немножко под имя конкретного объекта.
Далее:
obj1.printVal() -
вывод значения той самой переменной.

Вопрос: это гайд, на который я ссылаюсь, хуевейший ? Или я чего то не вдупляю?
Зачем для доступа к переменной городить такую прозу?
почему нельзя сделать просто print(obj1.val) ?
Зачем каждый раз в каждом классе писать метод __init__ ? Вот нахуя? Почему этот алокейшен не встроен в сам функционал оператора Class?
Какой в этом смысл?
в чем смысл self.val = val? Что тут происходит? Почему мне смысл этой строки понять сложнее, чем доказательство теоремы остроградского-гаусса или сложнее чем решение несобственных интегралов, лол?
Зачем тут def printVal(self): в скобках стоит лексема селф? В чем смысл? Что это дает, если в теле метода и так указано блять: берем val свой, родной val, Валюшечка мой родной, именно тебя печатаем. Нахуя ?

Вот из того же гайда:
You can see that both methods take a parameter called self. It doesn't have to be called self but this is the Python convention and while you could call it this or me or something else, you will annoy other Python programmers who might look at your code in the future if you call it anything other than self. Because we can create many instances of a class, when a class method is called, it needs to know which instance it is working with, and that's what Python will pass in via the self parameter.
"Поскольку мы можем создать множество особей класса, то в случае вызова метода класса, метод должен знать, с какой конкретно особью он работает."
annoy other programmers? что сука?
Вопрос - каким СУКА образом лексема селф помогает бедному методу уточнить, куда в памяти обращаться? Зачем нужны эти ебучие четыре буквы блять? ЕСЛИ БЛЯТЬ ПРИ ВЫЗОВЕ МЕТОДА МЫ И ТАК В САМОЙ ОПЕРАЦИИ ВЫЗОВА ЯВНО УКАЗЫВАЕМ ИМЯ ОБЪЕКТА?
obj1.printVal() ВОТ СУКА ТУПОЙ МЕТОД СМОТРИ ХУЛИ ТЕБЕ НЕ ЯСНОГО ПРЯМО перед ТОБОЙ СТОИТ ИМЯ ОБЪЕКТА КОНКРЕТНОГО ОТКРОЙ ГЛАЗА КРОВЬ КИШКИ ГОВНО


Пусть есть Класс1, и две его особи - Объект1 и Объект2.
В Классе1 есть 2 метода: Класс1.метод1 и Класс1.метод2.

Ситуация первая:
Нужно, чтоб Класс1.метод1 работал с Объектом1.

Пишем нечто вроде: Объект1.метод1().
Всё понятно - метод класса "знает", с каким объектом ему работать, блять. Потому что сам метод уже связан с вызываемым Объектом1 .
Зачем писать Объект1.метод1(сам) ?

Ситуация вторая:
Нужно, чтоб метод "работал" с Объектом2. Окей.
Объект2.метод1().

Что вообще значат слова it needs to know which instance it is working with ?
Что за хуетень? Еще раз: при вызове метода мы не пишем Класс1.метод1(). В таком случае я бы понял уточнения. Типа Класс1.метод1(Объект1). Но это явно излишне. Поэтому
Мы пишем СУКА конкретно Объект1.метод1().
А какие еще могут быть блять варианты? А?
метод1() к какому еще объекту может обращаться? Объект1.метод1(Объект2) ?
Если они принадлежат одному классу - то это излишне. Ведь метод1 у них общий.
операнды Объект1.метод1(Объект2) и Объект2.метод1(Объект2) должны дать одинаковый результат.

А если они принадлежат разным классам, тогда нахуй вызывать метод одного класса на объект другого класса?

http://pythoncentral.io/introduction-to-python-classes/ - сука. Я пользуюсь интернетом уже лет 10. Прочитал за эти 10 лет не менее сотни книг. Литературы блять, толстого прочитал, учебники по матану, по сука стохастическим процессам. И это блять первая страничка текста в моей жизни, которая вызывает только такую реакцию. Либо я сегодня получил инсульт, либо автор мануала уебок-дегенерат, либо весь питон это глобальный заговор нахуй! НО нету тут варианта что в self.val = val или в МОЖЕТ БЫТЬ БЛЯТЬ КАКОЙ ТО ПРАКТИЧЕСКИЙ СМЫСЛ, или в def printVal(self) !
ХОЧУ ТЕПЕРЬ ТОЛЬКО УБИВАТЬ УВИЖУ ПИДОРА ПИТОНЩИКА НОЖ ЕМУ В ЖИВОТ СРАЗУ
Аноним 06/11/16 Вск 07:00:42 #200 №870702 
Я ебал, блять. Анон, дай пример, как закрутить аякс джквери и джанго. Я нихуя не понимаю, что куда передает, что за джейсон ебучий такой и т.п.

Именно пример, а не ссылку на какую-то хуйню. Желательно с комментариями. Гуглил час - нихуя не понял.
Аноним 06/11/16 Вск 07:07:33 #201 №870703 
14784052538800.png
https://jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/
Еще пример:

class Customer(object):
...
def withdraw(self, amount):
....
return self.balance


So what's with that self parameter to all of the Customer methods? What is it?
Ну давай сука поясни. Я же блять зашел к тебе на страницу, загрузил твою ебучую рекламу.
when we say def withdraw(self, amount):, we're saying, "here's how you withdraw money from a Customer object (which we'll call self)

That's not me making analogies, either.
jeff.withdraw(100.0) is just shorthand for Customer.withdraw(jeff, 100.0), which is perfectly valid (if not often seen) code.

Что блять?
Хочешь сказать, автор, что лексема селф нужна только чтоб иметь 2 варианта написания?
Чтоб я мог, если опустилось левое яичко, написать jeff.withdraw(100.0), а если правое - то Customer.withdraw(jeff, 100.0)?
А нахуй мне всё равно твой селф сдался, если jeff не может быть особью никакого другогокласса, кроме Customer?

ШТО СУКА? "Селф" нужен только чтоб парсер проигнорировал первое "место" внутри скобок перед запятой в случае короткой записи jeff.withdraw(100.0), а случае длинной записи Customer.withdraw(jeff, 100.0) - на месте селф был опциональный указатель на конкретный объект? И ради такого дерьма блять нужен такой жопорукий синтаксис? И ЭТО БЛЯТЬ БАЗОВАЯ КОНСТРУКЦИЯ СИНТАКСИСА ООП?
https://www.youtube.com/watch?v=xs5Ro2FXxP4
Всё это дерьмище, намекаете вы, нужно только чтоб искусственно создать неоднозначность в коде, чтоб тупому манагеру пустить пыль в глаза?
Аноним 06/11/16 Вск 07:57:46 #202 №870708 
>>870702
В Джанго бай экзампл в главе о написании е-лёрнин платформы погляди
Аноним 06/11/16 Вск 08:01:27 #203 №870711 
>>870701
>Зачем для доступа к переменной городить такую прозу?
Data hiding.
>Зачем каждый раз в каждом классе писать метод __init__ ?
Конструктор, ВНЕЗАНО может быть не таким тривиальным.
>в чем смысл self.val = val?
А как нужно? Как отличать instance members от локальных переменных?
Насчет self в параметрах согласен. Какая-то питонская пушка.
Попробуй руби - легко генрировать геттеры, сеттеры; explicit self не нужон, есть @.
мимошел
Аноним 06/11/16 Вск 08:55:19 #204 №870715 
>>870711
Братья, нас тут шпион-вербовщик, нужно подкрепление
Аноним 06/11/16 Вск 09:07:08 #205 №870722 
Анчоусы, как правильно деплоить приложения.
У меня например есть приложение где мне нужно для нормального старта запустить редис воркер и гуникорн, как сделать чтобы одной командой запускалось два процесса и мне не приходилось держать по два ssh соединения?
Аноним 06/11/16 Вск 11:23:11 #206 №870750 
Аноны, учусь django сейчас.
Ебаный вопрос: как лучше делать? На протяжении одного представления несколько раз (в зависимости от методов запроса и их параметров) возвращать render с разным контекстом? Или возвращать только один раз render в конце и в шаблоне уже добавить проверки (но тогда уже нужно будет инициализировать переменные контекста пустыми значениями, потому что будут ворнинги о возможности использования неинициализированных переменных). Или вообще лучше раскидать это все по разным представлениям и не загромождать?
Не пинайте
Аноним 06/11/16 Вск 11:41:19 #207 №870753 
>>870750
По-разному можно, делать, наверное - зависит от конкретной задачи.
Аноним 06/11/16 Вск 11:44:17 #208 №870754 
>>870753
как у меня запятые плавают-то..
Аноним 06/11/16 Вск 12:30:51 #209 №870764 
>>870750
вообще похуй, как удобно так и делаешь. нормально сделаешь, нормально будет.
Аноним 06/11/16 Вск 12:46:12 #210 №870774 
>>870764
>>870753
То есть нет никакого python/django way по этому вопросу? Тогда ладно, спасибо.
Аноним 06/11/16 Вск 13:20:21 #211 №870783 
>>> sys.version
'3.3.6 (default, Sep 22 2016, 23:32:57) [MSC v.1600 64 bit (AMD64)]'
>>> sys.getsizeof(dict())
288
Я тут собрался дерево строить с десятками миллионов узлов, а тут такое... Какие есть варианты? Может можно инишиал капасити подкрутить, или другую структуру заюзать (скиплист устроил бы)? Или юзать лист [key1, value1, key2, value2, ...], и дегрейдить его в мапу при заполнении?
Нужен быстрый лукап и вставка по чайлдам ноды.
32-битный питон не предлагать.
Аноним 06/11/16 Вск 13:57:10 #212 №870804 
>>870774
>django way
DRY https://ru.wikipedia.org/wiki/Don%E2%80%99t_repeat_yourself

Ну в целом, пытайся делать все как можно проще. Чем меньше кода - тем лучше.
Ну и старайся в шаблонах не делать много ветвлений и вложенных циклов, а переноси это в представления, если возможно.
Аноним 06/11/16 Вск 14:38:22 #213 №870830 
>>870722
Procfile в случае с хероку, например.
Аноним 06/11/16 Вск 14:41:47 #214 №870832 
>>870804
Спасибо
Аноним 06/11/16 Вск 15:40:51 #215 №870863 
14784360515990.png
Тут в книжке задание, когда нужно запихнуть все числа, вводимые пользователем, в список и оттуда уже игграть с ними.

Ввожу числа, но как только в строку ничего не пишу и нажимаю ентер у меня вылетает анекспектед енд оф файл, как лечить?
Аноним 06/11/16 Вск 15:57:24 #216 №870868 
14784370445040.jpg
Здравствуйте.

Задача: запросить у пользователя цвет, которым нужно закрасить фигуру. Для решения использую askcolor(). Проблема: askcolor() возвращает значение вида #АААААА, а примитивы фигур красятся с помощью color=(red,green,blue), где red, green, blue принимают значения от 0 до 1. Думаю, мне надо расчленить строку из askcolor() на три пары, после чего каждое значение преобразовать и поделить на 255. Правильно думаю? Python 2.7, ибо использую библиотеку visual.

По поводу преобразования нагуглил

def hex_to_rgb(value):
value = value.lstrip('#')
lv = len(value)
return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))
Аноним 06/11/16 Вск 16:08:33 #217 №870869 
>>870868
http://stackoverflow.com/a/4296263
(r, g, b) = struct.unpack('BBB',rgbstr.decode('2FECA1'))
Аноним 06/11/16 Вск 16:10:22 #218 №870874 
>>870863
>у меня вылетает
а ты его лови чтоб не вылетало
Аноним 06/11/16 Вск 16:13:01 #219 №870877 
>>870863
>анекспектед енд оф файл
Такой ошибки не должно быть, а вот когда ты просто нажимаешь Enter, то твоя программа будет бросать исключение, потому что не сможет преобразовать пустую строку в целое число.

while True - бесконечный цикл. значит тебе надо предусмотреть выход из него.
http://pastebin.com/Pr5CDrqu
Аноним 06/11/16 Вск 16:26:55 #220 №870891 
>>870877
Можешь дать какие-нибудь свои контактики?
Оно работает но я не понимаю почему, лол. 5 минут назад я заставил её работать точно также но больше строчек кода.

Обьясни почему тут при пустой строке и вышел из цикла, а в моем варианте не вышел не пожалуйста
Аноним 06/11/16 Вск 16:29:28 #221 №870892 
>>870891
И да, олсо, если я напишу туда 'dsadsads' то никакой ошибки не происходит, а должна же.
Аноним 06/11/16 Вск 16:43:08 #222 №870902 
>>870891
>>870892
Все все я понял.
Просто запутался между свои скриптом где было if...break и твоим где break прерывает while.
Аноним 06/11/16 Вск 16:50:10 #223 №870904 
>>870902
>Все все я понял.
Ок.
Аноним 06/11/16 Вск 17:47:33 #224 №870945 
Прочел лутца как советовали в факе и решил начать проходить кодакадемию как советуют аноны. После лутца как будто для даунов все задания. Мало того, что они на питоне 2.6 так еще и задания подразумевают только коридорное выполнение. Независимо от результата, сделано должно быть точно так же как в задании. Есть что-нибудь по серьезней для практики кода?
Аноним 06/11/16 Вск 17:51:42 #225 №870951 
14784439030490.png
>>870945
check.io попробуй
Аноним 06/11/16 Вск 17:54:47 #226 №870953 
>>870951
checkio.org
Аноним 06/11/16 Вск 17:58:14 #227 №870956 
>>870951
>>870953
Cпасибо, друзья.
Аноним 06/11/16 Вск 18:12:28 #228 №870964 
14784451485930.jpg
>>870869
Долго ебусь, но не вдупляю. Код: http://pastebin.com/8uCLZAE6 Ругается:

temp=''.join(ch_color)
TypeError: sequence item 0: expected string, tuple found

Выходит, tuple нужно перегнать в string. Гуглил, нашёл http://stackoverflow.com/questions/3886669/tuple-to-string , http://stackoverflow.com/questions/9525399/python-converting-from-tuple-to-string , http://stackoverflow.com/questions/8704952/python-convert-tuple-to-string , http://stackoverflow.com/questions/19641579/python-convert-tuple-to-string , но не понял, как это реализовать в моём случае. Говорю сразу,я - жуткий нуб в питоне, потому хотелось бы получить детальное объяснение, которое приведёт меня к правильному решению.
Аноним 06/11/16 Вск 18:34:13 #229 №870975 
>>869663
Что за IDE?
Аноним 06/11/16 Вск 18:38:58 #230 №870981 
>>870975
Sublime
Аноним 06/11/16 Вск 19:04:55 #231 №871002 
>>870964
from tkColorChooser import askcolor
print help(askcolor)
value = askcolor()
print(type(value))
print(value)
print(value[0])
API для двача Аноним 06/11/16 Вск 21:55:32 #232 №871128 
го пилить REST API для двача годное. с обсуждением все дела. Хочу на выходных чем то занимать себя.
Аноним 06/11/16 Вск 23:03:28 #233 №871168 
>>871128
выходные завтра заканчиваются
Аноним 06/11/16 Вск 23:04:39 #234 №871171 
>>871168
Через 55 минут.
Аноним 06/11/16 Вск 23:52:51 #235 №871221 
Объясните, пожалуйста вот это:

:~$ python3
Python 3.5.2+ (default, Sep 22 2016, 12:18:14)
[GCC 6.2.0 20160927] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1.4+1.4+0.1
2.9
>>> 7.1+5.8
12.899999999999999

Это как, это что, но главное - ПОЧЕМУ, БЛИН, ОНО РАБОТАЕТ ПО-РАЗНОМУ? Можно ли предугадать, в каком случае его перекосит, а когда сосчитает правильно?
Аноним 06/11/16 Вск 23:55:09 #236 №871223 
14784657092690.png
>>871221
Аноним 07/11/16 Пнд 00:08:45 #237 №871237 
>>871223
Нет, мне действительно это интересно.
Я видел утверждения с какими-то левыми отмазками про повышеннуюа на практике - пониженную, LOL точность, но так и не понял, почему это происходит в одних случаях и не происходит в других.
Аноним 07/11/16 Пнд 00:18:15 #238 №871242 
>>871237
Ты уже гуглил этот вопрос?
Аноним 07/11/16 Пнд 01:25:56 #239 №871282 
>>871242
Ага. Напрмер, тут читал:
http://asvetlov.blogspot.ru/2011/02/blog-post.html
Но во-первых в 2.7 и 3.5 это работает иначе, а во-вторых если у него:
>Во первых, это одно и то же число:
>>>> 4.31 == 4.3099999999999996
>True

То у меня иначе:
>>>> 7.1+5.8 == 12.9
>False
>>>> 12.9 == 12.899999999999999
>False
Хотя
>>>> 4.31 == 4.3099999999999996
>True


И нигде не вижу, как понять, сорвет ему крышу или не сорвёт.

Как вообще можно пользоваться языком, который не умеет складывать числа?
Аноним 07/11/16 Пнд 01:35:23 #240 №871286 
14784717233510.jpg
>>871282
http://bfy.tw/8bbS
Аноним 07/11/16 Пнд 01:42:19 #241 №871293 
>>871286
Это Гвидо ван Россум - лошара. Второй язык с таким ПРОВАЛОМ хуй найдёшь вообще.
Аноним 07/11/16 Пнд 01:47:24 #242 №871304 
>>870722
Большие мальчики используют супервизоры для этого. systemd, supervizord, upstart, тысячи их.
А хитрые мужички юзают docker
Аноним 07/11/16 Пнд 01:54:40 #243 №871309 
>>871293
Ну, например, любой другой.
Аноним 07/11/16 Пнд 07:18:38 #244 №871368 
Блять я так и знал тут что-то не так!
Оказалось то язык - говно!
https://habrahabr.ru/post/314062/

Молодый технический специалист мэилрушечки взял и переписал безумное дерьмище в ядре питона, тем самым увеличив дохуя его потребление памяти.

На что ему ответил питох ван питушкинс:
>>>>В сентябре же мне ответил сам Гвидо ван Россум: «Раз за всё это время никто к патчу интереса не проявил, — значит, никого другого потребление памяти парсером не заботит. Значит, нет смысла тратить время мейнтейнеров на его ревью.»

"Мне не интрересно, нет смысла тратить время, мне всё-равно, куд-кудах, ресурсы нинужны, главное чтоб было прикольнинько" -ПИЗДОС!!! ЭТО ЯЗЫК ДЛЯ АУТИСТОВ! ПАЛУНДРА! ПЕТУХИ ВЗБУНТОВАЛИСЬ!

>>870701-кун

Аноним 07/11/16 Пнд 07:30:40 #245 №871371 
14784930407140.png
>>870711
Мне понятен смысл блять, мне не понятен смысл такой ЕБАНУТОЙ КРИВОЖОПОЙ формы этого функционала.
>>Data hiding.
Прятать от манагера факт своей никчемности?
>>Конструктор, ВНЕЗАНО может быть не таким тривиальным.
Блять я понимаю что можно любой конструктор нагородить, любой синтаксис чтоб был сверху. Вопрос был в другом. Или ты питонщик и уже не соображаешь нихуя тоже?
>>А как нужно? Как отличать instance members от локальных переменных?
Так в этом дело?
Серьезно?
"Как нужно?" ??!
"А как отличать?"
Мб питон для тех, у кого Imagination NYI?
Миллион способов.
Миллиард блять способов конструкций поприятней и покороче, чтобы разделить члены класса и члены особей.

Нет вы видели этого пидораса? Вопросы он мне задает.
А как тебе декораторы сука ?
Писать такое типа норм
@ХУЮШКИНС

И тебе даже в голову мразь не приходит что можно точно так же лексемой какой-нибудь типа @ или 8===> или ХОЧЕШЬ ЦАПЛЕЙ ПОСТОЮ тупо отграничить эти два неймспейса?
Вместо всей этой ебли с андерскорами с фиксированной бессмысленной лексемой инит с def _____моча_____(говно) ?
В чем нет , НЕТ НЕТУ БЛЯЯЯЯТЬ никакого смысла?
Что это похоже на то, будто ребенок с пятью хромосомами ведь измазанный в говне слепил из говна кусок говна, поднял, кривя один залипший глаз и улыбаясь дыркой в пол-ебала вместо рта, поднял это всё на культях и восхищенные аутисты-манагеры говорят "Представляем вашему вниманию новый ООП-язык - питон!"

Аноним 07/11/16 Пнд 09:12:41 #246 №871386 
>>871371
Хуя пичот. Пили свой язык с блекджеком и шлюхами.
Аноним 07/11/16 Пнд 10:18:55 #247 №871396 
14785031358140.jpg
>>871371
ебать ты дебил
Аноним 07/11/16 Пнд 10:29:35 #248 №871401 
>>871168
я имею ввиду каждый выходные.
Аноним 07/11/16 Пнд 13:33:18 #249 №871469 
>>871221
Еще один. это не от питона зависит
Аноним 07/11/16 Пнд 13:50:08 #250 №871475 
>>870701
Ну панимаешь братиш, какое дело. self в пистона - это как this в крестах, то бишь указатель на экземпляр.
Аноним 07/11/16 Пнд 13:50:39 #251 №871476 
>>871475
> пистона
*питоне
Аноним 07/11/16 Пнд 14:10:07 #252 №871491 
14785170077540.jpg
Питоняши, пробую тут virtualenv с джангой первый раз и такая проблема возникла:
обычно у меня пара батников на рабочем столе(запустить сервер, шелл, просто консоль в папке), а в этот раз так не получилось - при активации виртуального окружения команды из батника перестают выполняться. Интернеты читал, но видимо не могу правильно сформулировать вопрос - ничего не нашел.
Аноним 07/11/16 Пнд 16:50:51 #253 №871591 
>>871491
>рабочий стол
>батники

Мы с ОСью петушиной
Идем дорогой трудной,
Идем дорогой трудной,
Дорогой непрямой
Заветный код исходный
Исполнит мудрый Гвидо
И Джанга заработает
На виртуаленве.

Ну ты понел
Аноним 07/11/16 Пнд 16:56:07 #254 №871596 
>>871368
Гвидо все правильно сказал:
"Если у тебя в коде какие-то ебать-колотить структуры, то используй вместо этого JSON, он для этого предназначен.
А если ты запускаешь миллионы крошечных скриптов, вместо того чтобы написать нормальный сервис, то ты дебил просто говорить не буду с тобой чмо игнорирую."
Аноним 07/11/16 Пнд 16:59:11 #255 №871599 
>>871591
нет, не понял, а что ты сказать хотел?
Аноним 07/11/16 Пнд 17:10:16 #256 №871607 
>>871599
Хочешь нормально работать на питоне - ставь линупс.
Да, поначалу кажется "да ну его нафиг, мне бы научится".
Но питон учится быстро и вот ты уже пытаешься запустить БД, сервер, редис, обработку изображений и завернуть все это в докер.
Поверь мне, лучше это делать в линупсе.
Аноним 07/11/16 Пнд 17:16:55 #257 №871611 
Где узнать полный инструментарий, которые необходим для деплоя нормальной приложухи на джанге? Вот на хероке рикамендую gunicorn который я так и не понял как настроить, whitenoise для статики, еще что-то должно быть? Книги какие подробно опишут весь процесс?
Аноним 07/11/16 Пнд 17:30:19 #258 №871616 
>>871611
Ну, для простых проектов у меня например такой стэк:
1. nginx в качестве обратного прокси и раздатчика статики.
2. venv для вируального окружения
3. gunicorn как WSGI сервер (а что там настраивать-то?)
4. django
5. Celery для фоновых задач (почту отправить, картинку отресайзить и т.п.)
6. Redis для очереди celery + кэш для джанги
7. PostgreSQL ессесно
8. supervizor для запуска всего этого зоопарка и перезапуска при падении.

Вроде все.
Аноним 07/11/16 Пнд 17:40:51 #259 №871620 
>>871607
у меня уже есть на виртуалке линукс таки заебался с установкой dryscrape под винду, да, но я ахуею сразу django+python+nix учить.
Вопрос был про консоль винды и ее работу с virtualenv, а у тебя ответ из серии "не заводится машина - смени марку".
Аноним 07/11/16 Пнд 17:42:42 #260 №871622 
>>871616
почему nginx как wsgi не используешь?
Аноним 07/11/16 Пнд 17:43:51 #261 №871623 
>>871620
плюс линя в том под под ним не возникает 95% проблем с питоном, что возникнут под виндой.
По говну за городом можно и на мерсе s-class ездить. Но зачем, если есть старый добрый УАЗик?
Аноним 07/11/16 Пнд 17:48:29 #262 №871626 
>>871622
>почему nginx как wsgi не используешь?
Wat?
Аноним 07/11/16 Пнд 17:51:46 #263 №871627 
>>871626
сорь за нубский вопрос, я имел ввиду почему не сипользуешь nginx в связке с uwsgi, а используешь gunicorn?
Аноним 07/11/16 Пнд 18:00:24 #264 №871630 
>>871627
Разницы практически нет, выбирай что тебе удобнее.
Вернешься к этому вопросу когда дойдешь до "ну как же обработать еще пару тысяч запросов в секунду?"
Аноним 07/11/16 Пнд 18:05:52 #265 №871633 
>>871630
ну я и хотел узнать чем гуникорн удобнее? я просто задеплоил как оф доках джанго написано, а там был uwsgi первым)
Аноним 07/11/16 Пнд 18:14:54 #266 №871638 
>>871633
>ну я и хотел узнать чем гуникорн удобнее?
Пробуешь одно и другое, выбираешь. Вот и все.
Переключиться потом легко, pip install и пара строк в конфиге.
Аноним 07/11/16 Пнд 18:26:35 #267 №871641 
>>871638
А ты на хероку деплоил джангу? как понять что у меня работает именно гуникорн?

ТАм оче ебнутый туториал, который не просит вырубать debug mode. В итоге я задеплоился в режиме дебага. При этом все остальные иструкции тоже соблдюдал, в режиме debug = false сервак отдает 500ый ответ.

первый раз деплою на хероку
Аноним 07/11/16 Пнд 18:53:29 #268 №871650 
Ребзя, кто-нибудь настраивал апач с mod_wsgi?
Может кинете каких-нибудь гайдов? А то там чет ваще сложно с конфигами. апп на фласке
Аноним 07/11/16 Пнд 18:58:51 #269 №871653 
>>871641
Извини бро, на хероке не деплоил, не могу помочь.
Аноним 07/11/16 Пнд 18:59:24 #270 №871655 
>>871650
>апач с mod_wsgi
Но зачем?
Аноним 07/11/16 Пнд 18:59:51 #271 №871657 
>>871650
> апач с mod_wsgi
лол, из 2010 капчуешь?
Аноним 07/11/16 Пнд 19:23:00 #272 №871671 
>>871655
>>871657
Сук, ну и на чем хостят в 2016 правильные пасаны?
Аноним 07/11/16 Пнд 19:41:01 #273 №871679 
>>871671
reverse proxy nginx
Аноним 07/11/16 Пнд 20:42:56 #274 №871729 
>>871679
Еще смузи?
Аноним 07/11/16 Пнд 20:43:32 #275 №871730 
Питоны, а подскажите плиз

Вот у меня в settings.py

LANGUAGES = (
('ru', "Русский"),
('en', "English"),
)

LANGUAGE_CODE = 'ru'


чому у меня по-умолчанию один хуй на новых устройствах открывается на английском? Как заставить django жрать LANGUAGE_CODE ?
Аноним 07/11/16 Пнд 20:56:18 #276 №871738 
>>871729
Борща пожалуйста
Аноним 07/11/16 Пнд 20:58:52 #277 №871740 
>>871730
LANGUAGE_CODE = 'ru-RU'
Аноним 07/11/16 Пнд 21:05:55 #278 №871746 
>>871740
а то что с LANGUAGES будет отличаться? там тоже менять на ру-РУ?
Аноним 07/11/16 Пнд 21:19:04 #279 №871754 
>>871730
https://docs.djangoproject.com/en/1.10/topics/i18n/translation/
tldr - Джанго сначала смотрит на заголовок Accept-Language запроса, и только если его нет, использует LANGUAGE_CODE.
Так что смотри свои устройства.
Аноним 07/11/16 Пнд 21:24:00 #280 №871759 
>>871671
Любой другой wsgi-compliant сервер.
Аноним 07/11/16 Пнд 21:30:30 #281 №871765 
>>871754
Как проще всего заставить джанго вхуяривать изначально русский, а уже если переключат то другой?
Аноним 07/11/16 Пнд 21:38:25 #282 №871768 
>>871765
Ёпт, сделано же все как надо: требуют буржуинский - отдаем буржуинский.
А ты хочешь: требуют буржуинский - отдаем мальчиш-кибальчишеский.
Что за фагготрия?
Аноним 07/11/16 Пнд 21:41:50 #283 №871769 
>>871768
у меня сайт в зоне ру, а отдаёт всем английскую версию, при чём с самых разных девайсов протестировал
а вхуряить вместо
LANGUAGES = (
('ru_RU', "Русский"), ...

что бы урлы уродливые иметь типа сайт.ру/ру-ру/хуйпизда - я не хочу

а в той комбинации что я в первом сообщении привёл оно автоматом выплёвывает сраную английскую версию
Аноним 07/11/16 Пнд 21:48:40 #284 №871775 
>>871769
Вариантов два:
1. Написать свой вариант LocaleMiddleware
2. Написать простенькую middleware, убирающую\меняющую заголовок Accept-Language из запроса, вставить её перед LocaleMiddleware
Аноним 07/11/16 Пнд 22:01:31 #285 №871795 
>>871775
Вот я что-то такое и нашёл: https://gist.github.com/vstoykov/1366794
но как его в джанго подключить, ей-богу я не понимаю.
Аноним 07/11/16 Пнд 22:05:05 #286 №871799 
Изучая питон Лутца или байт питона его полностью заменяет? Само программирование умею.
Аноним 07/11/16 Пнд 22:28:21 #287 №871822 
>>871795
Подскажи плиз:

В папочке
project/middleware/force_default_middleware.py , __init__.py
внутри https://gist.github.com/vstoykov/1366794

settings.py
MIDDLEWARE = [
.......
..'project.middleware.force_default_middleware.ForceDefaultLanguageMiddleware',
..'django.middleware.locale.LocaleMiddleware',
]

LANGUAGES = (
..('ru', "Русский"),
..('en', "English"),
)
LANGUAGE_CODE = 'ru'


получаю ошибку: TypeError: object() takes no parameters

и чего ему не хватает? смысл то в том что ты и предложил - убирать заголовок из запроса
Аноним 07/11/16 Пнд 22:41:04 #288 №871840 
>>871799
> умею
Не верю.
Аноним 07/11/16 Пнд 23:09:44 #289 №871879 
>>871822
У тебя джанго 1.10? В нем другой стиль для middleware.
https://docs.djangoproject.com/el/1.10/topics/http/middleware/#upgrading-pre-django-1-10-style-middleware
Аноним 07/11/16 Пнд 23:17:48 #290 №871891 
Ох эти джанго-проблемы...
мимо фласк господин
Аноним 07/11/16 Пнд 23:24:01 #291 №871901 
>>871891
Маааам, он тролит?! Ну мааам!
Аноним 07/11/16 Пнд 23:38:00 #292 №871921 
>>871822
Они там че-то нахуевертили с миддлварями в своей новой джанге. Их теперь надо писать по-другому.
Вот, так попробуй. Должно и с 1.10 работать и с ранними версиями http://pastebin.com/mygKPgMT
Аноним 08/11/16 Втр 00:31:28 #293 №871956 
14785542886480.jpg
>>871921
Спасибо тебе большое, ты меня очень и очень выручил.
>>871879
Долго и вдумчиво гуглил... и нихера не заработало. Error 500 только получил.
Аноним 08/11/16 Втр 01:23:19 #294 №871981 
>>871901
Нет я не троллю.
Аноним 08/11/16 Втр 04:49:52 #295 №872012 
Есть ли аналог zip, который мне из [1,3,5,7] и [2,4,6,8] сделает [1,2,3,4,5,6,7,8]?
Аноним 08/11/16 Втр 05:51:56 #296 №872016 
>>872012
http://stackoverflow.com/questions/3678869/pythonic-way-to-combine-two-lists-in-an-alternating-fashion
Аноним 08/11/16 Втр 06:01:35 #297 №872019 
>>872012
Если ты имеешь в виду отсортированный список, то ([1,3,5,7] + [2,4,6,8]).sort()
Если поочередное извлечение, то подойдет
chain.from_iterable(zip([1,3,5,7], [2,4,6,8]))
Аноним 08/11/16 Втр 09:24:05 #298 №872062 
Аноны, с какой книги мимокроку начать вгрызаться в питон?
На хабре советуют 4е издание "Изучаем Питон", в шапке вроде как "Укус питона", в пасте советуют "How to dive into Python", так с чего же начинать?
Аноним 08/11/16 Втр 09:51:55 #299 №872076 
>>872062
> так с чего же начинать?
Пойди дрова наруби деду
Аноним 08/11/16 Втр 10:35:33 #300 №872092 
14785905334900.jpg
>>871002
http://pastebin.com/8uCLZAE6
Теперь всё работает. Спасибо тебе, добрый анон. Вот тебе котик.
Аноним 08/11/16 Втр 10:38:19 #301 №872093 
>>871840
Тебе не обязательно верить, считай это условие частью модели для решения задачи. Каков ответ?
Аноним 08/11/16 Втр 10:43:48 #302 №872099 
>>871799
Если ты бог и умеешь в программирование. Знаешь много паттернов проектирования, умеешь писать на куче других языков, умеешь в архитектуру и основные технологии, которые сейчас юзаются в любом языке - https://docs.python.org/3/reference/index.html.
Это референс по языку. Потом погугли "Python-way" и начинай изчать\писать своё. Если же ты не знаешь всего того, что я перечислил - пиздуй учить по Луццу. Либо бери Byte и доучивай оставшееся через референс на офф сайте + module of the week + гугление "Python-way"
Аноним 08/11/16 Втр 10:51:23 #303 №872103 
>>871491
>при активации виртуального окружения
>команды из батника
Какого виртуального окружения? Какого батника? Что в этом батнике у тебя? Или мы, блять, должны по фотке ебучего шахтёра догадаться, что там?
Аноним 08/11/16 Втр 12:17:56 #304 №872137 
>>872093
Да.
Аноним 08/11/16 Втр 13:39:36 #305 №872158 
>>872012
+
Аноним 08/11/16 Втр 13:59:33 #306 №872163 
Подскажите дауну, как надо по PEP и по уму делать. Есть у меня класс. В нём есть переменная x и функция f(). Вот в функции мне нужен x, а сама эта функция вызывается другой функцией внутри класса. Так как лучше делать: передавать в вызове эту x, или ничего не передавать, а в теле функции делать self.x?
Аноним 08/11/16 Втр 14:35:25 #307 №872175 
>>869906
Ты это я бро. Только мне уже 27 лет бля, когда мои друганы косят по 2к баксов, я эникеем впахивают 300$. Мне очень вначале помог сайт checkio.org, так же PyScripter который, как по мне, имеет хорошо понятный отладчик.
Аноним 08/11/16 Втр 15:11:52 #308 №872193 
>>872163
Кроме здравого смысла, на это гайдлайнов нет.
Если ты знаешь, что x у тебя всегда будет свойством конкретно этого объекта и всегда будет либо свойством класса, либо проинициализировано в __init__, то используй self.x
Если набегут адепты чистых функций и начнут вонять, смело затраливай их - self передается как аргумент, так что функция чистая, ололо.
Аноним 08/11/16 Втр 15:15:54 #309 №872198 
>>872193
Да, звучит здраво. Спасибо, няша.
Аноним 08/11/16 Втр 15:16:47 #310 №872199 
>>872175
> друганы косят по 2к баксов
Поподробней пожалуйста.
Это где они столько косят?
Аноним 08/11/16 Втр 15:23:08 #311 №872200 
>>872199
>Это где они столько косят?
Ну что ты как маленький, водилами и курьерами работают часа 4 в неделю, вот и косят.
А ты сиди дальше, гоняй свои буковки-циферки.
Аноним 08/11/16 Втр 15:30:36 #312 №872207 
Аноны, нужна помощь.
Есть строка из 0 и 1, полученная после кодирования Хаффмана.
Как преобразовать ее в битовый формат, записать в файл, считать и преобразовать обратно?
Аноним 08/11/16 Втр 15:50:37 #313 №872218 
>>872200
А ну ясно.
Аноним 08/11/16 Втр 16:12:51 #314 №872235 
>>872207
binstring = '1001'
binint = int(binstring, 2)
binstring = "{0:b}".format(binint)

Запись/чтение из файла сам делай и не забудь context manager.
Аноним 08/11/16 Втр 17:18:24 #315 №872294 
Вопрос от нубаса в проектировании:
Есть 2 модели, у которых много общего, но много и различного. Их пилить просто в разных моделях или общее вынести в абстрактный базовый класс и от него наследовать эти 2 модели?

Так же хотелось бы queryset получать обращаясь к базовому классу-это возможно вообще?
Аноним 08/11/16 Втр 17:40:02 #316 №872329 
>>872294
Можешь сделать базовый класс не абстрактным, тогда джанго автоматом сделает тебе связь one-to-one, но будет больше еботни с запросами к базе.
https://docs.djangoproject.com/el/1.10/topics/db/examples/one_to_one/
Аноним 08/11/16 Втр 17:54:21 #317 №872337 
https://www.reddit.com/r/learnpython/comments/5bmaz0/python_101_book_free_for_48_hours/

Вдруг кого заинтересует.
Аноним 08/11/16 Втр 18:00:32 #318 №872339 
>>872337
>reddit
Свали на пикабу или вк, ребенок.
Аноним 08/11/16 Втр 18:05:06 #319 №872343 
>>872337
Спасибо!
Аноним 08/11/16 Втр 18:17:39 #320 №872351 
>>869777
Что это за хуитка где ты задачки решаешь? Похоже на розалинд, но такого я там не помню оформления.
Аноним 08/11/16 Втр 19:13:05 #321 №872380 
Анон. С какого момента можно начинать изучать джанго? Прошёл академию, прочёл укус питона, написал игру 'дурак' по алгоритмам из интернета
Аноним 08/11/16 Втр 19:17:56 #322 №872383 
>>872380
После стандартной библиотеки. В идеале для полного понимания почему фреймворк это не волшебство ещё что-типа http://aliev.me/runestone/ или SICP'а на питоне прочитать, но это уже кому как хочется
Если ещё не навернул - наверни Синк Пайтон
Аноним 08/11/16 Втр 19:25:17 #323 №872390 
>>872380
Можешь сейчас начинать.
Аноним 08/11/16 Втр 19:25:58 #324 №872393 
>>872383
Мне кажется ты хуйню советуешь
Аноним 08/11/16 Втр 19:48:23 #325 №872403 
>>872199
Игры пишут для iOS.
Аноним 08/11/16 Втр 19:59:42 #326 №872408 
Ананасы, как в pyplot вывести изображение интерактивно, чтобы после того как обработалось новое imshow изображение сразу выводилось? Пытался сделать через plt.ion(), но теперь вообще ничего не выводится.
Аноним 08/11/16 Втр 20:18:42 #327 №872420 
>>872339
>2017
>сосать водичку из книг
>не учиться по видео
Аноним 08/11/16 Втр 20:57:46 #328 №872448 
>>872420
видео - это долго, неэффективно и для дебилов.
Аноним 08/11/16 Втр 21:18:30 #329 №872460 
Есть один скрипт, с помощью которого я пытаюсь пропарсить ебучий хтмл. Сам скрипт:
http://pastebin.com/9mQk4M2w
Проблема начинается после того, как я получаю урлопен. Вместо ебаного хтмл он мне присылает: <http.client.HTTPResponse object at 0x0000000002E2D4E0>. И что мне с этой хуйней делать? Мне нужен ебаный хтмл, нахуй он мне свои обжекты прислылает???
Аноним 08/11/16 Втр 21:21:50 #330 №872461 
>>872460
>respData = resp.read()
Аноним 08/11/16 Втр 21:23:36 #331 №872464 
>>872461
Спасибо няш, вот я долбоеб, даже код скопипастить не могу. А может ты меня еще по одному вопросу можешь просветить?
Аноним 08/11/16 Втр 21:24:49 #332 №872466 
>>872464
Задавай.
Аноним 08/11/16 Втр 21:28:10 #333 №872469 
>>872466
В хтмл есть тег инпут с типом текст. Допустим я туда хочу что нибудь засунуть с помощью питончика. Есть ли какие нибудь методы для этого в urllib, в респонсе например? Или мне искать другой модуль?
Аноним 08/11/16 Втр 21:32:26 #334 №872471 
>>872469
я бы сразу инпут отправлял с помощью библиотеки requests через POST, если у тебя такая задача
Аноним 08/11/16 Втр 21:45:19 #335 №872481 
>>872469
Ну вот у тебя есть такое
>req = urllib.request.Request(url, headers=headers)

можно и POST запрос делать, надо только какие-то данные передавать. Вот пример:
http://stackoverflow.com/questions/15768504/simple-post-using-urllib-with-python-3-3

Ну или можешь библиотеку requests попробовать, как уже тебе посоветовали
http://docs.python-requests.org/en/master/user/quickstart/#make-a-request

Гугли какие-нибудь примерчики кода.

>>872466-анон
Аноним 08/11/16 Втр 21:53:53 #336 №872486 
14786312338940.jpg
>>872471
>>872481
Спасибо анончик, ушел пробовать.
Аноним 08/11/16 Втр 22:08:00 #337 №872493 
аноны, постигаю азы питона.
суть в том, что я хочу практиковаться на работе, где нет возможности установки программ.
питон запустится при переносе его папки на рабочий комп, или нужно искать portable версию?
Аноним 08/11/16 Втр 22:23:25 #338 №872504 
>>872448
книга - это долго, неэффективно и для дебилов.
Аноним 08/11/16 Втр 22:35:43 #339 №872524 
>>872235
>binint = int(binstring, 2)
Спасибо, но на выходе ведь идет просто int.
Мне нужно именно в битовый формат перевести, чтобы файл, в который записываю, занимал меньше места.
Аноним 08/11/16 Втр 22:47:46 #340 №872535 
>>872493
virtualenv
Аноним 08/11/16 Втр 22:48:56 #341 №872536 
>>872504
Ни цента не заплачу и выгоню ссаными тряпками того идиота, который и правда так считает.
Аноним 08/11/16 Втр 22:52:49 #342 №872543 
>>872493
Можешь просто скопировать
Аноним 08/11/16 Втр 22:53:39 #343 №872545 
>>872536
Кого ты там выгонишь, борщехлеб?
Аноним 08/11/16 Втр 22:54:21 #344 №872547 
>>872545
> борщехлеб
Как скажешь.
Аноним 08/11/16 Втр 22:55:17 #345 №872548 
>>872547
Видать правда, раз припекло.
Аноним 08/11/16 Втр 22:56:31 #346 №872550 
>>872536
Не пойду работать к идиоту, который считает обратное.
Аноним 09/11/16 Срд 00:15:35 #347 №872593 
>>872524
file.open(tvoy_file, 'wb+')
file.write(b)
Аноним 09/11/16 Срд 00:24:06 #348 №872595 
Ребята, а подскажите пожалуйста

Есть моделька с ForeingField(User, ...)
Нужно ограничить в админке при создании нового объекта данной модели ТОЛЬКО нового пользователя, не уже существующим.
Аноним 09/11/16 Срд 00:28:59 #349 №872596 
14786405399240.png
>>872595
Очевидные для меня варианты:
1. Использовать какое-то поле типа ClientLogin а потом через def save модели назначать его же и юзеру, если такого юзера не существует
2. Сверять экземпляры классов джанго Юзер и апп Клиент(юзер)

Блин, может OneToOneField вхуярить и делов?
Аноним 09/11/16 Срд 00:38:08 #350 №872599 
>>872596
Олень я заспанный, дописал unique=True и в рот его всё ебать
Аноним 09/11/16 Срд 05:56:17 #351 №872637 
>>872294
https://habrahabr.ru/post/254773/
Многие вопросы отпадут
Аноним 09/11/16 Срд 11:41:11 #352 №872712 
Платиновый вопрос джангача:

Вот есть у меня моделька, в ней есть def save() для переопределения сохранения данных из скрипта парсера
При создании нового объекта класса этой модельки я стабильно получаю:

object with primary key 'None' does not exist.

как ПОБОРОТЬ?
Аноним 09/11/16 Срд 12:00:06 #353 №872718 
>>872712
я уже голову сломал нахуй этим всем безобразием

class New(models.Model):
..................
# примал кей не переопределяю, т.е. использую стандартный джанговский id=AutoFiled(primal_key=True)

..def save(self, args, *kwargs):
..new = New()
..article = Article(self.link, language=self.lang)
..try:
....article.download()
....article.parse()
....new.id = self.id #pk и прочие primalKeys перепробовал
....new.text = article.text
....new.title = article.title
....new.save()
..except:
....return HttpResponse('Ошибка')
Аноним 09/11/16 Срд 12:13:12 #354 №872724 
>>872718
А просто не трогать id не пробовал?
Аноним 09/11/16 Срд 12:16:50 #355 №872725 
>>872724
да, тот же результат
Аноним 09/11/16 Срд 12:22:24 #356 №872728 
>>872725
Через админку пробовал сохранять?
Аноним 09/11/16 Срд 12:24:22 #357 №872731 
>>872728
только через неё и пробовал.
не цепляет оно айдишник, потому что айдишник должен выдаваться при сохранении в бд, а сохранение не происходит потому что нет айдишника ._.
Аноним 09/11/16 Срд 12:29:20 #358 №872733 
>>872731
Почему ты в save создаешь еще один экземпляр?
Аноним 09/11/16 Срд 12:31:15 #359 №872736 
>>872733
пробовал не создавать, а сохранять чисто с self.tite, self.text .... self.save() - и опять та же хуйня
Аноним 09/11/16 Срд 12:47:44 #360 №872746 
>>872736
Ну какой self.save, ты же должен вызвать метод save родительского класса.
Аноним 09/11/16 Срд 13:02:55 #361 №872752 
>>872712
я ебал тебя в голову анон. почему ты такой тупой блять. сука args, *kwargs напиши, неужели не можешь даже скопипастить ровно.

ну и прочитай ебаную документацию
https://docs.djangoproject.com/en/1.10/topics/db/models/#overriding-predefined-model-methods
Аноним 09/11/16 Срд 13:04:34 #362 №872753 
>>872712
вообще, что у тебя http response потерял в методе модели?

и на будущее, оставь метод save() в покое, юзай сигналы
Аноним 09/11/16 Срд 13:17:54 #363 №872756 
>>872593
Как это b получить?
>>872235
Здесь на выходе int и str, которые не пишутся в файл через 'wb'
Аноним 09/11/16 Срд 13:20:57 #364 №872759 
>>872756
У int есть метод to_bytes, например. Может тебе он как раз и нужен.
Аноним 09/11/16 Срд 13:21:40 #365 №872760 
>>872753
>юзай сигналы
Чем save() плох-то? Где-то удобней его использовать, а где-то - сигналы.
Аноним 09/11/16 Срд 13:27:59 #366 №872764 
>>872760
я с тобой согласен.
но я предпочитаю выносить все в сигналы. реализация сложнее, но больше порядка и наглядности
Аноним 09/11/16 Срд 13:50:12 #367 №872774 
>>872752
Добра тебе
Спасибо!
>>872753
в чём плюсы сигналов? как их юзать и зачем?
Аноним 09/11/16 Срд 14:06:17 #368 №872785 
>>872756
binary_string = '1011'
bytes(int(i, 2) for i in binary_string)
>b'\x01\x00\x01'
Аноним 09/11/16 Срд 14:07:18 #369 №872786 
>>872774
ты не хочешь в джанговской документации прочитать?
Аноним 09/11/16 Срд 14:15:13 #370 №872788 
>>872786
Я пытаюсь доделать говносайт что бы уже от меня отъебались.
Когда-нибудь определённо прочитаю. Спросил что бы в паре слов понять нахуй оно надо вообще, и тем самым не забыть.
Аноним 09/11/16 Срд 14:27:04 #371 №872793 
>>872788
ладно. сигнал эта такая хуйня в джанге, которая "вещает" о каком-то событии модели. pre_save, post_save, pre_delete, post_delete. декорируешь с помощью receiver(приемник) функцию, которая должна исполнится после сигнала. эта функция принимает модель, и экземпляр модели
```
from django.db.models.signals import pre_save
from django.dispatch import receiver
from myapp.models import MyModel


@receiver(pre_save, sender=MyModel)
def my_handler(sender, instance, kwargs):
pass
```
Аноним 09/11/16 Срд 14:31:38 #372 №872798 
>>872788
>>872793
ну и весь смак в том, что когда у тебя появятся несколько действий которые нужно выполнить по сигналу, они будут свалены в кучу в методе save()
Аноним 09/11/16 Срд 14:56:01 #373 №872813 
>>872798
Спасибо большое еще раз
Аноним 09/11/16 Срд 15:01:25 #374 №872820 
>>872798
Переписыватьс ейв - это совсем быдлокод? У меня в учебном проекте все идет через перезаписывание сейв, мне шо, переделывать теперь?
Аноним 09/11/16 Срд 15:08:36 #375 №872824 
>>872785
В итоге из 4 бит получилось три байта. Каким образом и кому это нужно?
Аноним 09/11/16 Срд 15:13:09 #376 №872828 
>>872820
Все нормально, это два разных подхода.
Плюс сигналы обычно используют, когда работаешь с другой моделью.
Аноним 09/11/16 Срд 15:18:48 #377 №872830 
>>872824
Это просто опечатка.
Ты для начала попробовал бы ЗАПУСТИТЬ КОД, десять вариантов которого УЖЕ ТЕБЕ НАПИСАЛИ.
ЕБАНЫЙ ДАУН пиши код сам, ДЕБАЖ ЕГО, ПРОБУЙ ВАРИАНТЫ, ЧИТАЙ ДОКУМЕНТАЦИЮ, ТЫ ЗАЕБАЛ
НИХУЯ ТЫ НЕ НАУЧИШЬСЯ НИЧЕМУ ДЕБИЛУШКА, ТАК И СДОХНЕШЬ ТУПОЙ МАКАКОЙ
inb4 батхерт
Аноним 09/11/16 Срд 15:26:55 #378 №872836 
>>872830
Я не он, истеричка. Если тебе так неприятно, то зачем ты отвечаешь на такие вопросы?
Аноним 09/11/16 Срд 15:30:18 #379 №872840 
>>872824
Пацаны, гля, у нас тут даже не байтоеб... У нас тут битоеб! Ололо.

Теперь по теме. Варианты:
1. pip install bitstring
2. import struct

дальше сам
Аноним 09/11/16 Срд 15:51:22 #380 №872853 
Сап. Аноны, с вашего языка сложно перекатываться на другие? Как никак динамическая типизация. Так как сам я в программировании полный ноль, хотел постигать основы начав с python, после перекатами на java итд
Аноним 09/11/16 Срд 15:52:43 #381 №872854 
>>872853
Лучше начни с джавы, хороший язык для начала.
Аноним 09/11/16 Срд 15:53:12 #382 №872855 
>>872853
Не трать время, учи сразу java.
Аноним 09/11/16 Срд 15:59:17 #383 №872861 
>>872853
Тебе еще не советовали Java? Начинающим как раз.
Аноним 09/11/16 Срд 16:05:54 #384 №872864 
>>872853
Я бы на твоём месте начал бы сразу с java Ебет по всем фронтам включая зп.
Аноним 09/11/16 Срд 16:11:04 #385 №872867 
>>872853
Не слушай никого! Только хардкор, только джава!
Аноним 09/11/16 Срд 16:14:52 #386 №872869 
>>872840
>1. pip install bitstring
Спасибо, то что нужно.
Аноним 09/11/16 Срд 16:30:45 #387 №872895 
>>872869
Раз выбрал bitstring, вот тебе вдогонку
http://pythonhosted.org/bitstring/constbitarray.html#bitstring.Bits.tofile
Аноним 09/11/16 Срд 16:31:46 #388 №872897 
>>872853
тебе уже наверное многие насоветовали всякого... не слушай никого, учи джава
Аноним 09/11/16 Срд 16:34:15 #389 №872901 
Воу, признаюсь не ожидал такого количества откликов.
Спасибо, но, это точно не местный троллинг, типа если ты новичок начинай с хаскеля и тд
Аноним 09/11/16 Срд 16:36:44 #390 №872903 
>>872901
неужели ты такой тупой. конечно тебя тролят с джавой.
Аноним 09/11/16 Срд 16:55:06 #391 №872925 
>>872903
Ну так я понял, но да, я тупой.
Вообще за яву многие топят, мне сложно в языках ориентироваться.
Аноним 09/11/16 Срд 16:56:04 #392 №872927 
>>872903
я не троллил!
Аноним 09/11/16 Срд 16:56:47 #393 №872930 
>>872925
Определись с областью, в которую хочешь вкатиться, после чего выбирай язык. Не наоборот. Синтаксис и фреймворки всегда успеешь выучить. только если у тебя не рак мозга :3
Аноним 09/11/16 Срд 16:57:24 #394 №872932 
Ребят я ньюфаг пиздец,что значат кавычки в этом выражении
float ("210" * int("4"))
Аноним 09/11/16 Срд 16:57:37 #395 №872933 
>>872930
> Определись с областью, в которую хочешь вкатиться, после чего учи джава.
Аноним 09/11/16 Срд 16:58:22 #396 №872934 
>>872932
это смайлик, тебя потроллили
Аноним 09/11/16 Срд 17:00:17 #397 №872936 
>>872934
Ну серьёзно
Аноним 09/11/16 Срд 17:03:05 #398 №872938 
>>872936
s = "Ну серьёзно"
Аноним 09/11/16 Срд 17:10:11 #399 №872945 
>>872853
Java лучший вариант для тебя. because you're so stupid for python
Аноним 09/11/16 Срд 17:12:31 #400 №872946 
нифа у вас АЛЕППО от одного только упоминания джавы))) лоооол))
Аноним 09/11/16 Срд 17:13:18 #401 №872947 
Вопрос к гребцам и им сочувствующим.
Пишут к вакансии бэкендщика "знание Postgresql". В чем выражается суть "знания" постгреса, да и вообще таблиц sql. Знание каких кейсов дает мне право говорит "знаю постгрес?"
Аноним 09/11/16 Срд 17:15:22 #402 №872950 
>>872947
хуй ево знает, наверное правильно писать название. мидлсеньор300к аноний, подскажи, он правильно написал?
Аноним 09/11/16 Срд 17:17:42 #403 №872954 
>>872946
Просто у питонщиков горит, что их язык настолько конченый, что даже джава его лучше. Что уж говорить про джаваскрипт.
Аноним 09/11/16 Срд 17:17:46 #404 №872955 
>>872947
> постгрес
не возьмут, иди еще тренируйся.
Аноним 09/11/16 Срд 17:18:58 #405 №872957 
14787011387820.jpg
>>872954
> джаваскрипт
Аноним 09/11/16 Срд 17:25:54 #406 №872965 
>>872947
Ну, сам я в постгресе не силен, но там есть своя специфика в синтаксисе запросов, CONSTRAINTS всякие, postgis и т.п.
Обычно дальше чем INSERT ... ON CONFLICT ... на практике дело не идет, но в постгресе есть что поизучать, если надо реально оптимизировать.
Аноним 09/11/16 Срд 17:26:54 #407 №872966 
>>872965
Если нужно оптизимировать, то разве не нанимают разрабов баз данных?
Аноним 09/11/16 Срд 17:31:40 #408 №872970 
>>872966
Ну конечно.
А еще архитектора, фронтендера, бэкендера, специалиста по UX и системного администратора.
Это рашка, Карл, тут нужны фулстекорабы за копейку.
Аноним 09/11/16 Срд 17:38:05 #409 №872973 
Вот как так? Зачем это придумали? Как правильно копировать?

http://ideone.com/DwsXrh
Аноним 09/11/16 Срд 17:41:33 #410 №872977 
>>872973
Ну вот так вот.
Используй copy или deepcopy.
Аноним 09/11/16 Срд 17:43:32 #411 №872979 
>>872977
А зачем? Почему не сделать как везде?
Аноним 09/11/16 Срд 17:52:04 #412 №872986 
>>872973
http://ideone.com/z29lv3
Аноним 09/11/16 Срд 17:58:02 #413 №872993 
>>872986
Ты не то сделал. Вот так надо было.
Аноним 09/11/16 Срд 17:58:24 #414 №872994 
>>872993
http://ideone.com/5Pa7s8
Аноним 09/11/16 Срд 17:59:56 #415 №872995 
>>872993
я лишь хотел показать что есть переменные класса и инстанса, копировать и не собирался
Аноним 09/11/16 Срд 18:00:22 #416 №872996 
>>872994
Кстати чего заходил. Можно как-то стандартный конструктор копирования прописать? Чтобы не подключать copy
Аноним 09/11/16 Срд 18:01:09 #417 №872997 
>>872995
Я какое это имеет отношение к вопросу? Совсем другая тема.
Аноним 09/11/16 Срд 18:02:02 #418 №872998 
>>872997
ну чувак переопределяет инстансы и их аттрибуты и удивляется
Аноним 09/11/16 Срд 18:04:06 #419 №873000 
>>872998
Ну можно было t1.t = t2.t написать. Эффект бы остался тем же.
Аноним 09/11/16 Срд 18:05:27 #420 №873002 
>>873000
оставил как в оригинале
Аноним 09/11/16 Срд 18:05:58 #421 №873004 
>>872979
Вопрос привычки.
Аноним 09/11/16 Срд 18:06:56 #422 №873006 
>>873004
Какая польза от этой привычки?
Аноним 09/11/16 Срд 18:07:23 #423 №873008 
>>872996
В 95% случаев потребность в copy.deepcopy объясняется ошибками в проектировании.
Аноним 09/11/16 Срд 18:26:05 #424 №873026 
Пацаны, а как мне в джанго сделать SlugField который опциональный, но уникальный?

slug = model.SlugField(blank=True, unique=True) выдаёт стабильную ошибку миграции django.db.utils.IntegrityError: UNIQUE constraint failed:
Аноним 09/11/16 Срд 18:32:40 #425 №873028 
>>873026
пока нагуглил только что народ вставляет null=True но у меня это опять таки ни к чему ни привело
Аноним 09/11/16 Срд 18:34:45 #426 №873029 
>>873028
я вообще руками делаю
Аноним 09/11/16 Срд 18:41:20 #427 №873038 
>>873029
Получи приз за самый бесполезный комментарий. Он твой. Поздравляю
Аноним 09/11/16 Срд 18:45:25 #428 №873044 
>>873038
ну ок http://pastebin.com/GEwRumtD
Аноним 09/11/16 Срд 18:52:19 #429 №873050 
>>873044
ы скинул тебе как раз не то где применяется unique.. вот поправил http://pastebin.com/epAfAvpZ
Аноним 09/11/16 Срд 18:53:14 #430 №873051 
>>872965
>postgis
Охуенная вещь. Делаю проект, где использую spatial tables и прямо сейчас кончаю от неё.
Аноним 09/11/16 Срд 19:30:31 #431 №873072 
>>873026
def save(self, args, kwargs):
____self.slug = self.slug or None
____super().save(
args, kwargs)
Аноним 09/11/16 Срд 19:55:09 #432 №873081 
>>873050
>>873044
Спасибо большое.
>>873072
Ну мне не Null'ом забить же надо, а что бы вводить в поле было необязательно вообще.
Аноним 09/11/16 Срд 20:18:54 #433 №873092 
>>873081
В Джанго тут (был, уже закрыли тикет) большой проеб - пустой CharField воспринимается как '', а это тоже строка, хоть и пустая, и значение в null не выставляется. В БД сохраняется как '' и потому выбрасывает UNIQUE constraint failed.
Приходися вручную проставлять None, тогда проблема решается.
https://code.djangoproject.com/ticket/4136


Аноним 09/11/16 Срд 21:22:31 #434 №873125 
>>873081
Гля, кстати, чё нашёл:
http://stackoverflow.com/questions/21728500/optional-but-unique-slugfield

но кверисеты писать как-то мне кажется черезчур под это дело. А твой способ >>873050
работает, спасибо ещё раз.
Аноним 09/11/16 Срд 21:51:32 #435 №873140 
14787174926980.png
Ну вот что я,блжд, делаю не так?
Аноним 09/11/16 Срд 21:55:35 #436 №873143 
>>873140
выглядит как будто бы не все зависимости удовлетворены
почитай чё им надо из внешних библиотек, всяких там python-dev и тд и доставь
Аноним 09/11/16 Срд 22:04:02 #437 №873155 
>>873140
Permission denied
Может sudo?
Аноним 09/11/16 Срд 22:42:18 #438 №873200 
14787205389640.png
14787205389641.png
>>873155
Пик 1
p.s.Установлена FreeBSD на серве.
>>873143
Теперь вот пик 2
Аноним 10/11/16 Чтв 00:00:25 #439 №873256 
14787252251880.png
14787252251891.png
Пытаюсь с помощью либы requests отправить форму на сервер, но нихуя не получается.

Код там простой, но я не слишком тупой, чтобы понять, что нужно отправлять. Сам код:
http://docs.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("https://huita.com", data=payload)

В пейлоад по идее нужно отправить данные формы, но нихуя не отправляется. Вот как примерно выглядит пост запрос.(1 пик) и на втором пике сами данные. Хз как это в все в payload засунуть. Подскажи дауну плз, анон.
Аноним 10/11/16 Чтв 00:10:42 #440 №873261 
Можно ли на питончике написать свой мейл сервис и что для этого нужно знать?
Аноним 10/11/16 Чтв 00:14:19 #441 №873262 
14787260590660.png
>>873256
payload = {'authenticity_token': auth_token,
'question[question_text]': question,
'question[anonymous]': 'true'
}
res = session.post( profile_link + '/ask', data = payload, cookies = cookieJar )
Открой вкладку POST.
Аноним 10/11/16 Чтв 00:14:47 #442 №873263 
>>873261
Фрэймворк
Аноним 10/11/16 Чтв 11:41:53 #443 №873387 
>>872973
Можешь делать так, например:
self.t=list(t)
Заодно сможешь не только списки передавать, но и строки, кортежи, в общем, любой итерируемый объект.
Аноним 10/11/16 Чтв 14:57:59 #444 №873472 
Анон помоги. Я совсем запутался в задании кодакадемии. Задание:
>You need to get the average for each student and then calculate the average of those averages.
По моей логике мы создаем пустой список, потом циклом перебираем студентов, добавляя среднее значение get.average(студента) в список. В функции get.average возвращает значение в числе. После чего результат добавленных в пустой список студентов делим на список студентов. В чем я не прав? Ошибка:
Oops, try again. get_class_average([alice]) resulted in an error: 'float' object is not iterable

http://pastebin.com/8dMEsYdZ
Аноним 10/11/16 Чтв 15:38:25 #445 №873496 
>>873472
> results += get_average(student)
Результат у тебя список.
Среднее студента это число.
Ну ты понел...
Аноним 10/11/16 Чтв 15:39:26 #446 №873497 
>>873472
уже не надо.
Аноним 10/11/16 Чтв 15:41:13 #447 №873499 
>>873497
Лол. Чо так?
Аноним 10/11/16 Чтв 15:45:07 #448 №873503 
>>873499
Да я сам решил. Изменил код добавив как и просили по заданию results.append(x) где x это среднее значение студента.
Аноним 10/11/16 Чтв 18:05:05 #449 №873551 
>>867611 (OP)
У меня одного пердачелло рвется от этих пилэйдис?
Аноним 10/11/16 Чтв 18:40:41 #450 №873567 
>>873551
Да ладно тебе.
Тяночки любят что-нибудь толстое, длинное и гибкое.
(питон)
Аноним 10/11/16 Чтв 22:33:33 #451 №873687 
Может у кого есть тема для pycharm в таких цветах?
https://github.com/morhetz/gruvbox-contrib
Лень самому пилить, тема gruvbox для vim
Аноним 10/11/16 Чтв 22:37:25 #452 №873690 
Как лучше делать коммиты в гите - для каждого файла отдельно, или для всех сразу?
Аноним 10/11/16 Чтв 23:18:21 #453 №873719 
>>873690
Для всех, которые изменил во время работы над какой-либо одной задачей.
Аноним 10/11/16 Чтв 23:20:50 #454 №873721 
>>873690
Чего? Гит это система контроля версий а не файлов. Ты изменяешь состояние программы, дополняя ее функционал (создавая версию). Обычно это затрагивает сразу несколько компонентов (файлов). Коммитить нужно именно на этапе новой версии. Весь проект. Желательно в рабочем состоянии или держать отдельную ветку для не законченного изменения.
Аноним 10/11/16 Чтв 23:21:00 #455 №873722 
>>873690
фишка в том что ты и пихаешь в один гит все изменения потребовавшиеся для одной фичи/багфикса
Аноним 10/11/16 Чтв 23:22:12 #456 №873724 
>>873687
По твоей ссылке есть тема для идеи, разуй очи.
Аноним 10/11/16 Чтв 23:22:33 #457 №873725 
>>873722
пихаешь в один коммит*
сонный самофикс
пора спатки
Аноним 10/11/16 Чтв 23:26:48 #458 №873730 
Какой Профит пользоваться vim а не pycharm?
Автодополнения при наборе же ни у кого больше нету нормального? Или я что-то упустил?
Аноним 10/11/16 Чтв 23:30:57 #459 №873736 
>>873730
Ну смотря для чего. Я как юзатель вима после небольшого знакомства с пичармом могу сказать, что под вим ни одна автокомплит-либа не может в метаклассы моделей джанги. Вообще. Все остальное вроде еще куда ни шло. Тебе вим зачем?
Аноним 10/11/16 Чтв 23:33:51 #460 №873742 
>>873736
Ну просто я тот еще задрот, на линуксе с 2003, живу в и3, любимые игры дварф фортрисс и катаклизм дда - только вима и прыщей не хватает до полноты образа. Но так и не смог найти причин на него переходить.
А так да, основное направление которое мне нужно в питоне - Джанго.
Аноним 10/11/16 Чтв 23:34:17 #461 №873745 
>>873736
ах да, самофикс.
Вим он не про супер инструменты искаропки. Он искаропки почти пуст. Он про набор текста и его редактирование. Очень продвинутый да простят меня вимеры блокнот. Но вот если ты на него накатишь аддонов... Такого монстра можно собрать, который разве что отсасывать тебе не будет по одной комбинации клавиш.
Аноним 10/11/16 Чтв 23:34:40 #462 №873746 
>>873730
Ставишь Pycharm, ставишь к нему плагин vim emulator, юзаешь вимовские хоткеи
Аноним 10/11/16 Чтв 23:34:49 #463 №873747 
>>873719
>>873721
>>873722
А если изменения непоследовательные и фрагментарные?
Аноним 10/11/16 Чтв 23:35:05 #464 №873748 
>>873730
я пользуюсь емакс, мне очень нравится
Аноним 10/11/16 Чтв 23:36:52 #465 №873749 
>>873724
Нефти тебе, не знал Что IDEA это и есть PyCharm. Может еще подскажешь, куда файлы кинуть, в user/.PyCharm/config/colors не видит
Аноним 10/11/16 Чтв 23:38:12 #466 №873750 
>>873748
Во, а ты с джангой не работаешь? Есть нормальная автокомплит либа которая бы переваривала метаклассы джанги? Потому что вим вимом, а когда ты блядь не можешь написать в 3-5 нажатий Book.objects.order_by('-post_date') то это грустно
Аноним 10/11/16 Чтв 23:39:12 #467 №873752 
>>867611 (OP)
У меня только один вопрос к вам: как в эпоху CamelCase можно писать на этом уебищном snake_petuhcase?
Аноним 10/11/16 Чтв 23:40:48 #468 №873753 
>>873752
Честно тебе отвечу: Да. Теперь можешь уходить
Аноним 10/11/16 Чтв 23:41:03 #469 №873754 
>>873749
там в настройках импорт тем вроде был
>>873746
в оправдание виму - не видел ни одного аддона для неVim-редакторов где вимовские возможности не были бы порезаны до безобразия. IdeaVim, насколько помню, не могла в именованные буферы обмена.
Аноним 10/11/16 Чтв 23:45:43 #470 №873756 
>>873753
Почему ваша PyCharm называется не py_charm?

Аноним 10/11/16 Чтв 23:47:52 #471 №873758 
>>873756
потому что классы у нас принято писать camelcase, а вот запустив - инстанциировав иде, ты получишь объект который у нас принято писать py_charm
Аноним 10/11/16 Чтв 23:52:21 #472 №873760 
>>873756
еще вопросы?
Аноним 10/11/16 Чтв 23:54:07 #473 №873762 
>>873760
Бочку делаешь?
Аноним 10/11/16 Чтв 23:55:00 #474 №873763 
>>873762
что то ты быстро, жаль.
Аноним 11/11/16 Птн 00:10:30 #475 №873771 
>>873763
Это не я.
Не испытываешь чувство фрустрации от перекатов с CodeStyle на code_style?
Вы ведь в джанге так или иначе с js-кой сталкиваетесь. И такая чехорда получается
Аноним 11/11/16 Птн 00:17:50 #476 №873774 
>>873771
Мне питон нужен, но не могу себя мотивировать из-за этого ебанутого PEP 8. Как вижу код в snakepidor_case хочется плакать
Аноним 11/11/16 Птн 00:20:05 #477 №873776 
>>873771
фрустрации испытываю, но не от codestyle, а от переката с питона джс, прям могу минуту втуплять если только за работу.
Аноним 11/11/16 Птн 03:36:21 #478 №873830 
Есть одна строка. В ней названия файлов (хуйнянейм.расширение). Среди них есть .webm и .jpg . Как мне удалить названия всех файлов в формате jpg(с расширением офк)?
Аноним 11/11/16 Птн 05:06:37 #479 №873842 
>>873830
если в строке кроме названий файлов ничего нет, то разбить строку на список файлов и пройтись по списку циклом, иначе import re
Аноним 11/11/16 Птн 11:17:34 #480 №873898 
14788522547220.jpg
Питоняши, помогите джангу понять:
Разбираюсь сейчас с Django by example и дошел до корзин и сессий.
В settings добавляеся ключ корзины, по которому ее потом будут искать
> CART_SESSION_ID = 'cart'
Сама корзина или создается или извлекается из текущей сессии таким образом:
> def __init__(self, request):
> self.session = request.session
> cart = self.session.get(settings.CART_SESSION_ID)
> if not cart:
> cart = self.session[settings.CART_SESSION_ID] = {}
> self.cart = cart
И вот я совсем не понимаю, как это работает. settings.CART_SESSION_ID появляется со значением по умлочанию 'cart' во время сессии? Но тогда if not cart не работало бы. Если бы в настройках этой строки не было - тогда бы еще понятно, но она есть.
Аноним 11/11/16 Птн 12:26:33 #481 №873917 
>>873747
Ну смотри по ситуации.
Аноним 11/11/16 Птн 14:56:13 #482 №873973 
>>873898
По-моему тут просто дурацкие названия ключей и переменных.
CART_SESSION_ID - это никакой не ID сессии корзины, это ключ, под которым в сессии хранится корзина. Я бы его назвал SESSION_CART просто. Вместо него можно везде использовать просто строку 'cart' - self.session.get('cart')
>cart = self.session.get(settings.SESSION_CART)
Получаем из сессии данные, хранящиеся под ключом SESSION_CART и помещаем их в переменную cart
>if not cart:
Если данных в сессии нет,
>cart = self.session[settings.SESSION_CART] = {}
инициализируем их там пустым словарем
Аноним 11/11/16 Птн 15:22:27 #483 №873989 
Ананасики, помогите ньюфагу. Есть кусок говнокода:

import email
import imaplib


server = "imap.mail.ru"
port = "993"
login = "[email protected]"
password = "moms_lover"
imaplib.Debug = 4
get_mail = imaplib.IMAP4_SSL(server, port)
get_mail.login(login, password)
get_mail.select('INBOX', readonly=True)
typ, data = get_mail.search(None, 'UNSEEN')
for i in data[0].split():
typ, data = get_mail.fetch(i, '(RFC822)')
print(data[0][1])
msg = email.message_from_bytes(data[0][1])
print(msg.get_payload(0))
get_mail.close()
get_mail.logout()

Ищем непрочитанные письма. На выходе получаем:

Content-Type: text/plain; charset=UTF-8

Tvoya mamka u menya

Как получить только сообщение, без "Content-Type: text/plain; charset=UTF-8" и пробелов?
У всех походу проблемы с отправкой, потому что о получении ничего нигде нету. Один я такой идиот, чтоли? Хотя, мама говорит, что я самый умный и красивый.
Аноним 11/11/16 Птн 15:31:05 #484 №873997 
>>873989
засранец, код на пастебин залей, потом ссыль вбрасывай на свое поделие. А эту хуйню неотформатированную уноси отсюда.
Аноним 11/11/16 Птн 15:36:00 #485 №874000 
>>873997
там кода три строчки
Аноним 11/11/16 Птн 15:37:55 #486 №874005 
>>874000
http://pastebin.com/x3wB9gJ0
Аноним 11/11/16 Птн 15:40:32 #487 №874008 
>>873973
Спасибо, кажется я таки понял:
CART_SESSION_ID = 'cart' вообще можно было не писать, а сделано просто для безопасности/конвенции/хуй пойми чего. Но зачем было городить такую ссылку названия переменной, если можно было просто self.session.get('cart') написать?
Аноним 11/11/16 Птн 15:58:19 #488 №874015 
>>874008
Можешь везде self.session.get('cart') писать, но учти, что в приличные дома тебя будут пускать только через черный ход и не далее угольного подвала и септика.
При случайной встрече на улице джентльмены будут глядеть на тебя с презрением, а дамы - морщить носики и перебегать на другую сторону улицы.
Потому что размазывать ключи-строки по всему коду это дурной тон.
Аноним 11/11/16 Птн 16:05:50 #489 №874019 
14788695507700.jpg
>>874015
Так а как правильно делать? Насколько я понимаю, self.session.get('cart') == self.session.get(settings.SESSION_CART). Чем второе лучше, тем, что переменная-имя хранится в settings и ее можно поменять/найти?
И еще вопрос, каким образом приличные господа организуют оплату в своих магазинах? Делать по django-paypal учебный проект конечно интересно, но лучше что-то попрактичнее под рубли выбрать.
Аноним 11/11/16 Птн 16:27:24 #490 №874024 
>>874019
Яндекс кассу погляди
Аноним 11/11/16 Птн 16:58:04 #491 №874031 
Немного переписал -> >>873989
http://pastebin.com/sDr2pYbs

Теперь на выходе получаем:
Tvoya mamka u menya
>>>
- \r\n в конце. Если передать это дело в скписок, то получим:
['Tvoya mamka u menya\r\n']
Как избавиться от \r\n? Помогите пожалуйста.

Аноним 11/11/16 Птн 17:10:32 #492 №874033 
>>874031
Пока пришло в голову только добавить
txt_msg = part.get_payload().split('\r\n')

Что скажете?
Аноним 11/11/16 Птн 17:15:13 #493 №874035 
>>874033
Говно.
Почитай доки, там наверняка есть какой-нибудь no headers request или еще что-то.
Аноним 11/11/16 Птн 17:16:42 #494 №874037 
>>874033
>txt_msg = part.get_payload().strip('\n').strip('\r')
Аноним 11/11/16 Птн 17:38:54 #495 №874042 
>>874037
А strip('\r\n') религия не позволяет?
Аноним 11/11/16 Птн 17:56:16 #496 №874049 
>>874033
>>874037
>>874042
Долбоебы, читайте документацию встроенных функций и не городите костыли

>>> 'Tvoya mamka u menya\r\n'.rstrip()
'Tvoya mamka u menya'

rstrip без параметров уберет вам все пробельные символы справа
Аноним 11/11/16 Птн 17:58:55 #497 №874051 
>>874033

а split вообще совсем для другого, он разбивает строку на части, используя в качестве разделителя то, шо ты ему передал в виде параметра. На выходе у тебя будет не обрезанная мамка, а список из 2 элементов - мамки и пустой строки
Аноним 11/11/16 Птн 18:02:39 #498 №874055 
>>874049
А вдруг ему нужны '\t ' и т.п.?
[freelance] Аноним 11/11/16 Птн 18:10:07 #499 №874058 
>>874051
сплит тоже можно использовать, например для убирания лишних пробелов:
gde_mamka = ' '.join('Tvoya mamka u menya\r\n'.split(' ')).rstrip()
[freelance] Аноним 11/11/16 Птн 18:11:28 #500 №874059 
>>874058
сука абу убрал лишние пробелы в Tvoya mamka u menya, вот опять! видели видели!?
[freelance] Аноним 11/11/16 Птн 18:13:27 #501 №874060 
>>874058
ой не, не так, вот так:
gde_mamka = ' '.join([s for s in 'Tvoya mamka u menya\r\n'.rstrip().split(' ') if len(s)])
Аноним 11/11/16 Птн 18:14:03 #502 №874061 
item = {'x':1, 'y':0, 'z':-1}
choice = input('Ur choice: ')
print (item.get(choice))

Что я делаю не так? Хочу вывести значение ключа, пишет ошибку. Сижу в интерпретаторе на телефоне, значение ошибки не указывает. Следом ещё один вопрос. Поскольку значение ключа в цифрах, сработает ли мой цикл или я не правильно понимаю? :
for i in item:
if i.get(choiceтут я ввожу х) > 0:
return ('mat ebal')

Как вобще можно реализовать вывод через инпут ключа словаря? Я тотали ньюфаг.
Аноним 11/11/16 Птн 18:16:23 #503 №874062 
>>874055
>А вдруг ему нужны '\t ' и т.п.?

>>874031
>Как избавиться от \r\n? Помогите пожалуйста.

шо спросили - то ответил, условий не было.

Если надо убирать ТОЛЬКО \r\n - ну ок, передай их в виде параметров в rstrip при чем в любой последовательности

>>> 'Tvoya mamka u menya\r\n'.rstrip('\n\r')
'Tvoya mamka u menya'

>>874058
>для убирания лишних пробелов:

а почему не использовать для этого .replace(' ', '')?

я понимаю, шо одни вещи можно выразить через другие, но нахуя ж так усложнять?
[freelance] Аноним 11/11/16 Птн 18:16:28 #504 №874063 
>>874061
что выводит это?:
item = {'x':1, 'y':0, 'z':-1}
choice = input('Ur choice: ')
print(str(choice))
[freelance] Аноним 11/11/16 Птн 18:17:29 #505 №874064 
>>874062
а хуй знает, всегда так делаю)
[freelance] Аноним 11/11/16 Птн 18:18:16 #506 №874065 
>>874062
погоди, реплейсом же ты все пробелы нахуй уберешь, а надо лишние
Аноним 11/11/16 Птн 18:18:40 #507 №874066 
Господа, помогите нубу
Осваиваю asyncio и вот делема то, почему то асинхронный код дольше чем синхронный выполняется, почему так?
Расскажите за всю хуйню пожалуйста, что я сделал не так?
http://pastebin.com/Fiwx9cSg
Аноним 11/11/16 Птн 18:19:35 #508 №874068 
>>874063
No output
Хуй его знает, я через приложение сижу на телефоне. Через комп не проверить.
Аноним 11/11/16 Птн 18:21:53 #509 №874070 
>>874065
>погоди, реплейсом же ты все пробелы нахуй уберешь, а надо лишние

да, это я затупил, чистым реплейсом походу не сделать, нашел вот такой красивый способ

' '.join(mystring.split())

>>> mystring = 'Tvoya mamka u menya\r\n'
>>> ' '.join(mystring.split())
'Tvoya mamka u menya'
[freelance] Аноним 11/11/16 Птн 18:22:50 #510 №874071 
>>874068
вот так попробуй
choice = raw_input('Ur choice: ')
Аноним 11/11/16 Птн 18:24:17 #511 №874072 
>>874066
Да вроде всё так:
$ python3 tmp.py
5.9300947189331055
60.197266817092896
Аноним 11/11/16 Птн 18:25:41 #512 №874073 
>>874071
Попробую, спасибо. А в целом я правильно рассуждаю касательно цикла и ввода?
[freelance] Аноним 11/11/16 Птн 18:26:42 #513 №874074 
>>874073
ну да там все правильно кроме того что он твой ввод что то не видит
Аноним 11/11/16 Птн 18:27:51 #514 №874076 
>>874072
У меня, почему-то выдавал так:
19
13
Аноним 11/11/16 Птн 18:45:01 #515 №874079 
Сделал таким образом:

txt_msg = part.get_payload().split('\r\n') - делим по \r\n

mylist = list(filter(bool, txt_msg)) - создаем новый список из мамок без пробелов и всего дерьма.

Что скажете?
Аноним 11/11/16 Птн 19:06:05 #516 №874093 
>>874079

это довольно трудночитаемый и неочевидный способ с возможностью выстрелить себе в ногу

зачем ты делишь по \r\n, если ты хочешь его обрезать?

чем тебя не устраивает rstrip() для обрезки всех любых пробельных символов справа или rstrip(\n\r) для обрезки конкретно всех \n и \r справа?
Аноним 11/11/16 Птн 19:11:13 #517 №874097 
Пишу небольшой консольный файловый менеджер, типа Far'а. Я поехавший?
Аноним 11/11/16 Птн 19:13:39 #518 №874098 
>>874079
Вот эта простая хуйня обрежет все потроха справа и заменит все лишние пробелы на один пробел

>>> mystring = 'Tvoya mamka u menya\r\n'
>>> ' '.join(mystring.rstrip().split())
'Tvoya mamka u menya'
Аноним 11/11/16 Птн 19:15:10 #519 №874100 
>>874097
Какой виджет-фреймворк?
Аноним 11/11/16 Птн 19:16:29 #520 №874101 
>>874100
Обычная консоль Windows, использую небольшую библиотеку Colorama для цветового оформления.
Аноним 11/11/16 Птн 19:47:11 #521 №874126 
Кстати, хочу всем посоветовать серию внезапно адекватных лекций по Пиздону. Я хоть и писал уже кой-чего, но почерпнул много новых юз-кейсов даже из самых первых лекций, то есть, чел рассказывает не азы азов для зеленых нубов, а жизненные вещи и всякие неочевидности. И лектор не аутист прыщавый.

https://www.youtube.com/watch?v=H2IWHyum6k8
[freelance] Аноним 11/11/16 Птн 19:49:53 #522 №874127 
>>874097
клево!
[freelance] Аноним 11/11/16 Птн 19:51:23 #523 №874128 
>>874126
сегодня вот что попалось https://www.pythonsheets.com/notes/python-basic.html#define-a-function-doc
Аноним 12/11/16 Суб 00:57:16 #524 №874273 
>>874097
>Пишу небольшой консольный файловый менеджер, типа Far'а. Я поехавший?
Дай исходники посмотреть, тогда решим, поехавший или нет.
Аноним 12/11/16 Суб 05:43:35 #525 №874335 
Как вкатиться в django?
Аноним 12/11/16 Суб 08:32:31 #526 №874351 
14789287510740.png
>>874335
Аноним 12/11/16 Суб 11:25:42 #527 №874370 
>>874351
Книга Дронова несет хоть какую-то поленость на фоне two scoops? Про что в Lightweight django?
Аноним 12/11/16 Суб 11:32:02 #528 №874371 
>>874370
Качай и смотри.
Аноним 12/11/16 Суб 12:32:06 #529 №874394 
Есть одни курсы. Soft Group в Украине. Предлагают два месяца бесплатных курсов (питон, например), с последующим трудоустройством. Какие подводные камни?
Аноним 12/11/16 Суб 13:48:27 #530 №874440 
>>874394





* - 2 месяца бесплатных курсов будут предоставлены после оплаты шестилетних курсов
- помощь в трудоустройстве после успешного поиска, собеседования и подаче документов работодателю абитуриентом (предоставляется фирменая ручка для заполнения трудовой)
Аноним 12/11/16 Суб 16:03:32 #531 №874530 
Привет анона, я тупой. Чем больше читаю про cython, тем меньше понимаю. Объясните что это за зверь, и как его готовить
Аноним 12/11/16 Суб 16:35:34 #532 №874551 
Перекатываться будем?
Аноним 12/11/16 Суб 16:39:38 #533 №874553 
>>874551
Только если в шапку добавишь мой вопрос >>874530
Аноним 12/11/16 Суб 18:20:27 #534 №874632 
14789640279470.png
>>874551
давай, вот новая пикча
Аноним 12/11/16 Суб 18:20:34 #535 №874633 
ПЕРЕКАТ
ПЕРЕКАТ
ПЕРЕКАТ

>>874631 (OP)
Аноним 12/11/16 Суб 19:53:38 #536 №874711 
>>874019
Sexy Pattycake
Аноним 20/11/16 Вск 19:39:18 #537 №879081 
Анон, подскажи тему для диплома. Хочу на питоне написать
comments powered by Disqus

Отзывы и предложения