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

Python

 Аноним 06/01/16 Срд 20:51:18 #1 №620299 
14521026788160.png
14521026788191.png
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>614738 (OP)

2.x или 3.x: http://legacy.python.org/dev/peps/pep-0373/
Аноним 06/01/16 Срд 20:55:39 #2 №620302 
14521029398590.png
Минвайл, обновился индекс tiobe, по которому питон ползет к успеху.
inb4: >tiobe
Аноним 06/01/16 Срд 21:11:40 #3 №620306 
Ребят, какие есть перспективы в плане работы на питоне?
Можно ли зная питон, вкатываться в тестировщики, админы, веб разработчики, либо он для других целей?
Аноним 06/01/16 Срд 21:16:36 #4 №620310 
>>620306
Можно. У админов это вообще язык номер один. Не считая баша.
Аноним 06/01/16 Срд 22:05:55 #5 №620363 
>>620302
Хайп джса ВСЕ?
Аноним 06/01/16 Срд 22:22:53 #6 №620374 
>>620363
Где ты видел хайп?
Аноним 06/01/16 Срд 23:37:26 #7 №620448 
ребя, есть кто-нибудь, кто может помочь написать тестовое приложение? нужно модуль задач сделать, я только учусь и на курсах домашнее задание дали, 7 числа сдать надо, я уж голову сломал, нихера не получается, помогите для вас, думаю, труда не составит.

вот задание:
Реализовать модуль достижения целей

