Это копия, сохраненная 15 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Прошлый: >>649120 (OP)
2.х или 3.х v1: http://legacy.python.org/dev/peps/pep-0373/
2.x или 3.x v2: https://wiki.python.org/moin/Python2orPython3
Джанга охуенна своей моделью моделей, админкой и сообществом. Но при этом всё, что в ней касается собсно фронтэнда (все эти формы, хтмл-шаблоны и прочее дерьмо) - на грани устаревания. Всем нынче подавай динамику дохуя, асинхронность, чтобы ни одного релоада страницы за многочасовую сессию - ну, я конечно преувеличиваю немного, но общая тенденция всё же именно такова. Через пять лет это уже будет ожидаться от сайта по дефолту и джанга начнёт подсасывать. Не сосать, конечно, потому что модели, админка и сообщество - тащат.
Так вот. Я уже и сам с этим столкнулся, в итоге взял для бэкэнда джангу + рест фреймворк, а на фронтэнд накатил эмбер (который явно создавался под влиянием и джанги в том числе). Это всё вместе работает очень даже неплохо, если бы не одно но. Даже, скорее, НО.
Блядский, триждывовседырыразъёбанный, охуевающий в своей промудопиздяцкой уёбосущности жабаскрипт, без которого о современном фронтэнде ты даже и думать можешь забыть. Да, разумеется, я юзаю кофескрипт - но это сродни попытке отрешиться от того, что ты ебёшь насквозь прогнивший и разваливающийся прямо на члене труп, нарядив его в кружевное бельё, оторвав всякие лишние детали да чуток полив сверху эмалью.
А ведь всего лишь на другой стороне коннекшена у меня крутится прекрасный няшка-питон, который в последней его, 3.5, ипостаси УЖЕ гораздо лучше подойдёт для любой фронтэндерщины, нежели этот выблядок сей с лиспом родом из девяностых.
Проблема, конечно, очевидна - ебучие браузеры нихуя не понимают нашу любимую змею. Есть вонючая кучка трансляторов py->js, но все они как-то внешне больше похожи на трупы, да и async/await, жизненно необходимые для фронтэнда, они все как один игнорируют, уёбушки.
В связи с этими печальными обстоятельствами у меня баттхёрт, что опять же очевидно. Ну и ещё какие-то смутные планы по запиливанию своего транслятора py->js, разработки под него собственного фронтэнд-фреймворка лайк э эмбер и далее, чем чёрт не шутит, запихивание поддержки питона в браузеры, благо хромиум и лиса открыты, так что теоретическая возможность есть.
Разумеется, я понимаю что я баттхёртящий долбоёб и влажный мечтатель, ниасиливший js. Просто захотелось поделиться этим самым баттхёртом и влажными мечтами, вдруг это действительно нужно кому-то, кроме меня.
Джанга охуенна своей моделью моделей, админкой и сообществом. Но при этом всё, что в ней касается собсно фронтэнда (все эти формы, хтмл-шаблоны и прочее дерьмо) - на грани устаревания. Всем нынче подавай динамику дохуя, асинхронность, чтобы ни одного релоада страницы за многочасовую сессию - ну, я конечно преувеличиваю немного, но общая тенденция всё же именно такова. Через пять лет это уже будет ожидаться от сайта по дефолту и джанга начнёт подсасывать. Не сосать, конечно, потому что модели, админка и сообщество - тащат.
Так вот. Я уже и сам с этим столкнулся, в итоге взял для бэкэнда джангу + рест фреймворк, а на фронтэнд накатил эмбер (который явно создавался под влиянием и джанги в том числе). Это всё вместе работает очень даже неплохо, если бы не одно но. Даже, скорее, НО.
Блядский, триждывовседырыразъёбанный, охуевающий в своей промудопиздяцкой уёбосущности жабаскрипт, без которого о современном фронтэнде ты даже и думать можешь забыть. Да, разумеется, я юзаю кофескрипт - но это сродни попытке отрешиться от того, что ты ебёшь насквозь прогнивший и разваливающийся прямо на члене труп, нарядив его в кружевное бельё, оторвав всякие лишние детали да чуток полив сверху эмалью.
А ведь всего лишь на другой стороне коннекшена у меня крутится прекрасный няшка-питон, который в последней его, 3.5, ипостаси УЖЕ гораздо лучше подойдёт для любой фронтэндерщины, нежели этот выблядок сей с лиспом родом из девяностых.
Проблема, конечно, очевидна - ебучие браузеры нихуя не понимают нашу любимую змею. Есть вонючая кучка трансляторов py->js, но все они как-то внешне больше похожи на трупы, да и async/await, жизненно необходимые для фронтэнда, они все как один игнорируют, уёбушки.
В связи с этими печальными обстоятельствами у меня баттхёрт, что опять же очевидно. Ну и ещё какие-то смутные планы по запиливанию своего транслятора py->js, разработки под него собственного фронтэнд-фреймворка лайк э эмбер и далее, чем чёрт не шутит, запихивание поддержки питона в браузеры, благо хромиум и лиса открыты, так что теоретическая возможность есть.
Разумеется, я понимаю что я баттхёртящий долбоёб и влажный мечтатель, ниасиливший js. Просто захотелось поделиться этим самым баттхёртом и влажными мечтами, вдруг это действительно нужно кому-то, кроме меня.
Ну а тебе скажу что программирования я учил традиционно, бейсики-плюсы-асмы-шарпы. Да и в js я могу, там нет ничего эдакого, не считая конечно что это куча дерьма, которую постоянно подпирают костылями.
Смотрите внимательно, дети. Если вы будете начинать учить программирование с питона или раби, то станете такими же неосиляторами, не способными в изучение других языков, в которых нет примитивного синтаксиса для школьников и домохозяек. Этот экземпляр не может освоить даже JS - что уж говорить о C++/C#, Java и других языках, на которых есть работа.
Смотри >>656139.
Тащемта, я нигде не говорил что его сложно осилить. Меня просто дико раздражает необходимость писать на хреново спроектированном языке - и особенно остро, прямо вот как шило в булке, эта недоспроектированность ощущается когда ты переключаешься между вкладками идешки с питоном и js. Когда в одном файлике у тебя полный порядок, всё разложено по полочкам отступов, линейно и вообще по дзену, а в соседнем - сошедшая с ума подсветка, потому что слишком много функций с таким названием наговнокодили джсники, а про импорты сжалившиеся соседи им рассказали только пару лет назад. И лесенка промизов вместо асинков. И для нормальной работы с датами, которые вроде как почти примитивы - либу скачай и потом не забывай все "нативные" даты в вызов оборачивать. И про перегрузку операторов забудь, пожалуйста, у тебя ведь методы есть, хуле ещё надо? И именованные параметры давай-ка явно словарём передавай и потом чекай вручную. И ещё тонна всяких мелких хуёвин, которые все вместе вызывают желание блевануть и забыть про этот пиздец как про страшный сон... Но хуй тебе! Нет альтернатив, поэтому вот тебе надкусанный кактус, вот платочек, и давай, давай, ам-ам, плак-плак. Неосилятор!
>лесенка промизов вместо асинков
Что тебе мешает сделать цепочку. Лесенками пишут только долбоёбы.
>что тебе мешает сделать цепочку
Кстати да. Если человек ноет про колбекхелл или лесенки, то это отличный детектор дебила, который городит сам себе сложности, а потом винит язык. Причём так практически со всеми жалобами - копни глубже и окажется, что виноват кодер, а не язык.
js != dom, заебали
до слез, аххах
О, пошла хуйня. Ну-ка, и как же вы развернёте обычную лесенку вида
getSomeShit(1).then((a) ->
getAnotherShit(2).then((b) ->
sendAllShitToServer(a, b, 3);
)
)
?
Напомню что в нормальных языках это делается как-то так:
a = await getSomeShit(1)
b = await getAnotherShit(2)
await sendAllShitToServer(a, b, 3)
Внимание на пикрилейтед. Снизу - цепочка промисов здорового человека. Сверху - лесенка дегенерата. Специально для тупых написал и заскринил.
Ну и замечу что вы как-то тактично промолчали про остальные приведённые косячки js, это показательно.
В общем, не думаю что у кого-то возникают особые сомнения в том, что питон куда лучше жабаскрипта справится с ролью языка для фронтэнда. Каким бы образом ещё приблизить это царствие питонье на браузерах, блядь.
Спаси и сохрани святой асинк, блядь. Не, ну ты сейчас серьёзно? Ты считаешь что нижнее говно лучше верхнего говна?
>>656537
Погодите, срач - это замечательно, но хочется спросить: можно ли эту лесенку написать через Promise.all() ?
В моём варианте из >>656459 - да, можно, я не сцепил getAnotherShit с результатом getSomeShit. В варианте >>656537 - уже нет, они там все друг на друга завязаны.
Понял.
Сначала было это:
>>656291
>копни глубже и окажется, что виноват кодер, а не язык
Но дебилов, не читающих документацию это не остановило - они стали упираться. После того, как их тыкнули лицом в их обосрамс - они тут же съехали на другие темы.
Мораль: прежде чем обвинять во всём язык потрудитесь открыть документацию. В 99% в вашем говнокоде виноваты вы сами, а не плохой язык.
Ты серьезно считаешь, что заводить десяток переменных ради одного вызова - это нормальная практика?
Дотнет по скорости разработки может быть, пожалуй, и побыстрее, ежели в студии мышкой элементы по фасту накидаешь и обработчики всякоразные напишешь.
Ты же перед использованием промисов читал стандарт по ним? Или хотя бы инструкцию? Как можно было читать и пропустить часть про построение цепочек?
Нет, не читал. Я тебе больше скажу, "стандарты" ЯПов я вовсе никогда не читал. Ты же имеешь в виду спеки, верно? Мне как-то не приходилось заглядывать в предназначенные для разработчиков компиляторов/интерпретаторов вещи, потому как я таковым не являюсь. По этой причине я вполне довольствуюсь найденной документацией, как, например, здесь https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise
По ссылке никаких особых инструкций по сцеплению не находится. Кстати, полюбопытствовав, я всё же заглянул по приведённой там ссылке на те самые стандарты, вот сюда http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects
Ты предполагаешь что перед использованием js я должен был прочитать всю эту портянку?
Мне десяток переменных импонирует больше чем десяток функций. Да, я знаю что под капотом async/await городят всё те же коллбэки, но ты же не будешь отрицать что код существенно упрощается для чтения когда вот эти мерзкие кишки асинхронности не размазаны по нему тонким слоем?
>Ты предполагаешь что перед использованием js я должен был прочитать всю эту портянку?
Не знаю как ты, а я когда начинаю изучать любой новый язык, то сразу после получения базовых знаний лезу читать спеки, чтобы потом не городить хуйни и не винить во всём плохой язык.
Есть модель, в которой есть tags = models.CharField(max_length = 200)
Выглядит как строка '#tag1 #tag2 #tag3'
Как мне получить id модели, в tags которой есть #tag2 ?
Подскажите пожалуста, не могу додуматься.
Нубский вопрос. Вот, скажем, есть у меня игрушка, в игрушке есть персонажи, у каждого персонажа есть положение, скорость, здоровье, текущее оружие, состояние горит/не горит и так далее, и тому подобное. Мне было бы удобно описывать персонажа словарем (персонаж={положение:[10.0,50.5], скорость:[2,0], здоровье:70, оружие:'bazooka', горит:False и так далее}), но не будет ли обращение к такому словарю сильно медленнее, чем к списку?
Спасибо.
Три месяца назад сел учить питон. Особо необходимости не было, просто ностальгировал как десять лет назад меня с прикмата универа выгнали, ну и обстановка признаться сами знаете какая, может через пяток лет кодингом хоть на хлеб заработаю, если остальные варианты совсем сдуются. Но тем не менее учить начал не ради вката в айти и прочей хуйни, а от скуки и интереса.
Вот и учу с тех пор. Каждый день что-то читаю, кодю, перекодил всё подряд что в голову пришло, сейчас играюсь семантическим анализом и всякими приблудами к нему, не сказать что всё понимаю - но мне нравится. А реальные вещи, типа сайта на джанге для бизнеса - такое делать не нравится, мне оно скучно и там ещё надо же хтмл-жс использовать, жуть!!!
Вот и вопрос собственно в чём мой: веб это и для вас сплошная предсказуемая банальщина? или это я проецирую ненароком, или наоборот слишком праздно подхожу? Ну и куда бы двигаться порекомендовали дальше с питоном, не обязательно в коммерческие сферы, хоть примерно какой вектор у меня возможен? Анализ данных + машинное обучение по моей косналтинговой специальности как бы в планах имеется, но как его реализовывать нету даже примерного представления, да и не опаздываю
Пишешь на жаваскрипте.
После первой строчки ожидал увидеть спам на флешлайты и фингербоксы. Менеджер.
Спасибо большое!
Async/await еше и лечит порядок всплытия эксепшенов по стеку, который с цепочной лямбд превращается в лютый пиздец
Флажок
copyDependentFiles=True
должен копировать всякую мишуру, типа использованных в скрипте текстовых и медиафайлов и тд?
Или единственный способ - это впихивать их в итоговую папку ручками или перечислять в build поименно каждый?
Ты ещё один раз обосрался. Добавляешь в конце .catch(err => обработка ошибки); и всё.
Нахуй нужны велосипедные catch, если в ЯП _уже_ есть конструкции для контроля исключений?
А вообще, обоссал агрессивного хуйлана, На работе поясняй, кто где обосрался. Блядь, и эти люди зовут себя инженерами
>куда бы двигаться порекомендовали
machine learning, data science, reverse engineering.
Интересней ничего не завезли.
Вот этому вот господину, два чая, пожалуйста.
Боже, ну кто так делает теги. Создай уже отдельную модель для тегов и юзай m2m relationshps.
Удваиваю >>657267
Ну или юзай Post.objects.filter(tags__icontains='#tag2 '), обрати внимание на пробел в конце - он нужен чтобы тебе не выбрались ещё и посты с тегами, только начинающимися с #tag2 (например, #tag2хуйняёбаная).
Или используй постгресс, а теги храни в JSONB поле в виде массива. Проиндексируй через GIN, вхождения тегов ищи соответствующими операторами.
pyinstaller
Конечно, все сделал как в видосе до makemigrations, только он не работает.
20летний экономист хочет делать модельки процессов, анализировать статочку и че-нить еще по надобности мудрить в питоне.
Стоит ли начинать с питона?
(совсем на айтишник)
(Совсем не экономист)
Почему submit сохроняет страницу вместо того что бы отсылать в скрипт post ом
cur.execute('INSERT INTO ' + model_table + '''
(
date_id,
val1, val2,
val3, val4,
val5, val6,
val7, val8,
val9, val10,
val11, val12
)
VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )''',
( date_id, prices ) )
prices - как раз этот список, правильного размера. Но при запуске скрипта получаю ошибку:
"sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 13, and there are 2 supplied."
Как правильно это сделать?
Подозреваю, что тебе нужно распаковать список посредством звездочки предворяющей этот самый список.
Потому что настрой сервер нормально, тормоз.
>>657455
Не знаю, как в питоне, но в Ruby тебе нужно было бы звёздочку перед prices поставить.
Единственный 100% рабочий способ - это сделать asm.js полную сборку с питоном. Весит правда дохуя, работает не так быстро, но совместимость 100%. Конечно же для рядовых сайтов это не подходит.
Впрочем я его уже снес и буду заново пердолиться с эластиксёрчем.
>>657475
Возможно это так и есть. Но так и не получается разобраться. Запись в SQLite вызываю через функцию, в нее и передаю список prices. Если распаковать, поставить перед prices звездочку, в вывозе функции - она не вызовется, потому что в ней определено другое количество аргументов. Если распаковать prices прямо в sql-запросе, то там вообще syntax error.
Я про хейстак и эластиксерч.
pypyjs.org есть. Ладно, скажем похуй что там либа грузится дохуя - 2.5 МБ в сжатом виде не так уж много по современным меркам, учитывая кеш. Даже на отсутствие третьего питона можно чуток подзабить, там вроде автор пишет на гитхабе что всё не так уж плохо и запилить можно.
Но он пиздец какой медленный -_-
R каноничен. А со скайпаем ещё повозится придётся(там отдельный интерпретатор или надстройка или оболочка- я хз, ipython. Там данные немного по другому устроены нежели в классическом Питоне (pandas вроде как R и копирует)
А то с R повозиться не придется. Тем более под винду. Зато у питона еще применений миллион, и дергать-парсить дату им удобней. А R это так, полуживой язык одного фреймворка для одного применения.
>pandas вроде как R и копирует
Как что-то плохое.
Мы бы помогли, но ты бы хоть один лотерейный билет купил!
Благодарю за ответ. Вроде бы сделал как надо.
Подскажите пожалуйста как теперь вывести теги к статье на главной странице. Если бы была одна статья то я бы сделал article.tags.all(), но я передаю много статей сразу. Если в шаблоне просто вывести теги, как у меня раньше было, то в html появляется "qa.Tag.None " Или же я неправильно построил м2м связь?
article.tags.all в джиндже заработало. Расходимся.
Но нет возможности использовать какие-либо библиотеки, в распоряжении есть только системные часики.
Как бы это всё правильно организовать? Что почитать? Кроме сорцов каких-нибудь пиглетов.
Что cron? я не могу использовать никакие библиотеки, мне в скрипте нужно накостылять простенькую версию. И вообще не на питоне даже.
Впрочем, загялнул в пиглет, и оказалось то, что и ожидал:
на каждом тике проверятется if: current_time() > item.time: item.func(); item.time += item.interval.
Никакой магии, однако...
держи ещё time sleep(..)
md5hash = os.popen('md5sum ' + filename).read().split(' ')[0]
эта магия запускает в sh
>On Ubuntu, /bin/sh is dash, a shell designed for fast startup and execution with only standard features.
А у меня как раз убунту
Как мне в баше-то тогда запустить?
Ребзя, пожелайте удачи. Нашел наконец-то удаленку на джангу. Сегодня первый рабочий день на новой работе. Хоть уже и не в первый раз, но все равно ссыкотно.
Ты не мог перефразировать вопрос? Непонятно чего именно ты хочешь.
Если запускать в bash, то
md5sum file
Я случайно забыл что гугл есть.
Нашёл уже: http://stackoverflow.com/questions/33502652/how-can-os-popen-be-set-to-use-bash
В двух словах культурная особенность убунты, что ос.попен - это запуск сш, а не баша
Запускать баш можно через субпроцесс:
md5hash = subprocess.check_output(('md5sum ' + filename), shell=True, executable='/bin/bash')
Там написано, что os.open перекочевала в subprocess.
И какая тебе разница в чем запускать? И почему не использовать hashlib какой-нибудь?
Никакой вовсе, но sh в скрипт где-то хуйню находит:
>sh: 1: Syntax error: "(" unexpected
а в bash - нет и нормально работает
Не хочу тульпу, надоело.
Бида в том что я не особо в джанго вообще врубаюсь, и не особо вникал. Всё ещё считаю что моего левела недостаточно.
Потому пока я больше по просто говноскриптам, всякие парсеры-хуярсеры-сам себе эксель-спамер реплаями на годные вакансии на хедхантер-и т д
Да и я не врубаюсь ни в питон ни в джанго, полгода уже превозмогаю с переменным успехом.
Разумеется, аргументов метод не требует, из шаблона вызывается не через .method(), а как __method, бочка сделана, хуйцы пососаны.
Ну так может, тут есть бездельники поумнее меня, а то я совсем голову сломал уже
Шуточки шутить все же веселее, чем вдруг обнаружить у него в шаблоне где-то незакрытый {% for %}
Делал все по докам, куда-то проебал половину функционала.
>>658621
Ты что, шизический? Никто даже разбираться не будет в этих каракулях. Запости в пастохранилище с подсветкой кода и не забудь показать что тебе в окне БРОУЗОРА написали.
Там кода с гулькин хуй, ну ладно http://pastebin.com/W5LUBAkg
В браузере, повторяю, ничего от слова совсем.
Ты странный. Я просто вызваю метод.
Т.е. %объектнейм%__retqausers
>>658639
Методы же не через точку вызываются, емнип.
Сука, заработало. Ну блядская дока, еб ее мать.
В чем-то ты прав. Магия с вечно протекающими абстракциями. Нужно понимать, что и как под капотом, тогда он охуенен.
Емнип, через два двоеточия методы для лукапа использутся в фильтрах, например.
Разобрался с пайтоном: scipy и pandas освоить труда не составит. ipython дико удобен, работать с ним одно удовольствие, начиная с запуска файлов прямо в оболочке до его магических функций. По данным хз, но массивы из numpy гораздо быстрей стандартных списков тех же питона.
Да вот шаблонизатор jinja2 совсем не котируется. Собственно можно ли писать писать шаблону под питон на jade?
Может и не понимаю чего. Питон учу не так много, от чего же такая реакция?
Кстати удваиваю. Синтаксис Jade - это же питон в чистом виде. Почему он используется в ноде с совершенно иным синтаксисом, а в питоне опять же шаблонизатор с непитоновским синтаксисом?
Потому что автор платформы node, тот же что jade. Интересует как довести все до автоматизма, с интеграцией jinja труда не составило, только с написанием
Прогуглил. Нашел несколько решений, но хотелось узнать мнение тех, кто так работал или предложение о более лучшей альтернативе
Откуда ты этот процент вообще взял?
http://stackoverflow.com/questions/1027714/how-to-execute-a-file-within-the-python-interpreter
Но это явно не то, что тебе нужно. Точнее, ты делаешь совсем не то, что тебе нужно. Или тебе нужно не то, что ты делаешь.
Вот три нормальных способа.
Файл должен быть либо в той же директории, либо в PYTHONPATH:
1. import module
2. from module import *
Из соснольки:
3. python3 -i file.py
Ну извини, не хотел тебя обидеть.
>3. python3 -i file.py
Это выполнит файл и оставить тебя в интерактивном интерпретаторе, со всеми переменными.
Поставил Solr, все работает как надо.
Нужно задеплоить апликуху на django на удаленный сервер. Возникла проблема при настройке связки nginx uwsgi. Суть в том что uwsgi при любом раскладе не хочет использовать виртуальное окружение. Пример настроек
[uwsgi]
plugins = python3
home = /home/user/www/app/.env
virtualenv = /home/user/www/app/.env
chdir = /home/user/www/app/app
pythonpath = ..
env = DJANGO_SETTINGS_MODULE=app.settings
module = wsgi:application
Т.е. должен использовать окружение с 3м питоном, а использует 2й. Файл настроек правильный. Открыв его в виме могу перейти в директорию просто gf, т.е. она тоже указана правильно. Но в чем проблема не могу понять.
Ах ты ж ебаный ты нахуй, ТЕСТ БЛЯДЬ
Анон. Я немного упоролся и прошу совета. Как ТОЧНО посчитать кол во ТОЛЬКО месяцев, ТОЛЬКО лет до определённой даты. С учётом високосных годов и различия месяцев по кол-ву дней. Не смог найти ничего подобного в datetime, хотя не исключаю возможности, что долблюсь в глаза. В общем, реквестирую помощь.
Оно вывыодит результат только в миллисекундах, секундах и днях. Как мне выводить разницу в месяцах и годах?
тогда как-то так:
>>> a = datetime.date(2011,3,22)
>>> b = datetime.date(2016,2,19)
>>> months = (b.year - a.year) * 12 + b.month - a.month
>>> months
59
Спасибо
Ну охуеть. Обратился, чтобы не писать костыль - предложили написать костыль. 10 из 10, господи.
Ну хорошо, не пиши велосипед, вместо функции на 3 строчки возьми либу https://pypi.python.org/pypi/MonthDelta
Неужели в вашем охуенном питоне нет стандартной либы для расчёта подобной фигни?
Это почему это 58? Или тебе только полных месяцев нужно? Тогда можно
>months -= int(b.day < a.day)
добавить.
Патамушта он дурачек с некорректной постановкой задачи
>months -= int(b.day < a.day)
А потом он прибежит со сравнением 30, 31, 28, и 29 в разных месяцах и начнет швыряться говном. Я ему уже посоветовал допилить под свое видение задачи
Например, при определении числа отработынных месяцев по российскому ТК, действует правило округления. У тебя нихрена не написано, что именно ты задумал получить. Какой вопрос - такой ответ.
Мне нужно досчитать от текущего числа до конкретной даты в будущем. Считать я хочу как в обычном формате: "Осталось 20 лет 10 месяцев 24 дня", так и по отдельности:"Осталось 250 месяцев" etc. Так чуть понятнее? И в догонку вопрос. Есть ли в стандартной библиотеки что-то, что может выдать русские названия едениц измерения времени в соответствии с их кол-вом. Например 4 года, но 10 лет.
>Например 4 года, но 10 лет.
http://man7.org/linux/man-pages/man3/ngettext.3.html
Не знаю, есть ли какие-то готовые решения, я всегда делал через ngettxext и .po файлики
Спасибо. Попробуй что то с этим наклепать. Пока что подобное действо возложено на костыль, но выглядит он весьма мерзко.
На счет процента не могу сказать, я просто делаю как написано в книге, а именно:
> Сохранив этот текстовый файл, вы сможете предложить интерпретатору Python выполнить его, указав полное имя файла в качестве первого аргумента команды python, введя следующую строку в системной командной строке:
% python script1.py
Вот значение переменной PATH: C:\Python31;C:\Python31\Scripts;C:\Python31\lib\site-packages\django\bin
Файл находится в папке питона, и делая по третьему пункту опять выдает SyntaxError: invalid syntax. Я пробовал писать python31 и python3, и все равно безрезультатно. Почему это происходит?
Я его не вводил. Просто ввел python script1.py и все, хотя из командной строки все получается, но если вводить полный путь к файлу.
В тред пиши
Такая же хуйня.
И ваще ненужно делать таблицы для реализации вот этого так как всё будет зашифровано в токене?
Да, в джанге масса недостатков. Зато охуенная админка.
Нет, фласк - хуй.
>659779
Помогите ньюфажине, пидоры.
помог.
yoba, zachem lishniy cikl?
a1, a2, a3, a4 = ['xyz']*4
a1, a2, a3, a4 = itertools.repeat('xyz')
no kruche koneshno kak tut >>660125
tak zagadochney
Почитай про current dir и по какой схеме шындошс и питон ищут файлы.
Во-первых глобальных перменных надо избегать вообще http://stackoverflow.com/questions/19158339/why-are-global-variables-evil
А locals() - read-only и вообще с ним какие-то проблемы, его не рекомендуют использовать для записи.
А, я думал что-то новенькое узнаю. Это же джаст фо лулз пример. Хотя, знаю один случай, где globals() упростили работу с пачкой конфигов в виде .py файлов, которые должны были импортироваться друг в дружку и в проект определенным образом. В каждом таком файле кроме "глобальных" констант больше ничего и не было.
import some_lib внутри функции не делает определенные в some_lib константы доступными вне этой функции, а они там нужны.
Потому, что есть еще 2nd_some_lib, 3rd_some_lib и т.д. с одноименными константами, но с разными значениями. И в функции определяется, какой из модулей надо импортировать.
Решение не самое изящное, не спорю, но работает и занимает две строчки, по одной на импортируемый и на целевой модуль.
Расскажите что самое интересное и волнующее с вами происходило при работе с питоном? Может закодили какую-нибудь крутую хуйню и она вас впёрла что вы пританцовывали до конца дня, или после нубовелосипедов со словарями вы открыли для себя дефолтдикт, например?
У тебя есть три конфига с одинаковым набором констант, но с разными значениями. И есть некий обширный скрипт, который эти константы использует. Как мне указать с каким конфигом скрипту работать, не модифицируя каждый раз скрипт?
Дофига всего. И defaultdict-like открытия и что-то крутое типа asyncio, micropython, написание своей либы и пост на pypi, travis, coverage. Боты для онлайн игр (когда добиваешься их правильной работы) и много-много другого.
Передавать имя конфига как аргумент скрипту. Использовать json для хранения конфигов, например.
> json для хранения конфигов
Нахуя? Есть ini файлы. Есть yaml. Да блин на самом питоне конфиги наиболее гибкие.
Написал же "например". Конфиги на питоне это говно. Конфиги должны быть только данными, вся гибкость должна быть в приложении.
Куда надо это куда? Попахивает говно-архитектурой. Можешь конечно передавать два аргумента: "этот скрипт" и "вон тот конфиг".
>Передавать имя конфига как аргумент скрипту
Малаца, один из немногих правильных джангистов. Не надо городить хуйню в settings.py со всякими globals и трахом с черезжопными импортами, надо сделать другой x_settings.py в который импортируется базовый.
>>660608
>скрипт сам в виде аргумента передается
Использовать envvars например.
Niqaque.
>Конфиги на питоне это говно
Не всегда. По части поддержки питонных структур более-менее близок наверное только yaml. Ну и дополнительные синтаксисы/особенности держать в голове не надо, просто нужно стараться придерживаться правила: никакого кода в конфиге, только данные. Хотя я не фанат драконовских ограничений, всё же допускаю простые скрипты в конфигах если например нужно автоматически выставить дохуя каких-то значений, но по правде говоря мне таких случаев ещё не встречалось.
Есть ещё vars(), я много раз использовал, в том числе и на запись. Например это единственный способ динамически создать свойства класса до отработки наследованных метаклассов, в джанге например.
О каких структурах речь? В json-е есть список, словарь, число и строка. Чего ещё не хватает?
Уже написал, это работает. Но хуй знает как.
В стандартной библиотеке. Шутка, там говнокода полно.
Я им вообще не умею пользоваться, я даже херово представляю что такое этот ваш гит. Только начал учиться кодить. Просто зарегистрироваться и искать по тегу "python"?
Регистрироваться не обязательно
Не забывай ставить классы и подписываться.
http://pypi-ranking.info/alltime вбиваешь названия популярных пакетов в гугол, одна из первых ссылок будет на гитхаб. Идешь туда и лазишь по кладке code.
Ищи по той штуке которую пишешь.
Но нахуя тебе читать чужой говнокод? Если ты что-то пишешь и у тебя не получается, гугли вопрос словами, с начало на русском и если нет ответа, то на энглише. Из гугла попадешь на блоги/ сервисы ответов, там или будет пример решения твоей проблемы, или ссылка на документацию. Открываешь три-четыре вкладки с примерными решениями, немного воображения, чуть творчества и хопа у тебя работающий говнокод. Когда он есть и у тебя есть время, и тебе за это время платят, ты задаешься вопросом, а можно ли сделать твое говно лучше. И проходишь заново все пункт, но с целью уже улучшения твоего кода. И так годами.
Из-за ошибок прочитавший себе палец не отрежет. Я смысл передал, ты смысл понял. Остальное выебоны снобистов.
Очевидно, что ты смысла не понял.
Я говорил о тупых школьниках. Зачем мне советы тупых школьников, которые даже не в состоянии понять <...>. Такая вот рекурсия.
Хули ты такой выебистый то, а? Ты считаешь, что в России, отвечают на форумах и сервисах, не образованное быдло? Ошибаешься.
> Ты считаешь, что в России, отвечают на форумах и сервисах, не образованное быдло?
Да так и есть ващет.
Не вижу противоречия.
Высокомерный уебок :-)
Если бы ты учил историю античных времен, но возник вопрос по первой мировой - оно бы тебе помешало?
А я брею.
Хорошо
Тем что оно иде, а не редактор для начала
Ну а проще если:
10/10 Автокомплит
Другие плюшки можешь посмотреть вот тут http://blog.jetbrains.com/pycharm/2016/01/introducing-getting-started-with-pycharm-video-tutorials/?utmsource=feedburner&utmmedium=feed&utm_campaign=Feed
Кодекадеми - Укус питона - Синк Пайтон
Для геймдева рекомендую сразу поискать более распространённый в сфере язык программирования
Нет. Сможешь только мелкую пиксель-арт индюшню писать. Есть только два нормальных, полноценных движка для игр любых жанров.
Unreal Engine 4 - C++
Unity - C#/JS
Даже арт-индюшня будет с душком - рогалики вон и те на плюсах восновном пишут. Под питон есть библиотека, конечно, но она это просто прослойка к плюсовой.
Питон можно использовать как скриптовой язык на котором вся игровая логика, кроме движка самого. Правда вроде в геймдеве в ходу lua больше.
Но вот например цивилизация 4 на питоне.
Или для написание сервера если это онлайн игра.
Троллейбус из хлеба
Да и интересовались на счёт змейки для вкатывания в гейм дев - это не звучит как ХА ХА ДАВАЙТЕ ПИСАТЬ СЕРВЕРА НА ПИТОНЕ
> Троллейбус из хлеба
Скриптовый язык нужен, не будешь же всю игровую логику на плюсах фигачить.
>не будешь же всю игровую логику на плюсах фигачить
В UE именно так, поэтому он и непопулярен, хотя там можно слепить самый реалистичный графон. А скриптовые языки лучше использовать только встроенные, без анальных компиляторов.
Мы сейчас говорим не о студиях, а о диванных разработчиках, которые хотят что то слепить на коленке.
Впервые слышу вообще. Есть ещё вот такая, http://rlgclub.ru/forum/viewforum.php?f=26&sid=88d49c78fa82a3ca67fde83477a83071 но она тоже к питону врапперами прикручена, да.
Я бы вообще все праздники упразднил, и выходные, и отпуска. И рабочий день сделал бы часов 14. А зарплату выдавал бы карточками, которые ты бы мог тратить только в лавке при мануфактуре, к которой прикреплён.
ВОТ ТОГДА ЗАЖИВЁМ!
Ой ну смотри короче. Значит есть скорость, это всякое байтоёбство, компиляции и использования хардвари. А есть просто чистое программирование, где нужно как можно быстрее описать задачу, составить рабочий алгоритм минимальными усилиями.
И вот к чему это я. Ах да, геймдев. Геймдев бывает сука разный. Начиная от пасьянса косынка заканчивая крузисами на вулкан апи. Есть ещё дохуя разных платформ, на них чаще всего доминируют какие-то технологии, где нет жопаели и швабоды, а только один фреймворк и один язык.
В большинстве случаев геймдеверам западло копротивляться системе и они просто учат подходящий язык и этот единственный фреймворк. Поэтому количество инструментов часто скудное. Вообще на инструментах для геймдева делаются бешеные бабки, и движки это далеко не самая денежная тема, 3д редакторы очень дорогие, специализированный софт, мокапы, скульптинг, риггинг, вся хуйня. Услуги по созданию контента дохуя дорогие.
Снова отвлёкся. Вернёмся к нашим удавам. Можно в принципе всё. Никто за руки не держит, запретить не сможет. Берёшь как Линус и хуяришь софт. Вот только чтобы стать Линусом нужно захуярить нечто полезное и вовремя. А учитывая как геймдев комьюнити не хочет вкладывать в переизобретение колёс десятилетия времени, то Линусом тут можно стать только работая в какой-нибудь нвидии. Все шойдеры ты где-нибудь спиздишь, все архитектурки ты где-нибудь прочитаешь и подсмотришь у Кармака.
Блядь, снова отвлёкся. Ну короче питон. Питон сука удобный, но сука медленный. Написать пасьянс - самое то. Написать по-быстрому тулзу, которая что-то сделает с контентом - заебись. Да хоть сделать его скриптовым языком движка - окей, embedding guide тебе в помощь. Некоторые умудряются на питоне писать трёхмерные игры, и они работают и даже не тормозят, потому что вся игра это сплошной рендер на гпу и почти никакой работы/внешняя сишная работа на цпу. Я бы ещё посоветовал на питоне делать прототипы, когда абслютно похуй производительность, главное увидеть/попробовать результат. Если понадобится можно перекатать в сишечку (ну или что там у вас, не суть).
Ещё тут кто-то спрашивал насчёт jython, я вот недавно попробовал, работает. Можно использовать экосистему жабы не прилагая особых усилий. В принципе через cffi можно использовать и сишную экосистему, правда приложив незначительные усилия в декларировании интерфейса.
Короче. Конечно рейтрейсинги и софтварные рендеры на питоне писать дурно, ибо можно состариться пока оно выдаст первый кадр. А вот писать на питоне некритичные к скорости 80% кода вполне можно. Сейчас много игр на жабе/дуднетах делают особо не запариваясь с потреблением памяти и сборками мусора. Берёшь сразу какие-нибудь pypy/cython/cffi и понеслась.
Ой ну смотри короче. Значит есть скорость, это всякое байтоёбство, компиляции и использования хардвари. А есть просто чистое программирование, где нужно как можно быстрее описать задачу, составить рабочий алгоритм минимальными усилиями.
И вот к чему это я. Ах да, геймдев. Геймдев бывает сука разный. Начиная от пасьянса косынка заканчивая крузисами на вулкан апи. Есть ещё дохуя разных платформ, на них чаще всего доминируют какие-то технологии, где нет жопаели и швабоды, а только один фреймворк и один язык.
В большинстве случаев геймдеверам западло копротивляться системе и они просто учат подходящий язык и этот единственный фреймворк. Поэтому количество инструментов часто скудное. Вообще на инструментах для геймдева делаются бешеные бабки, и движки это далеко не самая денежная тема, 3д редакторы очень дорогие, специализированный софт, мокапы, скульптинг, риггинг, вся хуйня. Услуги по созданию контента дохуя дорогие.
Снова отвлёкся. Вернёмся к нашим удавам. Можно в принципе всё. Никто за руки не держит, запретить не сможет. Берёшь как Линус и хуяришь софт. Вот только чтобы стать Линусом нужно захуярить нечто полезное и вовремя. А учитывая как геймдев комьюнити не хочет вкладывать в переизобретение колёс десятилетия времени, то Линусом тут можно стать только работая в какой-нибудь нвидии. Все шойдеры ты где-нибудь спиздишь, все архитектурки ты где-нибудь прочитаешь и подсмотришь у Кармака.
Блядь, снова отвлёкся. Ну короче питон. Питон сука удобный, но сука медленный. Написать пасьянс - самое то. Написать по-быстрому тулзу, которая что-то сделает с контентом - заебись. Да хоть сделать его скриптовым языком движка - окей, embedding guide тебе в помощь. Некоторые умудряются на питоне писать трёхмерные игры, и они работают и даже не тормозят, потому что вся игра это сплошной рендер на гпу и почти никакой работы/внешняя сишная работа на цпу. Я бы ещё посоветовал на питоне делать прототипы, когда абслютно похуй производительность, главное увидеть/попробовать результат. Если понадобится можно перекатать в сишечку (ну или что там у вас, не суть).
Ещё тут кто-то спрашивал насчёт jython, я вот недавно попробовал, работает. Можно использовать экосистему жабы не прилагая особых усилий. В принципе через cffi можно использовать и сишную экосистему, правда приложив незначительные усилия в декларировании интерфейса.
Короче. Конечно рейтрейсинги и софтварные рендеры на питоне писать дурно, ибо можно состариться пока оно выдаст первый кадр. А вот писать на питоне некритичные к скорости 80% кода вполне можно. Сейчас много игр на жабе/дуднетах делают особо не запариваясь с потреблением памяти и сборками мусора. Берёшь сразу какие-нибудь pypy/cython/cffi и понеслась.
То есть на питоне можно пилить только маленькие игры, не напрягающие комп? Мне переползти отсюда в тред жавы или C#?
А что это такое?
Погугли что хочешь написать, и на чём подобное пишут и туда и ползни
Иначе будешь в жопе без возможности тупо загуглить на стаковерфлоу ответ по каждой элементарной хуете
Ты программировать вообще умеешь? Что-нибудь когда-нибудь учил в данной сфере?
Алгоритм следующий примерно: геймдев сайты - там смотришь туториалы всякие, проекты, гитхабы если есть, получаешь представление - пиздуешь уже целенаправленно учить технологию ххххх и по мере необходимости доучивать сопутствующее
Ни в одном гейм проекте питон не является так сказать ОСНОВНОЙ ТЕХНОЛОГИЕЙ
Спасибо, так и поищу.
Как пилить шарарам на питоне?
Если есть 1-2 года времени для полноценного вкатывания можешь начать с питона, потом плюсы/шарп-жаву-ватеэвер
Если хочешь быстрее - шуруй в Unity, только там дохуя всяких мануалов и готового кода можно деребанить
бамп вопроса
Как раз до девятого класса два года есть.
Какую книгу?
Полный справочник? - Лутц
Длинный самоучитель для совсем нубов - Доусон
Для тех кто прежде кодил? - Укус питона
Для тех кто туда-сюда понял как работает всё, и гадает где применять - Синк Пайтон http://forum.ubuntu.ru/index.php?topic=218329.0
Все эти книги и так под 2.7 с содержанием, обложкой и мать её политуркой
>Для тех кто туда-сюда понял как работает всё, и гадает где применять
Отлично, то что нужно, а то я прочитал Доусона и не очень знал что делать.
Что лучше, think python или программируем на python Лутца?
Мне Синк доставил больше чем все прочие книги что я читал.
спасибо! После других языков возникают трудности в элементарных вещах: вывод в строку без переноса, объединение строк, счётчики, "самые необходимые" функции. Укус питона - похоже, то что надо!
1) поставил http://peterwittek.github.io/somoclu/ sudo pip install somoclu В терминале все вроде нормально:
Successfully installed somoclu matplotlib python-dateutil pytz cycler pyparsing
Cleaning up...
2) Далее пример использования http://somoclu.readthedocs.org/en/stable/example.html
Первые же строки:
import numpy as np
import matplotlib.pyplot as plt
import somoclu
%matplotlib inline
Вводим их в пистоне:
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import matplotlib.pyplot as plt
/usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')
>>> import somoclu
>>> %matplotlib inline
File "<stdin>", line 1
%matplotlib inline
^
SyntaxError: invalid syntax
3) вот и все, параша просто не работает, ничего не поделать.
Вот у меня на кнопку pushButton_2 законнекчена функция self.startDownload(), которая состоит из двух инструкций в следующем порядке:
self.pushButton_2.setEnabled(False)
self.mythread.start()
Но по итогу pushButton_2 отрубается только после окончания потока, а не перед его началом. ЧЯДНТ?
Зато на JS, блять, их тысячи.
И забрасывать на половине пути ж не хочется, да и что делать тоже хуй знает.
Еще раз сорян, ребятки, накипело.
Шалом тебе из вильного днр, где вакансий нет вообще кроме автоматчика, но не мешает мне учить питончик с перспективой хуячить вяло где-нибудь на удалёнке
Езжай в Киев или Одессу или Харьков там. Или удаленно работай вообще.
А так - что ты хотел. Это хорошо ещё что хоть js вакансии есть, обычно в мухосрянях только эникейщики нужны или какие-нить 1С/VBA кодеры.
И снова бамп.
А ты кодинг учишь не для того ли случайно что бы из мухосрани своей съебать? Вот и съёбывай
Более того, перенес pushButton_2.setEnabled(False) в начало mythread.start() и все равно кнопка отключается только после окончания остальных действий в потоке.
Джунам любят задавать не заковыристые вопросы по языку, их он может не знать, а всякое говно типа логических задачек, сложности алгоритмов(О-нотация и т.п.).
Не хочу пиарить этих уебков, но можешь вот посмотреть https://www.youtube.com/watch?v=BZulLbzf0uA https://www.youtube.com/watch?v=M4WW8-9GwRA
Незнаю, как в qt, в gtk можно дернуть gtk.main_iteration_do() чтобы перерисовать окно вручную.
Но это хреновая практика, у тя как-то неправильно треды организованы, в одном треде должен быть интерфейс, в другом действия и запускаться они где-то отдельно в main(). Вообще в qt есть какие-то свои треды.
Вводил и остальные строки из примера http://somoclu.readthedocs.org/en/stable/example.html Ожидал, ну не знаю, наверное, то что показано в примере. Я многого хочу?
Устанавливай ipython / jupiter
Устанавливай virtualenv
Запускай virtualenv
Устанавливай этот Сомоклу через pip install -посмотри-как-там-оно-называется-официально
Запускай ipython / jupiter, импортируй библиотеки ( что ты и сделал на своём скрине)
Открывай свой туториал тот и делай что пишут. Потом жми контрол + энтер и смотри графики или что там оно хочет выводить.
>жми контрол + энтер
Ох, лол. Вот оно в чем дело, просто ендер не канает, надо с контролом. Пиздец. Однако, спасибо за информацию :3
А что, блин программировать то? Опыта для игры мне не хватает, всевозможные какуляторы и дайсроллеры я уже писал. Вот бывает же такое, фантазия исчезла.
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Где-то я уже это читал, только там была Scala. Ну можно попробовать написать борду, но... Блять, серьёзно, нахуя?
прост
Ты это я, по уровню знаний. Ну и стою перед той же самой проблемой - не знаю что писать.
Не хочешь скооперироваться и вместе ставить задачи и запиливать что-нибудь? Вместе вроде как интересней.
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Прочитал и решил выучить этот язык. Это мой первый опыт в программирование, не посылайте нахуй, лучше помогите. Я не совсем понял автора и хотел бы, чтобы какой-нибудь умный анон мне ответил на мои вопросы. Но не хотелось бы тут об этом говорить, потому что много вопросов.
Ты того, этого, на мой анус даже не смотри, садомит!
типа того, только не мбп
>какой-нибудь умный анон мне ответил на мои вопросы. Но не хотелось бы тут об этом говорить, потому что много вопросов.
Спрашивай итт, хули ты. А так время на ответы мимопроходилу никто тратить не будет, инфа 100%
Только если ты няшный трапик или тян.
kivy, pyglet
Разобрался, спасибо :3
Код заливаешь через git/hg
Через http://www.fabfile.org/ дергаешь всякие команды на сервере в нужной последовательности типа
hg pull
manage.py syncdb/migrate/collectstatic
и перезапуск сервера.
Но вообще подобных средств миллион.
Да! И я тоже.
sshfs, потому что я ленивый.
Значит буду заливать на pythonanywhere, там даже консоли есть, а в качестве бд использовать хероку.
Ох Кармаки, вы таки и правда решили написать движок за один день? Поучись на питоне треугольники рендерить для начала, чем дальше в си тем дороже код (то есть дольше делать).
Все через это проходят. Не дергайся, дай нюфаку пострадать.
Тебе нужен сервис Continuous Integration (CI). Каждый раз, когда ты будешь делать git push на сервере CI будет подниматься виртуалка, выполняться все заданные тобой команды (тесты) и при успехе развертка на сервере. Таких сервисов куча. Рекомендую SemaphoreCI, но это уже вкусовщина, они все почти одинаковые.
Берешь и без задней мысли работаешь. Такая же консоль как и на твоем компьтере.
>>662269
Спасибо, возьму на заметку
Тьфу я прочитал как "там даже консоли нет".
Я шелскрипт использую. Требуется только голый sshd. Естественно в нём тебе нужно переписать тысячу мелочей вроде перезапуска сервера, но зато на самом серваке ничего для деплоев ставить не надо, даже гит.
https://gist.github.com/kctier/2a62a4db195692979d38
def initUI(self):
....button = QtWidgets.QPushButton("button", self)
....button.move(170, 110)
....button.resize(35, 30)
....button.clicked.connect(self.Button)
подцепить сигнал клавиатуры через keyPressEvent?
Так в обычных сервисах CI тоже ничего ставить не надо. Пишешь кастомный скрипт для подключения по ssh к серверу и деплоя. Хотя можно вместо кастомного скрипта использовать готовые сервисы деплоя типа Капистрано, но это для быдла.
Мне кажется что CI как таковой в джанге бесполезен. Скриптец мне только аккуратно заливает всё "в одно нажатие". Конечно это больше для запиливаний в соло, для группы я бы поставил центральный bare гит и пару хуков на автотесты если есть, сборку проекта и залив.
через installEventFilter наверно или наследовать от кнопки и переписать его keyPressEvent
Есть какие-нибудь нормальные квизы по питону?
Немного поискав нашел только какой-то один не очень сложный квиз + вопросы там повторялись.
Суть в том, что не знаю, как оценить какой у меня уровень владения питона + технологии.
Спасибо.
В дополнение:
есть где ресурс для коллаборации на добровольческих условиях? Хочу какой-нибудь нормальный проект сделать, а одному ппц как лень и забью наверняка.
Спасибо еще раз.
http://pyobject.ru/blog/2010/02/04/python-quiz/ старый довольно.
http://www.mypythonquiz.com/ тут вроде простые вопросы хотя дальше идут сложные
https://alexbers.com/python_quiz/
кто-то тут постил сложный квиз, но такие вопросы никто не задаст. ссылку я потерял.
во-во, как раз второй и нашел в гугле.
Какой у тебя захватывающий гитхаб.
Нет, имиджборду.
Мне нужно чтобы с барабанами крутящимися, арты я правда свои вставлю для кнопок и гуй свой будет.
>арты я правда свои вставлю для кнопок и гуй свой будет.
Если ты в состоянии гуи сделать (и анимация барабанов туда, я так понимаю, входит), то в чём проблема написать десятистрочный скрипт? Делаешь три рандома, получаешь конечное состояние каждого барабана и запускаешь его. По полученной комбинации считаешь выигрышь/проигрышь.
Нет же просто слотмашина будет элементом всего лишь одним из, я просто хотел узнать есть ли библиотеки с готовыми пресетами.
Так что тебе конкретно-то нужно? Какими пресетами? С выпадающими символами или что? Вводи в гугл и ищи. http://www.gamedev.net/topic/618976-python-3-slot-machine/
Да у тебя же ПРЕДЖЕВРЕМЕННАЯ ЭЯКУЛЯЦИЯ ОПТИМИЗАЦИЯ.
У тебя рабочий код есть, срезультатом профилировщика, который показывает что у тебя куча скуль-запросов идёт? Если нет, то не еби себе мозг и сделай сначала его.
Пишу в коммандную строку linkchecker.exe --ignore-url=gif, но URL нихуя не игнорируются, хотя на приклейтед потестил этот простейший паттерн и он вроде бы всё матчит.
Линк на ман - http://linkchecker.sourceforge.net/man1/linkchecker.1.html
У меня вообще изначально было примерно 50 sql запросов на 9 постов лол. Потом я при помощи select_related, annotate и {% with %} сократил до 24. Только что добавил prefetch_related и количество запросов сократилось до 16. Сейчас думаю смогу отрубить еще 8 запросов, но все же, в какой момент стоит задуматься об оптимизации запросов?
Хз, в мане написано --ignore-url=REGEX. URLs matching the given regular expression will be ignored and not checked.
Обычно знак '^' перед выражением используется для этого.
select_related, prefetch_related
Ну так ты сразу всё и пиши, не телепаты жи. Эти запросы только на посты с комментами или ещё что-то на странице есть?
Откуда у тебя вообще 50 запросов взялось? Наследование (one-to-one) слишком сильно используешь? Сколько моделей дергается на этой странице?
Пожалуйста.
На все вопросы вида "чо с кем попилить" нынче ответ один - гитхаб.
Смотришь трендинг, ищешь проекты по каким-то интересным тебе кейвордам, мониторишь https://www.reddit.com/r/python - там часто мелкие и интересные поделки проскакивают, можно еще на официальный ирк-канал питона вкатиться.
Раньше еще на сорсфордже был(?) интересный раздел 'help wanted' но сорсфордж какбе рип.
Только на посты и пара запросов для получения сессии.
В посте у меня кроме названия, описания, автора и категории выводятся теги, которые получаю префетчем, время последнего комментария, которое я получаю при помощи аннотации и картинки(если есть картинка, выводит первую, а если нет, то выводит стандартную для категории). Стандартную для категории вывожу благодаря селект релейтед, а обычную приходится для каждого поста делать проверку в шаблоне есть ли картинка или нет, поэтому выходит так много запросов. Видимо придется добавить в модель Постов связь с картинками, потому что сейчас у меня связь не задана.
>>662924
Нет, просто я, например, когда проверял наличие наличие картинки, в случае если он есть я еще раз делал запрос на эту же картинку. (не использовал with)
Ну язык-то я может и попробую, а функциональность фреймворков там есть? Тот же эмбер позволяет мне по минимуму с js соприкасаться, половина кода - декларативная, вторая - простые свойства. Что-то посложнее встречается только в паре мест, где самую-самую базовую функциональность нужно для себя переопределять (у меня это, например, authenticator и autorizer). Модели с кешированием и автовытягиванием с апи и завязанные на них шаблоны с двусторонним связыванием - это дохуя, без этого жить сложно.
Напомните, как с помощью Popen принимать stout программы, с учетом того, что программа будет работать демоном.
Например, запускаю vlc скриптом и хочу принимать от vlc его stdout, stderr конструкцией stdout=subprocess.PIPE и и process.communicate()[0] и тут же их обрабатывать, а сейчас хотя бы отправлять в print или logging, но что-то не взлетает. Выполнение скрипта висит и ожидает окончания работы программы.
Тебя что конкретно интересует-то? Что ты под нестандартными формами понимаешь?
https://jsfiddle.net/bLLbd2ra/
Что то такого вида. криспи оборачивает все формы в свои враперы, поэтому у меня не получается сделать форму первого типа + мне нужно убрать лейбл для первых трех форм, а для последней оставить.
Как-то использовал django-bootstrap, там всё то же самое, только без мазохизма, все параметры бутстрап-полей выведены в параметры темплейттега.
whoresmustdie
pillow
Я вот как майнтейнер пары пакаджей могу сказать что портировали только то что используется хотя бы тремя с половиной калеками. Остальное просто валяется мёртвым грузом.
Вместо него есть invoke http://www.pyinvoke.org/ , переписанный с нуля теми же ребятами фабрик. Но ты ниасилел почитать документацию и выбрал двойку для нового проекта. Ха-ха, лузер!
Что-то я совсем запутался.
>для чего нужны и что делают всякие джанги и фласки
Это библиотеки для создания HTTP/WSGI/FastCGI/uWSGI-серверов.
>нужно включать с сайта по нажатию кнопочки
HTTP-сервер должен принять запрос от кнопки (либо через форму, либо кнопку ссылкой сделать, либо аякс), затем выполнить твой скрипт. Сложность в том, что архитектуры HTTP-серверов за много лет эволюционировали и сейчас это очень плохой тон загружать веб-сервер посторонней длительной работой, нужно чтобы страница вернулась сразу же, появилась какая-нибудь загрузка итд. Поэтому обычно поднимают celery, который автономно работает за веб-сервером. Веб-серверу остаётся только передать ему задание. Celery берёт задания и распределяет их между нодами-выполнителями, получается всякие отсылки смс и емайлов не убивают производительность веб-сервера и тихо себе без ограничений по времени выполняются в фоне.
Если тебе это нужно для себя на локалхосте, то можно не заморачиваться с селери, а вставить запуск скрипта прямо в код вьюхи. Естественно браузер будет ожидать ответа сервера пока скрипт не выполнится.
>бесконечный скрипт, который тоже будет дергать веб-морду
Это уже совсем другая задача. Для неё бери requests.
Если совсем на пальцах, то все эти джанги и фласки есть набор скриптов с набором необходимых для веб-приложения функций, и со своей жесткой структурой(видимо, потому и называют "framework").
По поводу кнопочки и бесконечного скрипта не совсем понятно, что ты имеешь в виду, и кто кого там у тебя дергает.
>>663690
Вроде стало чуть ясно, но всё равно не понятно. То есть фреймворки должны ускорять работу всяких скриптов на сервере? Но как они это делают, если скрипт всё равно должен выполняться по своей независимой логике? Вот, отсылаю я апи-ссылку на сервер, он обрабатывает её, выполняется скрипт мой, например, выполняющий какие-то вычисления и дергающий базу данных, а потом отдает мне ответ на веб-форму. Почему с этими фреймворками должно быть быстрее?
А, тогда понятно. Значит можно не беспокоиться за привычные скрипты, их не надо будет потом переписывать, просто подставить вместо нужных сетевых операций эти джанговские и всё? И всё на сайтах так и работает, когда делаешь запрос, выполняется настоящий скрипт, и быстродействие сервера, выходит, зависит от цп и сложности этих самых скриптов?
Как анон выше написал, фреймворки экономят тебе время на разработку. Например, ты хочешь, чтобы запускался скрипт при получении запроса на некоторый url("апи-ссылку", как ты это назвал). Во фреймворке уже есть обработчик запросов, и тебе всего лишь нужно будет указать при запросе на такой-то url запускать такой-то скрипт. (Это всё очень грубое описание)
Хорошо, спасибо. Пойду наверное книжки почитаю по этой теме.
Задача джанги это согласно протоколу HTTP вынуть из пришедшего потока данных информацию о запросе, запустить функцию с твоим кодом (вьюху) и отправить назад результа. Очень часто в подобных делах нужно отдавать содержимое некоторой базы данных, поэтому джанга предоставляет ORM, чтобы было удобнее шлёпать круды. В целом никто не ограничивает тебя в том, что будет в коде обработчика, можно целиком и полностью игнорировать предоставленный ORM. Но нужно осознавать особенности работы браузера и HTTP как такового. Например пользователь может обновить страницу - вьюха выполнится ещё раз. В идеале задача вьюхи - высрать HTML страницу и ничего больше.
Я бы тебе посоветовал посмотреть на консольные утилиты (argparse поможет сделать это легко).
python tool.py --api-url http://example.com/
запускаешь, оно делает что тебе надо и выдаёт куда-нибудь результат, да хоть прямо в эту же консоль или в файл. Веб-сервера обычно поднимают когда в этом есть обоснованная необходимость.
90% из которых всеми забытое легаси говно, как и сам питон 2.
Ты неправильно понимаешь фреймворки. Фреймворк - это не библиотека: библиотеку ТЫ вызываешь, а фреймворк ТЕБЯ вызывает. Фреймворк - это готовый скелет приложения, пустоты в котором ты дозаполняешь нужными тебе функциями.
Как передавать переменные между методами в классе?
Потому что.. хуй его знает. Вот почему.
Потому что вьюха звучит как хуй.
Возможно, потому что Django MTV, а не MVC.
кодакадеми в принципе для самых самых нюфень расчитан
Потому что в джанге нет контроллеров.
Хотя я наверно неправильно спросил. Мне нужно подцепить нажатие клавиши.
def keyPressEvent(self, e):
....if e.key() == QtCore.Qt.Key_1:
........return one.clicked.connect(self.Nums) # Вот не пойму как правильно вызвать. Так не работает
на вызов функции
def Nums(self):
....global num
....global newNum
....global opVar
....sender = self.sender()
....newNum = int(sender.text())
....setNum = str(newNum)
....if opVar == False:
........self.line.setText(self.line.text() + setNum)
....else:
........self.line.setText(setNum)
........opVar = False
с параметрами из
def initUI(self):
....one = QtWidgets.QPushButton("1", self)
....nums = [zero,one,two,three,four,five,six,seven,eight,nine]
....for i in nums:
........ i.clicked.connect(self.Nums)
Алсо PyQt5.
Тот анон допиливающий калькулятор
Хотя я наверно неправильно спросил. Мне нужно подцепить нажатие клавиши.
def keyPressEvent(self, e):
....if e.key() == QtCore.Qt.Key_1:
........return one.clicked.connect(self.Nums) # Вот не пойму как правильно вызвать. Так не работает
на вызов функции
def Nums(self):
....global num
....global newNum
....global opVar
....sender = self.sender()
....newNum = int(sender.text())
....setNum = str(newNum)
....if opVar == False:
........self.line.setText(self.line.text() + setNum)
....else:
........self.line.setText(setNum)
........opVar = False
с параметрами из
def initUI(self):
....one = QtWidgets.QPushButton("1", self)
....nums = [zero,one,two,three,four,five,six,seven,eight,nine]
....for i in nums:
........ i.clicked.connect(self.Nums)
Алсо PyQt5.
Тот анон допиливающий калькулятор
Нет просто cgi скрипт сделать
Все, не надо - дропнул через dbshell.
Я что-то гуглю и все как-то не очень.
Если ничего не найду, буду сам пилить, поэтому тут и пишу. До этого писал в /s/ там молчок.
Ну на будущее просто убери все модели (закомментируй там, или из __init__ убери импорты) и makemigrations
Так я только свои модели дропнуть смогу, а мне нужно было еще дефолтные джанговские сбросить.
Базу не рискнул, она удаленная и у меня нет прав на создание новой в облаке, а вот дропнуть постгрес public schema и создать ее заново удалось.
data: {csrfmiddlewaretoken: csrftoken}
Это же не безопасно.
Разве там не надо header передавать? X-CSRFToken
function csrfSafeMethod(method) {
// these HTTP methods do not require CSRF protection
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
Ты откуда запрос делаешь? Если через бразуер и через аякс то хеадер нужен, потому что браузер выставит хедер что это аякс запрос
Я же тебе написал пример js кода. Скопипастил его из документации кстати
https://docs.djangoproject.com/en/1.7/ref/contrib/csrf/#ajax
Да.
Не, с кроном только запутаешься.
> По нагрузке цп вроде не проседает
И не должен, пока процесс в слипе он никакой нагрузки не создает.
Это не просто библиотечка? Погуглил, обертка выглядит здорово, но как оно подключается и работает - как то мутно написано, похоже надо демон запускать, который крон же и задействует, не?
Демон надо запускать. Это тяжелая библиотека, зависит от твоей задачи. Если что-то простое пользуйся просто while/sleep
Опять фанбой из рабитреда вытек.
1) в отличии от питона, руби не ассоциируется со школьниками и домохозяйками, а вызывает в памяти образ успешного и самодостаточного мужчины
2) на руби ты может сделать твиттер за три часа, а на питоне за три месяца
3) у руби есть свой стиль и сильной коммьюнити, чего нет и не было у питона
я не он, но у меня тоже вопрос про то что такое фреймворк
что такое библиотека я понимаю и люблю - набор функций, для удобства вызова сгруппированный по какому-то признаку в отдельный файл (модуль)
пикрелейтед, вики описание отличий фреймворка от библиотеки тоже понимаю. Но что такое фреймворк? Где он начинается и где заканчивается?
Я так понимаю что это должно быть какое-то приложение (причем не обязательно на том же языке на котором и я пишу), которое ожидает получить корректный набор файлов с моим кодом, да?
Корректный -- значит структуру определяет фреймворк и надо следовать его правилам.
А что происходит потом? Фреймворк интерпретирует мои исходники и выполняет их?
Еще подумал что это похоже на написание расширения, плагина для приложения, в том случае если само приложение без плагина почти ничего не делает -- но не осилил аналогию
Реальсы. Охуенная экосистема - rake, chef, puppet, всякое такое. Тысячи gem`ов для рельс.
Много способов сделать одно и тоже, можно делать DSL(этим активно пользуются), можно менять поведение даже встроенных типов, всё - объект, метапрограммирование на высоте.
Дохуя работы на рельсах в интересных проектах, где дадут macbook.
Мне скорее perl напомнило всякими unless и множеством способов делать одну вещь и гибкостью.
Нет, руби для веб в основном.
Фрекмворк это набор библиотек, которые позволяют тебе решать какую-то задачу. Как правило, ставит тебя какие-то рамки - определенная типовая структура проекта, способ конфигурации.
Это так. У руби всё сосредоточено вокруг рельс, библиотек для них, стандартных утилит, которыми пользуется все(типа bundler, rake, rack, etc).
У питон каждый пишет свой велосипед, многие вообще не на тему веба, а каких-то поделок.
Хорошо, спасибо.
Как доберусь до них и потрогаю, думаю понятнее станет. Мне пока так просто, на будущее..
Фреймворк - это набор готовых скриптов-решений низкоуровневых бытовых задач. Благодаря ним ты можешь запилить свитор >>664531 на питоне за 3 месяца, а не три года.
Ты хочешь написать сайт. Если делать с нуля - придется писать свой велосипед с HTTP запросами, проверками безопасности и защитой от атак, обращениями к БД и т.д. Но велосипед уже изобрели до тебя - берешь Джанго, с готовой системой MVC, хуяк-хуяк и в продакшен. Скрипты крутятся, даллары мутятся.
За 3 месяца можно и фреймворк свой запилить и свитор, даже не используя готовые библиотеки.
Хз, меня больше в проектах на питоне смущал собственно сам говнокод проекта, когда пишут файлы в несколько килострок без достаточной декомпозиции. Как-то утилиты легко все поддавались, я даже не замечал. Кроме ебанутых миграций. У меня даже на пхп как-то было поделие круче, которое вычисляло diff между существующей схемой БД и заданной, и выполняла всё это.
Вообще мне кажется неправильно брать фреймворк и на нем что-то делать, не понимая что там внутри происходит. Начинать нужно с чего-то типа cgi скриптов, потом завилить свой велосипедный фреймворк и уже потом можно это всё выбросить и перейти на готовый )
Библиотека это типа сайлонец, знающий что он сайлонец
А фреймворк это сайлонец, думающий что он человек
> файлы в несколько килострок
пикрел. И всё засунуто в один класс)) Который вообще не класс а синглетон)) 211 методов в нем
Ой, это прям мой путь. В инете даже есть сайт с относительно активной посещалкой на моём велосипеде. Но если честно, я бы нюфань обучал иначе. Надо отделять что такое ORM, что такое роутинг, темплейты и прочее. Сначала им лучше чуть парсингом позаниматься чтобы посмотреть протокол, все эти хедеры, немного в идеологию REST поглядеть. Затем освоить чистый SQL, можно даже без джойнов, foreign key/1-1/1-M/M-M понять уже хватит. Затем попробовать ORM (причём тупо импортировать и играть, прям как в туториале), понять что в большинстве крудошлёпских случаев с ним меньше писанины. Потом роутинг (знание HTTP протокола позволит понять нахуя оно вообще). Потом темплейты, тоже отдельно, какой-нибудь jinja2, оно всё равно очень на джангу похоже. А потом уже писать бложик на джанге и можно уже твёрдым таким джуном устраиваться. Уложиться можно в месяца три.
Ну я бы не сказал, что неправильно. Чтобы водить автомобиль не обязательно знать как рассчитывается процесс сгорания топлива в двигателе и теорию поворота, хотя для общего развития и понимая процессов в автомобиле не помешает. Ты используешь чужой опыт, и избегаешь пройденных ошибок - в этом нет ничего плохого. А использовать велосипеды в продакшене я бы не стал. Так и программы можно с перфокарт начать изучать.
Я когда-то и ORM свою велосипедил(и не одну лол, последний раз делал просную обертку над sqlite). И движок темплейтов какой-то.
А всякие http заголовки я знал ещё до того как сайты начал пилить - потому что делал утилитки для выдерания чего-то с сайтов или постинга, нормальных высокоуровневых библиотек не было(или я про них не знал) и делал это всё на winsock`е.
Да и работа со всякими консольными клиентами ftp помогает(протокол похож немного)
php стал популярен, потому что альтернативы были в лице perl, костылей на си и asp(только под винду).
А сейчас.. В php даже fastcgi не трушный, всякие вебсервисы на нем через жопу будут, поддержка вебсокетов вряд ли нормальная возможна.
Потому что Wordpress. Сделайте Wordpress на питоне/руби с установкой в три клика, туда укатятся.
Вроде бы делали уже тыщу раз. У вордпресса кучи тем есть, вот если ещё и автоимпорт темы запилить, то вероятно самые прогрессивные начнут юзать.
Ох. Это да это же мираж. Там да, редкостный говнокод.
Даже если запилить, для поднятия сайта на питоне/руби нужны какие-то базовые знания линакса.
На php же ты просто по ftp заливаешь файлики на shared хостинг.
Ну где-то такое было. Но это не универсально, а хостинго-специфично.
Да и кто будет заморачиваться если есть проверенный временем wordpress с кучей тем и кучей школьников готовых его настраивать/допиливать за еду.
Никогда на бейсике не писал чтоли?
Вообще в питоне это единственный раз когда я видел, чтобы этим пользовались. Видимо автор mirage любитель бейсика(это многое объясняет)
Или дайте какой нибудь годный туториал по PyQt, не могу я на нем ничего делать. Кажется слишком перегруженным в отличие от вебгуи.
Гуи на куте обычно работают быстрее. Если хочется пилить на вебстеке, то electron бери. Под мобилки наверное лучше ionic.
На ionic'е делал, но у меня вся логика написана на питоне. Я с этим гуи очень сильно терзаюсь. Не хочууууу его делать.
https://www.reddit.com/r/Python/comments/3itauz/does_python_have_something_similar_to_electron/
Там два стула есть flexx и cefpython.
Вообще охуеть, мой радикулит заныл просто глядя на это.
Ну и? Можешь rest этот не использовать. Вообще непонятно зачем такое нужно и это unpythonic.
Это как в javascript с аргументами функций.
Годная статья.
Вопрос из квиза http://pyobject.ru/blog/2010/02/04/python-quiz/
"Функции" п.3
Хуля мой высер не пашет?
возвращает лист с копиями одной и той же функции.
def addition(*args):
def add(b):
return b+a
list_of_functions=[]
for a in args:
list_of_functions.append(add)
print(list_of_functions)
return list_of_functions
from operator import add
from functools import partial
def funcs(f, t): return [partial(add, i) for i in range(f,t+1)]
С мобилки читать твою ссылку сплошное страдание. Постоянно на полэкрана баннер появляется. Страница сама по себе весит дохуя и периодически перезагружается. И чет я нихуя не узнал толком нового. Как про сорта говна почитал.
ок, спс.
Такой тогда небольшой вопрос по теории https://dpaste.de/YrzJ
Пардон за лексику, на то есть объяснение
Так это всё равно нужно предполагать, что функция возвращает больше одного. А так как у меня функция 2 возвращала, а использовать я хотел 1, то разницы между x, y и x, *y Для меня нет.
Впрочем, может потом пригодится, спасибо. (Я оператор развёртки не туда пихать пытался.)
У меня фуррифокс синк для этого. Статья всё равно ниочем. Клоны клонов с чуть разным синтаксисом. Ну не приспособлены реляционные БД под такое. Нужен всего-то хороший класс для конструирования запросов и миграции.
> не приспособлены реляционные БД под такое.
Под какое? sqlalchemy офигенна, можно какой угодно запрос построить, поддерживаются какие угодно типы полей.
както по кульхацкерски ты подошел к просмотру.
альзо, как сделать так, чтобы инстанс класса понимал лексику class_instance(argument), ну т.е чтобы вел себя фактически как функция в деле приема аргументов? Наверное можно от чегото унаследовать и следать override но не придумал от чего.
>>664848
>В каком смысле? Результат тот же
но я же нихера не понял, лол
Ничего не надо наследовать, просто определяешь метод __call__
> но я же нихера не понял, лол
partial и делает карринг. т.е. она связывает функцию с аргументом
есть пользователь, который делает Посты, есть модель поста, в поле этой author этой модели указан пользователь через форейн кей. Как мне в профайле пользователя показать все его посты?
А, ну точно. Я то с __setattr дрочился и еще с чем то, про __call и забыл.
про partial я и не сомневался что работает, просто образовательная ценность подхода сомнительна.
Пойду спать, спасибо за ответы
Есть ещё remi.
sql не пользовался с лаб универских, сарян.
Си/плюсы учить беспроигрышный вариант во все времена, вне зависимости от его забулжений на счёт питона. Так что можешь смело следовать совету, да.
Твой учитель по информатике не знает питон. Да я удивлюсь если он плюсы или жабу знает.
Анон, как на 'tkinter', используя 'askopenfile' или 'askopenfilename' вывести имя файла?
По-моему кроме селениума просто ничего не существует такого
>This method returns a tuple of main resource (web page) and all loaded resources (such as CSS files, javascripts, images...).
Хм, а оно именно исполняет и выводит готовую страницу, или просто выдает отдельно содержимое скриптов и ксс?
Сам пили, ёпту!
Угадай с трёх раз.
http://pyobject.ru/blog/2010/02/04/python-quiz/
"Классы" п1
Я не понял, что можно в объекте класса переменные(атрибуты) на ходу добавлять?
Или предлагают инициализировать переменные которые я создал в классе?
> a = "Анон сосет мой хуй! "
> b = "Платите выкуп и я не трону двач!"
> c = "Сумма выкупа:"
> d = 500000 + 500000
> e =('даларов')
> f = "P.S. ваш Кулхацкер2004"
> print(a)
> print(b)
> print(c,d,e)
> print(f)
Пытался поставить пакет(или как это зовется) анакондас, выбивало ошибки, типо не может добавить в путь и еще что-то, питон поставился - а оболочка ipython - нет. Имя у меня кириллицей. Может ли это быть причиной? Или же я не могу найти ipython? Как мне переименовать и не проебать все установленное?
Подскажете?
есть ли какая-то рекомендация, как лучше называть переменные которые потом возвращаются из функции?
PEP8 Naming Conventions прочитал, не нашел
сам называю их out или res (out больше нравится), но это сцуко 3 символа ведь. использовал бы О, но PEP8 запрещает
Да ты бы переменные пробелом именовал, если б разрешили.
Это копия, сохраненная 15 марта 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.