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

Python

 Аноним 19/10/15 Пнд 20:19:48 #1 №561713 
14452751886830.png
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>555653 (OP)

Аноним 19/10/15 Пнд 21:22:50 #2 №561764 
Что-то питон в этот раз ПОДГОРЕЛ.
Аноним 19/10/15 Пнд 21:25:33 #3 №561770 
>>561764
Бывает, хуле.
Аноним 19/10/15 Пнд 21:27:18 #4 №561773 
>>561770
Кстати неплохая форма для печенья.
Аноним 19/10/15 Пнд 21:31:56 #5 №561776 
Как правильно погуглить, чтоб понять, как можно постоянно перезаписывать текстовый файл, записывая туда только новый уникальный текст, игноря уже записанный и дубликаты?
Аноним 19/10/15 Пнд 22:14:58 #6 №561806 
Прошёл курс питона на кодеакадеми. Читал Лутца Изучаем Питон. Куда идти практиковаться?
Аноним 19/10/15 Пнд 22:16:19 #7 №561807 
>>561806
У Лутца есть книжка по практике.

Мимо-еще-не-прошел-академию
Аноним 19/10/15 Пнд 22:17:58 #8 №561808 
14452822788830.png
Объясните, пожалуйста, простыми словами, что здесь описывается. А то я Python знаю только на уровне кодакадеми и там такого не было. Или скажите, что гуглить.
Аноним 19/10/15 Пнд 22:36:47 #9 №561823 
14452834071820.png
Залётный ньюфаг-свитор рапортует.
Перекатываю неспеша свой зоопарк скриптов на питон. Вопрос — на какой фреймворк обратить внимание, чтобы можно было прикручивать легковесные вебморды с формами-табличками-графиками. Желательно, чтоб выглядело не как говно. Пока смотрю на flask, но может я чего пропустил.
Да, я понимаю, что мне в /веб/, но они там хостингами меряются, да цмсы разворачивают. К тому же меня читабельность кода интересует в первую очередь, поэтому сюда написал.
Аноним 19/10/15 Пнд 22:39:15 #10 №561825 
>>561808
У тестов есть методы setUp и tearDown которые вызываются на прогон каждого из тестов (перед и после соответственно). Если на каждый прям тест что-то запускать и настраивать оче накладно, это можно сделать один раз для всего класса, setUpClass, tearDownClass.
Аноним 19/10/15 Пнд 22:39:57 #11 №561827 
>>561825
>то можно сделать один раз для всего класса, setUpClass, tearDownClass.

Можешь подробнее рассказать как это работает и что такое декораторы и что они делают?
Аноним 19/10/15 Пнд 22:40:20 #12 №561828 
>>561823
Хороший выбор. Но верстать сам всё будешь. На любом фреймворке. Бутстрап бери.
Аноним 19/10/15 Пнд 22:42:08 #13 №561830 
>>561827
Напиши пустой класс с 2-3 пустыми тестами. Сделай методы setUp, tearDown, setUpClass, tearDownClass, в каждом из них print('имя метода'), всё сразу поймёшь.
Аноним 19/10/15 Пнд 22:42:47 #14 №561831 
>>561823
Django, flask, tornado(если нужна асинхронность, хотя такой модуль можно прикрутил и к фласку)
Аноним 19/10/15 Пнд 22:44:02 #15 №561835 
>>561827
Декоратор это функция, которая принимает на вход другую функцию, оборачивает её и возвращает.

То есть аргумент функция, что-то с ней делаем и возвращаем. Украшаем какбы. Вот и название декоратор.
Аноним 19/10/15 Пнд 23:01:11 #16 №561849 
14452848715730.png
Подозреваю, что ошибка из-за того, что у меня 3-ий питон. Как это реализовать в нём?
Аноним 19/10/15 Пнд 23:04:29 #17 №561850 
>>561849
Исправил.

>>561830
Всё равно нихуя не понял. У меня каждый раз открывается новое окно FF. Или это означает, что оно 1 раз инициализирует драйвер и переменные в классе SetUpClass и после этого уже юзает их во всех тестах?
Аноним 19/10/15 Пнд 23:11:54 #18 №561857 
>>561850
Да. Если просто setUp, tearDown впишешь оно у тебя заново будет открываться на каждый тест.
Аноним 19/10/15 Пнд 23:53:43 #19 №561884 
Насколько полезна паста про Python с лурчика ?
Аноним 20/10/15 Втр 00:01:44 #20 №561889 
>>561884
Максимально.
Аноним 20/10/15 Втр 00:54:47 #21 №561899 
Предположим, есть такой код - http://ideone.com/lO8xIG

Как мне правильно сделать сравнение класса в isinstance, чтобы оно работало при любом из:
import collections
from collections import звёздочка
import collections as ASDASD


И поменяв лишь класс, из которого наследую (collections.OrderedDict, OrderedDict, ASDASD.OrderedDict), метод оставался рабочим? Есть возможность через суперкласс как-то достучаться до его неймспейса и оттуда уже напрямую брать 'defaultdict' всегда?
Аноним 20/10/15 Втр 02:09:37 #22 №561915 
>>561899
from collections import defaultdict as defaultdict_for_my_custom_check

дальше импортируй сколько влезет хоть по нескольку раз одно и то же.
Аноним 20/10/15 Втр 02:41:49 #23 №561917 
>>561915
Нет, идея была в том, чтобы кто-то другой мог это мой класс скопировать себе в скрипт (а как ему там взбредёт в голову модуль импортировать я не знаю) и ему не пришлось копаться и изменять кучу кода, а лишь наследование исправить.

Конечно, модули импортируются лишь один раз, и я могу добавить свой import прямо в класс, но это как-то не интересно.
Аноним 20/10/15 Втр 04:08:44 #24 №561926 
>>561917
Сделай функцию. Входной параметр - класс-предок. Выхлоп - твой йоба класс.

from yobamodule import yobafunction

YobaClass = yobafunction(OrderedDict)
Аноним 20/10/15 Втр 04:10:10 #25 №561927 
Вообще если что-то надо копировать, то проще уже как gist/pastebin оформить и не ебать мозги. Пусть сами импорты переносят.
Аноним 20/10/15 Втр 05:12:07 #26 №561933 
>>561926
И чего это изменит-то? Меня не OrderedDict волнует же, а defaultdict, который находится в том же модуле, что и OrderedDict, от которого класс наследует, и как к нему универсально обратиться без самоличного импортирования модуля я не знаю.

>>561927
>Пусть сами импорты переносят.
Ну это, конечно, разумно, просто думал, что может есть какой способ сделать совсем уж обобщённо.
Аноним 20/10/15 Втр 05:22:44 #27 №561936 
All hail the Black Pyton, King of Whores, Father of lies!
We will stand afront the throne of God!
Аноним 20/10/15 Втр 06:46:50 #28 №561944 
>>561933
Ну вон же я тебе написал как. Импортировать уже надо твой модуль. Про defaultdict никто даже и знать не будет. OrderedDict это агрумент как бы, и он может быть любой.
Аноним 20/10/15 Втр 07:51:26 #29 №561951 
Анон, смотри. У меня цикл, где нескольким кнопкам биндятся функции. В аргументах функции нужно передать номер кнопки. Но! Бинд такое дерьмецо, что все аргументы функции передаются при клике по кнопке, т.е. тогда, когда цикл уже завершен. Как в цикле передать биндимой функции текущий номер кнопки?
Аноним 20/10/15 Втр 07:57:52 #30 №561952 
>>561951
Что за библиотеку ты используешь то? В pygtk можно передавать доп аргументы когда вешаешь функцию.
Попробуй
from functools import partial
button.bind(partial(your_func, keyname))
Аноним 20/10/15 Втр 08:10:38 #31 №561956 
>>561952
Tkinter. Да, я говноед, но все же.
Аноним 20/10/15 Втр 08:19:17 #32 №561961 
>>561956
А что ты имеешь ввиду под кнопкой? Клавишу на клавиатуре или кнопку на окне?
Anyway вот несколько вариантов:
1) partial
2) что-то типа button.bind("<Button-1>", lambda event: your_func(event, "button1"))
3) получать в твоей функции номер кнопки или объект по которому ткнули из аргумента event эти данные в нем содержатся.
Аноним 20/10/15 Втр 08:20:53 #33 №561962 
>>561961
Кнопку на окне. Спасибо, не ткнешь носом, где подробнее почитать про event?
Аноним 20/10/15 Втр 08:23:55 #34 №561963 
>>561962
http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

Вообще научись использовать repl - запускаешь python или лучше ipython
И набираешь
import Tkinter
help(Tkinter.Event)
Там всё описано.
Аноним 20/10/15 Втр 08:25:18 #35 №561966 
>>561963
Лучи добра тебе, няш. Ушел курить.
Аноним 20/10/15 Втр 09:43:50 #36 №561989 
>>561966
Не возвращайся никогда.
Аноним 20/10/15 Втр 14:57:29 #37 №562144 
Где брать практику по уровню знаний?
Аноним 20/10/15 Втр 15:07:49 #38 №562151 
>>562144
Фриланс доски и репорзитории опен сурс проектов.
Аноним 20/10/15 Втр 15:11:21 #39 №562152 
Есть матрица NN.
Есть вектор N
1.

Нужно реализовать метод Краммера. Для этого надо менять для неизвестной под номер i столбец в матрице под номером i на вектор. Как эту хуйню заебашить?

Пока что только дошел до одной итерации, как сделать для N не могу понять. http://ideone.com/ac2Pfp
Аноним 20/10/15 Втр 15:15:20 #40 №562153 
>>562152
http://telliott99.blogspot.co.uk/2011/06/cramers-rule-calculation.html
Аноним 20/10/15 Втр 15:18:50 #41 №562155 
>>562153
Спасибо, капитан. Эту ссылку я нашел наверное недели 2 как уже. Однако, если ты присмотришься внимательно эта хуита работает лишь в случае 3x3 и 2x2 системах, у меня же нет ограничений NxN. Поэтому данный быдлокод мне не подходит.
Аноним 20/10/15 Втр 15:28:37 #42 №562159 
>>561713 (OP)
Посоны, а где в петону поглядеть как он логарифм, к примеру считает?
Аноним 20/10/15 Втр 15:36:00 #43 №562165 
>>562159
The math module consists mostly of thin wrappers around the platform C math library functions
Аноним 20/10/15 Втр 15:37:45 #44 №562167 
>>562165
Thank you, u so useful Mr Anglichaneen
Аноним 20/10/15 Втр 15:39:54 #45 №562168 
Как вы тестируете асинхронность?
Аноним 20/10/15 Втр 15:45:04 #46 №562170 
>>562168
Как запускаешь, так и тестируешь, очевидно же.
Аноним 20/10/15 Втр 15:47:05 #47 №562171 
14453452256910.png
>>562168
print debug
Аноним 20/10/15 Втр 15:58:15 #48 №562178 
>>562152
Решил короче.
Аноним 20/10/15 Втр 16:02:02 #49 №562180 
>>562178
Решил сам, покажи другому!
Аноним 20/10/15 Втр 17:22:08 #50 №562252 
>>562159
Для логарифмов там вообще, по-моему, отдельные наборы инструкций на процессорах имеются, так что простенькой однострочной формулы в сорцах ты не увидишь. А так раскладывают в ряды и считают до нужной точности.
Аноним 20/10/15 Втр 17:32:13 #51 №562268 
Стыдно задавать такой вопрос, но придется.
Изучая библиотеку для взаиможействия с АПИ твиттора, я написал пару скриптов для подписки\отписки\постинга и т.д.
Подскажите, пожалуйста, как сделать бота так, чтобы работали несколько аккаунтов параллельно. Для каждого аккаунта свои настройки (задержки, теги, количество подписок и т.д.) И чтобы был единый ГУИ для всего этого дерьма. На Qt или даже веб морда

Просто я тупой и не понимаю как это все структурировать. Вот есть у меня один скрипт, а что с ним делать хз. Написать еще один скрипт, который будет вызывать кучу скриптов с определенными параметрами? Как-то это костыльно. Хотелось бы веб морду, настройки в бд, чтобы все как у людей

Аноним 20/10/15 Втр 17:37:44 #52 №562274 
>>562268
Модно-молодёжно: asyncio, aiohttp, quamash+PyQt/websocket+browser.
Дедово-пердёжно: threads, PyQt/pyside/gtk/tkinter
Аноним 20/10/15 Втр 17:38:01 #53 №562275 
Пуссаны, я тут пишу в ПУчарме. Пишу себе пишу, ночь вот уже подкрадывается, кот сопит. Вот почти главу учебника долистал, все усердно переписываю. А в учебнике код типа:
mamka= dvach(a = "2", b = "c")
Прилежно переписываю. И он мне подчеркивает пробелы, a = "2" вокруг присваивания. И ссылается на пеп8. Это важно? Или мой вопрос не имеет смысла? А вообще пока я писал, то решил что пеп8 авторитетнее учебника, и я буду писать так как велит ИДЛЕ. А Чтобы все это время написания поста небыло потрачено впустую, я его отправлю.
Аноним 20/10/15 Втр 17:38:34 #54 №562277 
>>562268
>Написать еще один скрипт, который будет вызывать кучу скриптов
А разве бывает по-другому? Те же вебфреймворки выглядят как-то иначе?
Аноним 20/10/15 Втр 17:39:32 #55 №562282 
>>562275
Каэшн пеп8, что тут думать-то? и, да, это важно
Аноним 20/10/15 Втр 17:40:07 #56 №562285 
>>562277
> А разве бывает по-другому?
А вот и ветераны подтянулись.
Аноним 20/10/15 Втр 17:41:35 #57 №562287 
>>562285
Не ветеран, а ньюфаг. Я действительно не понимаю, что имеется в виду "по-другому". Не приведешь пример?
Аноним 20/10/15 Втр 17:53:08 #58 №562310 
>>562274
Благодарю.
Попытаюсь освоить вот это вот все.
Еще вопрос, нужна ли мне бд и какую использовать? nosql?
Аноним 20/10/15 Втр 18:23:24 #59 №562358 
На работе хотят переписать поиск (достаточно тяжелый) на go, типа потому что go быстрый.
Я хочу попробовать использовать какой-нибудь поисковый движок из этих
https://github.com/rosarior/awesome-django#search
но не знаю какой выбрать. Нужен быстрой поиск по моделям без изъебств вроде сементики и пр. Что посоветуете?
(На беке python27 и джанга 18)
Аноним 20/10/15 Втр 18:28:37 #60 №562368 
>>562358
Собственно django-haystack может использовать разные поисковые движки под капотом. ( Solr, Elasticsearch, Whoosh, Xapian, etc.)
Какие из них лучше - хороший вопрос, наверное где-то есть статьи которые их сравнивают.
Аноним 20/10/15 Втр 18:39:58 #61 №562379 
>>562274
>asyncio
Почему не Tornado?
Аноним 20/10/15 Втр 19:01:36 #62 №562409 
>>562287
Вызывать скрипт один раз, очевидно.
>>562310
Любую. Если данных немного, то можно и sqlite, которые в пифоне по дефолту есть. Также рекомендую sqlalchemy, нраится.
>>562379
Можно и торнадо коненчо же. Просто если торнадо, то точно web, а с asyncio можно ещё gui делать на PyQt.
Аноним 20/10/15 Втр 19:48:48 #63 №562449 
>>562409
>Вызывать скрипт один раз, очевидно.
Да, это всё кардинально меняет.
Аноним 20/10/15 Втр 20:35:23 #64 №562479 
>>562409
>Вызывать скрипт один раз, очевидно.
У него есть скрипт, выполняющий действие. Это действие нужно повторить на нескольких аккаунтах. Как тут обойтись без вызова скрипта несколько раз-то? (Надеюсь под "запуском скриптов" мы оба понимаем именно выполнение написанного там кода, а не буквально запуск .ру файла, который действительно может быть один?)
Аноним 20/10/15 Втр 21:02:06 #65 №562502 
>Надеюсь под "запуском скриптов" мы оба понимаем именно выполнение написанного там кода, а не буквально запуск .ру файла, который действительно может быть один

Именно наоборот. Вызов скрипта - это как раз запуск .py файла , всё остальное - вызываются функции, инициализируются классы, выполняются методы.
Аноним 20/10/15 Втр 21:08:46 #66 №562505 
>>562502
Разве при "запуске файла" не происходит как раз "всё остальное"?
Аноним 20/10/15 Втр 21:31:50 #67 №562534 
>>562170
>>562171
Хех, ну это и сам всё делаю. Интереснее тестами покрыть же. Вот собсна вопрос как.
Аноним 20/10/15 Втр 21:38:49 #68 №562540 
>>562180
[code]
for i in range(len(A)):
TA = np.delete(A,i,axis=1)
TA1 = np.insert(TA,i,vectorE,axis=1)
[/code]