Пользователь должен иметь возможность добавить сколько угодно целей, у каждой из них создать сколько угодно этапов. У каждого названия должны быть название и описание, а также статус исполнения. У цели также должно быть название и описание. Статус выполнения цели должен отображаться в % в зависимости от готовности этапов цели.
Аноним 07/01/16 Чтв 00:11:18 #8 №620490 
14521146785690.png
>>620448
>7 числа сдать надо
С Рождеством, епта!
Аноним 07/01/16 Чтв 00:13:04 #9 №620492 
>>620448
Тебе же уже все расписали. Чего тебе еще надобно?
Аноним 07/01/16 Чтв 00:26:41 #10 №620498 
>>620293
Я для ускорения и всякой такой лабуды использовал http://pyode.sourceforge.net/
Использовать просто. Там ещё много всякого.
Аноним 07/01/16 Чтв 00:30:12 #11 №620502 
>>620306
Недавно на соседней борде джуна без опыта из беларуси взяли на работу в литву на немецкую компанию тестировщиком на питоне(он и питон то не знал, а искал работу на embedded C). Дали визу и приличную зарплату в еврах. Ездит в гермашку переодически тоже в основной офис.
Тестовое задание видел его, потому что он его выкладывал и просил совета, ещё до того как его взяли(типа дали тест простельникий и надо было описать как его можно было бы улучшить).
Аноним 07/01/16 Чтв 00:31:04 #12 №620503 
>>620492
как я описал выше, я только начинаю учить django. мне нужна прямая помощь от анона, который готов уделить пару часов мне и моей приложухе в скайпе
Аноним 07/01/16 Чтв 00:33:42 #13 №620504 
14521160223940.png
>>620374
Аноним 07/01/16 Чтв 00:35:13 #14 №620505 
>>620503
Нет, тебе надо было самому это делать и разбираться. Какой смысл иначе. Сделать такое приложение можно прочитав туториал на оф.сайте там похожий проект делается.
Аноним 07/01/16 Чтв 01:07:15 #15 №620541 
>>620299 (OP)
Пикчи говно.
Аноним 07/01/16 Чтв 01:08:44 #16 №620545 
>>620541
((9
Аноним 07/01/16 Чтв 01:09:47 #17 №620546 
>>620504
Странный график. Не понятно с чем связан рост жавы. Типа они вкатываются долго? И почему рубин на первом месте был? Вообще охуеть!
Аноним 07/01/16 Чтв 01:12:37 #18 №620551 
>>620546
Руби был на первом потому что гитхаб был частично написан на Руби, и взлетел в первую очередь за счет таких же рубифанатов как сами гитхабовцы.
Аноним 07/01/16 Чтв 01:34:09 #19 №620566 
>>620546
It should be noted that this graph represents each language's relative popularity on GitHub. For example, Ruby on Rails has been on GitHub since 2008, which may explain Ruby's early popularity.
Аноним 07/01/16 Чтв 01:34:28 #20 №620567 
>>620546
Between 2008 and 2015 GitHub gained the most traction in the Java community, which changed in rank from 7th to 2nd. Possible contributing factors to this growth could be the growing popularity of Android and the increasing demand for version control platforms at businesses and enterprises.
Аноним 07/01/16 Чтв 01:43:44 #21 №620586 
>>620546
Мой текущий джанго-проект детектится гитом, как html. Мало питонячего кода еще написал.
Аноним 07/01/16 Чтв 01:49:30 #22 №620597 
>>620586
Средненький джанго проект это несколько тысяч строк питоньего кода, если вырезать всякие миграции и не считать сторонник батареек.
Вот щас глянул - интернет магазин 4512 строк. Сайт генерирующий отчеты - 22629
Аноним 07/01/16 Чтв 01:52:17 #23 №620599 
14521207377760.png
>>620546
На жаве больше кода по количеству строк.
Аноним 07/01/16 Чтв 05:59:10 #24 №620701 
>>620504
Ебать хайп. Тогда уж пожалуйся на хайп CSS - к него рост раза в четыре больше.
Аноним 07/01/16 Чтв 06:02:00 #25 №620702 
>>620701
Хайп был на nodejs. Да и сейчас есть.
И на новые клиентские фреймворки все эти.
И на метеоры всякие.
Аноним 07/01/16 Чтв 06:14:11 #26 №620704 
14521364512920.png
Может ли мне помочь анон? Суть проста. Нужно перед тем, как запускать скрипт питона, передать в консоль спермоси команду 'chcp 65001'. Через что это лучше делать? Копал что то насчёт subprocess, но кажись это не то. Какие еще есть варинаты? Либо объясните, чому следующий код выдаёт ошибку(жопой чую, что что то напутал в subprocess, но не могу понять что)?
Аноним 07/01/16 Чтв 06:15:34 #27 №620705 
>>620704
os.system?
Аноним 07/01/16 Чтв 06:15:53 #28 №620706 
>>620704
os.system
Аноним 07/01/16 Чтв 06:16:56 #29 №620707 
>>620704
А зачем ты в utf-8 кодируешь. У винды ни разу не utf-8 кодировка
Аноним 07/01/16 Чтв 06:18:05 #30 №620708 
14521366856770.png
>>620707
Тому шо файлы могут быть и как 4 картинка на пикрелейт. И их нужно отобразить в консоли, а не заменить знаком вопроса.
Аноним 07/01/16 Чтв 06:25:07 #31 №620709 
14521371074570.png
Всё равно это ошибка. ИЧСХ, в консоли PyCharm всё работает. Что еще может быть не так(помимо моего говнокода)?
Аноним 07/01/16 Чтв 06:30:48 #32 №620710 
>>620709
Попробуй так
.. = os.listdir(unicode(source[0]))
Аноним 07/01/16 Чтв 06:32:07 #33 №620711 
>>620710
А оно и так unicode
Аноним 07/01/16 Чтв 06:35:08 #34 №620712 
14521377082100.png
>>620710
Оно уже юникод. Я просто не вдупляю, при чём здесь вообще IOError. Я же никакой файл не вызываю. Я тупо печатаю строку в консоль. ИЧСХ, в ConEmu, в консоли PyCharm всё идеально работает. А вот в спермоси - не завезли. Сама консоль питона вызывает ту же ошибку и закрывается.
Аноним 07/01/16 Чтв 06:36:10 #35 №620713 
14521377702590.png
>>620712
Вывод ConEmu
Аноним 07/01/16 Чтв 06:44:50 #36 №620714 
>>620713
http://stackoverflow.com/questions/6725249/how-to-print-a-unicode-string-in-python-in-windows-console
Аноним 07/01/16 Чтв 06:51:53 #37 №620716 
>>620714
Хех. Неужели вообще никаких альтернатив? Вот сдаю я скрипт заказчику. И что говорить? "Ко ко ко, пок пок, вы можете поставить себе Cygwin или ConEmu. В дефолтной консольке мой сценарий работать не будет"
Аноним 07/01/16 Чтв 06:53:17 #38 №620717 
>>620716
Печатай кириллицу вопросиками че. Ну или если у тебя там только кириллица используй cp866 или че там у винды в консоли.
Аноним 07/01/16 Чтв 06:57:39 #39 №620718 
>>620717
Ладно, аноны. Спасибо, энивэй.
Аноним 07/01/16 Чтв 06:58:10 #40 №620719 
>>620716
Или вообще ничего не печатай в консольку пиши в файл-лог.
Или выводи в консольку типа прогресс вроде "2/10 files processed"
Аноним 07/01/16 Чтв 07:01:08 #41 №620721 
>>620719
Это слишком костыли. Легче пользоваться другой консолькой.
Аноним 07/01/16 Чтв 07:01:12 #42 №620722 
>>620718
Вообще там по ссылке есть вариант ещё дергать winapi функцию WriteConsoleW
Аноним 07/01/16 Чтв 08:39:24 #43 №620729 
Если кому будет интересна тема вывода unicode в стандартную консоль, то вот: https://github.com/Drekin/win-unicode-console. Там же ссыль на питоновский баг-трек и описание сути проблемы. Этот пакет, в принципе, покрывает все нужды, хотя emoji ждать не приходится, но по крайне мере не крашит. Всем добра.
Аноним 07/01/16 Чтв 08:40:09 #44 №620730 
>>620729
https://github.com/Drekin/win-unicode-console
Обосрался с точкой
Аноним 07/01/16 Чтв 14:16:09 #45 №620795 
>>620302
+1.24% not bad at all!
Аноним 07/01/16 Чтв 14:17:23 #46 №620796 
>>620490
проиграл с декоратором
Аноним 07/01/16 Чтв 14:37:41 #47 №620802 
Почитал об декораторах
Особо использовать не приходилось (мне пока и стринг + стринг + стринг за глаза), но тем не менее не могу понять чому все говорят что они сложные, и ещё более не понимаю где их используют в таких промышленных объёмах. Разве что в сайтах на веб2пу
Аноним 07/01/16 Чтв 14:47:34 #48 №620809 
>>620802
Я часто использую чтобы избежать дублирования кода в функциях, например, сильно упрощенно, если есть несколько похожих шняг:
def f1():
..prepare_action()
..start_action()
..do_stuff()
..stop_action()
..process_results()

def f2():
..prepare_action()
..start_action()
..do_another_stuff()
..stop_action()
..process_results()

Делаю декоратор включающих все общие вызовы, и f1-n теперь выглядят так:

@_action_stuff
def f1():
..do_stuff()
Аноним 07/01/16 Чтв 14:54:21 #49 №620815 
Ньюфаг, который осилил только что джанго-блог с регистрацией и комментариями, сможет написать свой упрощенный маркдаун-редактор для этого блога? Слабо представляю себе сложность этой задачи. Либо как-то кастомизировать дефолтный в джанго, чтобы он преобразовал в html сразу с нужными css-классами, чтобы все посты в блоге были в одном стиле. Готовые wysiwyg-редакторы для моей задумки оверкилл, и, кажется, потребуют указывать эти самые css-классы при каждом редактировании поста.

>>620809
Как обеспечивается вызов do_stuff() в нужный момент, а не после process_results(), например?

Аноним 07/01/16 Чтв 14:59:04 #50 №620818 
>>620815
https://dpaste.de/4hrf
Аноним 07/01/16 Чтв 15:02:06 #51 №620822 
>>620818
Понял, спасибо.
Аноним 07/01/16 Чтв 15:32:22 #52 №620844 
>>620816
Мне в pycharm со шрифтами возиться надоело.
сижу на юпитере
Аноним 07/01/16 Чтв 15:34:29 #53 №620846 
>>620812
vim
Аноним 07/01/16 Чтв 15:57:53 #54 №620854 
>>620702
Так это не хайп. Хайп - необоснованная популярность, которая была на руби например. А клиентские технологии и node.js - это вполне востребованные вещи, которых долго не было и они появились. Но как недостаток - их расплодилось много. Но конкуренция - это хорошо.
Аноним 07/01/16 Чтв 17:56:45 #55 №620913 
>>620854
>node.js - это вполне востребованные вещи
Чем?
Аноним 07/01/16 Чтв 19:11:42 #56 №620955 
>>620913
Как минимум node быстрее чем питон + джанго или рельсы, плюс очень удобно использовать один язык для всего приложения.
Аноним 07/01/16 Чтв 19:32:30 #57 №620971 
>>620955
Для бекенда есть языки куда быстрее ноды с одинаково низким порогом вхождения. Java с Go, например. Да и кто в 2016 выбирает языки по скорости?
Единый язык для фронтенда и бекенда - единственный плюс, но учитывая что этим языком является всратый JS я не уверен что это действительно плюс. Да и работает этот плюс только для обезьян, которые ничего кроме JS не знают.
Аноним 07/01/16 Чтв 20:48:12 #58 №621029 
>>620971
Ну хуй знает, я довольно много писал на питоне и жаве, но когда попробовал ноду - возвращаться нет никакого желания.
Аноним 07/01/16 Чтв 20:49:59 #59 №621031 
>>620955
Просто оказался в нужном месте и в нужное время.
Аноним 07/01/16 Чтв 21:03:57 #60 №621044 
14521898375230.png
Господа, есть ли среди вас те, кто работал с OpenCV на питоне? Суть такая, нужно из множества фотографий вырезать только контур фигуры чловека отбрасывая фон. Уже второй день ебусь, юзал findContours, результат на пике, дальше никак не продвинусь. Подскажите в какую сторону копать, чтобы получить чистый контур.
Аноним 07/01/16 Чтв 21:21:43 #61 №621064 
14521909035270.png
14521909035291.png
>>620815
Ну вот, за каких-то 6 часов даже такой долбоеб, как я, может сделать свой редактор с bbcode-кнопочками. Не маркдаун, конечно, но так мне даже больше нравится.
Аноним 07/01/16 Чтв 23:09:05 #62 №621156 
>>621044
> работал с OpenCV на питоне
На лоре такой чел был спроси там
Аноним 07/01/16 Чтв 23:23:41 #63 №621171 
Уплотнил свою поделку с 4к до 1815 строк. Хочу от себя детей.
Аноним 07/01/16 Чтв 23:31:49 #64 №621180 
>>621171
Я конечно жуткое нубло со стажем программинга вообще 1 месяц, но как вообще программа на питоне может быть такой огромной
Все что я пишу, а это типа пиздилки фоточек с фликра - ну максимум 50 строк

Аноним 07/01/16 Чтв 23:37:08 #65 №621183 
>>621044
Гугли пдфки с научными статьями, почерпнешь идей.
Аноним 07/01/16 Чтв 23:39:27 #66 №621185 
Что выбрать Django or Flask
И почему?
sageАноним 07/01/16 Чтв 23:41:42 #67 №621187 
>>621185
Анус твоей мамаши выбрать. Потому что заебал этот вопрос задавать по три раза в каждом треде.
Аноним 07/01/16 Чтв 23:48:59 #68 №621191 
>>621185
джанго проще и быстрее, фласк понятнее и дольше

пройди пару туториалов по одному и другому и сам выбирай
Аноним 08/01/16 Птн 00:01:06 #69 №621194 
>>621180
Ну там биндинги к сишной либе, обвязки этих биндингов в питонячьи классы/функции (по сути своя либа получилась), ебля с curses, немного логики и самопальных портянок-сортировок, которые я изначально слишком хуево написал, плюс всякая мелочь вроде getopt'а и хелпа. Ну и вообще, 4к - ни разу не большая программа.
inb4 дианон по описанию поделки
Аноним 08/01/16 Птн 00:16:36 #70 №621218 
>>621191
Ty
Аноним 08/01/16 Птн 00:49:52 #71 №621235 
Может Анон знает. Почему, если пытаться в raw_input ввести юникод строку, то он вылетает в EOF. Как фиксить?
Аноним 08/01/16 Птн 00:51:00 #72 №621236 
>>621235
Перейти на актуальную версию.
Аноним 08/01/16 Птн 00:54:05 #73 №621237 
14522036457140.png
14522036457141.png
>>621236
Актуальную версию чего? Python 2.7.11 и последний Pycharm. Я уже думал, что глюки, но всё именно так. Если в PyCharm я ввожу тестовую строку 'Тест', то всё замечательно. Но если пытаюсь запустить скрипт, скажем через cmd, то вылетаю в EOF
Аноним 08/01/16 Птн 00:55:06 #74 №621238 
>>621237
[CODE]
# coding=utf-8

import os

os.system('chcp 65001') # UTF-8 encoding for win console
common = raw_input('>') # For test, I use 'Тест' word
print common
[/CODE]
Аноним 08/01/16 Птн 00:55:26 #75 №621240 
>>621237
Бля ещё один со спермопроблемами. Выше тред покрути
Аноним 08/01/16 Птн 00:55:56 #76 №621242 
>>621237
Поставь conemu вместо cmd
Аноним 08/01/16 Птн 00:57:04 #77 №621243 
14522038246100.png
>>621237
>Python 2.7.11
>актуальная
Аноним 08/01/16 Птн 00:57:45 #78 №621244 
>>621242
Попадаю в тот же EOF
Аноним 08/01/16 Птн 00:57:55 #79 №621245 
>>621243
А что нет? У меня 2.7.6 вообще
Аноним 08/01/16 Птн 00:59:15 #80 №621246 
14522039551840.jpg
14522039551861.png
14522039551902.jpg
>>621244
Аноним 08/01/16 Птн 01:00:15 #81 №621247 
>>621246
Что за хер на третьей? У меня на работе оче похожий чувак есть, только он по openbsd угарает.
Аноним 08/01/16 Птн 01:01:19 #82 №621248 
>>621244
Вообще не понимаю, при чём тут EOF. Я же не посылаю в EOF в консоль.
Аноним 08/01/16 Птн 01:02:20 #83 №621249 
14522041402930.png
>>621247
это я. но у меня фряха
>на работе
>openbsd
увольте его
Аноним 08/01/16 Птн 01:04:55 #84 №621250 
>>621249
На работе очевидные линуксы, это он в личное время по опенку угарает. Кто ж фряхи в 2016 на серверах юзает.
Аноним 08/01/16 Птн 01:05:48 #85 №621251 
>>621238
Нет идей, Анон? Может кто сталкивался.
Аноним 08/01/16 Птн 01:10:23 #86 №621253 
14522046239160.png
>>621251
Ах да. На Cygwin таки работает. Возможно дело именно в кодировке, которую я задаю консоли. Вообщем, призываю WinPython экспертов.
Аноним 08/01/16 Птн 01:10:53 #87 №621254 
>>621250
> Кто ж фряхи в 2016 на серверах юзает.
Дохуя кто на самом деле. По крайней мере в рашке. Ещё вроде в германии оно популярно.
Аноним 08/01/16 Птн 01:11:27 #88 №621255 
>>621253
Я тебе сказал тред выше промотай >>620729
Аноним 08/01/16 Птн 01:12:07 #89 №621256 
14522047276140.png
>>621255
Проблема в том, что это я и есть. Хех.
Аноним 08/01/16 Птн 01:12:09 #90 №621257 
>>621253
https://github.com/Drekin/win-unicode-console/blob/master/win_unicode_console/raw_input.py
Аноним 08/01/16 Птн 01:13:34 #91 №621258 
Кто я?
Аноним 08/01/16 Птн 01:19:09 #92 №621263 
>>621258
Хуй в пальто.
Аноним 08/01/16 Птн 01:36:20 #93 №621270 
>>621194
Забавно. Не думал что всё так геморройно.
Я что бы опыта набраться (ну и мне больше реально нехуй делать) прохожу https://github.com/karan/Projects-Solutions/blob/master/README.md
и оно очень редко когда за полтинник строк переваливает.
А более хай левел задач придумать не могу.
За библиотеку тебе от меня благодарности, у меня прям оргазм случается когда подрубаю всякую фигню типа Pillow или wikipedia и оно в одну строчку вместо меня всё нахуй делает.
Аноним 08/01/16 Птн 02:55:45 #94 №621320 
>>621171
Смотря засчёт чего уплотнил.
Аноним 08/01/16 Птн 03:35:58 #95 №621354 
14522133582370.jpg
Аноны, планирую вкатиться в тестирование на пистоне.
Что надо знать-учить ? Синтаксис питона более-менее знаю, есть несколько личных прожектов на нём, когда то написал несколько парсеров на селениуме.
Аноним 08/01/16 Птн 03:40:46 #96 №621355 
>>621354
Тестирование чего? Дефектов в софте(гуи или не оче)? Вебсайтов? Интернет сервисов/api? Железок? Самих приложений на питоне?
> парсеров на селениуме.
че?
Аноним 08/01/16 Птн 03:41:31 #97 №621356 
>>621355
Ну и ещё есть всякие fuzz testing и прочее.
И есть некоторая теория за этим всем.
Аноним 08/01/16 Птн 03:43:10 #98 №621358 
>>621355
>Тестирование чего?
я только планирую, но скорее всего сайтов
>че?
ну тот который selenium, умеет неплохо граббить инфу с сайтов где надо использовать JS
Аноним 08/01/16 Птн 03:45:26 #99 №621360 
>>621356
> fuzz testing
изучал fuzzy-множества в универе, но логично, что сдесь нечто другое, но звучит интересно
Аноним 08/01/16 Птн 03:50:37 #100 №621362 
>>621358
Сайты которые используют js обычно имеют api какой-нить намного эффективней его использовать.
На селениуме много не награббишь. А вот для тестирование оно да. Правда там какой-то гемор, если, например надо файлы заливать.
Аноним 08/01/16 Птн 03:58:58 #101 №621366 
>>621362
> api какой-нить
там часть инфы декодировалась JSом, чтобы всякие умники не парсили, можно было переписать на питоне, но в данном случае был бы оверкилл
>А вот для тестирование оно да.
то есть имеет смысл его подрочить, но думаю это не все ? я просто для тестов исключительно unittest использую, ну и nose в связке с ним иногда
Аноним 08/01/16 Птн 04:01:42 #102 №621367 
>>621366
А что его дрочить селениум этот же сам генерит скрипты на питоне.
Аноним 08/01/16 Птн 04:18:21 #103 №621370 
А какой сейчас html редактор есть под прыщи? Раньше вот quanta+ ниче была
brackets?
Аноним 08/01/16 Птн 04:25:39 #104 №621372 
>>621370
любой - vim/sublime/atom/и тд
Аноним 08/01/16 Птн 04:27:27 #105 №621373 
>>621366
Зачем ставить пробел перед вопросительным знаком?
Аноним 08/01/16 Птн 04:28:08 #106 №621374 
>>621373
а что, не по pep-у ?
Аноним 08/01/16 Птн 04:28:21 #107 №621375 
>>621372
Хочется чтобы превью было интегрировано и быстро работало. В quanta можно было f6 нажать и в том же окне видеть всё.
Аноним 08/01/16 Птн 04:29:33 #108 №621376 
>>621375
ну то что я перечислил имеет тонны плагинов, если фича популярна, наверняка и для этого найдется
Аноним 08/01/16 Птн 04:32:05 #109 №621377 
>>621376
brackets покруче. Там из коробки live интеграция с хромиумом и ещё вроде есть хрень для нарезки шаблонов(adobe extract)
Аноним 08/01/16 Птн 05:04:57 #110 №621390 
>>621374
По-ублюдски.
Аноним 08/01/16 Птн 05:39:59 #111 №621398 
Почему на винде интерпретатор стартует так долго при первом запуске?
Аноним 08/01/16 Птн 05:44:37 #112 №621401 
>>621398
jit прогревается
sageАноним 08/01/16 Птн 05:45:15 #113 №621402 
>>621401
Какой jit в сипитоне то?
Аноним 08/01/16 Птн 05:46:04 #114 №621403 
Написал для общего развития пример с mix-in и множественным наследованием. В чем зашквар? Меня напрягает повсеместный вызов super в конструкторах, можно ли перенести это в метакласс, чтобы подключать это только там, где нужна композиция из ряда классов?

http://pastebin.com/BsiSEpYj
Аноним 08/01/16 Птн 05:48:23 #115 №621404 
>>621403
Хм. Можно
Аноним 08/01/16 Птн 05:50:53 #116 №621405 
>>621403
А зачем класс вызывает супер инит себя? Разве это нужно не для вызова инита предка по наследованию? Или я чего то не знаю?
Аноним 08/01/16 Птн 05:52:26 #117 №621406 
>>621405
> вызывает супер инит себя
Где?
> Разве это нужно не для вызова инита предка по наследованию?
Так и есть
Аноним 08/01/16 Птн 05:53:40 #118 №621407 
>>621406
>Где?
Да везде

class SolidObject(BaseObject):
def __init__(self, args, kwargs):
super(SolidObject, self).__init__(
args, kwargs)

class DestroyableObject(BaseObject):
def __init__(self, args, kwargs):
super(DestroyableObject, self).__init__(
args, kwargs)

class Crate(SolidObject, DestroyableObject):
def __init__(self, args, kwargs):
super(Crate, self).__init__(
args, kwargs)
Аноним 08/01/16 Птн 05:56:15 #119 №621408 
>>621403
Можно сделать метакласс который будет заменять __init__ на дерганье всех __init__ из bases по очереди.. Но, это лишает тебя гибкости(в каком месте __init__ вызывать super и т.п.), твой код будет нетипичным если кому-то другому с этим работать, явное лучше неявного и т.п.
Лучше так не делать. Лучше вообще метаклассы не использовать если ты не делаешь что-то уж совсем такое типа ORM.
> class Crate(SolidObject, DestroyableObject):
вроде как mixin должен быть слева тут
Аноним 08/01/16 Птн 05:58:25 #120 №621409 
>>621407
А да, у него неправильно там.
Я, кстати, когда-то не оче понимал разницы между super и просто явным вызовом __init__ предка и часто так делал. И на собеседовании так написан. Мне начали задавать вопросы про __mre__ и прочее и не взяли)
Аноним 08/01/16 Птн 05:59:41 #121 №621410 
Поясните за метаклассы. Сколько ни читал на википедии, ничего не понял и не запомнил.
Аноним 08/01/16 Птн 06:01:32 #122 №621411 
>>621408
Согласен. Спасибо.
Аноним 08/01/16 Птн 06:02:17 #123 №621412 
>>621408
Вот в django, например.
> class SecretView(LoginRequiredMixin, View):
> class PrivateView(PermissionsRequiredMixin, View):
Аноним 08/01/16 Птн 06:05:47 #124 №621414 
>>621410
Глянь сначала на декораторы для классов. Они служат примерно одной цели.
Вот смотри
@decorator_function
class Foo: pass
Это аналог
class Foo: pass
Foo = decorator_function(Foo)
т.е. функция берет класс в качестве агрумента и возвращает класс. Ты можешь в этой функции как-то этот класс изменить или вообще переделать или сгенерить на основе каких-то полей из этого класса новый класс вообще(их можно на лету создавать функцией type)

Метаклассы делают примерно тоже самое они отвечают за создание класса, у них просто больше возможностей.
Аноним 08/01/16 Птн 06:08:35 #125 №621415 
>>621409
А как правильно? Кажется в DestroyableObject лишний вызов.

>>621410
Метакласс это прародитель всех классов, грубо говоря. То есть ты можешь вставить магию __metaclass__ = myMeta в тело твоего класса, потом создать этот самый myMeta, и переопределять в нем такие вещи, как __init__, __new__, __call__ и прочие. Делать синглтоны, хитровыебанные диспетчеры, всякий дебаг выдергивать, на что фантазии хватит. В сорсах модели Django можно найти примеры использования, в SQLAlchemy тоже.
Аноним 08/01/16 Птн 06:10:06 #126 №621416 
>>621415
>>621414
Т.е. что-то типа динамической смены предка?
Аноним 08/01/16 Птн 06:10:55 #127 №621417 
14522226554960.png
>>621410
Вот типа примера.
Пример из жизни это django orm. У model.Model прописан метакласс, который на основе полей, которые ты указывал как поля класса модели создает другой класс с другим поведением да и полей таких как ты задал у него нет, они хранятся где-то в _fields.
Аноним 08/01/16 Птн 06:11:48 #128 №621418 
14522227084480.png
>>621417
Блин сам dec не влез в скриншот
Аноним 08/01/16 Птн 06:15:40 #129 №621419 
>>621416
Короче у тебя у класса __init__ и __new__ там отвечают за создание объекта этого класса.
А __init__ и __new__ метакласса отвечают за создание самого класса(т.к. класс в питоне это тоже объект типа type)
Ты можешь как угодно переделать этот класс.
99.9% программистов никогда не писали метаклассов и не будут. Это хитрая магия, которая нужна авторам некоторых библиотек и то редко.
Не забивай себе этим голову.
Аноним 08/01/16 Птн 06:16:42 #130 №621420 
>>621415
Правильно
class Myclass(Base):
..def __init__(...
....super(Myclass, self).__init__(...
Аноним 08/01/16 Птн 06:17:30 #131 №621421 
Можно ли обернуть все методы класса так, чтобы при из вызове выводилось их __name__?
Аноним 08/01/16 Птн 06:17:35 #132 №621422 
>>621420
А, стоп, у тя всё правильно.
Аноним 08/01/16 Птн 06:19:02 #133 №621423 
>>621421
подредактируй __getattr__
Аноним 08/01/16 Птн 06:19:13 #134 №621424 
>>621422
class Crate(SolidObject, DestroyableObject):
def __init__(self, args, kwargs):
super(Crate, self).__init__(args, kwargs)

Ниет, неправильно. Тут нужно вызывать инит конкретного предка.
SolidObject.__init__(self, args)
DestroyableObject.__init__(self, args)
Аноним 08/01/16 Птн 06:20:38 #135 №621426 
>>621421
Да, есть несколько способов. Ты можешь в __getattribute__ если запрашивается метод выводить его имя.
Ты можешь взять класс, пройтись по его полям и для всех callable сделать setattr(Class, 'name', decorator(getattr(Class, 'name'))
Можешь сделать это в декораторе класса или метаклассе в т.ч.
Аноним 08/01/16 Птн 06:21:33 #136 №621427 
>>621424
super вызовет иниты предков в нужном порядке как надо(если у них в инитах тоже есть super)
Аноним 08/01/16 Птн 06:22:30 #137 №621428 
>>621423
__getattr__ будет срабатывать только для полей, которые не найдены. ему нужен __getattribute__ - он срабатывает всегда.
Аноним 08/01/16 Птн 06:22:52 #138 №621429 
>>621428
да, вечно путаю их
Аноним 08/01/16 Птн 06:28:01 #139 №621430 
>>621427
А он разве умный?
Аноним 08/01/16 Птн 06:30:47 #140 №621431 
>>621430
Ему не надо быть умным. Он вызывает следующего предка в порядке __mre__(method resolution order) и вызывает. Таким образом последовательно вызываются все предки даже если там множественное наследование.
Аноним 08/01/16 Птн 06:32:47 #141 №621432 
14522239675300.png
>>621431
mro точнее
super(D) вызовет инит из B, super(B) вызовет инит из C, super(C) вызовет инит из A
Аноним 08/01/16 Птн 06:34:51 #142 №621434 
>>621432
А если ты будешь явно в каждом из этих классов вызывать инит всех предков у тебя получится, что A.__init__ вызовется 2 раза.
Аноним 08/01/16 Птн 06:35:32 #143 №621435 
>>621431
>>621432

Не всё так просто
http://python-history.blogspot.ru/2010/06/method-resolution-order.html

One problem concerns method lookup under "diamond inheritance." For example:

class A:
def save(self): pass

class B(A): pass

class C(A):
def save(self): pass

class D(B, C): pass

Here, class D inherits from B and C, both of which inherit from class A. Using the classic MRO, methods would be found by searching the classes in the order D, B, A, C, A. Thus, a reference to x.save() will call A.save() as before. Since both B and C inherit from A, one can argue that the redefined method C.save() is actually the method that you want to call, since it can be viewed as being "more specialized" than the method in A (in fact, it probably calls A.save() anyways). For instance, if the save() method is being used to save the state of an object, not calling C.save() would break the program since the state of C would be ignored.


After much discussion, it was decided that the MRO adopted for Python 2.2 was broken and that Python should adopt the C3 Linearization algorithm described in the paper "A Monotonic Superclass Linearization for Dylan"
Аноним 08/01/16 Птн 06:39:40 #144 №621441 
14522243806640.png
>>621435
Что не так? Всё работает как я сказал.
Аноним 08/01/16 Птн 06:55:50 #145 №621443 
>>621441
Мезанизм разрешения зависимостей не такой уж простой.
Аноним 08/01/16 Птн 07:00:13 #146 №621445 
>>621443
Ну да там теория за этим есть некоторая.
Но на деле редко приходится использовать множественное наследование, за исключением mixin`ов.
Аноним 08/01/16 Птн 07:00:29 #147 №621446 
>>621443
В яве вот вообще нет множественного наследования и ничего.
Аноним 08/01/16 Птн 10:06:07 #148 №621475 
>>621446
Ну так его можно руками сделать, лол.
Аноним 08/01/16 Птн 14:25:45 #149 №621566 
>>621564
А ты хорош.
Аноним 08/01/16 Птн 14:36:29 #150 №621572 
>>621566
Да мы тут все хоть куда.
Аноним 08/01/16 Птн 16:35:57 #151 №621668 
Что выбрать Django or Flask? Аргументированно.
Аноним 08/01/16 Птн 17:03:46 #152 №621710 
В джанго можно сделать инлайн-формы не в админке а на самом сайте?
Аноним 08/01/16 Птн 17:16:47 #153 №621717 
>>621668
торнадо
заебали
Аноним 08/01/16 Птн 17:25:24 #154 №621722 
Змеяны, подсобите чутка, впервые вообще такое вижу и даже как-то не могу загуглить.
Вместо цифр питон в консольку выбивает 1D, 2D, ну короче цифру и D(наверное decimal).

Когда делаю просто
x = 1
print x
Все нормально, но вот в этой хуе-задачке получается ебала:
from sys import stdin

tokens = stdin.read().split()
n = int(tokens[0])
islands = 0
old_type = ""
for island in tokens[1:n + 1]:
....if island != old_type:
........islands += 1
........old_type = island

print islands

Примерчик:
Ввод:
3
10
10
10
Вывод:
1D

Что еще странного - добавил переменную которая считается на каждом витке цикла, и вывел ее до islands, теперь суффикс получает она, а с islands все ок, может это из-за ctrl+d?
Аноним 08/01/16 Птн 17:27:11 #155 №621723 
>>621722
На ideone запили. попахивает вторым пифоном и проблемами с байтостроками соответственно.
Аноним 08/01/16 Птн 17:36:57 #156 №621727 
>>621723
Да питон второй. У него проблемы с stdout'ом?
Аноним 08/01/16 Птн 17:40:16 #157 №621729 
>>621723
https://ideone.com/WL48HI
Аноним 08/01/16 Птн 17:41:52 #158 №621730 
>>621367
это ведь не путь совсем, тоесть пользоваться можно, но надо знать как и самому написать
Аноним 08/01/16 Птн 17:49:17 #159 №621734 
Любишь лего - Django
Любишь лепить из глины - Flask
Аноним 08/01/16 Птн 17:53:32 #160 №621739 
Анон, почему такой говнокод не работает?
http://pastebin.com/d9cGqq17
Аноним 08/01/16 Птн 17:54:56 #161 №621741 
>>621739
Понял.
Аноним 08/01/16 Птн 18:38:08 #162 №621758 
>>621729
И… что тебя не устраивает в выводе?
Аноним 08/01/16 Птн 18:54:17 #163 №621765 
14522684575140.jpg
>>621734
>глины
Аноним 08/01/16 Птн 18:57:23 #164 №621767 
14522686431990.png
Говно эта ваша джанга. У меня значит загружаются пикчи, в форме они проходят валидацию, там то pil не пытается прочитать всё изображение и всё вроде как заебок, дальше в модели у меня генерируются тумбы и все дела. И вот тут-то в модели-то и происходит исключение если пикча битая. Ну хуй с ним в модели запилил метод clean, он вроде появился в версии 1.2. Но блядь когда юзаешь это дело в админке, то метод clean вызывается дважды. Если используешь модель вне админки то clean нужно вызывать самому. А в этом методе у меня pil как раз и читает пикчу полностью, и если произошел фейл, то кидается ValidationError Пришлось завести специальный флажок для избегания этой ситуации (формочку планируется использовать не только в админке), в которой такая относительно тяжелая операция как чтение картинки вызывается дважды.
Что еще? Еще у меня в ModelAdmin переопределены методы add_view и change_view. У меня форма посылается ajax, так как нужен достаточно продвинутый функционал при работе с пикчами. Так вот, тут происходят два sql запроса на получения альбома который сейчас редактируется, сначала сам ModelAdmin получает для себя, потом получаю я для себя. Но тут-то хуй с ним, понятное дело, что автоматика есть автоматика, на это глаза можно закрыть.
Как итог, то наверное было бы быстрее если бы я взял какой-то более лёгкий фреймеворк. Ну и конечно оно на себе несет тот отпечаток, что оно создавалось для газеты. Джанго конечно годен если тебе нужно клепать сайтики как пирожки, но если ты хочешь попробовать свои силы в вебе один раз и знаешь как работают интернеты, то проще взять более низкоуровневую штуку.
Аноним 08/01/16 Птн 19:02:27 #165 №621774 
>>621767
>Говно эта ваша джанга
>Джанго конечно годен
А почему ты выбрал джанго для своего прожекта?
Аноним 08/01/16 Птн 19:17:37 #166 №621778 
>>621774
говно-годен в зависимости от того, что ты от неё ждешь. Там где тупо всякие текстовые поля да галочки она не создаёт проблем. Например в случае той же газеты. А в моём случае я мог бы так и не узнать о том, что она два раза вызывает clean.
Выбор был обусловлен знанием языков - perl и python, perl был отброшен сразу. А джангу я выбрал так как до этого не занимался вебом со стороны именно веба, а она наиболее попсовая и сулила наиболее лёгкую разработку.
Аноним 08/01/16 Птн 19:20:26 #167 №621780 
>>621739
>if words[(index-1)].isalpha and words[(index+1)].isalpha:
>return True
>else:
>return False
Explicit is better than implicit вышел на новый уровень
Аноним 08/01/16 Птн 19:35:37 #168 №621796 
>>621780

if words[(index-1)].isalpha and words[(index+1)].isalpha:
..return True
elif not words[(index-1)].isalpha or not words[(index+1)].isalpha:
..return False
Аноним 08/01/16 Птн 20:04:18 #169 №621819 
>>621796
if words[(index-1)].isalpha and words[(index+1)].isalpha:
..return words[(index-1)].isalpha and words[(index+1)].isalpha
elif not words[(index-1)].isalpha or not words[(index+1)].isalpha:
..return words[(index-1)].isalpha or not words[(index+1)].isalpha
Аноним 08/01/16 Птн 20:41:17 #170 №621839 
Как проще всего сравнить папки с подпапками? Через рекурсию с filecmp.dircmp?
Аноним 08/01/16 Птн 21:24:21 #171 №621856 
>>621819
Спасибо! Угорел... Писал для наглядности, чтоб не упустить ничего. Только там скобок нет в конце, по этому и не работало.

У меня еще вопрос! http://pastebin.com/RszXAMyw

Как пройти по всем объектам, так как for после удаления перескакивает. В итоге в примере остается 2 и 4.
Аноним 08/01/16 Птн 21:37:01 #172 №621859 
>>621856
Добавляй нужные элементы в новый список, например.
Аноним 08/01/16 Птн 21:42:24 #173 №621863 
14522785447440.png
>>621758
У меня в терминальчике D добавляется.
Аноним 08/01/16 Птн 21:45:44 #174 №621864 
>>621859
Так работает, а без новых списков?
Аноним 08/01/16 Птн 22:03:22 #175 №621868 
>>621864
return [a for a in data if data.count(a) != 1]
Аноним 08/01/16 Птн 22:06:20 #176 №621869 
>>621864
return filter(lambda a: data.count(a) != 1, data)
Аноним 08/01/16 Птн 22:12:05 #177 №621872 
>>621864
http://pastebin.com/1wQxVapN
Аноним 08/01/16 Птн 22:31:38 #178 №621879 
>>621839
хуйня получается пиздец
брр хоть циклом перебирай
пойду glob ебать, может хоть он сможет
Аноним 08/01/16 Птн 22:32:48 #179 №621880 
>>621864
import re
def abc(data):
....return [int(a) for a in data if len(re.findall(str(a),''.join([str(a) for a in data]))) != 1]
Аноним 08/01/16 Птн 22:37:49 #180 №621885 
>>621879
Я не совсем понял что именно ты задумал. Но есть подозрение, что тебе может помочь пересечение множеств.
Аноним 08/01/16 Птн 22:52:41 #181 №621890 
>>621885
Есть фтп, хочу с него грести файлы и папки, которые у меня ещё не скачанные.
Потому pysftp.get_r() качающий рекурсивно всё подряд не подходит, а надо это дерьмище как-то сперва фильтовать.
Ебусь через os.path.walk локально и urllib/pysftp удалённо сравнивая наличие соотвествующих файликов в соответствующе называнных директориях
dircmp удобней был бы для проверки локальной папки и составления списка, но оно блядь не умеет рекурсивно грести всё дерьмо из подпапок папки.

уже раз наверное 8 с нуля код переписываю
Аноним 08/01/16 Птн 22:55:38 #182 №621894 
>>621890
Так тебе по названию фильтровать или по содержимому?
Аноним 08/01/16 Птн 22:56:02 #183 №621895 
>>621864
А нахуя тебе отсутствие новых списков?
Аноним 08/01/16 Птн 22:56:06 #184 №621896 
>>621894
Просто названию файла
Аноним 08/01/16 Птн 22:59:45 #185 №621901 
>>621890
Почему не получить рекурсивно все файлы, которые не папки, а потом просто вычесть все что уже есть?
Аноним 08/01/16 Птн 23:02:15 #186 №621904 
>>621901
>рекурсивно
ОПТИМИЗАЦИЮ НЕ ЗАВЕЗЛИ!!!! АХАХАХ
Аноним 08/01/16 Птн 23:02:38 #187 №621905 
Уважаемые, простите за охуенно тупой вопрос, но у меня возникла проблема с инструкцией nonlocal. Стоит питон 3.5 и всеравно при запуске файла пишет инвалид синтакс и указывает на эту строку. Подозреваю что проблема в моей тупости но все же...
Аноним 08/01/16 Птн 23:03:14 #188 №621906 
>>621904
Любую хвостовую рекурсию можно превратить в цикл. Побудь-ка ты компилятором.
Аноним 08/01/16 Птн 23:04:59 #189 №621908 
>>621901
Так и делаю
Просто это как-то тупо. Я думал беда в том что я нубло и где-то в дебрях стандартной библиотеки или хоть pypi чего завезли, но всюду хуйня
Аноним 08/01/16 Птн 23:07:38 #190 №621910 
>>621908
А разве pysftp.walktree не подходит для твоих черных дел?
Аноним 08/01/16 Птн 23:12:37 #191 №621914 
>>621905
Код-то покажи
Аноним 08/01/16 Птн 23:14:17 #192 №621918 
>>621910
>pysftp.walktree
Как-то я его проебал.
С ним бодрее пойдёт, кажется.
Спасибо!
Аноним 08/01/16 Птн 23:17:51 #193 №621920 
>>621717
Нет, давайте серьезно ответьте.
>Что выбрать Django or Flask? Аргументированно.
Аноним 08/01/16 Птн 23:18:08 #194 №621921 
>>621914
Да любой код. Вот напримкр самый стандартный
def method():
def method2():
nonlocal value
value = 100
value = 10
method2()
print(value)
method()
Выдает ошибку
Аноним 08/01/16 Птн 23:27:26 #195 №621926 
>>621921
Если бы присутствовали отступы, то было бы проще тебе помочь.
Аноним 08/01/16 Птн 23:33:16 #196 №621929 
>>621921
>>> def method():
... def method2():
... nonlocal value
... value = 100
... value = 10
... method2()
... print(value)
...
>>> method()
100

И что у тебя не получается? Где ошибка? Какая ошибка? Ты можешь нормально вопрос задать?
Аноним 09/01/16 Суб 00:25:32 #197 №621947 
>>621890
Воспользуйся aioftp
Аноним 09/01/16 Суб 01:33:20 #198 №621973 
>>621863
Ну, раз на ideone всё заебись, а у тебя нет. Проблема у тебя в «системе».
Аноним 09/01/16 Суб 02:18:14 #199 №621984 
>>621863
Это потому что ты вводишь свою хуйню а потом жмешь Ctrl+D. Ctrl+D отправляет в терминал символ с кодом 4, который означает конец файла. Терминал его показывает как ^D. Питон считывает его, прекращает ввод, выводит 1, и в терминале ^ заменяется на единицу, а D просто не стирается.

Выполни вот так: python _344.py <<< '3
10
10
10'
Аноним 09/01/16 Суб 13:14:51 #200 №622104 
>>621984
Спасибо.
Аноним 09/01/16 Суб 16:04:34 #201 №622248 
Мне выбивает exit code -1073741515. Что это значит?
Аноним 09/01/16 Суб 16:12:20 #202 №622255 
>>622248
Это значит спермопроблемы.
Аноним 09/01/16 Суб 16:16:04 #203 №622256 
14523453646280.jpg
Что почитать по Django?
Ну т.е. я вот сделал вьюшки, темплейты разделил.
У меня сверху в меню список категорий, который передаётся контекстом во все вьюшки.
Что-то мне подсказывает, что некрасиво так делать. Но в документации нет инфы.
Головой подумать я пока не могу, ибо слишком неуверенно себя чувствую в джанго/питоне, неделю изучаю
Аноним 09/01/16 Суб 16:22:01 #204 №622260 
>>622256
А что не так? Как вариант можешь template tag запилить для отрисовки меню.
Аноним 09/01/16 Суб 16:22:45 #205 №622262 
>>622256
Насчет что почитать - 2 scoops of django годная книжка типа best practices.
На http://djbook.ru/ куча рецептов
Аноним 09/01/16 Суб 16:26:03 #206 №622264 
>>622260
>>622262
Ясно, спасибо.
Аноним 09/01/16 Суб 22:33:15 #207 №622549 
14523679951840.gif
Пару месяцев назад начал погромировать на путоне, преимущественно на линуксе. Появилась необходимость сделать executable для винды. Начал читать, как же сделать экзешник, да еще и с иконкой. Попробовал pyinstaller. Мало того, что для него еще нужно скачать Py4Windows. Ну ладно, это цветочки. Но размер вышедшей проги заставил мой пукан пробить орбиту. 15 мегабайт на прогу с гуем на ткинтере, несколькими формочками и оче простым преобразованием. 15! Вы серьезно? Чому так много? Такая же прога на плюсах (inb4: уходи, мразота) будет весить раз в 10 меньше. В общем, я знал что путон тяжелый и медленный, но я не думал что настолько. Может я что-то не так сделал? Посоветуйте как сделать вменяемый по размеру executable под винду.
Аноним 09/01/16 Суб 22:36:44 #208 №622553 
>>622549
На дискету не помещается, да?
Аноним 09/01/16 Суб 22:37:44 #209 №622554 
>>622549
Екзешник вмещает в себя интерпретатор питона. Меньше не выйдет.
Аноним 09/01/16 Суб 22:58:32 #210 №622570 
как регулярными выражениями пропустить (re.escape) всю хуйню кроме цифр и плюса?
Аноним 09/01/16 Суб 23:16:40 #211 №622586 
14523706008000.png
слово из спам листа, блядь
Аноним 09/01/16 Суб 23:50:38 #212 №622599 
>>622549
Это норма! У меня с pyqt под сотню вышел… похуй вообще. Кстати, с pyinstaller-ом не доставлял никакой хуиты, всё заработало сразу и без ебли. Ещё хочется!
Аноним 10/01/16 Вск 00:42:48 #213 №622624 
>>622554
Забавно, что в дельфях когда-то никакой интерпретатор в экзешник не конпелировался, но он все равно толстым получался. Особенно на фоне своих современников. Помню, что даже какое-то время юзал aspack, который выкидывал из бинарника всякий мусор, и из-за которого позже антивирусы начали эти бинарники детектить, как зараженные. Веселые были времена.
Аноним 10/01/16 Вск 00:53:43 #214 №622629 
>>622624
Неправда. Там было 400 кб из-за статически прилинкованного VCL. Если же юзать динамческую линковку (как делал VB6, Visual C++ с его MFC и даже C++ Builder), экзешник весил копейки. Плюс была библиотека KOL с объектной системой от турбопаскаля (object вместо class), она генерировала ультрамаленькие exe будучи полностью автономным статически слинкованным модулем. И нахуя мне это нужно? Учил бы С++ сразу, не забивал бы голову этим говном.
Аноним 10/01/16 Вск 00:54:02 #215 №622630 
14523764420730.png
14523764420751.png
Подскажите, пожалуйста, почему.
Аноним 10/01/16 Вск 00:56:39 #216 №622633 
>>622630
total=0 выше цикла напиши
Аноним 10/01/16 Вск 00:57:31 #217 №622634 
>>622630
Зачем тебе вообще тотал, он же нигде не используется
Аноним 10/01/16 Вск 00:57:34 #218 №622635 
>>622633
А, он у тебя объявлен. Тогда global total
Аноним 10/01/16 Вск 01:04:36 #219 №622642 
>>622635
Помогло, спасибо. Тогда такой вопрос: почему для terms не надо global писать?
Аноним 10/01/16 Вск 01:08:28 #220 №622645 
>>622642
Потому что это питон, детка. Объекты и списки - это другое колдунство. Надо было учить мертвый руби.
Аноним 10/01/16 Вск 01:30:50 #221 №622651 
>>622642
Это специальные грабли, чтобы любители глобальных переменных наступали на них и получали по лицу.
Аноним 10/01/16 Вск 03:00:57 #222 №622681 
>>622256
Two scoops of django.
Аноним 10/01/16 Вск 03:17:39 #223 №622687 
Унылый, устаревший язык с плохой приспособляемостью к нынешним реалиям. В общем-то бесполезен для современного мира. Мертвый язык.
Удобен в использовании разве что для ньюфагов в программировании. Ничего серьезного на нем написать невозможно.

Кстати, есть ли примеры игорей на питоне? Можно даже не ААА.
Аноним 10/01/16 Вск 03:22:07 #224 №622688 
>>622687
civilization 4, eve online, frets on fire, pysol, Mount&Blade, battlefield 2
Аноним 10/01/16 Вск 03:23:02 #225 №622689 
>>622687
Относись ко всему проще: ЯП это просто инструмент. Нет плохих и хороших инструментов, есть подходящие и не подходящие.
Пока будешь всё мерить через призму того, что уже знаешь - ничему новому не научишься
Аноним 10/01/16 Вск 03:24:28 #226 №622690 
>>622687
https://wiki.python.org/moin/PythonGames
Аноним 10/01/16 Вск 03:33:23 #227 №622693 
>>622688
Маловато и все старые.

>>622689
Уча питон после с#, делфьинчика, с++ и пары УГ языков я ничего нового не узнал. Язык простенький. Не знаю как такая простота может выполнять сложные операции.

>>622690
Мало же.
Аноним 10/01/16 Вск 03:35:21 #228 №622694 
Кто нибудь работал с FIFE? Как запустить сраный map editor?
Аноним 10/01/16 Вск 03:36:48 #229 №622695 
Вообще, fife - эталонный пример того, как не надо писать документацию. Вернее её вообще нет. Реквестирую движок под питон, на котором бы можно было сделать игру в стиле первых двух фоллаутов с нормальной подробной документацией.
Аноним 10/01/16 Вск 03:41:10 #230 №622701 
>>622695
Ты её никогда не сделаешь тем более один. Забей.
Можешь в браузере на html5 попробовать сделать проку больше будет от полученных знаний. Или рогалик в ascii кодах.
Аноним 10/01/16 Вск 03:43:16 #231 №622702 
>>622687
>>622693
ПуреВасян, ты?
Аноним 10/01/16 Вск 03:46:56 #232 №622704 
Парни, а что вы читаете из программинговых сайтов, может что ещё есть типа хабра с туториалами по всему подряд в частности по питону на любой вкус и цвет? Мову английскую знаю.
Реддит питон фор бегинерс и просто питон смотрю, но там филиальчик стаковерфлоу, а мне бы идей почерпнуть и подходов.
Аноним 10/01/16 Вск 03:48:49 #233 №622707 
>>622704
Кстати неплохо доставляют ещё эти ребята http://pycoders.com/archive/
Аноним 10/01/16 Вск 03:50:00 #234 №622708 
>>622704
Раньше был подписан на rss ленты всяких блогов и был какой-то их агрегатор. На русском есть http://pythondigest.ru/
Вообще хз реддит лучше всего там несколько субреддитов по питону и джанге. Тот же аггрегатор новостей и ссылок на статьи.
Ещё списки рассылки есть на них через google groups можно подписаться.
Аноним 10/01/16 Вск 03:52:46 #235 №622709 
>>622701
А мне и не нужно сделать, мне нужно начать делать. Писать на канвасе в хтмл - то же самое, что писать движок с нуля.
sageХейта пост Аноним 10/01/16 Вск 03:58:58 #236 №622712 
Те кто начинал с каноничных плюсов, школодельфята, матлабобоги, объясните пожалуйста, почему питон такое дерьмо? Что за ебанутый синтаксис. Почему ебанный матлаб 2014 работает шустро, а ссаный пичарм, написанный скорее всего на том же говнопитоне имеет ощутимую задержку при любом действии. Что за ебанутые особенные правила работы с глобальными переменными для функций? Как так вообще жить? Где нормальные массивы, что за дерьмосписками с ебанутым интерфейсом нам подложили? почему нужно стольк скобок? СХуяли в 2016 году питон по умолчанию не умеет в юникод? Почему даже при явном указании на утф-8 он плюется на АСКИшные же символы!!Нахуй вообще это дерьмо нужно?
Аноним 10/01/16 Вск 04:03:57 #237 №622716 
>>622712
> ссаный пичарм, написанный скорее всего на том же говнопитоне
На java. Это тот же движок что intellj idea, phpstorm, clion и прочее.
> с глобальными переменными
Глобальные переменные - зло. Их надо избегать.
> Где нормальные массивы
в numpy
> питон по умолчанию не умеет в юникод
Умеет. Вангую проблемы консоли венды, но питон тут не при чем.
Аноним 10/01/16 Вск 04:07:40 #238 №622719 
>>622708
Я так понимаю аналогов хабра в общепланетарном масштабе и не существует?

Спасибо за ссылку, читаю, очень нравится
Аноним 10/01/16 Вск 04:08:59 #239 №622720 
>>622716
>Глобальные переменные - зло. Их надо избегать.
И передавать по десять параметров из функции в функцию или писать функции по 1 строчке. Увы, глбл - зло, с которым необходимо сотрудничать. А питон пытается всеми силами защитить от него.
> все остальное
посмотрю. Какие годные ide для венды есть, не написанные не на джваве ни на питоне?
Аноним 10/01/16 Вск 04:09:23 #240 №622721 
>>622708
Нульчую дайджест. Далеко не всё там интересно, но бывают ссылки на очень интересные либы и/или статьи.
Аноним 10/01/16 Вск 04:14:04 #241 №622723 
>>622720
> десять параметров
Параметры «пакуются» в контейнеры, желательно с именованым доступом.
> с которым необходимо сотрудничать
Нет.
ты какой-то долбоёб зачем тебе вообще пифон? сиди в своих дельфях и матлабах
Аноним 10/01/16 Вск 04:15:36 #242 №622724 
>>622720
Нахуя для питона вообще ide? Всякие автодополнения и подсветку умеют обычные редакторы.
http://komodoide.com/ попробуй чтоли.
Реальных ide два - pycharm и pydev и оба на java. Кстати для других языков ситуация аналогичная.
> Увы, глбл - зло, с которым необходимо сотрудничать.
Не необходимо. В глобальном скопе разве что какие-то константы можно хранить.
Используй ооп подход.
Кстати, доступ к глобальным переменным медленней, чем к локальным.
Аноним 10/01/16 Вск 04:32:00 #243 №622729 
Сап, двач. Начал изучать питон помоги разобраться. Код умножает каждый элемент списка на 3. Я не могу понять что делает вторая строка и почему она работает именно так? Хотя основной вопрос, все же как она работает, ведь если разнести эту строку на несколько, то нихуя не работает. Собственно сам код:
arr=[0,1,2,3,4,5,6,7,8,9]
i,x=0,len(arr)
while i<x:
arr*=3
i+=1
print(arr)
Аноним 10/01/16 Вск 04:36:24 #244 №622731 
>>622729
Эквивалент вот:
I=0
X=Len(arrr)
Аноним 10/01/16 Вск 04:55:25 #245 №622741 
>>620306
> Ребят, какие есть перспективы в плане работы на питоне?
Долбится в очко работая гей шлюхой есть перспективы. Потому что на питоне 2,5 вакансии куда нужен как минимум мид. на которые конкуренция человек 200.
Попутно можно учить перспективный и востребованный язык, а не говно для студентов.
Аноним 10/01/16 Вск 09:41:45 #246 №622807 
>>622741
PHP ?
Аноним 10/01/16 Вск 09:43:53 #247 №622808 
>>622807
И хостится на шаредах. КАЗДЫЙ ХОСТЕР ПОДДЕРЖИВАЕТ
Аноним 10/01/16 Вск 10:17:32 #248 №622816 
14524102528870.png
>>622586
пикрел?

>>622720
>Увы, глбл - зло, с которым необходимо сотрудничать
Вот, например, как этот >>622630 сотрудничает. Вместо того, чтобы в processTweetFile (инб4: >python >camelCase) создавать новый словарь terms и его же возвращать, он за каким-то хуем держит его в глобале. Завтра он захочет разобрать два разных твита и придёт сюда с просьбой разобраться, почему в словаре лишнее что-то.
Ещё и файл не закрыл...
Аноним 10/01/16 Вск 10:23:32 #249 №622819 
>>622630
Да, кстати, к твоему вопрос из главного треда доски: total в твоей функции не глобальная. '+= 1' это вам не '++'. Питон, соответственно, там видит "total = total + 1" (в случае с иммутабалами, по крайней мере). То есть ты определяешь (первый раз) переменную total, в значение которой нужно записать ... её же. Отсюда и referenced before assignment.
Аноним 10/01/16 Вск 10:56:57 #250 №622829 
>>622688
У варгейминга ui на питоне.
Аноним 10/01/16 Вск 10:59:26 #251 №622831 
>>622716
>Вангую проблемы консоли венды, но питон тут не при чем.
Я бы еще питон 2.х сванговал.
Аноним 10/01/16 Вск 11:38:08 #252 №622839 
Привет
Аноним 10/01/16 Вск 11:46:52 #253 №622842 
>>622716
Правильно вангуешь. Консоль винды настолько обоссаная, что скрипты если и запускают под спермосью, то либо пытаются их портировать на Python 3, либо, если хочется посадомировать с двойкой - используют Cygwin
Аноним 10/01/16 Вск 13:26:46 #254 №622889 
>>622842
А ведь им дали паверщель. Хуле они все с цмд.ехе, м?
Аноним 10/01/16 Вск 14:00:35 #255 №622910 
Господа-начинающие, на каких сайтах берете упражнения?
http://codingbat.com/python, practicepython.org - эти сделал
откуда еще черпать?
Аноним 10/01/16 Вск 14:02:24 #256 №622911 
>>622910
https://www.hackerrank.com/domains
Аноним 10/01/16 Вск 14:03:04 #257 №622913 
>>622910
https://projecteuler.net/
http://www.checkio.org/station/home/
Аноним 10/01/16 Вск 14:05:35 #258 №622914 
>>622910
https://m.reddit.com/r/learnprogramming/comments/2a9ygh/1000_beginner_programming_projects_xpost/
http://blog.programmersmotivation.com/2014/07/09/list-projects/

Сам придумываю. Листаю хабр и всё что нахожу по питону, думаю где бы оно мне могло пригодиться - пишу. Стараюсь писать такое, что бы за один вечер успеть докодить до стабильной альфы. Благо с питоном это вполне возможно.
Аноним 10/01/16 Вск 14:06:42 #259 №622915 
>>622913
В checkio забавно сравнивать свои громоздкие решения с топовыми от местных маньяков. Идеальное решение по их мнению - это то, которое заняло одну строчку. Изгаляются там с лямбда-функциями, генераторами и т.п.
Аноним 10/01/16 Вск 14:07:48 #260 №622916 
>>622915
На самом деле это херовая практика, так код тяжелее читать как правило и разбираться в нем.
Аноним 10/01/16 Вск 14:14:46 #261 №622918 
>>622916
В спортивном решении задачек можно и побаловаться.
Аноним 10/01/16 Вск 15:10:43 #262 №622935 
>>622916
С одной стороны да, с другой - так можно найти более удобные/быстрые решения каких-то отдельных кусочков задачи, которые затем в нужной ситуации использовать.
Аноним 10/01/16 Вск 16:36:56 #263 №622967 
>>622915
Там разные есть. Есть и такие, как ты описал, а есть и очень даже хорошие.
Аноним 10/01/16 Вск 17:08:17 #264 №622988 
14524348975980.jpg
>>622262
>>622681
Стоит ли пользоваться их cookiecutter'ом? Чёт он большой слишком.
Аноним 10/01/16 Вск 17:10:02 #265 №622992 
>>622988
Не обязательно. Хотя и неплохая штука вроде.
Аноним 10/01/16 Вск 18:01:30 #266 №623021 
стоит ли изучать питон для фриланса?
Аноним 10/01/16 Вск 18:03:06 #267 №623023 
>>623021
Да.
Аноним 10/01/16 Вск 18:03:51 #268 №623024 
>>623021
Нет
Аноним 10/01/16 Вск 18:04:07 #269 №623026 
>>622992
Отмена
Аноним 10/01/16 Вск 19:21:21 #270 №623076 
>>623021
Фриланса?
Аноним 10/01/16 Вск 19:21:39 #271 №623077 
>>623021
[САРКАЗМ]
Аноним 10/01/16 Вск 19:22:18 #272 №623078 
Как установить fife на линукс? Дайте пошаговую инструкцию.
Аноним 10/01/16 Вск 19:25:08 #273 №623082 
Допустим у меня есть иерархическая структура словарей, типа
{a: {b: {c: 1}}}, как мне безопасно получить значение по какому-либо пути, учитывая, что структура может быть не полностью заполненной?
В руби кажется есть для этого оператор элвис. В скале есть тип Option. Что в питоне для этого?
Аноним 10/01/16 Вск 19:26:31 #274 №623084 
>>623082
d.get('key1',{}).get('key2',None) ?
Аноним 10/01/16 Вск 19:59:37 #275 №623108 
Взял хостинг на AWS. Подскажите, есть ли какой-то иной вариант держать сервер запущенным, не коннектясь через консоль каждый раз к серву и не включая его вручную? Не хочется постоянно держать комп включенным, да ещё иногда 'Broken pipe' вылетают. Я на джанге.
Аноним 10/01/16 Вск 20:02:42 #276 №623110 
>>623108
Какой сервер? development сервер чтоли? запусти его внутри screen
Аноним 10/01/16 Вск 20:19:43 #277 №623127 
>>623108
>Взял хостинг на AWS
Сколько он вообще стоит? Дорого выйдет небольшой блог держать?
Аноним 10/01/16 Вск 20:21:55 #278 №623128 
>>623127
Палю годноту - cloudatcost.com
Минусы - сервера только в канаде
Аноним 10/01/16 Вск 20:23:19 #279 №623129 
https://github.com/rust-lang/rust/blob/219eca11b044de3644b3e9101124513c1a842b09/src/etc/check-sanitycheck.py

Я нуб и хочу спросить - это нормально что для пары маленьких функций написан целый декоратор? Причем как я посмотрел, он используется только в одном этом файле. Просто мне это кажется каким-то оверкилом.
Аноним 10/01/16 Вск 20:25:00 #280 №623134 
>>623127
Бесплатно первый год, думаю небольшой блог влезет в те бесплатные параметры.
>>623110
Я в этом ничего не понимаю, это EC2, instance type: t2.micro. Запустил через скрин - круто, то есть он теперь всегда будет работать, до тех пор пока я не подконнекчусь и не вырублю его, так? Спасибо тебе
Аноним 10/01/16 Вск 20:26:59 #281 №623136 
>>623129
Не нормально. Но что ты хотел от раста, который высрала команда не способная в нормальный код, и создавшая для своего фурифокса целый отдельный язык, на котором до сих пор ничего кроме серво не написано?
Аноним 10/01/16 Вск 20:50:05 #282 №623161 
Посоны, гляньте на код: https://dpaste.de/5BEg Он корректно работает на маленьких значениях, как искомой фразы, так и исходного набора символов. Но, начиная с 4-символьной фразы он уже не перебирает все варианты. 'abbe', например, находит, а 'acca' - уже нет. Я так понимаю, объект cwr содержит не все возможные комбинации. В таком случае, из-за чего останавливается генерация комбинаций? Не хватает памяти?
Аноним 10/01/16 Вск 21:19:52 #283 №623193 
>>623161
Все, разобрался. Не обратил внимание в доках к itertools, что в данном случае возвращается упорядоченный набор комбинаций, а не все возможные.
Аноним 10/01/16 Вск 21:47:28 #284 №623224 
14524516480730.jpg
Анон, есть такой словарь:

someList = {
1000:[
("1","2","3","","5","","7","8","9")
],
1001:[
("1","2","3","4","5","6","","8","9")
],
}

Мне надо проверить все пустые ячейки из всех кортежей.
Пробовал так, но выводит лишь не пустые (FULL_BLOCK):

for i in range(len(listy)):
if ( "" == listy[i+1000][i-1000:][i-1000:] ):
print("%d\t%d\tEMPTY BLOCK\t[%d]" % (i+1000,i-000,i))
else:
print("%d\t%d\tFULL BLOCK\t[%d]" % (i+1000,i-000,i))
Аноним 10/01/16 Вск 21:47:48 #285 №623225 
>>623224
http://pastebin.com/CZM6V28P -- проще взять тут.
Аноним 10/01/16 Вск 22:22:06 #286 №623248 
Зачем читать Лутза (1к ебанины), если есть элегантный Dive into?
Аноним 10/01/16 Вск 22:36:46 #287 №623253 
>>623248
https://learnxinyminutes.com/docs/python/

Не благодари
Аноним 10/01/16 Вск 23:24:07 #288 №623277 
>>623224
>>623225
Кортежи еще и в списки заворачивать - обязательное условие? Если нет, то http://pastebin.com/9DNJp4GT
Аноним 11/01/16 Пнд 00:02:18 #289 №623291 
>>623225
Что должно происходить-то. все дибилы забывают это указать
Аноним 11/01/16 Пнд 18:05:38 #290 №623403 
Боже как я ненавижу фронтенд. Просили знакомые сделать говнолендинг что бы с мобильного норм смотрелся, сделал, у знакомых включился ВНУТРЕННИЙ ДИЗАЙНЕР, попросили по-мелочам переделать, сука, переделывай-переделывай нахуй хуйню эту бутстраповую блядь. Бесит пиздец. Днище.
Хочу уже добить и дальше в милый питончик писать своё консольное парсерное говнишко.

Просто поныть решил чуть. Хотя если чего посоветуете как лепить бутстраповую хуйню быстрее и что бы меньше возиться - буду крайне признателен.
Brackets live view кстати из коробки не запустился, сижу как лох ф5 жму.
Аноним 11/01/16 Пнд 18:14:46 #291 №623410 
>>623403
Скоро вебассембля, полегче станет, не придется жс-дерьмо бочками жрать.
Аноним 11/01/16 Пнд 20:35:14 #292 №623506 
>>623410
А чем питонодерьмо лучше? Я не встречал людей, которые считали бы питон хорошим языком, зная что то, кроме него.
Аноним 11/01/16 Пнд 20:52:20 #293 №623519 
>>623506
>Я не встречал
Потому что в твоем классе никто больше в программирование не умеет?
Аноним 11/01/16 Пнд 21:04:23 #294 №623527 
Решаю задачки на чекио - застрял на этой: http://pastebin.com/CnY5tqT4
Нужно из двух строк выбрать набор слов, который встречается в обеих строках. Так вот, решение, в общем-то, несложное, но что делать с тем, что сеты - неупорядоченные множества? Я могу упорядочить результат с помощью функции sorted(set1 & set2, key=set1.index), но третий проверочный assert нам как бы намекает, что упорядоченный результат составителей задачи не интересует. И ладно бы проблема только в этом assert была - можно пощелкать Run & Check несколько раз, пока не выпадет нужный порядок, но у них там еще свои проверки есть, и щелкать, чтобы проскочить сразу все я заебусь. Че делать-то?
Аноним 11/01/16 Пнд 21:19:33 #295 №623533 
>>623527
Блять, "хакнул" слегка задачку, а потом посмотрел решения других пацанов, а они там sorted() без аргумента key юзают и им норм.
Аноним 11/01/16 Пнд 21:24:23 #296 №623536 
>>623506
Классы, декораторы, импорты, система типов данных не такая ущербная, и многое другое. Яваскрипт вынуждает программистов писать свой собственный тулинг поверх языка, чтобы можно было решить на нем задачу хотя бы среднего уровня сложности. Или учить чужой фреймворк, каждый год новый. Съеби отсюда нахер, чушка js-ная.
Аноним 11/01/16 Пнд 22:11:20 #297 №623572 
>>623536
>Классы, декораторы, импорты
в ES6(+) уже есть
>система типов данных не такая ущербная
а вот это, или There should be one-- and preferably only one --obvious way to do it. не завезли, и врядли завезут.
Аноним 11/01/16 Пнд 22:14:58 #298 №623577 
> 2016
> бараны все ещё ищут идеальный язык, а не под конкретные нужды
Аноним 12/01/16 Втр 01:10:35 #299 №623647 
14525502357340.jpg
>>623536
Кто бы говорил про ограниченность.
Аноним 12/01/16 Втр 01:41:01 #300 №623724 
>>623647
Кучу раз уже поясняли. Нужен новый пик.
Аноним 12/01/16 Втр 02:30:41 #301 №623783 
>>623724
поясни для нюфака
Аноним 12/01/16 Втр 03:38:57 #302 №623809 
>>623783
Есть три ответа:
1) Нинужно!
2) Допиливается с помощью костылей.
3) А у нас свой кривой аналог есть.

Применяешь их в случайном порядке ко всем пунктам списка и получаешь ответ.
Аноним 12/01/16 Втр 03:50:50 #303 №623812 
>>623783
>скорость выполнение
Естественно, это скриптовый язык. Причём общего назначения, а не как, например lua. Хотя вот JITа нет - это да. Хотя всё это зависит от реализации.

>многопоточность
Это относится к стандартной реализации CPython, в которой некоторой заменой этому является multiprocessing.

>компилятор
Охуеть. Без комментариев.

>проверка типов
Есть рантайм проверка. А проверка при написании целиком в руках программиста. Но при долгой работе с языком это более не ощущается.

>приватные методы
Гвидо сам говорил, что
>от i_ate_god (этот ник оскорбляет чувства верующих — прим. пер.)
Интерфейсы, абстрактные классы, приватные члены, др… Почему в Python отсутствуют эти вещи?

>Гвидо: Я вижу две причины: (а) они вам в действительности не нужны, и (б) их сложно реализовать, так как отсутствует проверка типов на этапе компиляции. Python начинался как экспериментальный проект (не утверждённый или одобренный начальством, но и не запрещённый), и я хотел быстро получить рабочий прототип. Поэтому я убрал возможности, которые были не особо нужны, и которые можно отложить; также пришлось все проверки типов делать в run time. Отсюда вытекают естественные ограничения на те возможности, которые поддерживает Python. Я также не был религиозным фанатом объектно ориентированного подхода. Я хотел получить простой язык, а объектно ориентированным он стал скорее по случайному стечению обстоятельств.

Да и вообще, есть общепринятое __methodname

>паттерн матчинг
>switch-case
Есть elif. А ещё можно функций в словарь/дикт напихать. А можно ещё много чего придумать.

>хвостовая рекурсия
Куда бы она делась? Есть.

>карринг
spam1 = lambda x : lambda y : spam( x, y )

>ленивость
Есть.

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

>округление результатов
Щито?

>соглашения об именовании
PEP8, нуф сэд.
Аноним 12/01/16 Втр 04:36:40 #304 №623822 
>>622910
Codewars.com забыли. Хотя может я чего незнаю о нем. сам нуб, 2.5 дня в теме, делаю все подряд на 8kyu
Аноним 12/01/16 Втр 04:41:43 #305 №623823 
>>623023
Ты пробовал? Как успехи?
Аноним 12/01/16 Втр 06:00:21 #306 №623829 
>>623224
>словарь
>someList
Аноним 12/01/16 Втр 09:02:06 #307 №623871 
Ебаный в рот, что такое хайп?
Аноним 12/01/16 Втр 10:45:24 #308 №623906 
>>623871
Это фейк что бы собрать классы
МММ всякие и тд
Аноним 12/01/16 Втр 12:42:31 #309 №623961 
>>620299 (OP)
Парни, дайте линки на годный редактор с подсветкой, и чем вы запускаете? Скачал уже три штуки, ни один нормально не работает.
Аноним 12/01/16 Втр 12:43:52 #310 №623964 
>>623961
Sublime Text 3
Аноним 12/01/16 Втр 12:48:18 #311 №623968 
>>623964
Ошибки не подчеркивает, непривычно. А собираете чем?
Аноним 12/01/16 Втр 12:53:19 #312 №623972 
>>623968
Накати на него Anaconda сверху и Sublime Code Intel. Ctrl + Shift + B > Build&Run, только укажи в настройках чем именно собирать и запускать. Гугл в помощь.
Аноним 12/01/16 Втр 16:07:16 #313 №624150 
Никак не могу врубиться как в питоне время между собой прибавлять
Говновелосипед из всего в секунды и из секунды обратно конечно сделал, но потом подумал что есть и более простой способо и уже добрый час туплю над ним.

Вот есть datetime - datetime, timedelta
> a = datetime(2010, 12, 12)
> b = timedelta(days=1, hours=2, seconds=15)
>print str(a+b)
этим говном можно запросто прибавлять время, но оно в datatime всегда будет требовать как минимум указать год-месяц-дату

может ещё чего есть, без даты?
Аноним 12/01/16 Втр 16:14:34 #314 №624157 
>>623871
Финансовые пирамиды.
Аноним 12/01/16 Втр 16:17:08 #315 №624160 
Анон, WTForms нормально обрабатывать вот так http://pastebin.com/8CR1QHyU ? Выглядит как говно. Валидации нет, формы необязательные.
Аноним 12/01/16 Втр 16:18:05 #316 №624162 
>>623812
> JITа нет
pypy же
> компилятор
http://nuitka.net/
> карринг
functools.partial
> инлайн вставки делать нельзя
можно https://pypi.python.org/pypi/instant
Аноним 12/01/16 Втр 16:18:46 #317 №624163 
>>623812
> памяти напрямую обращаться
через ctypes можно вроде
Аноним 12/01/16 Втр 16:20:51 #318 №624166 
>>624150
хз вот годный модуль для работы с датами http://crsmithdev.com/arrow/
Аноним 12/01/16 Втр 17:23:39 #319 №624221 
>>624163
Только читать (string_at создаёт копию)
Аноним 12/01/16 Втр 17:39:00 #320 №624231 
>>624221
http://osdir.com/ml/python.ctypes/2003-05/msg00067.html
А это не то?
Аноним 12/01/16 Втр 18:25:44 #321 №624260 
>>622645
Чому это руби мертвый?
Аноним 12/01/16 Втр 18:26:19 #322 №624262 
>>624260
Смотрите-ка, живой рабист!
Аноним 12/01/16 Втр 18:31:27 #323 №624268 
14526126879430.jpg
>>624262
Лучше поешь хлопьев раби
Аноним 12/01/16 Втр 18:40:28 #324 №624273 
Вот код. Такого знания языка достаточно, чтобы пытаться податься в джуны?

http://pastebin.com/aDvFrhXD

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

Чувствую, что я ебучий говнокодер, и мне ничего не светит. Что думаете?
Аноним 12/01/16 Втр 18:50:40 #325 №624282 
Трудно и долго ли мне будет учить питон если я знаю Java?
Аноним 12/01/16 Втр 18:51:32 #326 №624284 
>>624273
Сейчас не то праздничное затишье, не то рынок перенасыщен быдлокодерами, но на мое резюме, например, полтора отклика за три недели пришло. При том, что пару лет назад меня HR-ы находили без всякого опубликованного резюме и предлагали варианты. Впрочем, возможно это конкретно у меня резюме какое-то зашкварное, хз.
Аноним 12/01/16 Втр 18:51:52 #327 №624285 
>>624282
Зачем тебе учить скриптовый динамический недоязычек если ты уже знаешь професианальный язык востребованый на рынке?
Аноним 12/01/16 Втр 18:53:36 #328 №624289 
>>624285
для фриланса ...сейчас я по состоянию здоровья не могу кодить в офисе...поэтому нужен язык на котором я смогу зарабатывать дома
Аноним 12/01/16 Втр 18:56:35 #329 №624290 
>>624289
php учи.
да и на java фриланс есть. всякие андроиды ещё можешь изучить.
Аноним 12/01/16 Втр 18:57:00 #330 №624291 
>>624289
>кодить в офисе
Всегда с этого проигрывал. Ехать в ссаный офис чтобы стучать по клавиатуре, когда точно такая же клавиатура со всем необходимым есть дома.
Аноним 12/01/16 Втр 18:57:30 #331 №624292 
>>624290
>php учи.
Шаред хостер, это ты? Когда из нашего треда съебешь?
Аноним 12/01/16 Втр 18:57:46 #332 №624293 
>>624289
p.s. я абсолютно серьезно. на питоне очень мало фриланса предложений, а желающих поработать море.
где ты вообще искать собрался фриланс этот? на upwork?
Аноним 12/01/16 Втр 18:58:17 #333 №624294 
Хорошо котаны если не питон ТО что я смогу быстро выучить и начать зарабатывать пока со здоровьем проблемы не решу?
Аноним 12/01/16 Втр 18:58:55 #334 №624296 
>>624293
фриланс площадок полно включая западные
Аноним 12/01/16 Втр 18:59:25 #335 №624297 
>>624290
тоже думаю над андроидом хотя у самого IOS смартфон....
Аноним 12/01/16 Втр 18:59:49 #336 №624298 
>>624294
Ну питон ты в любом случае можешь изучить, попробовать по крайней мере. Пригодится.
Если программировать умеешь это просто - почитай tutorial на оф сайте.
Аноним 12/01/16 Втр 19:01:05 #337 №624301 
>>624297
Ну как бы в android studio есть эмулятор. Да и можно android x86 запустить в том же virtualbox.
Если знаешь java тем более.
Аноним 12/01/16 Втр 19:01:45 #338 №624302 
>>624301
Ок,попробую ...
Аноним 12/01/16 Втр 19:57:31 #339 №624343 
>>624273
Ты делаешь сферические задачи в вакууме. Без промышленного опыта на любом языке ты не нужен, особенно сейчас.
Аноним 12/01/16 Втр 20:24:44 #340 №624363 
>>624343
что делать в таком случае?
Аноним 12/01/16 Втр 21:33:59 #341 №624414 
>>624293
Части заказчиков вообще наплевать на чём ты и как будешь делать. Уже несколько раз писал, что вкатился во фриланс слегка, нашлись постоянные заказчики. Правда последнее время я отклоняю их предложения, ибо задачи не особо интересные.
Аноним 12/01/16 Втр 21:45:22 #342 №624420 
>>623972
Нет там Build&Run, оба пакета поставил, wtf?
Аноним 12/01/16 Втр 21:46:39 #343 №624423 
>>624363
Вкатывайся на самую низовую работу в IT: тестировщиком и т.д. Пили что-то в интересной для себя сфере на актуальной технологии, через год меняй работу и показывай это на собеседовании.
Аноним 12/01/16 Втр 21:51:13 #344 №624431 
Парни, ещё раз реквестирую годный редактор/сборщик, ну что за хуйня такая с питоном.
Аноним 12/01/16 Втр 21:52:22 #345 №624432 
>>624431
vim
Аноним 12/01/16 Втр 21:57:27 #346 №624435 
14526250477570.png
>>624420
1. Tools - Build System - Python
2. helloworld.py > print('hello, world') > Ctrl+S
3. Ctrl+Shift+B
4. Profit
Аноним 12/01/16 Втр 22:03:12 #347 №624438 
>>624431
Сборщик чего?
Аноним 12/01/16 Втр 22:22:53 #348 №624449 
>>624162
>pypy же
Ну я подметил про реализацию.
>http://nuitka.net/
Не знаю, как оно работает, но тот же py2exe просто пакует исходники всех библиотек и твоего пакета в zip, кидает .dll в папку и интерпретатор туда же. Так что фактически никакой компиляции не происходит. Эта штука, как и все остальные, скорее всего делает так же.
Аноним 12/01/16 Втр 22:50:19 #349 №624470 
14526282192210.jpg
СВЕРШИЛОСЬ! НАКОНЕЦ-ТО Я СМОГУ ОТВЕТИТЬ БЛЯДЬ ВСЕМ ПАЦАНЫ ЧЁ УЧИТЬ ФЛАСК ИЛИ ДЖАНГО!

Открываешь раз: https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/django
Открываешь два:
https://www.twilio.com/docs/tutorials/walkthrough/appointment-reminders/python/flask

Проходишь оба и идёшь нахуй учить что тебе там понравилось
Аноним 12/01/16 Втр 23:06:16 #350 №624482 
14526291762370.jpg
>>624435
Success?
Аноним 12/01/16 Втр 23:16:53 #351 №624492 
>>624482
Как видишь, все просто. Можно Ctrl+B юзать, кстати, это я проебался. Просто сам я всегда руками в сосноли запускаю из-за virtualenv и необходимости скармливать различные параметры.
Аноним 12/01/16 Втр 23:30:17 #352 №624501 
>>624492
Из MVS перекатываться тяжело, скачал и пиши код, а тут надстроек ещё дохуя для каждого редактора, не ожидал подобной ебли.

А библиотеки банально import'ом подключаются, или тоже ещё со скриптами и зависимостями ебаться придется?
Аноним 12/01/16 Втр 23:34:30 #353 №624504 
>>624501
Да, просто импорт. Если third-party заюзать хочешь, хуяришь pip install lib_name в консольке и тоже можешь импортировать сразу.
Аноним 12/01/16 Втр 23:37:08 #354 №624508 
>>624449
Оно делает по-другому.
Аноним 12/01/16 Втр 23:59:20 #355 №624520 
>>624501
Скачал и пиши код это Пичарм же
Аноним 13/01/16 Срд 00:05:30 #356 №624521 
>>624520
Пичарм требует ебли с донатом или таблеткой.
Аноним 13/01/16 Срд 00:57:31 #357 №624542 
>>624521
укажи сервером лицензии http://idea.lanyus.com/
Аноним 13/01/16 Срд 02:35:40 #358 №624563 
>>620721
легче вообще нахуй удалить питон этот уебанский
Аноним 13/01/16 Срд 02:51:11 #359 №624567 
>>624563
Тащемта это вендопроблемы, а не питонопроблемы. Такие проблемы есть с каждым языком кроме может быть джавы и сисярпа. А на какой-нибудь ноде или руби ты вообще хер под вендой нормально попишешь. Добро пожаловать в реальный мир.
Аноним 13/01/16 Срд 02:58:32 #360 №624569 
>>624508
>>624508
А, нашёл.
>Right now Nuitka is a good replacement for the Python interpreter and compiles every construct that CPython 2.6, 2.7, 3.2, 3.3 and 3.4 offer. It translates the Python into a C++ program that then uses "libpython" to execute in the same way as CPython does, in a very compatible way.

>It is somewhat faster than CPython already, but currently it doesn't make all the optimizations possible, but a 258% factor on pystone is a good start (number is from version 0.3.11).

Ну ок. Всё равно на костыль похоже.
Аноним 13/01/16 Срд 07:14:35 #361 №624612 
>>624414
> заказчиков вообще наплевать на чём ты и как будешь делать
Очень странно. Это видимо какие-то мелкие задачи.
Иначе заканчик будет думать - а что будет если ты пропадешь и надо будет найти кого-то кто будет это дорабатывать. И в этом отношении экзотические языки типа питона очень проблемны - мало специалистов, просят много, нос воротят.
Тут рулит индустриальный стандарт - PHP
Аноним 13/01/16 Срд 07:15:31 #362 №624613 
>>624431
https://www.visualstudio.com/en-us/features/python-vs.aspx
Аноним 13/01/16 Срд 07:22:30 #363 №624615 
>>624567
нода вроде давно под виндой работает.
Аноним 13/01/16 Срд 08:25:03 #364 №624625 
14526627035000.png
>>624431
Заскринил.
Аноним 13/01/16 Срд 08:57:26 #365 №624634 
Пилю систему по обработке эвентов. Есть базовый класс Event, который в ините просто пихает в свой __дикт__ всё, что ему дадут.
Теперь вопрос: Как лучше сделать собственно используемые эвенты - передавать параметр event_type, или наплодить кучу классов-потомков, типа SmthEvent(event) ?
С одной стороны система с event_type выглядит более гибкой, т.к. в строку фактически можно засунуть что угодно, плюс не надо заморачиваться с copy-paste класса-евента, тем более, что он кроме инита ничего и не умеет.
С другой стороны система с кучей классов выглядит стройнее и логичнее. Всё наглядно разграничено и тут уж точно ничего не напутаешь при её использовании.
Хотя есть ещё третий вариант: целиком забить на классы и представлять эвенты просто диктами, без какой-либо обёртки.
Собственно, хотелось бы услышать мнение анона, как он бы это сделал. И возможно то, как это обычно делается.
Аноним 13/01/16 Срд 09:03:56 #366 №624637 
>>624634
С event_type
Аноним 13/01/16 Срд 09:06:17 #367 №624638 
>>624637
Почему?
Аноним 13/01/16 Срд 09:07:11 #368 №624640 
>>624638
Зачем тебе плодить классы, которые делают одно и тоже? Какой смысл?
Аноним 13/01/16 Срд 09:12:45 #369 №624641 
>>624640
1) Так ты описываешь набор имеющихся событий. А с event_type ты, если заранее не напишешь их список или т.п., придётся по всему коду выискивать.
2) Можно задать параметры по умолчанию. Хотя для event_type можно запилить наборы диктов типа SmthEvent = {event_type:"Smth", params=(0, 1)} , что решает проблему описания, однако это выглядит почти так же, как и куча классов.
Аноним 13/01/16 Срд 09:17:46 #370 №624643 
>>624641
> заранее не напишешь их список
Что мешает?
Сделай
EVENT_TYPES = ((1, 'foo'), (2,'bar'))
Потом ты сможешь их комбинировать, чтобы создать маску если тебе например надо повесить обработчик сразу на несколько евентов.
Аноним 13/01/16 Срд 09:27:29 #371 №624648 
>>624641
А с параметрами по умолчанию можешь дикт сделать типа
EVENT_DEFAULTS = {'Smth': (0,1), 'Event2': (2,1)}
Типа как-то так. Так удобнее доставать будет оттуда их
Аноним 13/01/16 Срд 09:44:40 #372 №624655 
>>624612
Чего это питон экзотический?
Аноним 13/01/16 Срд 09:46:45 #373 №624657 
>>624655
Найди мне shared хостинг с поддержкой питона.
Найди мне что-то сравнимое по популярности с wordpress или drupal. С таким же количеством шаблонов и инстансов.
питон хипстерский язычок типа ruby.
Аноним 13/01/16 Срд 09:47:56 #374 №624659 
>>624657
>shared хостинг с поддержкой питона
Ты опять выходишь на связь?
Аноним 13/01/16 Срд 09:52:29 #375 №624660 
>>624657
то есть не стоит его учить?
Аноним 13/01/16 Срд 09:55:01 #376 №624661 
>>624660
Нет, ну смотря для чего. Какие-то наколенные скрипты может делать, perl намного лучше, но у него выше порог вхождения.
Аноним 13/01/16 Срд 10:21:26 #377 №624672 
>>624657
Ну, если тебе норм делать 10 однотипных быдлосайтов в скотоконторе каждый месяц и ставить их через фтпшку на шареды - тебе не по адресу.
Аноним 13/01/16 Срд 10:24:35 #378 №624674 
>>624657
Ну 2007 закончился же уже, вокруг хероку, амазон впс и тд и тп, ну сколько можно дрочить на быдлятник этот с хостингами в папочках
>>624660
Не слушай его, он поехавший. Ещё и пёрл рекомендует, интересно он его хоть видел блядь. Пиздец.
Аноним 13/01/16 Срд 10:27:06 #379 №624675 
>>624674
Зачем ты так ненавидишь анона? Вот выучит он этот язычок по твоему совету и будет сидеть без работы как все в этом треде.
Аноним 13/01/16 Срд 10:28:31 #380 №624677 
>>624672
А что ты хотел? Кушать то что-то надо.
Но можешь да на локалхосте делать суперподелки никому не неужные.
Бизнесу нужны "10 однотивных быдлосайтов". Или крупные проекты типа facebook, а они все делаются на php, java или c++. В некоторых случаях(суровый энтерпрайз) на c#/asp.net
Аноним 13/01/16 Срд 10:30:34 #381 №624680 
>>624675
Не толсти, заебал.
Аноним 13/01/16 Срд 10:48:00 #382 №624688 
Питон учат все кому не лень. Наса, гуглы, хуясы, спамеры, конспираторы, тд и тп.
Это такой современный паскаль с бонусами: во-первых дохуища всего на нём уже написано, значит лепить велосипеды веселее и быстрее, во-вторых широта применения - разве что драйверы человеческие на нём писать нельзя. Скорость тоже бывает сносной при простой встроенной возможности использования сишных библиотек.
Короче я тупо не вижу ни одной причины чего бы и не выучить, как минимум для себя он точно найдёт применение шире пёрла/баша/прости господи пхп
Аноним 13/01/16 Срд 10:58:24 #383 №624694 
Посните за @cached_property Django?
Аноним 13/01/16 Срд 11:52:47 #384 №624722 
Чот у меня загорелось. Какой-то СИСАДМИН форкнул и переписал мой код так, как я бы никогда не смог написать. СИСАДМИН, КОРАЛ
Аноним 13/01/16 Срд 12:07:48 #385 №624728 
>>624675
У меня есть работа. :P
Аноним 13/01/16 Срд 12:09:09 #386 №624729 
>>624722
Ссылку!
Аноним 13/01/16 Срд 12:37:28 #387 №624745 
>>624728
расскажи про работу, как нашел, нравится или нет?
Аноним 13/01/16 Срд 12:41:30 #388 №624749 
>>624745
Работаю сторожем на складе. На работе много свободного времени и я могу писать на питоне на смартфоне.
Аноним 13/01/16 Срд 13:17:46 #389 №624769 
>>624749
ноут нельзя приносить? сколько платят?
Аноним 13/01/16 Срд 13:20:57 #390 №624771 
>>624769
Это зеленый. Ты первый день тут?
Аноним 13/01/16 Срд 13:21:00 #391 №624772 
>>624769
Ноута нет
8 тысяч
Аноним 13/01/16 Срд 13:22:22 #392 №624773 
>>624771
Какой еще зеленый?
Аноним 13/01/16 Срд 14:05:21 #393 №624798 
>>624745
Работа норм. Embedded, госконтора, всё, что можно пишу на пифоне, нраится.
Аноним 13/01/16 Срд 14:39:48 #394 №624818 
>>624772
Планшет с клавиатурой пронеси.
Аноним 13/01/16 Срд 14:58:03 #395 №624828 
>>624772
смартфон же быстро заряд теряет
Аноним 13/01/16 Срд 16:28:44 #396 №624875 
14526917246560.webm
>>620299 (OP)
Джанганы. А где ВЫ делаете всякие проверка на вьюшках, мол, верность переданного PK для инишиала формы.

В методах get, post или таки dispatch?
Аноним 13/01/16 Срд 16:31:56 #397 №624878 
>>624875
Ну если ты используешь CBV там же это автоматически уже есть.
Глянь как зделано.
Аноним 13/01/16 Срд 16:35:28 #398 №624879 
>>624878
Ты не понял. Допустим, у нас есть категории тем блога/форума/неба с аллахм, считай разделы. При выборе раздела мы формируем ссылку "написать тему". И дабы не утруждать пользователя выбором категории и списка мы за него должны проставить инишиал. Чтобы его проставить мы кваргом передаем в урлу pk категории.

Т.е. CreateView получает дополнительный параметр, который сама джанга не отрабатывает. А верность этого самого pk (чтобы юзер не влупил 666, к примеру) мы должны проверить. Так вот, красивее проверять в dispatch, или в get и post?

Я к тому, как вы относитеть к засорению диспатча.
Аноним 13/01/16 Срд 16:48:08 #399 №624886 
>>624879
Там вроде есть get_initial метод, в нем можно дернуть параметры из self.request...
http://stackoverflow.com/questions/17191778/django-createview-with-pre-populated-and-uneditable-fields-specified-by-query-s
как тут делают.
Аноним 13/01/16 Срд 16:49:39 #400 №624887 
>>624879
Но ты я так понимаю хочешь чтобы ошибка была, если такой категории нет.
Вот тут подобное в dispatch делают
http://stackoverflow.com/questions/5607205/how-can-i-make-a-generic-class-based-create-view-for-a-model
Аноним 13/01/16 Срд 16:50:33 #401 №624888 
>>624887
А чуть ниже вариант с get_form
хм
А что метод dispatch делает? Подготавливает данные или что?
Аноним 13/01/16 Срд 19:23:10 #402 №624958 
>>624888
Тут dispatch находит тот самый объект, переданный через дополнительный параметр
Аноним 13/01/16 Срд 19:33:14 #403 №624965 
>>624729
Двачую.
Аноним 13/01/16 Срд 20:55:13 #404 №625009 
14527077140470.jpg
>>624965
> Двачую
На сосач быдло
Аноним 13/01/16 Срд 21:59:47 #405 №625048 
>>625009
> На сосач быдло
> 2ch.hk/pr
Аноним 13/01/16 Срд 22:08:07 #406 №625053 
Сосачую капчу в этом итт треде! Уёбуйте на сосач с моего абучана
Аноним 13/01/16 Срд 22:57:15 #407 №625105 
>>625009
На быдло, сосач.
Аноним 14/01/16 Чтв 00:17:58 #408 №625163 
14527198780900.jpg
>>625048
Аноним 14/01/16 Чтв 05:12:45 #409 №625229 
Блин, чет вообще нихера не понятно с этой джангой. Как ты её вообще учил, анон?
Аноним 14/01/16 Чтв 08:12:46 #410 №625263 
>>625229
Djangobook -точно хуйня ебаная, если ты пытаешься по ней. Лично после Лутца и документации нихуя не понятно, во многом потому что не приводятся сразу результаты.
А самое главное, потому что я не знал ничего про CSS, HTML, SQL и тд.
Аноним 14/01/16 Чтв 08:19:39 #411 №625265 
Как совладать с pyqt5, если у тебя не python 3.4 и ты виндомразь? Установка без готовых exe какой-то пиздец, ад и Израиль.
Стоит ли овчинка выделки с 5й версией, или не стоит ебать себе мозг и установить pyqt4 на 2.7?
Вообще кто-то смог установить pyqt5 на 2.7 или на 3.5?
Аноним 14/01/16 Чтв 09:27:36 #412 №625269 
>>625265
Я совладал с 5.5 на 3.5. Почти всё по туториалу. Но больше не хочется.
Аноним 14/01/16 Чтв 09:29:54 #413 №625271 
>>625229
Вообще джанго очень высокоуровневая и навороченная хуйня. Когда я ей начал пользоваться я уже много лет делал сайты на cgi/perl потом на php. И имел дело с ORM, MVC фреймворками, шаблонизаторами и прочим. т.е. что там и для чего было очевидно сразу.
Думаю лучше начинать с чего попроще, а не сразу с джанги.
Аноним 14/01/16 Чтв 09:30:54 #414 №625272 
>>625265
Не страдай хуйней а ставь pygtk и python 2.5
Аноним 14/01/16 Чтв 09:31:56 #415 №625273 
>>625265
А в чём проблема?
Аноним 14/01/16 Чтв 09:39:02 #416 №625274 
>>625273
Уже не помню, но пришлось какие-то то ли конфиги, то ли мейкфайлы руками править. Правда всё гуглилось неплохо. Но всё равно тоскливо.
Аноним 14/01/16 Чтв 09:48:27 #417 №625277 
>>625265
изи для линуксобога
Аноним 14/01/16 Чтв 09:49:50 #418 №625278 
>>625273
У меня упорно не видит qmake, хотя путь в PATH прописан. И по этому пути он есть.
Вместо программирования сижу и ковыряю какую-то хуйню уровня "после дождичка в четверг 5 раз постучите в бубен и 4 раза прокрутитесь вокруг своей оси в тройном сальто назад."

>>625269
И все работает?
То есть, если я продолжу сношение - меня не наградят необъяснимыми хуйпойми багами?
Аноним 14/01/16 Чтв 09:57:24 #419 №625281 
>>625272
Разве у pygtk есть аналог Designer'а? Хочется уделять минимум времени на поклеп интерфейса.
Аноним 14/01/16 Чтв 09:59:25 #420 №625283 
14527547660380.png
14527547660421.png
>>625281
Конечно есть.
Аноним 14/01/16 Чтв 10:03:12 #421 №625285 
Можно я выскажу гипотезу, а вы меня поправите что бы по-человечески было

Вот джанго, пока все действия в тутуриалах что я видел - делаются с:
статичные файлы или шаблоны приложения - тут всё понятно, сюда срать выводом
urls - вызывает view который срёт выводом в статику
views - фигня которая определеляет что куда выводить и из чего
и
models - вот тут вся магия как мне кажится и крутится, если допустим мне нужно в джангу выводить данные какие-нибудь - то парсер этих данных мне писать нужно классом в models, и уже через views и urls выводить в статику
Так? Или как?
Аноним 14/01/16 Чтв 10:05:54 #422 №625286 
>>625285
Ничего не понял. Какой парсер. Каких данных.
Аноним 14/01/16 Чтв 10:07:01 #423 №625287 
>>625285
Тоже ничего не понял. Что значит " в джангу выводить данные"?
Аноним 14/01/16 Чтв 10:10:08 #424 №625291 
Парсер это я так пизданул, на самом деле не суть важно.

Окей, мне надо выводить десяток изображений. Галерея ёбтыть.
Я пишу в models класс ImageGallery
через views определяю какой-нибудь def images_list(request)
через urls - url (r^/images/$), image_list
создаю статику с одноимённым названием куда пихаю
{{ for img in images }}
...<img src="{....
Аноним 14/01/16 Чтв 10:10:18 #425 №625292 
Скажите, имеет ли смысл решать задачки на сервисах типа http://www.codewars.com/, https://codefights.com/ и http://www.checkio.org/ ? Стоит продолжать или лучше дропнуть это и пытаться дрочить какой-нибудь сложный реальный проект?
Аноним 14/01/16 Чтв 10:11:24 #426 №625294 
>>625291
Ну и? models определяет структуру данных в БД. И всё.
Потом ты с этими моделями работаешь из views
Аноним 14/01/16 Чтв 10:11:51 #427 №625295 
>>625292
На upwork тесты по питон пройди
Аноним 14/01/16 Чтв 10:14:11 #428 №625296 
>>625294
И куда тогда мне код писать?
Ну в смысле вот захочу я инстаграмм делать с этой галереей, через PIL изображение пропускать - где мне эту фигню коннектить? во views?
Аноним 14/01/16 Чтв 10:17:51 #429 №625297 
>>625296
Хм. Вообще такая обратотка будет занимать слишком долго скорее всего и придется складывать обработку изображений этих в очередь какую-то и обрабатывать отдельным процессом.
Аноним 14/01/16 Чтв 10:19:35 #430 №625299 
>>625296
А так - да. Можно сделать метод наложения эффекта в модели, а дергать его из views.
Аноним 14/01/16 Чтв 10:22:51 #431 №625302 
>>625297
Ладно, давай реальнее.

Есть горстка плагинов по добавлению в django google maps'ов, добавлению на них - своих меток и из коробки юзеры-группы
хочу добавить гугл карту, на неё - такие-то метки для такой-то группы юзеров, такие-то для такой, такие-то вообще для одного конкретного юзера.
в модель прописывать связь вывода группа юзеров - группа меток, пользователи - метки
потом через views их дёргать, так?
Аноним 14/01/16 Чтв 10:25:18 #432 №625303 
>>625302
Ну да
Аноним 14/01/16 Чтв 10:33:24 #433 №625305 
https://www.youtube.com/watch?v=zC5eQ29Qijk
Аноним 14/01/16 Чтв 10:37:56 #434 №625307 
14527570770310.jpg
Погромисты, скажите честно, существует ли что-нибудь прекраснее Питона+Джанго?
Я работал с php, js, c/c++, perl, java, но ничего изумительнее питона и джанго не встречал.
Аноним 14/01/16 Чтв 10:39:27 #435 №625308 
>>625307
Конечно. ruby on rails. grails. asp.net mvc.
Аноним 14/01/16 Чтв 10:41:11 #436 №625310 
14527572711990.jpg
PyCharm: http://idea.lanyus.com снова наебнулся, а значит настало время поклянчить ключик на 5.0.x
Аноним 14/01/16 Чтв 10:43:10 #437 №625311 
>>625305
бляя, я боюсь, что меня во время интервью также запишут и выложат на ютуб.
Аноним 14/01/16 Чтв 10:44:28 #438 №625312 
>>625311
Это чувак сам себя записал и выложил.
Кстати, я недавно проходил интервью по скайп и меня сразу предупредили что они записывают.
Аноним 14/01/16 Чтв 10:46:33 #439 №625315 
>>625278
Да всё работает. Я делал фриланс проект под няшным линуксом и в ус не дул. А как дошло дело до деплоя (у заказчика венда) то обосрался, ибо бинарников pyqt5 под 3.5 не было, а я уже заюзал модный async/await. Так что пришлось собирать самому, но в итоге бинарник есть и всё работает. Рекомендую под это дело виртуальную машину делать, ибо засирается всё баснословно. Ну, и пользоваться для сборки удобнее и не сломается ничего само по себе.
Аноним 14/01/16 Чтв 10:46:35 #440 №625316 
>>625303
Ну логично тогда, чё.
Просто мне казалось что не может быть все так просто.
программирую месяц, все это время на Питоне, учу джанго 2 дня
Аноним 14/01/16 Чтв 10:48:53 #441 №625318 
>>625315
Под каждый проект vagrant подымать?
Аноним 14/01/16 Чтв 10:52:02 #442 №625322 
>>625318
При чем тут vagrant?
Аноним 14/01/16 Чтв 10:55:52 #443 №625324 
>>625310
Всем спасибо: http://us.idea.lanyus.com/
Аноним 14/01/16 Чтв 10:56:07 #444 №625325 
>>625318
Нет, одна среда для сборки бинарника для pyqt5.5 python3.5. Да и то, пока бинарные сборки не вышли от ривербанка.
Аноним 14/01/16 Чтв 12:38:05 #445 №625359 
>>625295
2.90 of 5
Это при том, что я на две трети вопросов гуглил, хоть и моментально находил ответ, но всё же.
Аноним 14/01/16 Чтв 13:02:00 #446 №625377 
>>622741
Двачую.
Аноним 14/01/16 Чтв 13:41:45 #447 №625406 
14527681054170.png
Анон, подскажи, почему с этим урлом не работает код?
Сам недавно начал учить питон, хочу поплотнее научиться парсить разные данные с веб-страниц. Нашел на фл задание с эти урлом, взял просто попрактиковаться, но ничего не выходит. Помоги, плиз.
http://socialblade. com/youtube/top/500
Аноним 14/01/16 Чтв 13:45:09 #448 №625407 
>>625406
В чём сакральный смысл запускать в винде скрипт указывая путь к нему жопойслешем наперёд?
Аноним 14/01/16 Чтв 13:49:35 #449 №625410 
>>625406
Ну ёбаны в рот блядь, вы, нахуй, с доступным сосачем совсем гуглить разучились. Просто пиздец. Почему, блядь, нельзя в гугле вбить 2 слова "urllib 403", перейти по первой ссылке и найти ответ, а? Бляяя, как же у меня бомбит. Ну что за пиздец.
Аноним 14/01/16 Чтв 13:49:47 #450 №625411 
>>625407
Для кроссплатформенности питон (да и любой кроссплатформенный софт) конвертит вендовый обратный слеш в прямой. Потому что во всех ОС для указания пути используется прямой слеш, и только в венде обратный, и легче подставить костыли одному инвалиду.
Аноним 14/01/16 Чтв 13:51:16 #451 №625414 
>>625406
Скорее всего из-за robots.txt или типа того.
Аноним 14/01/16 Чтв 13:52:54 #452 №625416 
>>625359
>>625292
Бамп вопросу, ребятки. Задачи мне нравятся, учат писать код правильно, но стоит ли уделять этому много времени в начале обучения? На питоне пока написал только пару скриптов по ~100-120 строк, работают на продакшене, но что-то посерьёзнее еще не пробовал делать.
Аноним 14/01/16 Чтв 13:55:37 #453 №625417 
>>625410
Спасибо, анончик, теперь буду знать, что именно гуглить при ошибках.
Проблема была в том, что сайту не нравится питоновский User_Agent.
Аноним 14/01/16 Чтв 14:04:03 #454 №625419 
Укус питона и Погружение читаются вместе или это две почти одинаковые книги?
Аноним 14/01/16 Чтв 14:06:38 #455 №625420 
Погружение в укус питона.
Аноним 14/01/16 Чтв 14:57:55 #456 №625435 
>>625419
Как показывает мне практика прочитать в 4-5 книгах по одной теме за вечер-два куда круче чем одну книженцию целиком.
Короче читай по порядку, если что в какой теме не ясно - полистай ещё какой источник информации и ещё чего найдёшь.
А так читал обе. Обе "типа лаконичное" говно без задач. И Learn Python Hard Way с Доусноном туда же.

Если хоть чего по кодингу уже знаешь - сразу читай Think Python и попутно всякие Automate the Boring Stuff и всякое говно отсюда пиши http://blog.programmersmotivation.com/2014/07/09/list-projects/
Аноним 14/01/16 Чтв 15:39:03 #457 №625454 
>>625435
А think python разве не про 2.x версию питона?
Аноним 14/01/16 Чтв 15:45:37 #458 №625457 
>>625454
Последняя, что я видел, была по 3.2. Да и какая разница? Будешь к принтам скобки дописывать, да и все.
Аноним 14/01/16 Чтв 15:54:26 #459 №625461 
14527760663690.png
14527760663711.png
Анончик, почему не парсятся первые два столбца? Ничего не пойму, уже перепробовал по-всякому и select'ом и find_all...
Аноним 14/01/16 Чтв 16:54:06 #460 №625504 
>>620299 (OP)
Можете привести типичные ситуации в вебе когда используется celery? А то сейчас ищи работу и в некоторых вакансиях сельдерей проскакивает как требование.
Аноним 14/01/16 Чтв 16:54:33 #461 №625505 
14527796731180.png
>>625461
У меня всё ок.
Аноним 14/01/16 Чтв 16:56:18 #462 №625507 
>>625504
Ну например после регистрации письмо надо отправить. Это лучше делать в отдельном процессе, а не в веб сервере который заблочится от этого. Поэтому эти письма складываются в очередь и рассылаются отдельно.
Или обработка каких-то файлов - аналогично.
Аноним 14/01/16 Чтв 17:02:52 #463 №625510 
>>625507
Понял, спасибо.
Аноним 14/01/16 Чтв 17:08:02 #464 №625512 
>>625507
> Ну например после регистрации письмо надо отправить. Это лучше делать в отдельном процессе, а не в веб сервере который заблочится от этого
Синхробыдлопроблемы.
Аноним 14/01/16 Чтв 17:10:17 #465 №625513 
>>625512
Картинки тоже будешь обрабатывать асинхронно умник или вычисления какие-то делать?
Аноним 14/01/16 Чтв 17:10:48 #466 №625514 
>>625513
Конечно нет, речь шла об отправке письма.
Аноним 14/01/16 Чтв 17:14:13 #467 №625516 
>>625514
Ну отправить письмо можно и из синхронного кода тысячью способов. Например тупо вызвать процесс которые письма шлет типа sendmail какой-нить.
Аноним 14/01/16 Чтв 17:15:54 #468 №625517 
>>625516
Никто не говорил, что нельзя.
Аноним 14/01/16 Чтв 17:30:14 #469 №625520 
>>625504
Вышеупомянутое письмо, какие-то периодические действия, асинхронные задачи, запускаемые пользователем.
Аноним 14/01/16 Чтв 18:23:41 #470 №625539 
Поясните тупому ньюфагу, как написать hello world на питон через comodo.молю
Аноним 14/01/16 Чтв 18:28:29 #471 №625543 
>>625539
>There is no debugging feature in Komodo Edit but you can just run the current file by creating a Run Command:

>1. go to Toolbox -> Add -> New Command...
>2. in the top field enter the name 'Run Python file'
>3. in the 'Command' field enter this text: %(python) %F
>3a. optional click on the 'Key Binding' tab and assign a key command to this command
>4. click Ok.

>You should now have a new Run Command in your toolbox called 'Run Python file'; when you double-click on it the command should run the current Python script open in the editor and display the output in the Command Output pane.

Или пиши в .py файл и запускай из консоли руками: python file.py
Аноним 14/01/16 Чтв 18:29:39 #472 №625544 
>>625539
import __hello__
Аноним 14/01/16 Чтв 18:30:54 #473 №625545 
>>625544
А в третьем не работает. Нахуй так жить?
Аноним 14/01/16 Чтв 18:31:30 #474 №625546 
>>625545
А нет, работает. Я просто обосрался опечатался.
Аноним 14/01/16 Чтв 18:33:09 #475 №625548 
>>625543
Спасибо, анон. Я уж испугался, что тут реакция на вопросы нью такая же, как в /б.
Аноним 14/01/16 Чтв 20:15:42 #476 №625638 
>>625457
Читаю в общем Think Python и мне там объясняют как значения переменным присваивать, чего это такое-то?
Аноним 14/01/16 Чтв 22:02:38 #477 №625735 
>>625505
Что это за ребусы? Я же новичок, ничего не понимаю в твоем коде. Как мне сделать, чтоб работало правильно?
Аноним 14/01/16 Чтв 22:32:25 #478 №625763 
какую версию скачать? Просто у меня версия 3.5.1 и обычный print надо писать с (')
Аноним 15/01/16 Птн 00:06:21 #479 №625837 
>>625763
В чем проблема с принтом и его скобками?
Теперь это функция, которая работает, как и другие функции и методы, а не МАГИЯ.
Со скобками можно писать и в 2.7.
И так и надо учиться писать, потому что обратная совместимость и вообще рано или поздно придется.
Аноним 15/01/16 Птн 00:16:35 #480 №625843 
Сперва надо поставить скобочку перед print и после затем писать код. Если написать 'print' "Hello,world" то выдает
'printHello,world!
Аноним 15/01/16 Птн 00:17:49 #481 №625845 
>>625843
Зачем ты заключил принт в кавычки? ты сделал его строкой.
Аноним 15/01/16 Птн 00:22:12 #482 №625848 
>>625843
перед принтом только exec() нехватает
Аноним 15/01/16 Птн 00:32:08 #483 №625853 
>>625845
там написано что надо так писать.
Аноним 15/01/16 Птн 00:33:26 #484 №625854 
>>625853
для питон3.х:
принт("хелло")
для питон2.х:
принто "хелло" или принт "хелло"

Аноним 15/01/16 Птн 00:52:45 #485 №625861 
>>625854
а вот как, не подскажешь с чего начать изучать?
Аноним 15/01/16 Птн 00:59:27 #486 №625865 
>>625735
хз
Аноним 15/01/16 Птн 01:00:17 #487 №625866 
>>625861
Лутц или Доусон
Аноним 15/01/16 Птн 01:02:27 #488 №625867 
>>625866
Спасибо огромное!
Аноним 15/01/16 Птн 01:06:42 #489 №625870 
>>625861
Изучай третий питон. Второй протухшее говно и привьет только плохие привычки.
Аноним 15/01/16 Птн 09:55:47 #490 №625963 
14528409477600.jpg
Нихуя не понял, где логика?
Проблема касается PyQt4 и центрирования окна по центру.

Есть говнокод
http://pastebin.com/cUU8856V

Левая и верхняя границы center 1 проходят точно по центрам экрана (я выделил их черным), если просто делить ширину и высоту экрана на два. С этим проблем нет.

Но стоит перед этим делением вычесть из ширины и высоты экрана ширину и высоту окна приложения - начинается какая-то хуйня. Если по горизонтали окно располагается более-менее посередине (хотя, там тоже есть малозаметные отклонения), то по вертикали творится какой-то пиздец.

center выходит совсем неравномерным относительно центра по вертикали. Сверху до края окна 13см. Против 12 от нижнего края окна до нижнего края монитора.

Сначала были мысли, что экран продолжается вниз и вправо, и потому можно увести за нижнюю и правую его границу курсор. Но границы center1-то располагаются точно по центру видимой области! 15 см сверху и снизу до границ окна. И формула почти та же. У center должно быть по 75 пикселей к северу и югу от этой условной линии середины, но ведь нихуя.

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

Может мне кто-то объяснить, почему неровно?
Аноним 15/01/16 Птн 09:57:33 #491 №625965 
>>625963
>я выделил их черным
В этом вся проблема.
Следующий!
Аноним 15/01/16 Птн 10:57:49 #492 №625986 
>>625963
Таки дошло.
self.resize(250, 150) - это именно размер без учета рамки.
Если убрать рамку через self.setWindowFlags(Qt.FramelessWindowHint) - все сойдется идеально.
Но вот расположение окна задается с учетом рамки. В итоге нижняя граница оказывается ниже центра на размер шапки, что порождает несимметричность относительно центра.
Аноним 15/01/16 Птн 11:03:14 #493 №625990 
>>625986
Отсюда следующий вопрос.
А есть ли возможность узнать размеры рамки? Допустим, я захочу застелить весь экран окнами, границы рамок которых стыкуются.
Аноним 15/01/16 Птн 11:13:19 #494 №625992 
>>625990
Или развернуть окно на весь экран. Если тупо задать размер монитора - рамки снова все распидорасят и окно уйдет за границы экрана.
Аноним 15/01/16 Птн 11:19:15 #495 №625996 
>>625990
Зачем эти костыли? У QRect есть и .center(), и .moveCenter()
import sys

from PyQt5 import QtGui, QtCore, QtWidgets, uic


app = QtWidgets.QApplication(sys.argv)
win = QtWidgets.QWidget()
center = QtWidgets.QApplication.desktop().screen().rect().center()
win.rect().moveCenter(center)
win.show()

sys.exit(app.exec_())
Аноним 15/01/16 Птн 11:20:37 #496 №625997 
>>625996
Допустим.
Но как
>застелить весь экран окнами, границы рамок которых стыкуются
например?
Аноним 15/01/16 Птн 11:22:49 #497 №626001 
>>625996
Ну или заспавнить рядом два окна, окна которых не будут перекрываться в области рамок.
Аноним 15/01/16 Птн 11:25:14 #498 №626005 
>>626001
Можно методом тыка подобрать. От разрешения и темы размеры рамки не меняются, да?
А вот в зависимости от ОС?
Аноним 15/01/16 Птн 11:32:13 #499 №626015 
>>625996
>>626005
И от темы и от ОС всё меняется и в документации qt чётко написано, что все эти размеры без рамок.
Аноним 15/01/16 Птн 11:48:15 #500 №626021 
Анон, какой GUI framework лучше выбрать?
Кто-нибудь юзал Kivy?
Аноним 15/01/16 Птн 12:05:23 #501 №626030 
>>624273
>5-строчка хуита с какими-то мудрёными лист компрехеншнами с условиями
Я бы сказал, что нет.
Аноним 15/01/16 Птн 13:19:27 #502 №626070 
>>625996
Ну да, куда короче и приятнее выходит. Центрируется с учетой ебаной рамки.
В PyQt4 покороче выходит, причем.
center = QtGui.QDesktopWidget().screenGeometry().center()
Аноним 15/01/16 Птн 17:43:28 #503 №626248 
Парни, что такое тестирование это? Вот я кодю под себя скрипты всякие околоадминские, проверки значений даже вводных обычно забиваю писать, ибо один пользоваться буду, но все что читаю все помещано на этом тестировании просто, всюду упоминают.
Что это за фигня такая? Что кроме вводных значений можно тестировать? Что вы тестируете?
Аноним 15/01/16 Птн 17:53:00 #504 №626253 
>>626248
Тестирование удобно для относительно больших проектов. Например, библиотек, ты знаешь как всё должно происходить и просто пишешь тесты вход-выход/оценка каких-то метрик и так далее. Это позволяет сильно рефакторить код не боясь запутаться что и где сломалось. Потому что тесты позволяют локализовать точку отказа.
Аноним 15/01/16 Птн 17:57:46 #505 №626256 
>>626253
Ага, т.е. смысл примерно или в рефакторинге, или в совместной работой над одними частями кода. А все эти тревис сиэл, автоматические системы тестирования зачем, какие есть и как их подключают?

Меня терзает смутное сомнение что ни в С++, ни в php таких культов из тестирований и не делали и как-то всё проще было: на тебе дебаггер и ебись. Это кажется или какая-то принципиальная разница влекущая за собой такую потребность в тестировании есть?
Аноним 15/01/16 Птн 18:37:47 #506 №626275 
>>626256
В PHP хуево с тестированием потому что там культура такая. Срущая на стол. В си и плюсах как раз без тестирования никак, т.к. способов наступить себе на яйца гораздо больше чем в динамикодрыснях.
Аноним 15/01/16 Птн 18:41:45 #507 №626282 
>>626256
Дебаг это и есть теже самые тесты, только проделанные ручками. Ну, представь, ты что-то изменил в своей библиотеке. И как убедиться, что она не сломалась. Проверять руками то место, что исправил? Так это и есть тесты.
Автоматические системы позволяют во-первых, видеть всем, что всё ок. Не просто у тебя на ноуте тесты прошли разок. Во-вторых, тестировать в разном окружении (разные версии питона и/или библиотек). В-третьих, автоматически тестировать чужие пулл реквесты.
Аноним 15/01/16 Птн 18:44:37 #508 №626285 
>>626256
Культа тестирования, как такого нет. Я тоже некоторых одержимых не понимаю. Где-то это нужно, а где-то нет.
Аноним 15/01/16 Птн 20:50:27 #509 №626360 
Объясните есть питон, а есть джанго, как понять, что за каркас?
Аноним 15/01/16 Птн 21:34:19 #510 №626370 
>>625416
Ебашил эти задачки 2 месяца, сейчас пытаюсь въехать в джангу и понимаю, что с джангой надо было начинать раньше
Аноним 15/01/16 Птн 21:52:04 #511 №626382 
>>626248
Мне вот тестирование очень помогает тупо правильно ставить задачи самому себе. Хотя я и нубас в программировании.
Аноним 15/01/16 Птн 22:15:36 #512 №626388 
>>626382
Как ты тестируешь, расскажи. Может и мне полезно будет.
Аноним 15/01/16 Птн 22:26:47 #513 №626390 
>>626388
Да я пока учусь только, лол.
А вобще - http://www.obeythetestinggoat.com/http://www.obeythetestinggoat.com/
Там понимание как это делать в питоне прибивается.
Аноним 15/01/16 Птн 22:37:45 #514 №626393 
>>626390
Кстати книжку уже не первый раз вижу, её иногда рекомендуют при чём именно в контексте django
Ознакомлюсь, спасибо.
Аноним 15/01/16 Птн 22:48:04 #515 №626396 
>>626248
Для скриптов тесты не нужны. Для больших проектов:
1. Упрощение совместной работы.
2. Рефакторинг
3. Возможность разработки некоторого изолированного компонента системы. Представь - ты разрабатываешь какую-то большую систему, в которой много-много взаимодействующих компонент, которые по отдельности в принципе не работают, то есть нельзя вот отдельный компонент запустить, только в составе комплекса. Вот написал ты очередной компонент (класс), как проверить, что ты его правильно написал? Ну тесты написать, убедиться ими, что интерфейс корректно реализован правда, при интеграции все равно какое-нибудь гавно вылезете, которое ты в тестах не учел, но там уже другие разновидности тестирования подключаются
4. Тестами защищаются от регрессии. Т.е. при возникновении бага, пишется тест, который этот баг воспроизводится, затем баг исправляют, с помощью теста убеждаются, что все норм. В дальнейшем, тест гоняются наравне с остальными, чтобы убедиться, что баг опять не вылез.
Аноним 15/01/16 Птн 23:00:03 #516 №626399 
>>626396
> Для скриптов тесты не нужны.
Для нубасов типа меня они нужны даже что-бы "Хеллоу Ворлд" писать. Помогает мозги правильно структурировать.
Аноним 15/01/16 Птн 23:03:57 #517 №626401 
>>626399
и как ты эту хуйню собираешься тестировать?
принт под каждым действием, каждой переменной?
или чего?

я за свою сраную жизнь нормально по программингу единственную книжку прочитал - SICP. Не то что бы этого было достаточно, но блядь не представляю что вы тестируете так интенсивно
Аноним 15/01/16 Птн 23:10:25 #518 №626405 
>>626401
Ага. Но у меня мозги так стоят. Мне почему руби оказались приятными и скрипты на них я пишу щас для своих целей достаточно быстро, потому что в книге по рельсам окунали в это самое ТДД и научили ставить задачи и мыслить корректно.
> я за свою сраную жизнь нормально по программингу единственную книжку прочитал
У меня знакомый тоже в свое время. Щас читает вторую по перлу сидя в своем букинге. Все люди разные. И мозговая деятельность у них разная. Кому-то нужно это все только на больших проектах, а кому-то желательно сразу.
Аноним 16/01/16 Суб 00:20:36 #519 №626423 
>>626401
Ну взять, например, небольшую программку, логика которой разделена на 3 модуля.
Которые состоят из автономных функций, которые принимают некие объекты, проверяют их и используют в вычислениях, и возвращают результат, который передается как аргумент в другие функции.
Тесты могут проверять только аргументы и возвращаемый результат, например. Что же там будет в теле функций - похуй, например, можно будет переделать.
Тут же без проверки каждой такой функции после написания все распидорасит к хуям при первых же запусках main.
Проверять прямо в main неудобно, особенно, если код из другого модуля запускается не сразу, а через час, например.
Аноним 16/01/16 Суб 00:43:48 #520 №626437 
>>626401
Можно добавлять декораторы к потенциально бажным функциям. Которые будут запускаться только при определенном событии. Глобальная переменная test = True, например.
А там можно отслеживать скорость выполнения, например, число вызовов, взаимодействие возвращаемого с другой функцией и прочую оберточную логику. Добавлять или изменять атрибуты функции или класса на тестовые значения, независимые от других условий, например. Чтобы не пидорасить оригинальный код.

Нет ебли с комментированием и марательства оригинального кода, при определенном и пердольном подходе. Чем больше программа - тем полезнее.
Аноним 16/01/16 Суб 01:50:24 #521 №626474 
Чего-то я в ахуе слегка от степени абстракции джанги.
Ну т.е. оно логично всё, без пизды, просто от питона далеко пиздец и хуй проссыш вообще за что хвататься. Делаю туториалы один за другим пытаясь нащупать суть, но как-то неверноятно тупо идёт.

Может на русском по джанго почитать есть чего? 2 scoops of django уже читаю, но башни моей не очень надолго хватает понимать иноземный язык, особенно в совокупности с непониманием ещё и описываемого предмета
Аноним 16/01/16 Суб 01:55:32 #522 №626478 
>>626474
Да нет там ничего сложного. Ну, может, кроме необходимости постоянно оверрайдить save-методы или туда-сюда сигналы слать, чтобы это говно сохраняло объекты моделей в нужном порядке, не проебывая связки PK-FK.
Аноним 16/01/16 Суб 02:01:58 #523 №626481 
>>626474
Ты что-то о SQL, HTML/CSS знаешь? О классах и атрибутах? О HTTP? Если туго с этим - нужно сначала раскурить это. Без этого там ничего не поймешь, только копировать примерчики по шаблону и сможешь.
Мне кажется, там вся суть в святой троице urls\views\models. Остальное свистелки и перделки для них.
>Может на русском по джанго почитать есть чего
Оф документация всегда лучше. Есть переведенные.
http://djbook.ru/rel1.8/
Djangobook есть еще, переведенная, но для старой версии.
Аноним 16/01/16 Суб 02:02:57 #524 №626482 
>>626481
>models
Особенно это тяжко может даться.
Аноним 16/01/16 Суб 02:26:04 #525 №626493 
>>626481
В том и дело, что туда-сюда знаю, хоть конечно и с переменной глубиной.
Про святую мвц-троицу понятно, хотя бы на уровне идеи, просто обилие хуилиардов встроенных методов что бы подтереть жопу не только сверху-вниз для мальчиков, снизу-вверх для девочек, но и слева-направо->снизу-вверх для смелых любителей необычного.
Что бы админка выводила с фильтром какую-нибудь хуйню - просто допиши в классе в admin.py list_filter = ..., а что бы сверху столбца таблички с каким-то методом написать отсебячину - просто напиздячь в models в классе (ну или модели, если будет угодно) волшебное имя_класса/модели.short_description
Логично аж пиздец, но уже постфактум. И так всё в джанго. Как в питоне стандартная библиотека документирована тремя примерами, так и тут традицию эту чтут и бдят.
Вот это меня и смущает.

Ну да ладно, то всё лирика.
Допустим мне надо в джанго встроить кусок своего кода на питоне, не суть важно мелкого парсера xml там или ещё чего-нибудь, хер знает, генератора счастливых билетиков. Такой штуки, короче, что в асинхронный код через всякие celery лепить его не только ненужно, но и вредно.
Как этот велосипед лепить? В models прописываю данные какие будут, в urls - ссылку, которая будет дёргать нужный view из views, который будет узнавать у movels хули ему делать и просить выгрести из базы данных. Где велик-то тут впихивать? По-идее в models, оно же данные, но по-логике ближе ко views, ибо их разгребать нужно.

Или другой вопрос: вот есть всякие https://github.com/rosarior/awesome-django с модулями и блек-джеком, вот хочу я взять например блог и голосовалку. И что бы совсем по-простому не будем их вместе комбинировать, а просто отображать по хронологии вперемешку будем на url(r'^$' или как тут index прописать - каком-нибудь. И что дальше делать, хоть на уровне идеи?
Записываем в setting что у нас два приложения лишних, делаем миграции под них, туда-сюда скорее всего views в них уже прописаны, осталось собрать в кучу во views самого проекта. И как такое делать?
Спрашиваю потому как вроде это самый быстрый способ ваять хоть какие-то проекты, в фреймворке для перфекционистов, любящих дедлайн, а никто вообще об этом не пишет. Иногда рисуют фигню из python3 manage.py shell мол для Blog.objects.get('huy') можете использовать просто Blog('huy') и практического применения этому я тоже пока ввиду своего куцего опыта не вижу
Аноним 16/01/16 Суб 02:44:17 #526 №626499 
>>626493
Я сам только начал. Но вроде
>из views, который будет узнавать у movels хули ему делать и просить выгрести из базы данных.
Наоборот, views задает всю логику обработки. models лишь упрощает запросы к БД.
Я так понимаю, функция из views дергает нечто из models, обрабатывает, и результат подставляет в html шаблон, в котором специально обозначенные места подставляются значения из функции из views.
Аноним 16/01/16 Суб 02:59:47 #527 №626507 
>>626493
Вот, например, http://django-debug-toolbar.readthedocs.org/en/1.4/installation.html
Приложение прописываются в setting, затем указывается в url
url(r'^__debug__/', include(debug_toolbar.urls))

Я так понимаю, include(debug_toolbar.urls) добавляет свои троицы мвц. Уже готовые. Параметры которых можно докрутить, (через наследование или переопределение во views например, (прост теория)).
Чтобы совместить на одной странице два приложения, нужно отдельный шаблон html, в который функция из views, которая наследовала/переопределила/хзчтоеще viewsы других приложений, будет пихать свои данные.
Чисто теория. Возможно, гон нубаса.
Аноним 16/01/16 Суб 03:10:05 #528 №626510 
>>626507
Чутка погуглил, и там советуют копипастить всю требуху приложения и менять под себя. Неужели нет более удобного способа?
Аноним 16/01/16 Суб 03:11:25 #529 №626513 
>>626510
Особенно, если в приложении 100500 функций.
Аноним 16/01/16 Суб 06:34:26 #530 №626537 
Анон, помоги дебилу прояснить фундамент джанго. Поправь меня, где я ошибаюсь.

Модели - поля заносятся в БД, потом с этими полями можно работать как через админку, там и через ОРМ.
Админка - тут мы определяем, к каким полям имеет доступ Админ.
Вьюшки - функции, через которые модели отправляются на фронтэнд. В них определяется логика того, как будут обработаны поля моделей.
Юрл - адреса на вьюшки/админку и т.п.

Все правильно?
Аноним 16/01/16 Суб 07:25:38 #531 №626547 
>>620299 (OP)
Как удалить все символы, кроме a-z,A-Z из строки?Кроме очевидного str.replace('1','').replace('2','')
Это слишком сложно, можно ли как-то удалить всё кроме букв другим способом?
Аноним 16/01/16 Суб 07:48:34 #532 №626549 
>>626547
import re
re.sub("[^A-Za-z]", "", "your_string")
Аноним 16/01/16 Суб 09:54:10 #533 №626574 
>>626537
Всё правильно.

Часть логики советуют переносить в модели. Чтобы можно было import и подёргать методы хоть прямо из пайтоншелла. Чаще всего это какие-нибудь действия типа "купить" в магазинах.

Вьюшки в джанге это контроллеры из MVC. Часто конкретные трансформации при отображении полей в хтмл происходят уже в темплейтах, а код вьюхи только вкладывает модель или коллекцию моделей в этот темплейт.
Аноним 16/01/16 Суб 10:23:59 #534 №626579 
Через PyQt можно перемещать чужие окна?
хочу наваять подобия этого шина http://jgpaiva.dcmembers.com/gridmove.html только кросплатформенное и с некоторыми своими идеями.
Аноним 16/01/16 Суб 10:32:56 #535 №626582 
>>626579
Оно хоть с хоткеев гоняется?
А вообще хедеры окон ловить и через винапи им пропихивать свои значения, не совсем помню как это делается, лет десять назад на плюсах в последний раз чем-то подобным занимался.
Аноним 16/01/16 Суб 10:41:24 #536 №626587 
>>626579
http://docs.activestate.com/activepython/3.2/pywin32/win32gui.html
Аноним 16/01/16 Суб 10:42:21 #537 №626588 
>>626582
Может и хоткеями и мышкой, зажимаешь среднюю кнопку на коне и появляется сетка в которую можно запихнуть окно. Для меня эта штуха оказалась намного юзубельней чем динамический тайлинг.
>через винапи
Это понятно, но я хочу кроссплатформенности.
В окнах - винапи, никс - xlib, говно получается. Надеялся на PyQt, тем более его либы есть в этой мокропиське http://mizage.com/divvy/ которая мак/вин.
Аноним 16/01/16 Суб 12:04:43 #538 №626606 
тут кто-нибудь хоть копейку заработал на питоне?
Аноним 16/01/16 Суб 12:05:43 #539 №626608 
>>626606
Бравый ПХПшник опять выходит на связь?
Аноним 16/01/16 Суб 12:08:38 #540 №626612 
>>626606
Я хотел сделать сайт на питоне но выяснилоь что хостинги его не поддерживают.
99% хостеров это php+mysql. 1% - asp.net и только 0.0001% Это маргинальные руби и пайтон.
Аноним 16/01/16 Суб 12:13:51 #541 №626615 
>>626608
Питон рассматривается чисто как инструмент для работы в вебе?
Аноним 16/01/16 Суб 12:15:23 #542 №626616 
>>626615
Да нет, просто он тут уже вторую неделю вбрасывает что веб писать надо только на похапе потому что шаред хостеры поддерживают только похапе.
Аноним 16/01/16 Суб 12:26:13 #543 №626627 
http://stackoverflow.com/questions/101268/hidden-features-of-python

Увлекательное чтиво
Аноним 16/01/16 Суб 12:58:59 #544 №626647 
>>626608>>626608

так заработали или нет?
Аноним 16/01/16 Суб 13:37:00 #545 №626674 
>>626647
Нет конечно, ведь шаред хостеры поддерживают только пхп.
Аноним 16/01/16 Суб 13:41:38 #546 №626678 
>>626674
неужели все так грустно?
Аноним 16/01/16 Суб 14:08:54 #547 №626697 
>>626678
Да съеби ты уже, надоел. Ни разу не смешно и никакой ньюфаг на эту хуйню про шареды не купится. Они теперь даже не знают что такое шареды.
Аноним 16/01/16 Суб 14:12:08 #548 №626702 
перекит http://2ch.hk/pr/res/626701.html
http://2ch.hk/pr/res/626701.html
http://2ch.hk/pr/res/626701.html
http://2ch.hk/pr/res/626701.html
Аноним 16/01/16 Суб 15:41:28 #549 №626791 
14529480888350.jpg
>>626360
Аноним 16/01/16 Суб 17:39:31 #550 №626899 
Аноны, подскажите дауну, как сделать, чтобы при нажатии кнопки на сайте выполнялся скрипт (постинг на стенку вк пикчи, например)?
Аноним 16/01/16 Суб 19:35:51 #551 №626974 
>>626899
Пишешь в окошко для текста, а потом нажимаешь левую кнопку мыши на коробочку с текстом "отправить". Прям как тут, только там.
Аноним 16/01/16 Суб 20:58:03 #552 №627023 
>>626974
сложно. меня интересует, что нужно писать в скрипте, что обрабатывает html-форму, чтобы при нажатии кнопки, которая является html-кодом выполнялся скрипт и постил на стенку пикчу с хуем. я нагуглил только код, когда есть текстовое поле, которое обрабатывается файлом(а текст из поля просто отображается на следущей страницу), но ввиду уже указанной болезни я не понимаю как сделать, чтобы было норм
Аноним 18/01/16 Пнд 05:23:23 #553 №627967 
>>620708
Это че, гафеха-смайл чтоли? Эти дети вк свои смайлы в имена файлов уже пихают? Лол блядь
comments powered by Disqus