A - матрица NxN
TA - убираем столбец из матрицы с позиции i
TA1 - вставляем в TA на позицию i нужный нам столбец.

После этого пара манипуляций и метод крамера готов. Почему его нет в numpy для меня загадка.
Аноним 20/10/15 Втр 21:39:42 #69 №562541 
https://pythonhosted.org/six/

Вот какую хрень приходится городить из-за трешки сраной
Аноним 20/10/15 Втр 21:43:49 #70 №562547 
>>562409
>Вызывать скрипт один раз, очевидно.
Эм. Ты называешь скриптом файл или содержимое файла? Вообще можно тупо сделать словарь с данными акков и распараллелить внутри твоего скрипта чтобы создавал новый тред под новую пару логин/пароль.
Аноним 20/10/15 Втр 21:45:09 #71 №562548 
>>562541
2015 год пора перебираться на тройку, а не сосать хуи на двойке.
Аноним 20/10/15 Втр 23:06:40 #72 №562626 
Делал ли кто-то неявный метод Эйлера?
Аноним 21/10/15 Срд 01:40:40 #73 №562715 
>>562541
Лол. Жалкий червь-ретроград сокрушается на тяготы жизни.
Аноним 21/10/15 Срд 07:06:45 #74 №562779 
>>562626
Че бля?
Аноним 21/10/15 Срд 07:18:41 #75 №562781 
>>562626
Я делал, но он получился такой неявный, что я нихуя не заметил.
Аноним 21/10/15 Срд 08:12:39 #76 №562790 
Анон, у меня, наверно, крайне глупый вопрос: как на сервере найти виртуальное окружение? В каких конфах я могу найти намёки на его локацию или есть ещё какие-то способы? Прошлые говнокодеры развели тут помойку: симлинки какие-то сраные везде, охуеть вообще.
Системно стоит допотопная 2.4, приложение работает на 2.7-его исполняемый файл и pip2.7 я уже нашёл. Приложение крутиться на Wsgi, Nginx.

inb4: find / -name "activate"
Аноним 21/10/15 Срд 08:15:36 #77 №562791 
>>562790
А как приложение запускается, откуда?
Аноним 21/10/15 Срд 09:17:37 #78 №562802 
>>562790
В переменных окружения должен быть прописан путь, не?
Аноним 21/10/15 Срд 09:29:39 #79 №562806 
>>562790
echo $PYTHONPATH
Аноним 21/10/15 Срд 09:50:44 #80 №562811 
>>562449
> Написать еще один скрипт, который будет вызывать кучу скриптов
и
> Вызывать скрипт один раз
Совершенно разное.
>>562479
Именно запуск .py файла. Не знаю откуда у кого-то может возникнуть ассоциация «скрипт» → «часть кода». Вот, допустим, был у тебя код в файле, ты его назвал «скрипт», потом добавил туда код из другого файла, который тоже «скрипт» и что, у тебя теперь два «скрипта» в одном файле? Бред же.
>>562547
Скрипт — это файл, точно вам говорю, посоны.
>>562505
С таким подходом вообще всё, что написано на пифоне, выполняется при «запуске файла». Изначально я намекал лишь на то, что запускать много инстансов пифона aka «скрипт, который будет вызывать кучу скриптов» архаично.
Аноним 21/10/15 Срд 10:00:38 #81 №562814 
Как почувствовать себя эффективным девелопером , когда ты лишь неделю как первый хеловорулд написал? Мой рецепт прост! Купи себе маркер, и делай рабочие записки по своему ПРОЕКТУ на прозрачной доске(как в рекламе). У меня доски нет, но есть окно, и на нем я буду карябать свои ИДЕИ на псевдокоде. А вы все быдло!
Аноним 21/10/15 Срд 10:03:16 #82 №562816 
>>562814
ок
Аноним 21/10/15 Срд 10:21:31 #83 №562819 
>>562811
>Скрипт — это файл, точно вам говорю, посоны.
Мне кажется, ты путаешь причину со следствием. Скрипт - это программа, обычно состоящая из одного файла, который, как следствие, так же называют скриптом. Но это не значит, что скрипт должен состоять из одного файла.
Аноним 21/10/15 Срд 10:36:01 #84 №562823 
14454129611090.jpg
Скрипт по-хорошему нужно от руки пером выводить.
Аноним 21/10/15 Срд 11:21:48 #85 №562846 
Кстати, новый асинхронный синтаксис в 3.5 предложили чуваки из одной конторы. Они там какую-то йоба-БД пилят http://edgedb.com/ Вроде как она собирается убить и примитивный NoSQL, и реляционные базы.
Аноним 21/10/15 Срд 11:24:51 #86 №562850 
>>562814
Я в конце дня стараюсь написать пост в жж. Что сделал, что не сделал и почему. И теги: хорошо, плохо. Соответственно: сделал всё намеченное и не сделал ничего. Само собой все записи скрыты.
Аноним 21/10/15 Срд 11:26:24 #87 №562851 
>>562850
> хорошо, плохо
> 2015
Аноним 21/10/15 Срд 11:27:12 #88 №562852 
>>562851
Не понял?
Аноним 21/10/15 Срд 11:29:06 #89 №562854 
>>562850
У тебя дневник скорее, в которм ты отслеживаешь свою ификтивность, а я просто вместо тетрадки для заметок на стекле пишу. Хотя дневник надо бы завести,
Аноним 21/10/15 Срд 11:29:21 #90 №562855 
>>562851
Этот дневник для меня, а не для кого-то, чтобы потом прочитали. Два тега, для того что бы потом сделать анализ, какой день прошел хорошо, всё в этот день сделано, почему, и какой день плохо, почему.
Аноним 21/10/15 Срд 11:38:42 #91 №562865 
>>562852
Оценочные суждения.
Аноним 21/10/15 Срд 11:39:29 #92 №562866 
>>562846
Я думал он из c# спёрт.
Аноним 21/10/15 Срд 12:12:16 #93 №562877 
>>562866
Кек. Видимо да. Похоже очень. Ну это лучше чем целый декоратор впиливать.
Аноним 21/10/15 Срд 14:44:01 #94 №562930 
>>562866
В котором он недоспёрт из f#.
Аноним 21/10/15 Срд 15:24:05 #95 №562955 
Ребята, пишу автотесты (нубьё 80 уровень), осваиваю Page Object и всю эту хуйню.

http://pastebin.com/bkJ4Ey3U

Обратите внимание на test3_link_following. Просто ни в какую не хочет кликать по ссылке. В чем может быть проблема?

Selenium + WebDriver // Python 3.5
Аноним 21/10/15 Срд 16:27:11 #96 №562997 
Верстальщик на связи. Вопрос по Джанго и global.

Если объявить переменную глобальной в model.py (Например у меня действия после сохранения http://djbook.ru/rel1.4/topics/db/models.html#overriding-predefined-model-methods) я её достану в view.py?
Аноним 21/10/15 Срд 16:29:30 #97 №563000 
>>562997
Не делай так.
Аноним 21/10/15 Срд 16:30:19 #98 №563001 
>>563000
А как сделать?
Аноним 21/10/15 Срд 16:31:38 #99 №563004 
>>563001
Объясни сначала что ты хочешь сделать, что должно быть в этой переменной.
Аноним 21/10/15 Срд 16:47:19 #100 №563019 
>>563004
У меня таблицы: сообщения, "страница" и "предок-потомок". В таблице "предок-потомок" одноименные поля. Таб. сообщения связаны по ключу с предком-потомком. И таб. страницы и связаны по ключу с предком потомком. В эти поля предок-потомок я хочу записывать комменты.

После request.method == 'POST' в view.py, я сохраняю в таблицу 'сообшения' пришедшееи хочу после сохранения в model.py объявить глобальной переменной и прописать её в RequestContext и шаблон чтобы вставить в data-id="глобальную переменную которая будет равна id в таб. сообщения".

Эта же функция опять принимает post с комментом если data-id (найду на странице на что ответ и отправлю его если он есть) не none, то там id и это потомок в табл. "предки-потомки".
Аноним 21/10/15 Срд 16:47:23 #101 №563020 
>>562955
Решил вопрос переключением между окнами, так как ссылка имела target = _blank, что открывало её в новом окне. Всем похуй, но мне приятно, что я разобрался.
Аноним 21/10/15 Срд 16:47:40 #102 №563021 
>>563020
http://pastebin.com/NF3CTZ6q сам код.
Аноним 21/10/15 Срд 16:53:14 #103 №563025 
>>563020
Молодец, рад что ты разобрался. Правда, я не имею ни малейшего представления о том, что ты вообще делал. Но это только увеличивает ценность твоего достижения. Поздравляю.
Аноним 21/10/15 Срд 17:14:26 #104 №563047 
>>563019
То есть ты во вью её используешь?
Почему не сделать просто
if request.method == 'POST':
..m = Message()
..m.save()
..return render_to_response('temlate.html', context={data:m.id})

Вообще ты меня запутал. Покажи пример кода.
Но использовать глобальные перменные нельзя, особенно в джанге. Вообще.
Аноним 21/10/15 Срд 17:18:08 #105 №563048 
>>563019
Дело хотя бы в том, что когда ты будешь запускать этот свой джанго проект на рабочем сервере типа uwsgi или gunicorn - у тебя будет несколько тредов там. И это глобальная перменная будет между ними общей. И всё сломается.
Аноним 21/10/15 Срд 17:21:10 #106 №563051 
>>563047
>m.id
Он покажет id сохранного? Спс.

Да кода еще нет, только думаю как сделать
Аноним 21/10/15 Срд 17:22:42 #107 №563053 
>>563051
Да. Но только после того, как ты сделал save
Из доков:
>>> b2 = Blog(name='Cheddar Talk', tagline='Thoughts on cheese.')
>>> b2.id # Returns None, because b doesn't have an ID yet.
>>> b2.save()
>>> b2.id # Returns the ID of your new object.
Аноним 21/10/15 Срд 18:16:40 #108 №563082 
>>562791
>>562806
>>562802
/usr/local/python/bin/python2.7 - локация исполняемого файла
Ошибся, всё крутится на apache+mod_wsgi, ни в одной конфе нет намёков на виртуальное окружение или я не там смотрю.
PYTHONPATH не определён, за то вышеуказанный файл python2.7 засунут в другую переменную.
Аноним 21/10/15 Срд 18:29:33 #109 №563088 
>>563082
Попробуй не PYTHONPATH, а VIRTUAL_ENV.
Аноним 21/10/15 Срд 19:11:08 #110 №563108 
>>563088
Делал printenv, ничего похожего не было, кроме того, что написал выше.
Аноним 21/10/15 Срд 19:40:06 #111 №563128 
>>561828
>>561831
Стоит смотреть в сторону pyramid?
мимоанон
Аноним 21/10/15 Срд 20:00:49 #112 №563144 
>>563128
Нет
>>563082
Может там нет virtualenv вообще, всё стоит в /usr/local
Аноним 21/10/15 Срд 21:50:39 #113 №563220 
>>563144
Похоже на то. Не пойму, как это работает, если по умолчанию стоит 2.4.
Аноним 21/10/15 Срд 22:01:36 #114 №563240 
>>563220
А в настройках apache смотрел, может там путь к 2.7 прописан?
Аноним 21/10/15 Срд 22:08:54 #115 №563249 
>>563220
Вот эти директивы:
WSGIPythonHome
WSGIPythonPath
Аноним 21/10/15 Срд 22:53:06 #116 №563303 
>>563240
>>563249
Завтра ещё раз гляну на работе, спасибо посоны.
Аноним 21/10/15 Срд 23:54:30 #117 №563331 
Блять.

Есть цикл в котором я получаю вектора. С каждым шагом значение вектора пересчитывается. Как мне блять из этого отрисовать график с matplotlib, если получается конструкция
[array([[ -1.96046246e+286, 0, 0, 0], [ 5.88000000e+001, 0, 0, 0],[ 5.88000000e+001, 0, 0, 0], [ 5.88000000e+001, 0, 0, 0]])]?

В результате ебаный Pyplot не может в отрисовку.

Выдавая:
raise ValueError("x and y can be no greater than 2-D")
ValueError: x and y can be no greater than 2-D

Гугление ошибки выдаёт какую-то дичь без решения данной задачи. Ясное дело, что вся проблема в лишних скобках, но как от них избавиться или хотя бы отрисовать значения.
Аноним 22/10/15 Чтв 00:50:39 #118 №563356 
14454642390460.jpg
>>563331
А ты как собрался четырёхмерные вектора отрисовать на экране?
Аноним 22/10/15 Чтв 01:03:34 #119 №563366 
>>563356
Хз.
Нужно решить ОДУ методом Эйлера и отрисовать его на экране. Оду выглядят в виде Ax=Y, где x и Y - векторы, а А - матрица.

Аноним 22/10/15 Чтв 01:06:55 #120 №563369 
>>563366
Координаты какие? x,y,z,t?
Аноним 22/10/15 Чтв 01:19:14 #121 №563374 
>>563369
x1, x2, ... , xn.

Короче.

Есть матрица C
[[10e-06, 0, 0, 0],
[0, 10e-03, 0, 0],
[0, 0, 10e-02, 0],
[0, 0, 0, -1000]]

Есть матрица G
[[0.03, -0.01, 0, 0],
[-0.01, 0.02, 0, 1],
[0, 0, 0.01, -1],
[0, 1, -1, -1]]

Считается общая матрица А
А = Cp + G, где p = sqrt(-1)W. Собственно задаешь W получаешь N итераций и матриц соответственно.

Есть вектор Е
[2, 0, 0, 0]

Но выражение выглядит в общем виде Ax = Y, где x, y - вектора как я уже говорил.

По сути каждая строка матрицы A это константы при X из уравнений вроде 12
x1+ 26x2 + 35x3 + x4 = 100, Y - содержит значения правой части равенства. Нужно найти X. Делается эта хуйня у меня методом Краммера. То есть берется матрица A и в ней в соответствии с индексом X заменяется соответствующий столбец на вектор Y. Потом считается определитель оригинальной матрицы и измененой и делятся друг на друга выходит соответствующий X. Тут всё вроде как заебись.

Но теперь мне эту хуйню надо проверить методом Эйлера и у меня хуёво выходит.

Эйлер для моего случая выглядит как

X(i+1) = Xi + (Y - AXi)h, где A это G*C^-1 матрица, h - шаг, Y - типа как ненулевое значение вектора.

Я хуй его знает. Это что-то рисует, но выходит дичь какая-то и я не знаю правильно или нет.
Аноним 22/10/15 Чтв 01:37:56 #122 №563389 
>>563374
Мож тебе сходимость итераций нужно нарисовать?
Аноним 22/10/15 Чтв 01:42:03 #123 №563390 
Вай красота.

https://docs.python.org/3/library/contextlib.html

Надо всё-таки как-нибудь выучить уже от корки до корки, чтоб от зубов отскакивало.
Аноним 22/10/15 Чтв 01:46:32 #124 №563394 
>>563389
Вряд ли. В моём случае Метод Эйлера служит для вычисления динамических характеристик эквивалентных электрических схем.
Аноним 22/10/15 Чтв 02:41:50 #125 №563406 
14454709108440.jpg
Есть такая проблема: надо проверить ввод на валидность. Должно быть 3 числа в строке, разделенных пробелами, первое и второе от 1 до 20000, третье от 2 до 37. Как это сделать красиво и правильно? Накатал пик-релейтед, но кажется это гавно.
Аноним 22/10/15 Чтв 02:51:36 #126 №563409 
>>563406
Ты прав. Редкостное говно.

Делай отдельную функцию input_numbers. Внутри неё while true. Алгоритм применяй уже вне этой функции, к выходному значению.

a, b, c = input_numbers()
algo(a, b, c)

Ещё одну функцию делай для проверки и подчистки числа:

def refine_number(nstr, minv, maxv)
r = int(nstr.strip())
if not (minv <= r <= maxv):
raise ValueError('Не попали в диапазон')

В случае непопадания в диапазон выбрасывай ValueError. Хуйня вместо числа тоже выбросит ValueError, например int('abc').

while True:
inp_str = input()
try:
a, b, c = inp_str.split(' ') # вот здесь ещё тоже может быть экзепшен, так как числа может быть не 3, слови его отдельно
a = refine_number(a, 1, 20000)
b = refine_number(b, 1, 20000)
c = refine_number(c, 2, 37)
except ValueError as e:
print(e)
else:
break
Аноним 22/10/15 Чтв 02:55:04 #127 №563410 
14454717044450.png
>>563406
>эти шрифты
>этот код
Аноним 22/10/15 Чтв 03:27:32 #128 №563422 
>>563409

Спасибо.

>>563410
>эти шрифты
Стандартный идл.

>этот код
Он работает!
Аноним 22/10/15 Чтв 05:16:08 #129 №563432 
Посоны, проясните мне за eggs, wheels и zipimport. Почему яйца устарели, нахуй вообще нужны колёса, почему вместо яиц нельзя просто импортить из зипфайла?
Аноним 22/10/15 Чтв 05:42:25 #130 №563435 
Что за хуйня у вас вместо ООП? Я не шучу, не толщу, мне на самом деле интересно. Все эти __init__(self) дебильные, наследование от object не по умолчанию. Вам самим разве приятно?
Аноним 22/10/15 Чтв 05:44:43 #131 №563436 
>>563435
>наследование от object не по умолчанию
Чё?
Что не так с init?
Аноним 22/10/15 Чтв 06:02:44 #132 №563439 
>>563436
Ну я в спеке читал, что можно class hui, а можно class hui(object). И вот во втором какие-то фичи есть дополнительные. Не помню уже.

С __init__? Нижние подчёркивания, неявная передача инстанса в качестве объекта.
Аноним 22/10/15 Чтв 06:09:32 #133 №563440 
>>563439
То в двойке костыль был. Типа old-style oop и new-style oop. Это они так обратную совместимость кода сохраняли. В тройке уже что так, что так - разницы нет, всё new-style.

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

Передача self аргументом позволяет все функции в классе рассматривать как обычные функции, применять к ним декораторы, преобразования. Ни про какие bind this мы не вспоминаем, всё просто работает. Bound method в инстансе это такой карринг этих функций.
Аноним 22/10/15 Чтв 06:34:12 #134 №563442 
>>563440
Про костыль понял, окей.

Я знаю, для чего они. Выглядят они премерзко.

Ах, каррирование. Ну тоже не очень приятно смотрится. А говорят, что должно радовать глаз.
Аноним 22/10/15 Чтв 06:40:35 #135 №563443 
>>563442
Тёма, это не раздел «Типографика».
Аноним 22/10/15 Чтв 07:02:34 #136 №563445 
>>563440
>То есть init не предназначен для явного непосредственного вызова.
А как же super().__init__()?
Аноним 22/10/15 Чтв 07:07:58 #137 №563447 
>>563445
Ну так ты вызываешь его внутри init потомка. Больше по идее нигде, хотя явно это не запрещается. Антипаттерн это вызов init из других методов класса и напрямую у инстанса.
Аноним 22/10/15 Чтв 07:53:39 #138 №563456 
14454896198200.png
>>563447
Антипаттерн — это ООП в Python.
Аноним 22/10/15 Чтв 08:00:35 #139 №563458 
>>563456
Ну как скажешь. Лисп учить я всё равно не буду.
Аноним 22/10/15 Чтв 08:17:39 #140 №563461 
14454910594020.jpg
>>563443
Чего?
Аноним 22/10/15 Чтв 08:28:38 #141 №563462 
>>563461
Сырна_, ну хватит тебе уже так __подгорать от_змеиного синтаксиса_.
Аноним 22/10/15 Чтв 09:42:25 #142 №563475 
>>563442
Конечно, говноеду не по вкусу.
Аноним 22/10/15 Чтв 09:48:03 #143 №563478 
14454964833300.jpg
>>563432
Бамп вопросу.
Аноним 22/10/15 Чтв 10:01:09 #144 №563479 
>>563478
Иди на хуй.




















Аноним 22/10/15 Чтв 10:15:17 #145 №563485 
Посоны, такой вопрос:

Если URL содержит не-ASCII символы, то из него может выйти что-то такое:

%D1%80%D1%83%D1%81 - этот кусок представляет 'рус' на русском.

Как называется такое кодирование и как строки, содержащие такие абракадабры, сделать читаемым юникодом?
Аноним 22/10/15 Чтв 10:20:00 #146 №563487 
>>563485
Так вроде нагуглил urllib quote / unquote
но советы по прежнему приветствуются
Аноним 22/10/15 Чтв 10:38:47 #147 №563493 
>>563487
>>563485

Вот так кароч
import urllib.parse
text = '%D1%81%D0%B2%D0%B0%D0%B7%D0%B8%D0%BB%D0%B5%D0%BD%D0%B4'
urllib.parse.unquote(text)
свазиленд
Аноним 22/10/15 Чтв 11:10:03 #148 №563500 
>>563479
http://www.youtube.com/watch?v=T14wRgVrVEE
Аноним 22/10/15 Чтв 13:01:44 #149 №563554 
>>563485
Блять, у меня такая же проблема. Отправляю русский текст, на выходе абракадабра получается.
Аноним 22/10/15 Чтв 13:18:53 #150 №563564 
>>563554
А кодировку UTF-8 ты забыл обозначить?
Аноним 22/10/15 Чтв 13:21:38 #151 №563568 
>>563564
Нет, не забыл.
Аноним 22/10/15 Чтв 13:23:21 #152 №563573 
>>563564
Блядь, магия какая-то. Один раз указываю - нихуя не робит, воторой раз всё ок. Пздц.
Аноним 22/10/15 Чтв 14:57:50 #153 №563682 
>>563573
А в чем ты пишешь? Если PyCharm, то там в настройках проекта можешь еще попробовать кодировку поставить UTF-8
Аноним 22/10/15 Чтв 15:13:31 #154 №563700 
>>563682
В виме.
Аноним 22/10/15 Чтв 15:17:57 #155 №563703 
14455162770870.jpg
>>563700
Это консольный примитивный редактор из 70-х? Он же вообще юников не может наверное.
Аноним 22/10/15 Чтв 15:48:24 #156 №563726 
>>563700
Ясно.
Аноним 22/10/15 Чтв 16:14:58 #157 №563750 
>>561713 (OP)
По совету из Пасты(Священный текст!) я ныряю в питон. Он черный(как на ОПпике), скользкий как тысяча дьяволов. Омут зла. Вот к примеру, трудно заходит глава о регулярных выражениях. Ну, честно сказать, очень тяжко идет. А как у вас с ними?
Аноним 22/10/15 Чтв 16:29:21 #158 №563761 
>>563750
Регулярные выражения одинаковая ебатория во всех языках. Что в яве что в яваскрипте что ещё где.
Другое дело, что в питоне дохуя способов вообще избегать регулярки там где не надо. Можно пользоваться всякими split, 'foo' in bar.lower() и прочими конструкциями. Ещё есть библоитеки для генерации человеко-читаемых регулярок.
Или готовые парсеры всяких форматов, так что не придется их регулярками парсить.
Вот в перле регулярки на каждом шагу и там это правда ад.
Так что не переживай, вряд ли тебе много ими придеться пользоваться.
Аноним 22/10/15 Чтв 16:34:10 #159 №563764 
>>563761
>>563750
Вот кстати пиздатый сервис, чтобы по-упражняться и подобрать нужную регулярку

http://www.rubular.com/

Засовываешь какой-то тестовый текст и смотришь, с чем совпало, а внизу тебе и шпаргалка сразу.
Аноним 22/10/15 Чтв 16:53:58 #160 №563771 
>>563761
> библоитеки для генерации человеко-читаемых регулярок
Молю!
Аноним 22/10/15 Чтв 16:55:38 #161 №563773 
Хуле такого сложного вы нашли в регулярках?
Аноним 22/10/15 Чтв 16:57:37 #162 №563774 
14455222575530.jpg
Аноним 22/10/15 Чтв 17:02:08 #163 №563777 
>>563771
Заебался искать. Вот нашел.
https://pyparsing.wikispaces.com/
Аноним 22/10/15 Чтв 17:03:16 #164 №563778 
>>563773
Пока они простые всё просто. Но дальше начинается ад, когда надо всякие backwards-выражения делать и прочее.
Аноним 22/10/15 Чтв 17:49:14 #165 №563802 
Есть какие-нибудь красивые способы разбора json с овердохуя вложенными ключ:значениями? Заебался писать циклы просто.
Аноним 22/10/15 Чтв 18:37:08 #166 №563823 
бумп
Аноним 22/10/15 Чтв 18:48:55 #167 №563833 
Лесенка строчится, лавэха мутится.
Аноним 22/10/15 Чтв 19:06:40 #168 №563847 
Чому не правильно работает?
http://pastebin.com/M1UgDkMc
Аноним 22/10/15 Чтв 19:07:56 #169 №563849 
>>563847
Питон не любит, когда в его коде присутствует мат.
Аноним 22/10/15 Чтв 19:08:44 #170 №563850 
>>563849
А вообще, нахуя ты впихнул это всё (прямо всё) в цикл?
Аноним 22/10/15 Чтв 19:09:00 #171 №563851 
>>563849
Лжец, Черный Змей обожает сквернословие и блуд!
Аноним 22/10/15 Чтв 19:09:29 #172 №563852 
>>563847
>s = input
не надо так
Аноним 22/10/15 Чтв 19:17:42 #173 №563855 
>>563852
А как надо?
s = input("Введите что-нибудь : ) ?
Аноним 22/10/15 Чтв 19:30:13 #174 №563864 
>>563855
да убери их просто, один раз считывай инпут и все
Аноним 22/10/15 Чтв 19:35:17 #175 №563865 
Аноны, в винде нужно узнать статус раздавалки SoftAP или как альтернативу наличие рабочей сети.
В какую сторону рыть, чтобы вывести эту инфу через питон? Гугл говорит юзать винапи, но вменяемых доков и примеров так и не нашел, везде сотни строк непонятного кода.
Аноним 22/10/15 Чтв 20:22:18 #176 №563900 
>>563865
Cама функция в WinAPI вроде называется WlanHostedNetworkQueryStatus, но как её использовать в питоне так и не понял. Установил питоновский win32api, но оно такого метода не имеет.
Аноним 22/10/15 Чтв 20:29:36 #177 №563908 
14455349767790.jpg
>>563462
Он уродлив.

>>563475
>кудехт
Аноним 22/10/15 Чтв 20:30:01 #178 №563909 
>>563855
s=input()
Аноним 22/10/15 Чтв 21:51:46 #179 №563942 
14455399064140.jpg
Какой форум(https://www.djangopackages.com/grids/g/forums/) ставить? Самый важный для меня параметр - простота и как следствие - надежность. Чтобы без уязвимостей потенциальных было.
И второе, дайте инфу по установке форума(или другого пакета). В выдаче гугла и ютуба одна хуита(или я в глаза долблюсь?). Добра.

Ньюфаг-кун.
Аноним 23/10/15 Птн 05:06:52 #180 №564110 
>>563908
>Он уродлив.
Покажи пример неуродливого, чтобы я его назвал уродливым
Аноним 23/10/15 Птн 05:07:19 #181 №564111 
>>563942
>Чтобы без уязвимостей потенциальных было
Размечтался, бля.
Аноним 23/10/15 Птн 05:17:53 #182 №564112 
Питоны, я тереблю всю литру по питону сейчас, у меня вопрос возник. Читать о алгоритмах надо уже после того, как окончишь с питоном?
Аноним 23/10/15 Птн 07:17:10 #183 №564114 
>>564112
до того, как начнешь.
Аноним 23/10/15 Птн 10:30:17 #184 №564148 
>>563942
phpbb
Аноним 23/10/15 Птн 12:12:07 #185 №564185 
Есть список [['R', 10, 'R1', '0', '0'], ['L', 15, 'L1', 0, 2]]
Нужен способ, чтобы находить определенные куски. Например ввожу L и он мне выдает ['L', 15, 'L1', 0, 2], словари не подойдут вероятнее всего, потому что таки 'L' может быть дохуя.
Аноним 23/10/15 Птн 12:13:30 #186 №564186 
>>564185
через циклы
Аноним 23/10/15 Птн 12:13:42 #187 №564187 
>>563908
Можно ныть как хуесос что синтаксис уродлив или сделать wrapper на свой вкус.
Аноним 23/10/15 Птн 12:15:47 #188 №564188 
>>563847
Братишка не надо делать дохуя if, в питоне конечно нет case, но зато его можно сделать через словарь. Так намного удобнее.
Аноним 23/10/15 Птн 12:16:44 #189 №564189 
>>564186
Ну ебать, напиши мне цикл компактный. Я пока в затруднении сообразить его. Как-то впадлу чекать весь список и потом смотреть первый элемент. Может есть лучше вариант.
Аноним 23/10/15 Птн 12:16:47 #190 №564190 
>>564185
[x for x in SPISOK if 'L' in x]
Аноним 23/10/15 Птн 12:18:01 #191 №564191 
>>564189
filter(lambda x:x[0] == 'L', SPISOK)
Аноним 23/10/15 Птн 13:09:16 #192 №564210 
Как меня достали эти лесенки...
Аноним 23/10/15 Птн 13:12:15 #193 №564213 
>>564210
Какие лесенки?
Аноним 23/10/15 Птн 13:13:34 #194 №564214 
>>564213
Лесенки, которые парсят json.
Аноним 23/10/15 Птн 13:23:49 #195 №564219 
>>564214
Рекурсию сделай. Или import json.
Аноним 23/10/15 Птн 17:41:24 #196 №564351 
14456112849370.jpg
Аноны, хэлп.

Я уже день убил на эту хуйню. Суть проблемы: Решил я поиграться с создание оконных приложений на питоне под шиндовс. Скачал сам питон, PyQt4, и как среду разработки- Pydev вместе с Liclipse. всегда ловлю такой месседж
Аноним 23/10/15 Птн 18:06:24 #197 №564363 
>>564351
Соси со своим иклипсом и четвёртым пукутэ.
Аноним 23/10/15 Птн 18:32:58 #198 №564368 
Поцоны, пистон не запускается ВИН ХР, пишет "не является приложением ВИН32", че делать?
Аноним 23/10/15 Птн 18:34:48 #199 №564369 
>>564368
На ставить 64разрядную версию питона на свое допотопное говно.
Аноним 23/10/15 Птн 18:44:32 #200 №564375 
>>564363
OK, а что тогда ставить, чтобы все работало?
Аноним 23/10/15 Птн 19:45:45 #201 №564390 
>>564375
Питона должно хватать. Если тупорылый, пиши в вижуал студии.
Аноним 23/10/15 Птн 19:56:51 #202 №564397 
14456194118420.png
14456194118501.jpg
14456194118502.jpg
>>564351
c:\program fails\
уебывай
Аноним 23/10/15 Птн 20:00:29 #203 №564398 
>>564351
Но по теме-я писал на pygtk в прыщесреде, качал сборочку python+pygtk под винду и всё запускалось под шиндой. Тоже самое с pyqt.
Нахуй тебе запускать какие-то pydev в винде?
Аноним 23/10/15 Птн 21:09:26 #204 №564415 
>>564369
Но я ставлю 32разрядную версию питона на свое допотопное говно
Аноним 23/10/15 Птн 21:15:33 #205 №564416 
>>564398
pygtk депрекейтед в пользу pygobject, прекращайте советовать нюфакам pygtk и начинайте советовать pygobject.

Вообще забудьте про pygtk
Аноним 23/10/15 Птн 21:17:53 #206 №564417 
>>564416
Я не советовал. Я говорю что лет 5 назад когда я делал свой быдлокод под винду тоже pygtk работал там заебися.
Аноним 23/10/15 Птн 21:19:08 #207 №564418 
>>564417
Ну лан.
Аноним 23/10/15 Птн 21:20:47 #208 №564419 
>>564418
Но вообще gtk3 не нужен. У меня весь софтик под gtk2
Аноним 23/10/15 Птн 21:25:22 #209 №564421 
>>564419
$ apt-cache rdepends libgtk2.0-0 | wc -l
1194

$ apt-cache rdepends libgtk-3-0 | wc -l
528

И это еще дебиан стейбл.
Аноним 23/10/15 Птн 21:29:47 #210 №564422 
14456249875950.png
>>564421
твои прыщепроблемы меня не ебут
Аноним 23/10/15 Птн 21:30:52 #211 №564425 
>>564422
Где ты тут проблемы увидел, даун агрессивный? И нахуй мне скриншотик?
Аноним 23/10/15 Птн 21:31:34 #212 №564426 
14456250940840.png
>>564421
Аноним 23/10/15 Птн 21:32:13 #213 №564427 
>>564426
Ебать ты король хипстеров.
Аноним 23/10/15 Птн 21:36:32 #214 №564432 
14456253926000.jpg
>>564427
Аноним 23/10/15 Птн 22:34:00 #215 №564471 
>>564185
У Лутца в учебнике говорилось про дополнительную индексацию, со схожим со словарем принципом.
Аноним 24/10/15 Суб 08:30:37 #216 №564707 
>>561806
>кодеакадеми.
Што за кодакадеми?
Аноним 24/10/15 Суб 08:32:08 #217 №564709 
>>564707
Так погуглил и нашел
https://www.codecademy.com/tracks/python
Про это речь у тебя >>561806 ?
Аноним 24/10/15 Суб 08:59:30 #218 №564716 
>>564709
Ты из какого года?
Аноним 24/10/15 Суб 10:53:11 #219 №564741 
>>564716
Из 1889. У нас как раз Питон в моду входит.
Аноним 24/10/15 Суб 12:48:34 #220 №564802 
>>564716
Что не так? На меня просветление только пару дней назад снизошло - решил код изучать.
>>564709 - анон
Аноним 24/10/15 Суб 12:53:23 #221 №564807 
>>564802
Через пару дней отпустит.
Аноним 24/10/15 Суб 13:15:16 #222 №564833 
>>564807
Жи есть, братан.
Аноним 24/10/15 Суб 15:28:05 #223 №564906 
>>564709
Да, я про это
Аноним 24/10/15 Суб 16:00:19 #224 №564921 
>>564807
>Через пару дней отпустит.
А вдруг нет?
Я тут понемножку почитываю и мне нравится.

>>564906
Я так и понял. Только чот там все так запутанно - тыкаю пока наугад
Аноним 24/10/15 Суб 16:31:42 #225 №564935 
>>564422
Что с about файрфокса, лол? Похоже на прыщепроблемы.
Аноним 24/10/15 Суб 18:01:05 #226 №564998 
>>564935
Это фишка такая, задумка дизайнера.
Аноним 24/10/15 Суб 19:10:12 #227 №565047 
Почему нет в шапке вот этого? ваши рты ебал
https://automatetheboringstuff.com/
Даже закон нарушать не надо.
Аноним 24/10/15 Суб 19:12:44 #228 №565049 
>>565047
Добавь.
Гитхаб же, тимворк, коллабортейшон, открытое коммунити, вся хуйня.

И еще заодно добавь - Если в шапке чего-то нету - ДОБАВЬ САМ, чтоб больше подобных быкований не было.
Аноним 24/10/15 Суб 19:18:55 #229 №565051 
>>565049
>Добавь.
Не, ты че, я не программист.
Аноним 24/10/15 Суб 19:27:23 #230 №565055 
>>565051
Если ты в зк - ты программист. Тут все программисты. С зарплатой в 140к. Далларов. Иди добавляй.
Аноним 24/10/15 Суб 19:31:00 #231 №565057 
>>565055
Ну вообще, я правда не программист, просто хобби, так что моё мнение нерелевантно, и книга может быть говном вполне. Хотя мне понравилась. Так что я добавлять не буду.
Аноним 24/10/15 Суб 19:35:36 #232 №565067 
>>565057
каждая мразь мимокрокодит тредов, и не желая брать на себя ответственность, выдает всякие сентенции.
Аноним 24/10/15 Суб 19:39:05 #233 №565070 
>>565067
Ну меня никуда не взяли на работу, так что я вполне имею право на эти сентенции, и если программистов будут сжигать, например, я с чистой совестью скажу что я не программист, так что нахуй иди.
Аноним 24/10/15 Суб 19:42:36 #234 №565071 
>>565070
Уж больно ты лоичен да последователен для непрограммиста. Спалишься на первом же допросе.
Аноним 24/10/15 Суб 19:48:15 #235 №565073 
И вот еще охуенная тема для визуализации кода http://www.pythontutor.com
Аноним 24/10/15 Суб 19:51:00 #236 №565074 
>>565073
Охуенно.
Аноним 24/10/15 Суб 20:00:56 #237 №565076 
>>565073
Это тоже добавь. Будешь нашим добавлятором.
Аноним 24/10/15 Суб 20:01:21 #238 №565077 
>>565070
Сисадмин?
Аноним 24/10/15 Суб 20:03:21 #239 №565078 
>>565076
Нехуя. Мне в падлу аккаунт делать на гитхабе, уж извиняйте.
>>565077
Ну вообще работал техником, но в данный момент мамина корзина.
Аноним 24/10/15 Суб 21:06:56 #240 №565103 
Привет питонята, проясните мне следующую фигню. Собссно зачем я учу питон?
Ну, то есть, я его учу и мне он доставляет, но куда на нем пиздовать работать и что на нем вообще пилят, я просто не ебу.
Аноним 24/10/15 Суб 21:22:46 #241 №565114 
14457109668860.png
Аноним 24/10/15 Суб 21:23:19 #242 №565115 
>>565103
веб (flask, django)
новомодные SDN сети (openstack)
девопс и сисадминство
научные вычисления (scipy)
можно и десктоп-приложения хуярить (pyqt,pyside)
игрульки (pygame)


Аноним 24/10/15 Суб 21:36:38 #243 №565125 
>>565047
Ну хуй знает. Ты сам-то её читал? Что извлёк интересного? Чем она тебе помогла?
Аноним 24/10/15 Суб 21:38:45 #244 №565126 
>>565115
>можно и десктоп-приложения хуярить (pygobject)
Починил.
Аноним 24/10/15 Суб 22:05:04 #245 №565144 
>>565073
Прикольно, но для нубов. Лучше бы для asyncio подобноее зделали.
>>565126
Заебал уже со своим gtk. Он явно отсталее pyqt. inb4: define "отсталее"иди нахуй
Аноним 24/10/15 Суб 22:06:47 #246 №565147 
>>565144
Нет ты иди нахуй. Сириусли, давай просто не форсить свое говно, а предлагать все основные варианты. Которых всего один два.
Аноним 24/10/15 Суб 22:09:57 #247 №565152 
>>565144
>отсталее
Поэтому гтк использует и хром, и файрфокс, и тундерберд, и дефолтные окружения 90% дистров, и небо, и даже Аллах. Отсталее не бывает.
Аноним 24/10/15 Суб 22:15:04 #248 №565158 
>>565147
> можно и десктоп-приложения хуярить (pygobject)
> все основные варианты
>>565152
Я не ебу почему их используют вышеназванные приложения, но qt реально заебись сделан.
Аноним 24/10/15 Суб 22:16:21 #249 №565163 
>>565158
Плюс, qt-loop можно с asyncio совместить благодаря quamash. С gtk такое можно?
Аноним 24/10/15 Суб 22:20:27 #250 №565173 
>>565152
Проиграл.
Аноним 24/10/15 Суб 22:20:48 #251 №565177 
>>565158
Ну ты только свое сказал, я в ответ только свое. Теперь давай уважать и друг друга и нюфагов и писать все варианты. Мы тут приличные господа жи.

>>565163
Знаю про твой квамаш только по тому что нагуглил пять секунд назад. Питоновский гтк легко тредится и асинкается нативными гткшными способами. Еще есть gbulb, полагаю это альтернатива этому квамашу.
Аноним 24/10/15 Суб 22:25:55 #252 №565186 
Интеграция Checkio с PyCharm.
http://blog.jetbrains.com/pycharm/2015/10/announcing-pycharm-edu-2-0-2-checkio-integration/
Аноним 24/10/15 Суб 22:34:19 #253 №565206 
>>565186
Кому нужен checkio, когда есть codewars? Намного больше заданий, советую кароч.
Аноним 24/10/15 Суб 22:53:09 #254 №565237 
>>565177
Это >>565115 не я писал.
> Знаю про твой квамаш
> гтк легко тредится и асинкается нативными гткшными способами
> gbulb
> 7 downloads in the last month
> Latest commit 8548711 on 12 Aug
Я не пытаюсь обосрать, просто есть то, что развивается. Было бы очень хорошо, если бы gtk шёл в ногу с qt, но, увы, это невозможно.
Аноним 24/10/15 Суб 22:55:09 #255 №565238 
>>565206
>codewars
Два чаю этому господину
Аноним 24/10/15 Суб 22:57:10 #256 №565239 
>>565206
>>565238
Посмотрел главную.
> Correct this code
Это разве круто? Чем луче checkio?
Аноним 24/10/15 Суб 23:05:50 #257 №565246 
>>565237
Они там переезжали с битбакета на гитхаб недавно. Но я его все равно не тыкал, одного гтк достаточно было.
Аноним 24/10/15 Суб 23:08:00 #258 №565247 
>>565239
Пользователи сами добавляют задания, поэтому там есть и плохие каты. выбери режим Rank up и сложность будет расти. К тому же тут есть поддержка не только питона, но и кучи других языков, из которых зачастую переводят интересные задания(тоже пользователи). Ну и еще есть более приятный интерфейс.
Лучше сам попробуй пройти несколько заданий. Желательно начинать с заданий которые вышли из беты.
Аноним 24/10/15 Суб 23:15:04 #259 №565255 
>>565247
>Supported Python version is 2.7.6
Чего же всё так хуёво?
Аноним 24/10/15 Суб 23:41:24 #260 №565286 
>>565255
Если с юникодом не работать, то разницу не заметишь. Выполнил уже 16 кат и думал что делал в python 3ничего, 2020 уже близко
Аноним 24/10/15 Суб 23:43:25 #261 №565288 
>>565286
А что в 2020?
Аноним 24/10/15 Суб 23:45:47 #262 №565293 
>>565286
>Если с юникодом не работать, то разницу не заметишь
Проиграл. А print в python 3 ты тоже обозначаешь не как функцию?
Аноним 24/10/15 Суб 23:53:18 #263 №565299 
>>565293
Я про codewars. Тут как раз юникода нет, а в python 2.7 можно писать как print, так и print()
Аноним 24/10/15 Суб 23:56:15 #264 №565302 
>>565288
Прекратится поддержка python 2 и он наконец то станет легаси.
Аноним 24/10/15 Суб 23:58:36 #265 №565306 
>>565288
Питон умрет.
Аноним 25/10/15 Вск 01:42:16 #266 №565348 
>>565306
Басни фанатика.
Аноним 25/10/15 Вск 01:42:54 #267 №565349 
>>565348
Пруф ми вронг пока я не сплю. Время пошло.
Аноним 25/10/15 Вск 01:43:13 #268 №565350 
Время вышло.
Аноним 25/10/15 Вск 03:56:08 #269 №565376 
Анчоусы, почему в коде последний not stack возвращает True, а тот который внутри цикла False? http://ideone.com/kDisgI
Аноним 25/10/15 Вск 05:23:13 #270 №565391 
>>563144
>Нет
Почему?
Аноним 25/10/15 Вск 05:56:53 #271 №565393 
>>565376
http://ideone.com/EcH8O4
Он и внутри лупа возвращает True. Посмотри внимательнее на
>elif not stack or stack.pop() != b:
Что происходит, если в стеке 1 элемент и это последняя итерация цикла?
Аноним 25/10/15 Вск 05:57:42 #272 №565394 
>>565393
И этот посдений элемент равен b, к тому же.
Аноним 25/10/15 Вск 11:17:08 #273 №565468 
>>565349
Да похуй на тебя, щенок ебаный.
Аноним 25/10/15 Вск 13:06:59 #274 №565534 
>>565393
Я не понимаю почему она магическим образом сначала ['('], потом ['(','{'], потом ['('] и [].
Если это последняя итерация и осталься один элемент, то он должен вернуть False.
Суть скрипта в том чтобы он возвращал тру на правильную расстановку скобок. Например '([)]' и '{]}' должно вернуть False, а '({[]})' True.
Аноним 25/10/15 Вск 13:54:09 #275 №565558 
>>565534
Ну, раз не хочешь думать, объясню:
b = ')'
stack = [')']
Выполняется строка elif not stack or stack.pop() != b:
первое условие: not stack == False, поэтому переходим ко второму (через дополнительную переменную, чтобы показать мог):
x = stack.pop() # x = ")", Но при этом уже stack = []
(x != b) == False (так как x равен b)
итого условие ифа не выполнялось, и к строке "return False" не переходим.

А так как это была последняя итерация, то идём к коду после цилка — а там лишь return True.
Аноним 25/10/15 Вск 13:55:49 #276 №565560 
>>565558
>а там лишь return True.
Т.е. там return not stack, но stack уже пустой, так как из него pop'нули последний элемент внутри того самого if'а.
Аноним 25/10/15 Вск 13:58:42 #277 №565561 
Анончики, питон хорошо подойдёт для программы, которая будет парсить gmail, и если есть новые письма посылать сигнал на serial port?
Аноним 25/10/15 Вск 14:09:05 #278 №565564 
>>565561
Подойдёт.
Аноним 25/10/15 Вск 14:30:46 #279 №565574 
>>565564
В какую сторону гуглить, чтобы сделать десктоп-приложение? Уже есть готовые фреймворки?
Аноним 25/10/15 Вск 14:55:26 #280 №565594 
>>565574
RRREEEEEEEEEEEEEEEEEEEEEEEEEEE
Аноним 25/10/15 Вск 15:12:58 #281 №565604 
>>565574
tkinter есть встроенный, но выглядит убого
антошка выше советует gtk
есть еще wxwidgets и pyqt/pyside
Аноним 25/10/15 Вск 15:32:08 #282 №565610 
>>565558
Спасибо, теперь я понял почему stack пустым стал, в глаза просто долблюсь. Но мне данный способ вообще не нравится. Вот http://ideone.com/K5nL6J намного понятней.
Аноним 25/10/15 Вск 15:39:08 #283 №565612 
>>565574
В сторону компилируемых языков.
Аноним 25/10/15 Вск 16:08:21 #284 №565618 
>>565612
Ну и зачем ты так? Есть много хороших десктопных поделок на питоне, которыми я сам пользуюсь каждый день. Deluge например, самый близкий по гую к пресловутому utorrent. Comix - оче годно для чтения комиксов/манги. Meld - красивый гуевый дифф, в прошлом треде проскакивал не от меня. Все чисто питоновские. Дропбоксовский клиент опять же питон. Гуи ко всяким демонам часто на питоне пишут. Как и мелкие конфигурялки.

Не вижу ничего плохого, короче. Пишут же для десктопа на С#, на жабе и прочих монстрах.
Аноним 25/10/15 Вск 16:15:51 #285 №565620 
>>565618
Ещё есть известный jabber client gajim. Потом mirage, exaile, pitivi, guake. Ну и всякое говно типа ubuntu software center.
Что характерно, весь этот софт на pygtk, на pyqt ни одной поделки не знаю.
Аноним 25/10/15 Вск 16:18:48 #286 №565622 
>>565620
>gajim
Вот это годнота кстати, странно что забыл про него.
Аноним 25/10/15 Вск 16:34:51 #287 №565626 
>>565620
>pygtk
pygtk, потому что половина уже перешла на pygobject.
Аноним 25/10/15 Вск 16:42:32 #288 №565633 
>>565620
>Что характерно, весь этот софт на pygtk, на pyqt ни одной поделки не знаю.
Хотя бы потому, что кутя - коммерческая поделка.

Аноним 25/10/15 Вск 16:45:09 #289 №565636 
>>565633
Но все эти проги открытые, так что даже при старой лицензии на qt их можно было бы с использованием qt писать.
И уже давно как можно и закрытые вещи на qt делать вроде как.
И да, я знаю что pyqt вроде как платный, но есть же pyside
Аноним 25/10/15 Вск 16:57:18 #290 №565647 
>>565633
У них две четыре версии. Коммерческая и разные *GPL.
Аноним 26/10/15 Пнд 00:42:39 #291 №565950 
>>563128
Бамп вопросу
Аноним 26/10/15 Пнд 00:44:09 #292 №565952 
>>565604
>tkinter есть встроенный, но выглядит убого
ВРЁТИИИ!!! К тому же есть ttk.
Аноним 26/10/15 Пнд 00:59:12 #293 №565967 
>>565952
Надеюсь ты троллишь.
Аноним 26/10/15 Пнд 01:10:18 #294 №565971 
>>565967
Не совсем. tk же очень прост, обычно идёт в комплекте с питоном, а красивости для себя не нужны.
Аноним 26/10/15 Пнд 02:55:37 #295 №565986 
>>565967
А ещё, кстати, там canvas есть
Аноним 26/10/15 Пнд 02:57:44 #296 №565988 
14458174643630.png
14458174643641.png
14458174643652.png
Проблема с livewires. После инсталляции нормально не работает. Ругается что нет модуля "beginners", хотя тот лежит в .egg-файле
Аноним 26/10/15 Пнд 03:01:01 #297 №565989 
>>565988
Разве нет
from .begginners import *
должно быть
Аноним 26/10/15 Пнд 03:09:10 #298 №565991 
>>565988
>нет модуля "beginners"
>лежит в .egg-файле
>модуль
>в .egg-файле
Чуешь связь?
Аноним 26/10/15 Пнд 03:27:05 #299 №565996 
>>565991
Инсталлятор кривой?
Куда распаковывать содержимое egg?
Аноним 26/10/15 Пнд 08:38:16 #300 №566030 
14458378963820.jpg
>>565996
в лоток
Аноним 26/10/15 Пнд 09:34:53 #301 №566038 
Анончики, пытаюсь овладеть питоном, но пока все наоборот.
Складываю два числа из окон. но СУММЫ не получается. Где я обосрался?

# -- coding: utf-8 --

# Form implementation generated from reading ui file 'gui_math_2+2.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s

try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

import math

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(262, 386)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(20, 130, 75, 23))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(20, 20, 113, 20))
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.lineEdit_2 = QtGui.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(20, 60, 113, 20))
self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(30, 200, 200, 13))# x, y, width, height
self.label.setObjectName(_fromUtf8("label"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 262, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.pushButton.clicked.connect(self.myFunction)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
self.pushButton.setText(_translate("MainWindow", "PushButton", None))
self.label.setText(_translate("MainWindow", "TextLabel", None))

def myFunction(self):
x = self.lineEdit.text()
y = self.lineEdit_2.text()
z = x + y
self.label.setText( z)

if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Аноним 26/10/15 Пнд 09:53:19 #302 №566051 
>>565971
Не красивости, а удобности. В 2015, находясь в стандартной(!) библиотеке, иметь такую ужасную документацию. Скорее даже её отсутствие, плюс пещерное api (fg, bg, StringVar что бля?). Создаётся впечатление, что скорее всего tkinter написали по приколу.
Аноним 26/10/15 Пнд 10:40:46 #303 №566071 
14458452467240.gif
>>566051
Нехуй гнать, StringVar это реализация парадигмы Делегат, а доки в инете прочтешь.
Радует то что либа изначально для гуя так и не обросла всяким хламом вроде db, xml, потоками, сетью, html чего не скажешь про Qt, GTK и прочих wxWidgets.


Зацените песдадый хеловорлд:
http://pastebin.com/gEPumjMz
Аноним 26/10/15 Пнд 11:08:18 #304 №566085 
14458468983020.png
>>566051
>ужасную документацию

ГОДНЫЕ ДОКИ И МАНЫ ПО TKINTER:
http://effbot.org/tkinterbook/
http://www.tkdocs.com/tutorial/index.html
http://zetcode.com/gui/tkinter/
http://www.tutorialspoint.com/python/python_gui_programming.htm
http://www.python-course.eu/tkinter_menus.php

Для нубья:
http://younglinux.info/tkinter.php

И ВООБЩЕ:
http://www.slideshare.net/r1chardj0n3s/tkinter-does-not-suck

ОП, добавь в шапку


Аноним 26/10/15 Пнд 11:21:28 #305 №566091 
Питонач, помоги.
Помню где-то год назад пилил на PyQt интерфейс полностью на webview, прикручивал сигналы прямо на хтмл, но уже не помню как там это всё работает.
Так вот, можно ли таким макаром намутить моднявый интерфейс с красивыми кнопочками и джаваскриптами или придется довольствоваться только чем-то упрощенным?
Вот htmlaudio, помню, точно не работало.
Аноним 26/10/15 Пнд 11:50:38 #306 №566109 
>>566071
Какой, нахуй, делегат? Все цивилизованные фреймворки используют просто метод объекта-виджета. Зачем эта промежуточная сущность?
>>566085
Это не документация, а туториалы от Васянов. Почему на https://docs.python.org/3/library/tkinter.html я вижу кучу говна, а не стройное описание всех(!) методов, всех аргументов, всех объектов, всех стейтов?
> tkinter-does-not-suck
> it's mature
Охуенные аргументы на етих itt слайдах. Глядя на них опять убедился, какое же tk говно:
название событий строками
строковые модификаторы
v = StringVar()
e = Entry(master, textvariable=v)
бгг
self.attributes("-topmost", True)
СЕВЕР, ЮГ, ЗАПАД, ВОСТОК
расставлять виджеты кодом
ЗАТО ТРИ МЕНЕДЖЕРА РАСПОЛОЖЕНИЙ
Ну, и конечно же, когда захочется что-то сложней хеллоу ворлда, придётся жидко обсираться. Зделай на своём tk окошко автокомплита для инпута, например, или place-holder, или чтобы когда ты тыкаешь в поле таблицы, там появлялся edit виджет и всё это корректно работало.
Это говёная поделка, которая, насколько я понял, просто обёртка-транслятор в tcl.
Аноним 26/10/15 Пнд 11:54:11 #307 №566111 
>>566091
Начсёт htmlaudio не скажу, но интерфейс сделать можно. И джаваскрипты будут.
Аноним 26/10/15 Пнд 14:32:28 #308 №566180 
Кто поможет оливковому с функцианальщиной в пайтоне?
Аноним 26/10/15 Пнд 15:21:06 #309 №566211 
>>566109
> название событий строками
в gtk тоже
> строковые модификаторы
если я правильно понял, то в gtk тоже есть всякие gtk.TextBuffer. а уж всякие деревья/списки через такую жопу делаются
Надо всякие TreeStore(str) делать для них в них TreeViewColumn в них всякие CellRendererText и это самый простой случай.

> окошко автокомплита для инпута, например, или place-holder, или чтобы когда ты тыкаешь в поле таблицы, там появлялся edit виджет
Но вот это делается легко

Это я не в защиту tk, т.к. tk ненужное говно.
Аноним 26/10/15 Пнд 15:30:33 #310 №566218 
>>566211
> в gtk тоже
В qt тоже было до недавнего времени, но сейчас шибко приятнее сделано.
Я имею ввиду то, что это за строки: "<Button-1>", например. Ну, что это за огрызок?! Зачем эти угловые скобки? Что за 1? Если бы было написано "mouse-left-button-clicked", то всем бы было лучше.
Аноним 26/10/15 Пнд 15:31:52 #311 №566220 
>>566211
> Но вот это делается легко
Зделай-покажи. Мне почему-то кажется, что это не так уж и легко.
Аноним 26/10/15 Пнд 15:37:37 #312 №566225 
14458630578750.png
14458630578751.png
>>566220
Там есть встроенный такой функционал.
http://stackoverflow.com/questions/3143282/creating-columns-with-editable-cells-in-gtk-treeview-using-glade
http://www.pygtk.org/pygtk2reference/class-gtkentrycompletion.html
в pygobject тоже соотвественно
вместое с pygtk идет набор примеров там всё это есть.
Аноним 26/10/15 Пнд 16:10:24 #313 №566236 
>>566225
Иисус, я про tk говорил, а не про gtk. На gtk-то понятно, что можно.
Аноним 26/10/15 Пнд 16:12:46 #314 №566237 
>>566236
Весь пост был про гтк
Аноним 26/10/15 Пнд 16:15:57 #315 №566238 
14458653577640.jpg
>>566225
Нахуй ты pygtk нам суешь? Он депрекейтед давно уже блять, для гтк в питоне используйте pygobject.
Вот блядь, даже на главной pygtk.org пишут
>New users wishing to develop Python applications using GTK+ are recommended to use the GObject-Introspection features available in PyGObject.
>recommended to use the GObject-Introspection features available in PyGObject.
>recommended to use PyGObject.
>PyGObject
Вы что, читать не умеете? Ну ебаныйврот.

Сто раз уже говорилось
Д Е П Р Е К Е Й Т Е Д
Е
П
Р
Е
К
Е
Й
Т
Е
Д
Аноним 26/10/15 Пнд 16:18:27 #316 №566239 
>>566238
Я же написал
>в pygobject тоже соотвественно
Будто блять они пиздец как отличаются друг от друга.
Аноним 26/10/15 Пнд 16:19:16 #317 №566240 
>>566238
Уверен что такие посты пишут те же дебилы что в 2015 году агитируют использовать сырой пи3 под который нет библиотек и который по дефолту разве что в arch linux.
Аноним 26/10/15 Пнд 16:23:24 #318 №566244 
14458658047140.jpg
>>566240
https://lists.debian.org/debian-devel-announce/2015/04/msg00005.html
https://fedoraproject.org/wiki/Changes/Python_3_as_Default
Аноним 26/10/15 Пнд 16:24:15 #319 №566246 
>>566237
Весь пост был ответом, на пост о tk.
Аноним 26/10/15 Пнд 16:26:00 #320 №566247 
>>566244
Ты прочитай что они пишут то.
У нас энтерпрайз и большинство кода на python2. Он будет по дефолту до 2021 а там посмотрим.
Аноним 26/10/15 Пнд 16:29:45 #321 №566252 
>>566247
>У нас энтерпрайз
А, это все ты же. Как в школе дела?
Аноним 26/10/15 Пнд 17:46:54 #322 №566302 
>>566030
Но в лотке же держат целые яйца, а не их содержимое.
Аноним 26/10/15 Пнд 17:48:50 #323 №566303 
>>566038
Юзай пастебин, Люк. Без отступов твой код читать бесполезно.
Аноним 26/10/15 Пнд 17:52:30 #324 №566305 
>>566303
Отступики-отступики.
У вас всё не запилят скобки как во всех нормальных языках?
Аноним 26/10/15 Пнд 17:53:44 #325 №566307 
>>566305
Запилил тебе за щеку, проверяй.
Аноним 26/10/15 Пнд 18:27:07 #326 №566321 
14458732273180.png
Почему не работает? Запускал несколько раз, результата ноль. (пикрелейтед)
Аноним 26/10/15 Пнд 18:28:01 #327 №566322 
>>566321
Лалка, а функцию кто вызывать будет?
Аноним 26/10/15 Пнд 18:30:41 #328 №566323 
>>566321
А вообще - я вынул глаза из жопы и посмотрел на задание - у них там индент кривой. Два вызова say() убежали на один индент вправо. Должно быть так:
def say()
..print(
say()
say()
Аноним 26/10/15 Пнд 18:30:50 #329 №566324 
>>566321
Добавь say() после объявления функции
Аноним 26/10/15 Пнд 18:31:47 #330 №566326 
>>566324
Бля, не заметил, что в теле функции идет ее вызов, лол
Аноним 26/10/15 Пнд 18:32:57 #331 №566327 
Лол, я же её в теле функции вызываю, аутист я хуев, но в книге ошибочка значит, всем спасибо.
Аноним 26/10/15 Пнд 18:37:52 #332 №566331 
14458738727950.jpg
>>566321
Как же припекает, когда «учат» не по pep8. Эти же люди потом будут писать свой говнокод так, как их научили.
Аноним 26/10/15 Пнд 18:39:55 #333 №566333 
>>566331
Что за рер8 ?
Аноним 26/10/15 Пнд 18:41:08 #334 №566334 
>>566331
А я про пеп8 в курсе давно, но так и пишу функции в CamelCase. Даже спиздил кусок кода - он в snake_case, и рядом с ним дописываю свой CamelCase. Нихуя не могу с собой поделать.
Аноним 26/10/15 Пнд 18:45:45 #335 №566337 
Так что за пеп8, в гугле только нашёл онлайн-чекер, и на линуксорге кого-то назвали мудаком, ибо пеп8 не соблюдён.
Аноним 26/10/15 Пнд 18:47:11 #336 №566338 
>>566337
https://www.python.org/dev/peps/pep-0008/

>на линуксорге кого-то назвали мудаком, ибо пеп8 не соблюдён.
Все правильно зделоли. второй двач, епт
Аноним 26/10/15 Пнд 18:48:16 #337 №566339 
>>566338
Благодарю.

Аноним 26/10/15 Пнд 18:52:14 #338 №566341 
>>566331
Э, слышь, а что там не по пепу?
Аноним 26/10/15 Пнд 19:20:54 #339 №566345 
>>566341
times = 1
Аноним 26/10/15 Пнд 19:26:35 #340 №566350 
>>566345
Вроде норм. Как по пепу то?
Аноним 26/10/15 Пнд 19:28:18 #341 №566353 
>>566350
times=1
Аноним 26/10/15 Пнд 19:30:19 #342 №566355 
>>566338
пеп тупое говно для нубов
дают тупые советы типа использовать пробел вместо таба.
и пробелы расставлять как они хотят а ни как тебе удобно.
Аноним 26/10/15 Пнд 19:32:14 #343 №566359 
>>566353
> Don't use spaces around the = sign when used to indicate a keyword argument or a default parameter value.
Чот странное решение.

>>566355
А с тебя проиграл.
Аноним 26/10/15 Пнд 19:33:40 #344 №566362 
>>566359
> странное решение.
Шоб переносы строк нихуя не работали и всё в кашу сливалось
Аноним 26/10/15 Пнд 19:36:44 #345 №566367 
>>566362
Какие переносы, дибил? Где ты переносить собрался? После =?
Аноним 26/10/15 Пнд 20:05:21 #346 №566376 
Что не так?

TypeError: __init__() missing 1 required positional argument: 'massive'

a=[50, 98, 17, 79]
a.sort()
class massive_work():
def __init__(self, massive):
self.massive=massive
def sort_massive(self, massive):
self.massive.sort()
print(self.massive)
obj1=massive_work()
obj1.sort_massive(a)
Аноним 26/10/15 Пнд 20:07:49 #347 №566379 
>>566376
исправь на
def sort_massive(self):
и
obj1=massive_work(a)
Аноним 26/10/15 Пнд 20:09:13 #348 №566380 
>>566379
А, спасибо напомнил, а то я не то немного написал.
Аноним 26/10/15 Пнд 20:09:29 #349 №566381 
>>566379
Забыл просто кое что.
Аноним 26/10/15 Пнд 21:14:46 #350 №566411 
Чуваки, а какие есть системы сборки для питона? Я вот сейчас листаю, нашел pynt, paver и scons. Что лучше использовать или есть что-то еще лучше? Хочу автоматом при билде на новой машине зависимости подтягивать как минимум.
Аноним 26/10/15 Пнд 21:18:05 #351 №566412 
>>566411
> автоматом при билде на новой машине зависимости подтягивать
Используй virtualenv и pip.
pip freeze > requirments.txt
Аноним 26/10/15 Пнд 21:28:56 #352 №566416 
>>566412
А если я хочу все выкачать на новой машине (с установленным python, pip и virtualenv) и одним скриптом все развернуть и сбилдить? Я в питоне мимокрокодил, просто хочу запилить свою мелкоутилиту так, чтобы потом не было стыдно выложить.
Аноним 26/10/15 Пнд 21:32:39 #353 №566418 
>>566416
Ну ты на новой машине делаешь virtualenv, активируешь его и запускаешь pip install -r requirments.txt
оно всё поставит. Можешь это делать из скрипта.
Можешь заюзать чето типа http://www.fabfile.org/ чтобы удаленно это автоматом на много машин делать
Аноним 26/10/15 Пнд 21:34:11 #354 №566419 
>>566416
Ну да для того чтобы поставить сам virtualenv pip возможно gcc какие-то -dev библиотеки если надо могули на си ставить это из скрипта придется делать но это одна строчка.
Аноним 26/10/15 Пнд 21:36:49 #355 №566425 
>>566416
А для исталяции своего моделя самого делаешь setup.py - погугли про него
Аноним 26/10/15 Пнд 21:39:18 #356 №566429 
>>566416
Вот пример проекта https://github.com/pypa/sampleproject
Аноним 26/10/15 Пнд 21:40:59 #357 №566431 
>>566429
>>566425
>>566419
>>566418
>>566412
Спасибо, господа. Пойду курить вышеозначенное.
Аноним 26/10/15 Пнд 23:14:09 #358 №566498 
>>566350
поросёнка пеппа?
Аноним 26/10/15 Пнд 23:21:33 #359 №566509 
14458908936860.png
Привет всем, я полгода уже не кодил на питошке, нужна ваша помощь. Надо скачать 5526 pdf статей с PubMed, план такой:
- я беру айдишники этих файлов и преобразую их в ссылки
- по адресу ссылки есть кнопка для скачивания с которой в копирую ссылку
- качаю все через wget

Как уже упоминал, я многое забыл и у меня как-то с fire bug и selenium на заладилось. Помогите парой строк кода для копирования ссылок для скачивания.
https://pubget-hrd.appspot.com/?q=26279571&pdf_only=on
вот так выглядит сайт и надо скопировать ссылку с кнопки
"direct link to its pdf".
Спасибо
Аноним 26/10/15 Пнд 23:25:46 #360 №566516 
>>566509
это очень сложно
Аноним 26/10/15 Пнд 23:28:52 #361 №566522 
>>566516
Да, это решение не является очень хорошим, но мне оно на один раз. Может кто-то поможет?
Аноним 26/10/15 Пнд 23:30:37 #362 №566527 
>>566509
import urllib,re
p=urllib.urlopen('https://pubget-hrd.appspot.com/?q=26279571&pdf_only=on').read()
re.findall("ol\('(.*pdf)'",p )
#Out[7]: ['http://www.cell.com/cell-reports/pdf/S2211-1247(15)00820-7.pdf']
Аноним 26/10/15 Пнд 23:31:18 #363 №566530 
>>566509
$ wget $(wget -qO - "https://pubget-hrd.appspot.com/?q=26279571&pdf_only=on" | grep 'id="pdfReal"' | cut -d\" -f4)
$ wget $(wget -qO - "https://pubget-hrd.appspot.com/?q=26279572&pdf_only=on" | grep 'id="pdfReal"' | cut -d\" -f4)
$ wget $(wget -qO - "https://pubget-hrd.appspot.com/?q=26279573&pdf_only=on" | grep 'id="pdfReal"' | cut -d\" -f4)
$ ls -1 *.pdf
S2211-1247(15)00794-9.pdf
S2211-1247(15)00800-1.pdf
S2211-1247(15)00820-7.pdf
Аноним 26/10/15 Пнд 23:32:42 #364 №566534 
14458915621420.jpg
>>566527
Да, что-то про регулярки я и забыл.
Спасибо ОЧЕНЬ БОЛЬШОЕ!
Аноним 26/10/15 Пнд 23:33:31 #365 №566536 
>>566305
Зайди в жс-тред, там точно так же по губам проводят копипистерам в тред, потому что, внезапно, отступы используют везде, что очень сильно способствует чтению кода.
Аноним 26/10/15 Пнд 23:34:45 #366 №566540 
>>566536
В ЖС-тред вообще нельзя зайти и не получить по губам. Или тред такой, или язык.
Аноним 26/10/15 Пнд 23:35:22 #367 №566541 
>>566530
под Шидовским wget это будет работать? скучаю по Linux ;( и по консольке
Аноним 26/10/15 Пнд 23:36:55 #368 №566544 
>>566541
Понятия не имею. Тут еще cut и grep же. И command substitution баша используется.
Аноним 26/10/15 Пнд 23:42:09 #369 №566550 
>>566541
поставь project gow
(gnu on windows)
Аноним 27/10/15 Втр 00:38:38 #370 №566602 
Есть ли гарантия того, что за 5 лет можно научится программировать на Python так, чтобы стать джуниором?
Аноним 27/10/15 Втр 00:42:15 #371 №566605 
>>566602
Гарантий и на 100 лет нет,
но джуниором вполне реально стать и за полгода умеренного вjobывания.
Аноним 27/10/15 Втр 00:46:14 #372 №566609 
>>566605
Я как раз пол года учу Python, но до джуниора мне далеко очень. Очень много не понимаю. Видимо не умею учится по книжкам.
Аноним 27/10/15 Втр 00:51:02 #373 №566617 
>>566605
А вообще на курсах реально могут научить лучше и быстрее чем по книге?
Аноним 27/10/15 Втр 00:53:18 #374 №566619 
>>566617
Нет. Всякие эти курсы - говно для дебилов.
Гораздо лучше можно научиться если что-то начинать делать и если есть коллеги по работе, которые могут что-то подсказать, объяснить.
Аноним 27/10/15 Втр 00:55:18 #375 №566621 
>>566619
Коллег по работе нет, а для того, чтобы что то делать мне нужно понимание.
Аноним 27/10/15 Втр 02:20:53 #376 №566657 
>>566621
Двачую пациента сверху. Курсы - говно. Не умеешь программировать сам - иди учить других. На этих курсах вот такая логика.

Просто возьми и начни делать. Документации навалом. Перебери и найди подходящую себе. Если что-то непонятно - спрашиваешь у гугла. Совсем непонятно - у двача.
Аноним 27/10/15 Втр 04:52:20 #377 №566675 
>>566240
>>566247
>У нас энтерпрайз

ПИДАРАШКИ НЕУМЕЮТ В ЮНИКОД
http://habrahabr.ru/post/208192/

http://farmdev.com/talks/unicode/
автор - Кумар
Аноним 27/10/15 Втр 08:18:27 #378 №566704 
>>566303
спасибо, мастер
Аноним 27/10/15 Втр 09:08:38 #379 №566719 
>>566675
На хабре перевод же.
Аноним 27/10/15 Втр 13:27:22 #380 №566897 
Только начал разбираться в питоне тут, появился вопрос - можно ли как-то работать с текстом в командной строке ещё не введённым, то есть без нажатия ввода? То есть что-то типа такого: запустил шелл питона, там запустил программку, начал вводить слово и программа допустим сразу из списков своих в следующей строке предлагает варианты слов начинающихся с этих букв
Аноним 27/10/15 Втр 13:43:55 #381 №566914 
>>566897
Ну инициализированные переменные можно юзать, то есть типа:
a = "",
def func(x="Слово").
А вообще нужно чуть поконкретней.
Аноним 27/10/15 Втр 14:19:55 #382 №566945 
>>566914
Не, я в итоге хочу внутри cmd запускать программу, чтобы она принимала на ходу буквы и предлагала слова начинающиеся с этих букв.

То есть программа запускается, ждёт символов каких-то. Как только получает, например букву
'p' предлагает слова из списка внутри программы, допустим 'python', или 'penny'. И всё это без нажатия enter'а и собственно ввода, то есть если в строке 'pyth' стереть символы до 'p' - она снова предложит пенни и питон (ну как например ввод в поисковиках действует, живой поиск, но в командной строке). Как-то так, надеюсь нормально объяснил.
Аноним 27/10/15 Втр 14:23:10 #383 №566948 
>>566945
Ты, видимо, имеешь в виду автодополнение. Скорее всего ты это сможешь сделать с помощью модуля readline.
Аноним 27/10/15 Втр 14:26:23 #384 №566955 
>>566948
А, ну да, погуглил сейчас, как раз то что нужно. спасибо.
Аноним 27/10/15 Втр 14:29:15 #385 №566962 
>>566955
Заходи, если что.
Аноним 27/10/15 Втр 14:48:16 #386 №566982 
Здорово, бандиты.
Питон 2.7.1, urllib2, json
Скачиваю кусок json в utf-8. Пишу его в файл. В полученном файле вперемешку встречаются &#47 и '/'. Как заставить питон конвертировать &#47 в '/' ?
Аноним 27/10/15 Втр 15:04:08 #387 №566988 
>>566945
Модуль readline такое умеет
Аноним 27/10/15 Втр 15:15:26 #388 №566997 
>>566988 -- >>566948
Аноним 27/10/15 Втр 15:18:56 #389 №567000 
>>566675
Самая хуйня в том что афтары библиотек не хотят поддерживать две ветки библиотеки под раные питоны. Они либо забивают на одну ветку, либо делают ебучего мостра который будет работать под обоими версиями питона - это медленее и код страшнее.
Аноним 27/10/15 Втр 15:22:40 #390 №567004 
>>567000
Второй питон не нужен, очевидно же.
Аноним 27/10/15 Втр 16:01:46 #391 №567025 
>>567004
Сейчас ынтырпрайзник из школы придет и пояснит тебе по-хардкору кто нужен а кто нет.
Аноним 27/10/15 Втр 16:07:02 #392 №567035 
Пацаны, не учите этот питон. Работы вы на нем не найдете даже в ДС. Ваканский мало, зарплаты нищеебские типа 60-90к, а это сейчас $1k всего.
Раньше было получше с этим но как кризис то всё пизда.
Для специалистов по нормальным же языкам типа явы ваканский около тысячи в одной дс и зарплаты есть и по 200к.
Аноним 27/10/15 Втр 16:37:57 #393 №567070 
https://alexgaynor.net/2014/jan/03/pypi-download-statistics/
Только 3% разработчиков активно используют python3
Аноним 27/10/15 Втр 16:52:44 #394 №567080 
>>567070
> 2014-01-03
> 3.3
Аноним 27/10/15 Втр 17:05:02 #395 №567091 
хуево будет, если назову джанго-апп fixtures?
Аноним 27/10/15 Втр 17:10:45 #396 №567097 
>>567091
Я думаю, этот вопрос достоин отдельного треда, тут ему будет тесно.
Аноним 27/10/15 Втр 17:50:02 #397 №567139 
>>567080
Двоечники, что сказать.
Аноним 27/10/15 Втр 20:28:06 #398 №567280 
>>567035
А ты уточни какой нужен опыт работы на вакансии по 200к.
Аноним 27/10/15 Втр 21:25:17 #399 №567361 
Я похоже дуб в ООП.
Аноны, что вообще значит эта строка из учебника Доусона?
super(Application. self) ._init_(master)
Аноним 27/10/15 Втр 21:27:29 #400 №567366 
>>567361
Там еще Application класс, а master, аргумент метода конструктора.
Аноним 27/10/15 Втр 21:29:40 #401 №567370 
>>567361
Вызывает __init__ у всех предков класса.
Аноним 27/10/15 Втр 21:32:13 #402 №567378 
>>567370
Я похоже это забыл.
А super это что?
Аноним 27/10/15 Втр 21:32:50 #403 №567379 
>>567378
https://ru.wikipedia.org/wiki/%D0%A1%D1%83%D0%BF%D0%B5%D1%80%D0%BA%D0%BB%D0%B0%D1%81%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Аноним 27/10/15 Втр 21:34:28 #404 №567381 
>>567379
Спасибо.
Аноним 27/10/15 Втр 21:34:52 #405 №567382 
>>567378
Суперкласс/Родитель, т.е. класс, от которого наследовал объект. Точнее, super это функция для доступа к этим самым предкам.
Аноним 27/10/15 Втр 21:37:36 #406 №567383 
>>567382
Ясно, спасибо.
Аноним 27/10/15 Втр 21:39:22 #407 №567384 
14459711629690.png
>>567383
Аноним 27/10/15 Втр 21:41:04 #408 №567386 
>>567384
Спасибо, уже понял, но спасибо.
Аноним 27/10/15 Втр 22:09:50 #409 №567433 
посоны, подскажите как на питоне решить такую задачу:
нужно проверить есть ли одна строка в другой, но допускается неточное совпадение, например проебаный мягкий знак, тк одна строка получена машинной транслитерацией в две стороны
Аноним 27/10/15 Втр 22:57:30 #410 №567487 
А вот тут хз, что делать, все как в учебнике Доусона.
Выводит ошибку
Traceback (most recent call last):
File "C:/Python34/Пример приложения на tkinter с ООП.py", line 29, in <module>
app = Application(root)
File "C:/Python34/Пример приложения на tkinter с ООП.py", line 13, in __init__
self.create_widgets()
File "C:/Python34/Пример приложения на tkinter с ООП.py", line 17, in create_widgets
self.bttn1.grid()
AttributeError: 'Application' object has no attribute 'bttn1'
https://ideone.com/fOnAoh
Аноним 27/10/15 Втр 23:07:25 #411 №567503 
14459764453590.png
>>567487
У тя там какая-то опечатка вот и выделенно другим цветем даже
Аноним 27/10/15 Втр 23:08:01 #412 №567506 
>>567487
Ты блять мягкий знак вместо английской бэ написал, как ты умудрился то?
Аноним 27/10/15 Втр 23:09:27 #413 №567508 
>>567506
>>567503
сукпиздец
Спасибо
Аноним 27/10/15 Втр 23:18:36 #414 №567523 
>>567506
Он патралить хотел.
Аноним 28/10/15 Срд 00:11:14 #415 №567579 
>>567433
fuzzywuzzy

http://chairnerd.seatgeek.com/fuzzywuzzy-fuzzy-string-matching-in-python/
Аноним 28/10/15 Срд 01:14:23 #416 №567638 
14459840640180.png
Чот пичаль. Не писать мне пепоугодный код.
Аноним 28/10/15 Срд 01:17:41 #417 №567642 
14459842617260.jpg
>>567638
> line is too long
Отключи эту хуйню. Это тупое ограничение не актуально, 80 символов в ширину охуеть, у нас не vt100 экраны сейчас.
Конечно совсем уж слишком длинных строк стоит избегать но 80 символов слишком мало.
Аноним 28/10/15 Срд 01:25:27 #418 №567647 
>>567642
Тогда только на присваивание лямбды ругается. У меня она оче короткая и внутри другой функции, чот не хочется отдельно def делать, и саму лямбду по коду копипастить тоже.
Аноним 28/10/15 Срд 01:27:58 #419 №567649 
>>567647
> У меня она оче короткая
Ну и что
> и внутри другой функции,
Ну и что, можно делать def внутри def
> саму лямбду по коду копипастить тоже.
Зачем её копипастить? Может если ты её копипастишь то надо бы это как раз в отдельную функцию вынести причем на уровне модуля, а не внутри другой функции?
Аноним 28/10/15 Срд 01:31:57 #420 №567653 
>>567649
def лишняя строчка, не хочу лишнюю строчку. Присваиваю потому что лямбда используется всего два раза и
check = lambda :x
check()
check()
лучше чем копипастить саму лямбду.
Аноним 28/10/15 Срд 01:33:59 #421 №567655 
>>567653
> не хочу лишнюю строчку.
пиши тогда вообще всё в одну строчку. желательно на perl
Аноним 28/10/15 Срд 01:38:10 #422 №567660 
>>567638
Не слушай >>567638, эту хуйню не просто так придумали.
Аноним 28/10/15 Срд 01:39:50 #423 №567662 
>>567655
Ящитаю код должен быть компактным. Я уже в джва раза ужал.
Аноним 28/10/15 Срд 01:43:31 #424 №567665 
>>567660
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/
> An exception to PEP 8 is our rules on line lengths. Don’t limit lines of code to 79 characters if it means the code looks significantly uglier or is harder to read. We allow up to 119 characters as this is the width of GitHub code review; anything longer requires horizontal scrolling which makes review more difficult. This check is included when you run flake8. Documentation, comments, and docstrings should be wrapped at 79 characters, even though PEP 8 suggests 72.
Аноним 28/10/15 Срд 01:52:13 #425 №567668 
>>567665
Давно ли стиль Джанги стал важнее стиля Питона?
Аноним 28/10/15 Срд 01:54:54 #426 №567671 
>>567668
Это просто пример того что на это тупое ограничение в 80 столбцов забивают везде, хотя и следуют pep8 в остальном.
Аноним 28/10/15 Срд 05:54:44 #427 №567719 
Анон помоги с задачей:
Надо запилить прогу, которая выводит, в случайном порядке, все элементы из списка, без каких либо повторов.
Компилятор ругается и ничего не работает.

import random
inv = ["sword", "shield", "duck", "drug"]
y= len(inv)
while y>0:
x = random.randint(0, len(inv))
print( inv[x])
inv.pop(["x"])
y-=1
input("Hi!")
Аноним 28/10/15 Срд 06:04:45 #428 №567721 
>>567719
Исправь на:
x = random.randint(0, len(inv)-1)
inv.pop(x)

вообще можешь сразу писать
print( inv.pop(x) )

или можешь сделать random.shuffle(inv) это перемешает список а потом просто выводить последовательно элементы
Аноним 28/10/15 Срд 06:06:42 #429 №567723 
>>567719
Или вот ещё вариант
import random
inv = ["sword", "shield", "duck", "drug"]
while inv:
..word = random.choice(inv)
..print(word)
..inv.remove(word)
Аноним 28/10/15 Срд 06:07:44 #430 №567724 
>>567719
Да, y= len(inv) и y-=1 не нужны просто сделай
while inv:
или
while len(inv):
что одна фигня
Аноним 28/10/15 Срд 06:13:33 #431 №567725 
>>567723
>>567721
Ого. Благодарю тебя, добрый Анон.
Только, я не понял, почему у меня не заработало. Я забыл, что индекс меньше длинны на единицу (в плане, значение меньше, из-за сдвига).
Но как работает это: print( inv.pop(x) ) Т.е. напечатать то, что сразу удалится?

>random.shuffle(inv) это перемешает список
Но зачем? Т.е. будет просто рендомный порядок в рэндомном списке.

>>567724
Спасибо. Действительно, проще просто указать наличие элементов списка, как условие цикла.
Аноним 28/10/15 Срд 06:18:56 #432 №567727 
14460023361760.png
14460023361761.png
>>567725
функция list.pop не просто удаляет элемент, а возвращает его значение.

> Т.е. будет просто рендомный порядок в рэндомном списке.
Ну можно сделать вот так
def randomized(lst):
..lst=lst[:] # делаем копию списка чтобы в оригинальном списке элементы не радномизировались, если мы ходим порядок сохранить в нем
..random.shuffle(lst)
..return lst

inv = ["sword", "shield", "duck", "drug"]
for element in randomized(inv):
..print(element)
Аноним 28/10/15 Срд 06:20:48 #433 №567728 
>>567725
> Только, я не понял, почему у меня не заработало.
inv.pop(["x"])
Что это за ["x"] ? Список из одного элемента - строки "x" ?
Тебе надо было передавать номер элемента то есть переменную x.
Аноним 28/10/15 Срд 08:26:55 #434 №567743 
>>567433
Hamming distance
Аноним 28/10/15 Срд 09:08:58 #435 №567756 
>>567671
Тупой здесь только ты. Это ограничение заставляет разбивать твои говнооднострочники на что-то читаемое. Потом тебе и 120 будет мало.
Аноним 28/10/15 Срд 15:14:07 #436 №567914 
Использую 120 везде, выбрал тоже исходя из ширины просмотрщика на гитхабе.
Аноним 28/10/15 Срд 16:16:52 #437 №567946 
>>567756
И сокращать имена до нечитаемости, ага. Это ограничение пошло от ширины текстовых терминалов, а не от чего-то ещё.
dell 28/10/15 Срд 16:29:52 #438 №567950 
Ребята,
https://github.com/dimka665/vk
в общем захотел поиграться с вк.апи
Статистику пособирать и т.д

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

в общем сейчас у меня проблемы с авторизацией.
и думаю, что может быть это из за того, что импортируется первая библиотека, которую я установил.
Как удалять библиотеки? Т.е достаточно ли просто удалить папку? (не пинайте за тупой вопрос - не питонист)
Аноним 28/10/15 Срд 16:31:58 #439 №567953 
>>567950
Достаточно.

>папку
Мамку.
Аноним 28/10/15 Срд 17:04:18 #440 №567971 
История >>562358 получила некоторое продолжение. Еще не доделав поиск, начальство теперь планирует переписать на го весь сайт на джанге. Это с учетом что только юнит-тестов я на него исписал около 10k loc.
Мне не нравится что простое нежелание изучать орм джанги решили таким кривым способом и я отказался от предложения переходить на этот го.
Короче все явно идет к тому что я вылечу из этой говноконторы, но вопрос только в том когда. Суть моего вопроса - стоит ли рыпаться сейчас, в конце года, и искать новую удаленку или стоит все же попробовать дотянуть до следующего? При том что имею на данный момент год опыта работы с джанго.
Аноним 28/10/15 Срд 17:06:38 #441 №567974 
>>567971
С весны начинай искать. До НГ работы нет.
Аноним 28/10/15 Срд 17:08:10 #442 №567975 
Расскажите тупому, что означают термины дев, стейдж, демо, лайв и т.д.?
Аноним 28/10/15 Срд 17:47:54 #443 №568007 
>>567971
> нежелание изучать орм джанги
А что с ней не так? Можно алхимию к джанге прикрутить.
С поиском конечно пиздец - дохуя готовых решений же.
Аноним 28/10/15 Срд 17:49:31 #444 №568008 
>>567971
А насчет работы - чет хреново сейчас с поисками работы. Мало вариантов - раньше больше было. Из-за кризиса хуизиса многие конторы перестали нанисать новых, а то и сокращают народ.
АлёнаА 28/10/15 Срд 18:33:15 #445 №568038 
14460463954540.jpg
Ребята, в общем не могу захуярить простую вещь:
запостить пост на стену в вк.
Мне это даже по сути не надо, но уже часа два вожусь.
не знаю в чем проблема. по сути ничего сам даже не писал
хапнул библиотеку
https://github.com/dimka665/vk
и пример простой с форума.
главное вроде бы вещи, не касающиеся авторизации работают.
В общем вот код: http://ideone.com/pwtsaE
Может кто из местных пользовался этой библиотекой.
Ошика такая : TypeError: 'module' object is not callable

Подскажите пожалуйста, где наложал.
Аноним 28/10/15 Срд 18:34:11 #446 №568039 
>>568038
токен вроде получаю как надо.
но как отправить сообщение или ещё что...
Аноним 28/10/15 Срд 18:37:39 #447 №568042 
>>567946
> 2001
> текстовые терминалы
Аноним 28/10/15 Срд 18:39:40 #448 №568043 
>>568039
Включи лог-левел DEBUG и посмотри выхлоп.
Аноним 28/10/15 Срд 18:56:25 #449 №568060 
>>568043
>>568043
cспасибо.
>>568038

чувак, просто изменил библиотеку и я пользовался неактуальными методвами
Аноним 28/10/15 Срд 19:14:48 #450 №568075 
Очень прошу, поясните, книга Томаса Кормэна "Алгоритмы вводный курс" может повысить навык программирования?
Аноним 28/10/15 Срд 19:15:08 #451 №568076 
>>568075
Прочитай, потом расскажешь.
Аноним 28/10/15 Срд 19:17:06 #452 №568080 
>>568076
Ну я так и поступлю. Но хотелось бы узнать есть ли тут те, кто ее читал? Какие впечатления?
Аноним 28/10/15 Срд 19:19:49 #453 №568083 
>>568075
Годная книжка, её многие рекомендуют.
Я правда сам не читал и почему-то у меня она называется "алгоритмы построение и анализ". Автор тот же.
Кинь ссылку на этот вводный курс.
Аноним 28/10/15 Срд 19:25:10 #454 №568096 
>>568083
http://vk.com/wall-54530371_5452
Аноним 28/10/15 Срд 19:26:21 #455 №568098 
>>568096
Хоть бы на рыгхост перелил, чмырь.
Аноним 28/10/15 Срд 19:26:35 #456 №568099 
>>568096
Спасибо.
Аноним 28/10/15 Срд 19:27:26 #457 №568100 
>>568098
Да мне все равно.
Аноним 28/10/15 Срд 20:55:56 #458 №568169 
>>567971
https://medium.com/@tucnak/why-go-is-a-poorly-designed-language-1cc04e5daf2#.akbxpevh6
АртурАЛёна 28/10/15 Срд 22:40:05 #459 №568269 
> {'users': [158, 991, 1389, 1543, 2088, [2328, 3879, 5659, 6333, 7330], [8157, 8607, 9968, 10278, 11792]], 'count': 49970}

Ребята. В общем в цикле обновляю словарь.

http://ideone.com/JW0TTs

Вернее нужно обновить в цикле., но не так, как наверху,
а вот так :

>> {'users': [158, 991, 1389, 1543, 2088, 2328, 3879, 5659, 6333, 7330, [8157, 8607, 9968, 10278, 11792], 'count': 49970}

Т.е цельно., без скобок. сильно не пинайте,.
И есть ли вообще разница в принципе?

Просто сейчас я хочу получить людей из группы вк. Сохранить ID.
Чтобы потом по ним пройтись и попробовать статистику пособирать
Аноним 28/10/15 Срд 22:51:12 #460 №568274 
>>568269
Попробуй использовать оператор '+' вместо append. Это будет слиянием списков, а не добавлением одного в другой. Если я правильно понял, ты имел в виду именно это.
Аноним 28/10/15 Срд 22:53:10 #461 №568279 
>>568274
для этого list.extend есть
Аноним 28/10/15 Срд 22:55:41 #462 №568281 
>>568279
Да, так будет правильней. Плюсик просто первым пришёл на ум.
Аноним 28/10/15 Срд 23:01:51 #463 №568285 
>>568281
Смотря что считать «правильным»
Аноним 28/10/15 Срд 23:02:33 #464 №568286 
14460625537140.jpg
>>568279
>>568274
>>568281

Cпасибо ребята)
Обнял.
Аноним 29/10/15 Чтв 00:43:41 #465 №568319 
Где я могу наиболее подробно узнать про ООП в Python?
Аноним 29/10/15 Чтв 01:33:20 #466 №568352 
>>568319
https://docs.python.org/3/tutorial/classes.html
Аноним 29/10/15 Чтв 01:38:34 #467 №568355 
>>568352
А на русском есть?
Аноним 29/10/15 Чтв 01:40:18 #468 №568356 
>>568355
Учи язык.
Аноним 29/10/15 Чтв 01:41:15 #469 №568357 
>>568355
teach english or go to fuck
Аноним 29/10/15 Чтв 01:41:36 #470 №568358 
>>568357
proigral)0
Аноним 29/10/15 Чтв 01:42:19 #471 №568359 
>>568356
>>568357
Я только со словарем могу. И у меня трудности нередко возникают при переводе это одна из причин, того, что я описал в первом предложении, а вторая это то, что я слова забываю, поскольку их очень уж много.
Аноним 29/10/15 Чтв 01:44:08 #472 №568360 
>>568352
Я все же бегло прочел. Я это знаю, хотелось бы еще более детально.
Аноним 29/10/15 Чтв 01:44:20 #473 №568361 
>>568359
Ну бля, а щито поделать то? Так и учат, через боль и страдания. Закачивать знания в мозг как в матрице мы пока не умеем.
Аноним 29/10/15 Чтв 08:19:22 #474 №568461 
Прохожу тут задания на checkio.org , в элементарных дошёл до задания с классами и охуел. Чего-то я совсем принципы ооп не понимаю. Что мне почитать чтобы разобраться?
Аноним 29/10/15 Чтв 09:13:53 #475 №568470 
>>568461
Можешь попробовать вот это почитать и выполнить упражнения. http://aliev.me/runestone/Introduction/ObjectOrientedProgramminginPythonDefiningClasses.html
ВК СТАТИСТИКА ПИТОН АПИ Алёна 29/10/15 Чтв 16:24:24 #476 №568625 
14461250646460.jpg
Ребята, врываюсь вновь тред.
Нужен совет.

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

Я получил пользователей в массив, с помощью вк.апи.

Теперь из массива хочу в цикле пройтись по каждому из них чтобы проверить :
- жив ли он вообще
- открыта ли страница.
- сохранить нужную инфу (список видео, к примеру, если открыто, и т.д)
, если пользователь интересен , в файл.
файл обновляю в цикле. и в итоге по нему собираю статистику

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

Поэтому, наверное придётся делать , то что задумал уже без апи. Напрямую.
Запросы и т.д

В общем :

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

Сильно не пинайте ребята,. не питонист совсем ()
Аноним 29/10/15 Чтв 17:01:11 #477 №568635 
14461272711100.jpg
Анон, как работать с релизами на гитхабе? Вот есть гитхабовская релиз-система, ок, я выкатываю туда 0.1. Надо ли добавлять --version в сорцы? Если нет, как норот потом будет узнавать какую версию он юзает? Если да, как эту версию бампать между релизами во время обычных dev-коммитов?

Поясни за все за это.
Аноним 29/10/15 Чтв 17:39:23 #478 №568649 
>>568625
Э, Алён, половину этих вопросов надо в ВК и спрашивать. И шел бы документацию покурил. А то мы тут ананимасы, вк нет, все дела.

>Возникают ограничения по запросам в секунду в вк апи.
Э, ну епт, обмажься проксями, делов то. Или личными серверами хотя бы.
Аноним 29/10/15 Чтв 17:44:29 #479 №568651 
>>568649

Друже, так вопрос уже не по вк.
Он уже тупо по самому вебопитону.
Как это дерьмо осилить
Аноним 29/10/15 Чтв 17:46:12 #480 №568652 
>>568625
Ограничение там нежёсткое. 5 запросов в секунду точно можно. Просто делай между ними паузу. У димки на гитхабе такого пока в апи нет, к сожалению.
>>568635
Релизы на то и релизы, чтобы во время dev-коммитов не менять версию. В тот момент как решишь сделать релиз, меняешь версию в своей поделке, дописываешь чейнджлог и тому подобное. Коммитишь и релизишь на гитхабе с той же версией до которой поднял.
Аноним 29/10/15 Чтв 17:49:53 #481 №568654 
>>568652
А если у меня 40000 человек?)
Аноним 29/10/15 Чтв 17:56:12 #482 №568657 
питоны, страшно и смешно. у меня не работает strip().
for item in text:
item = item.strip()
print(text)
проще некуда, блядь. а пробелы в начале и конце как были, так и остались. каков пиздец.
Аноним 29/10/15 Чтв 17:56:29 #483 №568658 
>>568652
>>568651
Я , в принципе, и делал паузу.
Но представь , что у меня 40000 человек. И надо каждого отдельно потрогать. : 40000 человек на 5 в секунду : 8000 секунд.... В общем пара часов... Эх.
Аноним 29/10/15 Чтв 18:06:31 #484 №568660 
>>568657
Что есть item по-твоему?
Аноним 29/10/15 Чтв 18:07:16 #485 №568661 
>>568660
по-моему, это строка. я, конечно, могу ошибаться, но text состоит из строк.
Аноним 29/10/15 Чтв 18:09:40 #486 №568662 
>>568661
Text - это список? Покажи как выглядит.
Аноним 29/10/15 Чтв 18:10:43 #487 №568663 
>>568662
['kjh.',' xgdf.',' thtd']
Аноним 29/10/15 Чтв 18:10:44 #488 №568664 
>>568657
ты text не меняешь вася

попробуй или так
print ([item.strip() for item in text])
если то, что надо, можешь сджойнить
print (''.join([item.strip() for item in text]))

а вообще, опиши, что уже есть (text - его содержимое), что надо получить и что по факту получается
Аноним 29/10/15 Чтв 18:11:16 #489 №568665 
>>568664
ох пиздец, списки же неизменяемые
вот я реально вася
Аноним 29/10/15 Чтв 18:15:48 #490 №568668 
>>568665
Изменяемые, но как уже написал анончик выше, ты его не меняешь.
Аноним 29/10/15 Чтв 18:16:59 #491 №568669 
>>568668
усе, пофиксил.
for i in range(len(text)):
text = text.strip()
Аноним 29/10/15 Чтв 18:18:50 #492 №568671 
>>568669
text = text.strip()
ебусь
Аноним 29/10/15 Чтв 18:19:16 #493 №568672 
ахах, сука, разметка. все, надо спать.
Аноним 29/10/15 Чтв 18:24:18 #494 №568673 
>>568657
Ахах, вот жеж ты мудель! У тебя текст как был текстом, так он текстом и остаётся; ты его не меняешь.

Сюда вот посмотри:

text = [' one ',' two ']
text = [x.strip() for x in text]
print(text)

В результате получишь ['one','two'].
Аноним 29/10/15 Чтв 18:46:17 #495 №568678 
>>568654
>>568658
Ты так говоришь, будто бы не используя api, vk тебя не ограничит или забанит к хуям на время. Прокси, ну хуй знает, по моему опыту бесплатные очень медленные. Плюс, опять-таки, димасик не сделал такую возможность пока. Но, благо, сама либа с гулькин нос, так что форкай, дерзай и доминируй.
Аноним 29/10/15 Чтв 18:52:10 #496 №568681 
>>568652
Спасибо за пояснение по релизам, а то я чот совсем не шарю, всегда пилил даже без версий. А тут внезапно норот и версии и релизы захотел.
Аноним 29/10/15 Чтв 19:13:01 #497 №568687 
>>568678

> Не ограничит...

Ну одно дело 5 запросов в секунду и другое 20.
сам понимаешь
Аноним 29/10/15 Чтв 20:12:13 #498 №568715 
>>568687
Откуда ты 20 взял?
Аноним 29/10/15 Чтв 20:55:03 #499 №568744 
>>568715
НАУРА)
ЛОЛ
Аноним 30/10/15 Птн 00:49:55 #500 №568891 
Блин, я совсем запутался. Мне нужна функция, которая бесконечно обновляется

Обычный бесконечный цикл while True работает отлично, но я не знаю как запихнуть его внутрь функции, чтоб потом можно было ее линкануть из другого скрипта. А функция автоматически завершается, как только получает первое значение из while цикла и фиг чего сделаешь.
Аноним 30/10/15 Птн 00:59:33 #501 №568893 
>>568891
Генератор?
Аноним 30/10/15 Птн 00:59:56 #502 №568894 
>>568891
help(yield)
Аноним 30/10/15 Птн 01:05:56 #503 №568896 
>>568894
спасибо
то что нужно как раз
Аноним 30/10/15 Птн 04:31:49 #504 №568955 
for s in multiline_string.split('\n'):
..print(s.strip())

Как можно стрип перенести в for?

for s.strip() in multiline_string.split('\n') - не катит
for s in multiline_string.split('\n').strip() - не катит
Аноним 30/10/15 Птн 04:43:55 #505 №568959 
>>568955
Сам спросил, сам ответил. Постоянно забываю эти мап-редусы

for s in map(str.strip, multiline_string.split('\n')): print(s)
Аноним 30/10/15 Птн 06:20:12 #506 №568981 
Подскажите пожалуйста какой выбрать IDE самый лучший для питона. САМЫЙ ЛУЧШИЙ!!!!! по вашему мнению.
Аноним 30/10/15 Птн 08:44:49 #507 №569012 
>>568959
Тогда зачем тебе вообще for?
Аноним 30/10/15 Птн 09:47:06 #508 №569044 
>>568981
pycharm
Аноним 30/10/15 Птн 10:55:13 #509 №569075 
14461917139160.jpg
Подскажите в atom можно обойти поеботу с input?
Когда в скрипте есть input, atom не хотет выполнять
С английским плохо. В гугле нашел ответ одного из разработчиков : "Мы не будем делать stdin" . Я как новичок нихуя не понял.
Аноним 30/10/15 Птн 12:39:46 #510 №569123 
>>569075
Чем пользуешься для запуска? Atom сам по себе ничего не запускает.
Аноним 30/10/15 Птн 12:40:32 #511 №569125 
>>568981
Подскажите лучшую фирму для ноутбука с целью коденка под иос
Аноним 30/10/15 Птн 12:42:02 #512 №569126 
>>569125
Mac
Аноним 30/10/15 Птн 12:42:30 #513 №569127 
>>569125
apple
Аноним 30/10/15 Птн 12:43:11 #514 №569128 
>>569126
>>569127
Бля, я, видать, хуевую аналогию провел
Аноним 30/10/15 Птн 12:57:35 #515 №569131 
>>569123
Из пакетов установил только linter и autocomplete-python.
И потом просто запустил свой старый скрипт, который писал еще IDLE.
Аноним 30/10/15 Птн 12:59:01 #516 №569132 
>>569131
Как запустил?
Аноним 30/10/15 Птн 13:02:46 #517 №569137 
>>569012
Затем что стрип в цикле используется несколько раз, а писать s=s.strip() - лишняя строчка.
Аноним 30/10/15 Птн 13:11:29 #518 №569143 
14461998894690.png
>>569132
Аноним 30/10/15 Птн 13:13:08 #519 №569145 
>>569143
Запускай из консоли, заебал.
Аноним 30/10/15 Птн 13:21:27 #520 №569149 
Анчоусы, посоветуйте гайдов для быстрого вкатывания на питон
Аноним 30/10/15 Птн 13:28:14 #521 №569153 
14462008940530.jpg
>>569145
Бля, сори, ебать я тупой. Я понял что ты меня спрашивал. Запускал с помощью Script и Script-runner.
Аноним 30/10/15 Птн 13:28:42 #522 №569154 
14462009222690.png
Нужно написать класс или модель, что-то туплю и даже не знаю как подступиться.

Нужен общий класс "Мебель", у него должен быть атрибут "Тип мебели" от которого дальше должно подгружаться дефолтный набор атрибутов соответствующие типу и которые в дальнейшем можно изменять.

Например, Тип - Ящик. У ящика 2 боковых и 2 задних стенки + может быть ручка, а может и не быть, + 2 штанги. Собственно у стенок есть свои атрибуты вроде размеров и покраски.

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

Даже не знаю как подступиться.
Аноним 30/10/15 Птн 13:29:01 #523 №569155 
>>569149
Поставим вопрос по другому: имеет ли смысл учить 2й?
Аноним 30/10/15 Птн 13:30:22 #524 №569156 
>>569155
Нет, если ты не далбаеб.
Аноним 30/10/15 Птн 13:31:42 #525 №569157 
>>569156
Вроде не замечал за собой долбоёбства (^:
Аноним 30/10/15 Птн 13:32:04 #526 №569158 
>>569155
Раньше в шапке был варнинг, которой говорил что "питон 2 прекращает поддержку в 2020 и пора переходить на третий", но какая-то обезьяна при перекате его выкинула.

И я даже знаю какая.
Аноним 30/10/15 Птн 13:34:52 #527 №569160 
>>569157
Это весьма спорное утверждение. Поскольку любой не далбаеб заглянул бы в шапку в первом посте.
Аноним 30/10/15 Птн 13:36:57 #528 №569161 
>>569160
Ну я туда заглянул, потом форкнул процесс и с дочернего спросил тут, потом основной продолжил читать шапку, форкнулся и пошел читать хабр, там форкнулся и пошел на кодеакадеми хоспади, какая же это годнота-то оказывается!
Аноним 30/10/15 Птн 13:38:07 #529 №569162 
>>569160
Долбаеб кстати через О, господин недалбаеб.
Аноним 30/10/15 Птн 13:50:45 #530 №569172 
>>569161
Хоспаде, какой же питон простой
Аноним 30/10/15 Птн 13:55:15 #531 №569173 
>>569137
Но ведь map - это лишний проход по списку. Тебе так важно сэкономить строку?
Аноним 30/10/15 Птн 13:57:03 #532 №569175 
>>569173
А как тогда? Никак? Ведь слева от = должен быть СТЕЙТМЕНТ, а не ЭКСПРЕШШОН.

Должен быть способ.
Аноним 30/10/15 Птн 13:58:02 #533 №569176 
>>569137
>стрип в цикле используется несколько раз
Вот эту фразу совсем не понял. Ты думаешь, что в map strip() выполняется один раз или что?
Аноним 30/10/15 Птн 13:59:57 #534 №569178 
>>569154
Связь один-ко-многим, не?
Аноним 30/10/15 Птн 14:04:51 #535 №569182 
>>569175
Ты очень экспрессивно выражаешься, тебя трудно понять. В чем проблема-то, в нежелании написать "лишнюю строчку"?
Аноним 30/10/15 Птн 14:05:22 #536 №569183 
>>569176
Короче, есть два стула.

for ..
..print('1', s.strip())
..print('2', s.strip())

и
for ..
..s = s.strip() #ЛИШНЯЯ СТРОКА НЕ НУЖНА
..print('1', s)
..print('2', s)

Поэтому хочу засунуть этот стрип в строку с for
Аноним 30/10/15 Птн 14:15:02 #537 №569191 
>>569183
Да чем она тебе мешает? Она претит твоему эстетическому восприятию кода?
Аноним 30/10/15 Птн 14:16:53 #538 №569193 
>>569191
Да. Претит. Должен быть способ.
Аноним 30/10/15 Птн 14:39:19 #539 №569212 
>>569193
Ну хорошо, тебе претит эта строка, но несколько
вызовов print() - нет. Может тогда лучше оставить строку s=s.strip(), но вызывать print() в цикле? Как тебе такое предложение?
Аноним 30/10/15 Птн 14:42:57 #540 №569217 
>>569212
Ну принт я как пример привел, тело цикла намного больше и даже без принтов, но с необходимостью юзать стрипнутую s.
Аноним 30/10/15 Птн 14:44:41 #541 №569218 
>>569217
Тогда да, только еще один проход по списку. Лучшего варианта, чем твои пример с map, я не могу предложить, извини.
Аноним 30/10/15 Птн 14:46:04 #542 №569220 
14462055647730.png
>>569218
Хуево.
Аноним 30/10/15 Птн 14:46:49 #543 №569222 
>>569217
Юзай лямбду не?
Ну или как насчет немного гугла?
http://stackoverflow.com/questions/4071396/split-by-comma-and-strip-whitespace-in-python
Аноним 30/10/15 Птн 14:48:09 #544 №569223 
>>569222
Да под капотом такая же хуйня как с map получится. Лишний цикл.
Аноним 30/10/15 Птн 14:49:04 #545 №569224 
>>569223
Ты ниже до map дочитал или как даун первые 2 посмотрел?
Аноним 30/10/15 Птн 14:52:08 #546 №569225 
>>569224
И чего там? Плюс нихуя к производительности? Ну заебись. Вот такой же мап >>568959

Цикол то все равно лишний. Либо лишняя строчка. Опять два стула.
Аноним 30/10/15 Птн 14:55:03 #547 №569229 
>>569225
И что ты пытаешься добиться?
Аноним 30/10/15 Птн 14:55:51 #548 №569230 
>>569229
Идеала.
Аноним 30/10/15 Птн 14:58:27 #549 №569232 
>>569230
Зачем?
Аноним 30/10/15 Птн 14:58:40 #550 №569233 
>>569225
Анон, ты посмотри на это с другой стороны. Эта строка тебе кажется не красивой, но ведь красота в ее простоте и очевидности, даже через долгий промежуток времени ты сразу поймешь что она означает, а ведь про тот же map такого не скажешь. Да и выглядит она аккуратней чем map(str.strip, multiline_string.split('\n')). А как ты помнишь дзен говорит нам, что явно лучше, чем неявное.
Может таки стоит пересмотреть свои взгляды?
Аноним 30/10/15 Птн 14:59:04 #551 №569234 
>>569232
Чтобы в моей всратой жизни было хоть что-то идеальное. Для разнообразия.
Аноним 30/10/15 Птн 15:00:09 #552 №569235 
>>569234
Ты знаком с определением слова "Идеал" хотя бы исходя из словаря Ожегова или Даля?
Аноним 30/10/15 Птн 17:05:40 #553 №569333 
>>569153
Не пользовался ими. Попробуй run-in-terminal, запустит твой кал в терминале без хипстерства.
>>569220
for word in map(str.strip, str.split(line)):
нормальное решение. Что тебе не нравится?
Аноним 30/10/15 Птн 18:02:57 #554 №569389 
Шапку не читай, сразу вопрошай, какой IDE посоветуете?
Аноним 30/10/15 Птн 18:21:19 #555 №569403 
>>569389
PyCharm.
Аноним 30/10/15 Птн 18:28:00 #556 №569409 
Пиздец, обучаюсь на этом вашем кодекадеми, грит - напишите PigLatin translator и написано как должно быть в итоге, полазил в гугле, написал с ошибкой - говорит, мол, молодец, го дальше, но я так не считал, кликнул крестик, по итогам написал рабочий код эта хуета еще и переменные не очищает перед каждым запуском, следующий урок "принтаните свинячья латынь", принтанул перед своим кодом, следующий урок - трет весь мой код и говорит "ебани сюда рав инпут братуха", ну ёб твою мать.
Аноним 30/10/15 Птн 19:03:25 #557 №569425 
>>569403
Спасибо
Аноним 30/10/15 Птн 20:36:57 #558 №569480 
Анон, замучил нубский вопрос(я уже в бешенстве), куда, блядь, вводить:
$ 2to3 example.py
https://docs.python.org/2/library/2to3.html
?
Ни cmd, ни сам питон не кушает это.
Аноним 30/10/15 Птн 20:46:36 #559 №569489 
>>569480
Попробуй указать полный путь к файлу 2to3.py.
Аноним 30/10/15 Птн 20:50:20 #560 №569494 
>>569489>>569480
Нашел:
http://stackoverflow.com/questions/11071037/how-to-use-2to3-tool-in-windows
Причем 2to3 не было подефолту(хотя вроде как должен), пришлось отсюда брать
https://bitbucket.org/python_mirrors/2to3/src/8c5b845c14fc3a4f51371531c911745817abd87f/2to3?at=default
Ну пиздос
Аноним 30/10/15 Птн 21:10:14 #561 №569507 
Чот проиграл. На венде даже 2to3 исполнить целая история.

Осильте вы уже хотя бы виртуалки, блядь.
Аноним 31/10/15 Суб 01:14:39 #562 №569634 
>>569632 (OP)
Перекат.
Аноним 31/10/15 Суб 06:42:11 #563 №569692 
>>565996
>>565996
>распаковывать содержимое egg
Ты на верном пути.
sudo easy_install /path/to/package.egg
Аноним 31/10/15 Суб 06:46:10 #564 №569694 
>>566085
Ты забыл http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html

Аноним 31/10/15 Суб 06:50:56 #565 №569695 
>>566321
Обосрался с этой рекурсии.
Аноним 31/10/15 Суб 16:12:29 #566 №570005 
Есть какая-нибудь разница между ' и " или просто используется то, что удобнее тыкать?
Аноним 31/10/15 Суб 16:18:03 #567 №570032 
>>570005
Общепринято, что '
Аноним 31/10/15 Суб 16:18:21 #568 №570034 
>>570005
Если у тебя внутри ' будет символ ' то надо будет его экранировать с \', а " - не надо. И наоборот.
Есть ещё """ и '''
Аноним 31/10/15 Суб 16:23:30 #569 №570053 
>>570034
И чем тройные отличаются?
>>570032
Ясно
Аноним 31/10/15 Суб 16:28:59 #570 №570074 
>>570053
В тройных ты можешь ставить кавычки без экранирования. И можешь переносы строк ставить типа
x = """ fooo bar dd
dsagfdsg " sadga" fgs
"""
Аноним 31/10/15 Суб 16:43:27 #571 №570120 
>>570074
Ты меня обмануть пытаешься? Это же комментирование
Аноним 31/10/15 Суб 16:46:55 #572 №570127 
14462992159530.png
>>570120
Комментирование это #
Аноним 31/10/15 Суб 16:48:28 #573 №570129 
>>570127
Ну многострочное комментирование. Как ты у себя на пике вообще что-то видишь?
Аноним 31/10/15 Суб 16:50:47 #574 №570134 
>>570129
В питоне нет многострочного комментирования типа как / / в си. Только #
Если ты тройные кавычки будешь для комментирования использовать то это не комментирование т.к. будет создаваться строковая переменная всё равно. Часто их используют для docstring`ов но это не комментирование это другое.
Аноним 31/10/15 Суб 16:53:43 #575 №570137 
>>570129
> Python имеет остроумную особенность, называемую строками документации, обычно обозначаемую сокращённо docstrings. Это очень важный инструмент, которым вы обязательно должны пользоваться, поскольку он помогает лучше документировать программу и облегчает её понимание. Поразительно, но строку документации можно получить, например, из функции, даже во время выполнения программы!
Аноним 31/10/15 Суб 16:53:48 #576 №570138 
14462996283410.png
>>570134
Точно не обманываешь?
Аноним 31/10/15 Суб 16:54:45 #577 №570140 
>>570138
http://wombat.org.ua/AByteOfPython/functions.html#id14
Аноним 31/10/15 Суб 16:54:49 #578 №570141 
>>570137
>Поразительно, но строку документации можно получить, например, из функции, даже во время выполнения программы!
Это как? Что подразумевается точнее
Аноним 31/10/15 Суб 16:55:39 #579 №570145 
>>570141
Прочитал уже
Аноним 31/10/15 Суб 16:55:45 #580 №570146 
>>570140
print(%имяфункции%.__doc__)
Аноним 31/10/15 Суб 16:56:24 #581 №570150 
14462997848250.png
>>570141
Аноним 31/10/15 Суб 16:57:42 #582 №570157 
14462998624750.png
Всем спасибо если вас тут несколько, идем дальше: почему пункты в словарь добавились не по порядку?
Аноним 31/10/15 Суб 16:57:48 #583 №570158 
14462998684550.png
14462998684551.png
>>570150
Аноним 31/10/15 Суб 16:59:00 #584 №570162 
>>570157
Потому что словарь не имеет порядка?
Аноним 31/10/15 Суб 16:59:44 #585 №570163 
>>570157
Потому что порядок элементов в словаре не сохраняется. Если тебе нужно сохранять порядок используй списки или
from collections import OrderedDict
Аноним 31/10/15 Суб 17:00:04 #586 №570165 
Пора перекат пилить.
Аноним 31/10/15 Суб 17:00:26 #587 №570170 
>>570165
Напомните, что там в шапку добавить нужно?
Аноним 31/10/15 Суб 17:02:43 #588 №570175 
>>570162
Ну я-то откуда знаю? Поэтому и спрашиваю.
>>570163
Да вроде пока не нужно, просто обучаюсь тут помаленьку и стало интересно чому так.
Аноним 31/10/15 Суб 17:04:33 #589 №570182 
>>570175
https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0
Аноним 31/10/15 Суб 17:06:40 #590 №570191 
Перекат >>570190 (OP)
Аноним 31/10/15 Суб 17:07:52 #591 №570197 
>>570191
Ммм, смишнявка в шапке (:
Аноним 31/10/15 Суб 19:06:26 #592 №570359 
Гайс, решил написать rss-ридер для практики. Сейчас поставил feedparser, скопировал код для парсинга atom-ленты, сейчас пытаюсь получить контент статей в rss-ленте, но интерпретатор ругается на Unicode error. variable.encode('utf-8') помогает, но это херня какая-то.

Код:
import feedparser

r = feedparser.parse('randomnoye url')
print(r.entries[0])

Что я делаю не так?
Аноним 01/11/15 Вск 01:24:31 #593 №570551 
14463302710690.png
>>567728
>>567727
Я вернулся.
Я запилил такой код:

import random
inv = ["sword", "shield", "duck", "drug"]
while inv:
(отступ) x=random.randint(0, len(inv)-1)
(отступ) print(inv.pop(x))
input("Hi!")

Благодарю за помощь.
Прошу благородного дона поправить меня в перечне функций и их значений:

x = random.randint(0, len(inv)-1) - будет присваиваться случайное значение 0 до числа элементов списка, за вычетом единицы.
inv.pop([x]) - принтует и удаляет элемент №х. Если я не укажу аргумент х, то удалит самый последний элемент списка.
word = random.choice(inv) - просто делает случайный выбор из списка, который будет занесен в переменную ворд.
def randomized(lst) - не догнал, что это.
random.shuffle(lst) - перемешивает элементы изменяемой последовательности. Соотв. не работает с тем, что неизменяемо.
Аноним 01/11/15 Вск 01:28:21 #594 №570554 
И да, ещё пара "умных" вопросов про сам питон:

1.Правда ли, что списки и кортежи Пайтона являются полноценным эквивалентом массивам из других языков?
2.Правильно ли я понимаю, что в Питоне нет констант, как таковых и любую переменную можно изменить в процессе работы кода?
Аноним 02/11/15 Пнд 11:38:15 #595 №571264 
пилю перекат
Аноним 02/11/15 Пнд 20:02:57 #596 №571596 
>>571264
На питоне?
comments powered by Disqus

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