Это копия, сохраненная 24 января 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
- Писать по классу на каждое состояние очень трудоемко, к тому же остаётся проблема сохранения ответов.
- Один класс, являющийся конечным автоматом? Слишком громоздко, ведь в нём придётся иметь поля для совершенно непересекающихся ветвей.
- Отдельные классы для каждой темы с логикой переходов - слишком запутанно
Сейчас решение принимается на основе нахождения в ответах пользователя определённых слов, но потом, вероятно, будет задействовано машинное обучение. Получается, нужно отделить логику переходов от хранения данных, специфичных для определённой темы.
передавать параметром в функцию или через self
>Ну то есть размер задаётся через raw_input сколько столбцов и сколько строчек, а потом создаётся матрица, заполненная нулями
http://ideone.com/ULvDLT ?
Я успешен?
Да, теперь ты сможешь зарабатывать по 150 тысяч в месяц.
Но сначала удали пробелы перед скобочками в функциях
А также смени тему
Всё правильно делаешь, Кирилл.
Тебе байтов шалко, что ли?
Лол, замазал своё имя которое нахуй никому не впёрлось. =None делай, а в теле функции if ... is None: или x = x or self.x в зависимости от возможных значений аргумента.
Вай вай вай, спасиб, няш. Заработало! Раз уж есть тут такие люди, буду захаживать сюда почаще
все тот же пытающийся хеллоуворлдщик
Дефолтные аргументы создаются в момент объявления класса и тогда никакого self не существует.
Если бы это были поля класса то прокатило бы
Просто слышал, что там воды налито на 1к+ страниц и повторяется одно и то же несколько раз. Так ли это? Если да, то посоветуйте чего-нибудь ещё. inb4: документацию
Тройка не нужна это нестабильная неудачная экспериментальная версия. Учи двойку потом перейдешь на четверку которая будет полностью совместима с двойкой.
dive into, как надоест, странице к 300, так делай уже то, что надо, а если что документация + стаковерфлоу.
>Тройка не нужна это нестабильная неудачная экспериментальная версия. Учи двойку потом перейдешь на четверку которая будет полностью совместима с двойкой.
>повторяется одно и то же несколько раз
Это, чтобы такой уёбок тупорылый как ты понял материал гарантированно и не ебал мозги анону элементарщиной впоследствии.
1101000010011100110100001011000011010000101111001101000010111010110100011000001100100000110100001011010111010000101100011101000010110000110100001011101100100001
Рынок труда говорит за меня
Если тройка не совместима с двойкой, то с чего ты взял, что четвёрка будет совместима?
Потому что 95% используют двойка. Тройка провал. Придется выпустить четверку совместимую с двойкой.
Такая история была с php они забили на php6 и выпустили php7
Это местный тролль, не обращай внимания. У него ынтырпрайз и продакшын на 2.6.
Гвидо говорил что никогда не вернет совместимость с двойкой.
пруфс. и вообще гнида нам не указ. надо будет форкнем двойку.
Как там jython и ironpython, кстати тройку завезли? А в pypy?
А во всяких встроенные питоны в vim, blender, cinema 4d, maya?
Из тем где я плаваю осталась пара моментов, но туда-сюда вроде как всё понятно.
А что писать не знаю. Аккадемические физзбиззы уже не качают, да и после sicp они убогие какие-то. А прикладного не знаю - мне самому тупо ничего не нужно. Есть где-нибудь список маст райт апликейшнсов для нубов?
В pypy вроде 3.2. Но всё равно это уже старьё и не нужно.
ШГ
Потешно, но мало как-то. Для погонять пробелы сойдёт думаю, а вот для реальных идей по реальным программам не очень.
Спасибо тем не менее, погоняю.
Гонял уже. Хотя конечно там ещё решать и решать.
В принципе я хотел что-нибудь типа такого https://pythonspot.com/ ещё получить, может не в формате туториалов, а просто заданий, но пока и это сгодится.
Как вам идея?
Вопрос по checkio
Как выполнить текст написанного модуля, чтобы посмотреть результаты assert`ов?
Оно на вебсокетах сделано наверное на tornado можно запилить. Или что там ещё есть?
Не знаю, я ноджеесник, случайно сюда забрел
У меня есть модель Section и N моделей XyzTask в которых Section указана как ForeignKey. Как из Section получить доступ к объединенному списку всех моделeй? Поставить одинаковое related_name везде?
Ну или если related_name задан для ForeignKey то так и будет называться свойство у объекта Section.
По-умолчанию будет называться xyztask_set
Мне кажется тебе сделовало бы создать модель Task, а у неё поле task_type = blabla(..choices=..)
И, если тебе так удобно, несколько прокси моделей, со своими менеджерами и т.п.
И тогда ты мог бы их вместе выборку делать
Есть:
def Ent_button_clicked(self):
value = self.lineEdit.text()
reforged = filter(value, self.allowed)
self.label.setText(reforged)
Вангую нужно передавать lineEdit и label, но как выглядить должно не понимаю.
Алсо могут быть моменты, когда будет не 1 Line Edit, а два и лейбла тоже собственно 2. Как это предусмотреть?
хм, да. Можно сделать одну общую модель с ChoiceField, и в зависимости от выбора реализовать разную логику в save().
Спасибо, братишка.
>\t
да кароч я не понимаю как вывести данные из разных моделей на главной странице через {% for %} в разных местах сайта (т-есть один for вверху сайта и один внизу, почему то у меня только один for работает)
А как ты это делаешь?
Один основной список у тебя object_list
Второй ты можешь подсунуть через get_context_data см. пример https://docs.djangoproject.com/en/1.9/ref/class-based-views/generic-display/#listview
вместо context['now'] = timezone.now()
сделай context['list2'] = Model2.objects.all()
Вообще используй простую вьюшку на функции. Так проще имхо. Особенно если тебе пагинация всякая не нужна.
Вообщем такая штука вышла
а если мне понадобиться еще какую нибудь информацию вывести на главную еще из другой модели
Забыл в коде переименовать ArticleListView на IndexView. Исправил
Так же в контекст добавишь.
Такую хуйню лучше делать на фронтэнде.
Пилишь API и каким нибудь ангуляром берешь из него 2 этих списка
Угу чтобы вместо одного запроса несколько было.
Скиллы в питоне - освоенное веб-радио на малине с энкодерами (громкость и переключение станций) и 1602 дисплеем. Сейчас хочется 7"-экран и некий гуй к некоей железяке, но не знаю с чего начинать вскрывать тему. Если что, сильно зарываться в системное программирование под линухом желания нет никакого, верю что есть способы проще.
Хороший годный сайт, тоже подобный думаю сделать.
django это и всё
Смотрел скринкасты дяди боба и в одной из них он сказал, что мол так делать не хорошо, мол мы слишком много предположений делаем насчет хуя (что у хуя будет пизда, а у пизды жопа и жопа может какать, а на деле может и не какать, и вообще пизды может не быть).
В питонокоде это повсеместно, вот поэтому спрашиваю.
Я даже хелло ворлд не могу осилить.
В комодо выдает такую ошибку:
"hello.py" Ґ пў«пҐвбп ўгв॥© Ё«Ё ўҐиҐ©
Є®¬ ¤®©, ЁбЇ®«пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐвл¬ д ©«®¬.
Гуглил эти символы и там в темах всплывало про PATH. Винда 10 питон 3, что не так?
Да можно всё. Программулька упадёт и всё, если полей не будет существовать. Это норма.
Не быть тебе программистом.
Я все переставил и не помогает, в самой питоне все нормально, а в комодо эта ошибка и если пытаться открыть программу через консоль пишет инвалидный синтаксис
Если честно я не могу найти, так же я попробывал через vim, все равно ошибка о синтаксе.
А, совсем забыл уточнить: иксы то для pyqt нужны? Мне то они в девайсе не уперлись, опять же, только лишние тормоза и разогрев камня.
Пиздос.
Да.
это значит что питон как то не правильно, но путь path я галочку в установке поставил и он сам прописал.
И почему в командной строке нормально открывает, а в питоне нет?
Попробую удалить и установить второй питон.
В интерактивном режиме интерпретатор не понимает путь к файлу, он выполняет код. Если ты хочешь запустить скрипт в интерактивном режиме, то используй
>>>import file_name
Что-то ты не с того конца начал, как мне кажется.
>в винде
Фикс.
Я все по учебнику из шапки делаю.
Ни второй ни третий не работают. В PATH инсталятор сам все прописал. В чем еще может быть проблема?
Это как?
Скорее всего, просто не может найти путь. Ищи в настройках ide, где указать путь к питону. В komodo, где-то в languages->python3.
Попробуй запустить python из меню, 'run shell' или что-то такое там. Может он у тебя пытается python2 запустить, которого у тебя, как я понял, нет.
Такого нету ни в программах, ни в папке питона. Я так понял что с питоном что то не так совсем, если он не на help print пишет invalid syntax
С головой у тебя не так, спермоед. Заебал. Съеби в /s/, пусть тебе там анус смажут и спермовую клизму поставят.
Хоть читай что тебе питон пишет - надо help(print)
Все люди, один ты мудак весь тред засрал.
help('print')
Анончик прав, ты дольше с IDE будешь разбираться, так до кода и не дойдет.
Так у тебя ничего не выйдет, бро. Обезьяний метод тупого копирования здесь не пройдет.
Попробуй для начала с терминами разобраться, понять что это за команды из книги, а уж потом берись за написание хеллоуворда.
f(yoba_object.a, yoba_object.b, yoba_object.c, yoba_object.d) - получается портянка, но если передается по значению - должно меньше жрат
f(yoba_object) - четко и ясно, внутри f уже дергаем a,b,c,d. Но не сожрет ли оно овердохуя в случае большого объекта, передающегося по значению?
ага, любая переменная есть ключ хеш-таблицы, вот этот ключ и передается
И его не нужно будет отдельно компилировать подо всё? Полностью кроссплатформенный, как зава?
Суть такова:
Есть одна программа для скачивания массива однотипных файлов со странички. Мне необходимо сделать, чтобы командная строка могла изменять свои значения в динамическом режиме при том, что одновременно могут качаться несколько файлов.
Т.е. например
zzz.mp3------------[done]
xxx.mp3------------[15%]
yyy.mp3------------[23%]
qqq.mp3------------[queue]
"через пару секунд
zzz.mp3------------[done]
xxx.mp3------------[58%]
yyy.mp3------------[83%]
qqq.mp3------------[queue]
Ну и так далее. Т.е. суть в том, чтобы полной перерисовки в консоли не было, т.к. общее количество файлов исчисляется тысячами. Необходимо чтобы изменялась только пара символов.
Анон, попробуй сменить вот это на русский. У меня такая же проблема была в командной строке.
GenericForeignKey
from __future__ import braces
Ты можешь сделать https://docs.djangoproject.com/en/dev/ref/templates/api/#writing-your-own-context-processors
Тогда у тебя будут вообще во всех шаблонах доступны эти категории.
Это то что ты хочешь?
Yep.
Делай через template tag и не еби себе мозг.
https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/
Поставь Линукс и занимайся автоматизацией всего подряд. Работай с файлами: удаляй, сортируй, шифруй, заливай через API в облака, используй рекурсивные функции, сделай в ООП-стиле или лямбдами.
чуть мозг себе не сломал пытаясь зарегистрировать тег! Оказывается, после написания тега, НАДО ПЕРЕЗАПУСКАТЬ ЕБУЧИЙ СЕРВЕР, чтобы он заработал!!! СУКА! Полчаса думал, что ошибся где-то в написании тега.
Ну в итоге всё ок работает, спасибо
Двачую этого. А если напилишь что-то полезное хотя бы для себя - вбрасываешь на гитхаб, гитхаб на реддит в /r/linux - получаешь 20 лойсов, понтуешься перед работодателем, ведь ты уважаемый опенсорс разработчик.
тi шо делае? це дурак?
Чего тебе не то?
Я бы сказал, что ничего разумного и простого тут не сделать. Весь текст у тебя уже запринчен в консоль, поезд ушёл, питон к нему отношения больше не имеет: на одних \r или \b далеко не уедешь.
Глянь в либу curses, может чего полезное будет.
Сложный способ:
Получить количество столбцов и строк в твоём окошке (os.popen('stty size', 'r').read(), например), а потом с print("\033[ROW;COLf" + "...") писать куда нужно и что нужно. Но это тоже немного ебанутость, но уж не на уровне видео-вывода, всё-таки. Впрочем, со скроллом там хуёво всё работать будет.
Ебанутый способ:
Ловить и трогать байтики в данных, отсылаемых видео-карте, предварительно найдя что и на что нужно изменить.
Но вообще, сама задача ниочинь, по-моему: тысячи строк в консоли всё равно не отследишь же, поэтому какая разница, когда и как оно там обновляется? Стоит перепродумать систему отображения, наверное.
> на одних \r или \b
Есть всякие escape codes которыми можно двигать курсор и прочее.
Вообще есть готовое типа https://pypi.python.org/pypi/progressbar (сам не пробовал)
>Есть всякие escape codes которыми можно двигать курсор и прочее.
Так это они и есть же, лол. Однострочное а-ля curl/scp-то элементарно, а тому анону-то тысячи строк нужно было отслеживать.
Дан текстовый файл, содержащий текст, выровненный по левому краю. Выровнять его по правому краю добавив в начало каждой непустой строки необходимое количество пробелов (ширину текста считать равной 50). Строки нечетной длины перед центрированием дополнять слева пробелом.
str.rjust(50)
Пишу парсер Л-системы.
[code]
import turtle
def drawLsystem(aTurtle, instructions, angle, distance):
for cmd in instructions:
if cmd == 'F':
aTurtle.forward(distance)
elif cmd == 'B':
aTurtle.backward(distance)
elif cmd == '+':
aTurtle.right(angle)
elif cmd == '-':
aTurtle.left(angle)
def main():
f = open('course.txt', 'r')
print f.read()
l = f.read()
t = turtle.Turtle() # create the turtle
wn = turtle.Screen()
t.up()
t.back(200)
t.down()
t.speed(9)
drawLsystem(t, '[F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F]', 60, 5)
wn.exitonclick()
main()
[/code]
Если сделать так, как написано выше, то всё работает. Если же сделать [code]drawLsystem(t, l, 60, 5)[/code], то черепашка ничего не рисует. Говорю сразу - я ничего не знаю о питоне. Объясните, пожалуйста, на пальцах, как пофиксить.
Пишу парсер Л-системы.
[code]
import turtle
def drawLsystem(aTurtle, instructions, angle, distance):
for cmd in instructions:
if cmd == 'F':
aTurtle.forward(distance)
elif cmd == 'B':
aTurtle.backward(distance)
elif cmd == '+':
aTurtle.right(angle)
elif cmd == '-':
aTurtle.left(angle)
def main():
f = open('course.txt', 'r')
print f.read()
l = f.read()
t = turtle.Turtle() # create the turtle
wn = turtle.Screen()
t.up()
t.back(200)
t.down()
t.speed(9)
drawLsystem(t, '[F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F,++,F,-,F,++,F,-,F,-,F,-,F,++,F,-,F]', 60, 5)
wn.exitonclick()
main()
[/code]
Если сделать так, как написано выше, то всё работает. Если же сделать [code]drawLsystem(t, l, 60, 5)[/code], то черепашка ничего не рисует. Говорю сразу - я ничего не знаю о питоне. Объясните, пожалуйста, на пальцах, как пофиксить.
Не понял.
На пастебин что ли залить?
Работаю на питоне довольно давно, но в основном просто решаю контесты на кодфорцес и изучаю алгоритмы.
Слышал, что для более продвинутой работы необходимо работать под прыщами или хотя бы в виртуалке.
Зачем? Какие профиты? У меня даже pip под openSuse не стал устанавливать пакеты (зато трафик жрал исправно), а на ubuntu не смог в proxy. Возникали какие-то проблемы с кодировками и прочим, чего на Win7-10 сроду не было.
Тем не менее в большистве вакансий требуется знанием *nix
>Тем не менее в большистве вакансий требуется знанием *nix
Потому что питон - язык бекенда. а система бекенда - никсы.
блин, почему то сам сразу не допёр до этого.
эх, жаль что на нём не пишут gui приложения по win. приходится учить с#
Спасибо, Анон. Ты классный.
Ебанутый способ оценил. Хоть и изучал в универе сишку и ASM, до такого я бы не додумался никогда.
Похоже реально самый простой и логичный способ - с помощью curses. Спасибо, я совсем про него забыл.
А к гтк - вполне удобно. Я каждый день пользуюсь gajim, например, jabber-клиент написанный на питоне. wicd-curses, консольная морда для вафли. Дропбоксовый клиент тоже питон. Deluge - торрент-клиент на питоне. Все есть в дефолтных репах. Какие пара коллег? Если пройтись по rdepends python-gtk2, python-gi, python3-gi то там навалом всего декстопного написано.
У меня все рисуется. Посмотри кодировку файла. Зачем нужны запятые и скобки, если они игнорируются?
> Посмотри кодировку файла.
Как это под убунту сделать?
> Зачем нужны запятые и скобки, если они игнорируются?
Результат работы другой программы, написанной на прологе. Это мой курсач по логическому программированию.
А я вот подумал, что это из-за того, что f.read() дважды вызывается. Из-за этого l должна быть пустой.
Я конечно вижу что у вас тут уже магическим образом все из нерабочего превратилось в рабочее, но:
>f = open('course.txt', 'r')
>print f.read()
>l = f.read()
Читаем то дважды, и при втором чтении в l не запишется нихуя.
Вот теперь спасибо
Может я чего не понял но
$ touch xyz.txt
$ downloader > xyz.txt
....
python open(....)
readline(....
Не?
Вариант говно. Мне не нужно очищать всю командную строку.
Если бы было 3 строки, то таким образом еще было бы терпимо это реализовать, стирая и заново отображая строки, а если их 500?
Ну тебе прога список даёт слишком большой прямо в консоль
Не лучше ли его сохранить, а потом перебрать автоматом что нужно
Поясните за питон?
Для чего его юзают какие-то крупные предприятия и корпорации?
Т.е., если я его выучу и пойду на работу, что я на нём буду писать? И насколько он сложный в освоении?
Ну я говнокодер ещё тот и честно говоря вообще не кодер а "бизнес инженер", да ещё и не в корпорации - а в консалтинге, кодить нихуя не умел и не умею хоть в студенчестве сайты пилил на пехопе.
Короче: Мне приходит гора статистики наших клиентов, примерно однотипная, в экселе. Я её парсю и считаю не слишком заумной формулой показатели, которые передаются далее. Можно все сделать экселем вообще, хоть и будет уходить пара дней на это, но мне как-то скучно так. Да и вручную проверять ебучую тучу условно связанных ячеек мне лень было бы. Вот этим и занимаюсь.
С корпоративными кодерами часто болтаю, но у них скукота: актив директори и куча мс поебеней из коробки типа телефонная книга на все 30 тыс персонала разумеется с распихиванием по категориям допуска, ибо начальнику цеха говнопереработки мухосранской дочки нахуй не положено знать номер генерала или директора по hr. Ну и 1с конечно. Как по мне скукота все это, особенно если влиять нужно в уже готовом продукте и шаг влево-шаг вправо - никанон, зачем мы эту хуйню тогда купили, насколько оно секюрно и тд и тп.
О, может проконсультируешь меня? Я программист. Сейчас вебом занимаюсь, но хочу уйти в анализ данных и потом открыть свой бизнес. Есть смысл получать вышку по экономике (подумываю над специальностью Статистика в Высшей Школе Экономики)? Мне 21 год, закончу вышку я самое раннее в 26 лет. Может если я грамотно потрачу время, то смогу всё изучить самостоятельно и даже раньше?
При скроллинге все равно отображается только часть строк. Очистил экран, отрисовал другие строки. Ты никогда не отображаешь все 500 строк.
Не думаю что смогу быть полезен. Не знаю стоит ли идти в универ. Без универа в корпорации путь заказан 99%, в подрядчики возможно тоже ибо я знаю очень много подрядчиков которые просто свою жирную тему вывели в аутсорсинг непосредственно из этой же самой компании. Есть конечно и исключения. Пропихивать новый продукт в корпорации не особо получится даже будь он сто раз полезным. Ибо западных компаний готовых тратить на это бабло и имеющих смелость что-то внедрять не понарошку или из-под палки надзорных органов почти не осталось, а отечественные компании - днище пидорское бюрократизированное.
Короче говоря если чего и пилить - то я бы сразу рекомендовал ориентироваться на западный рынок, но тут сам представляешь сколько подводных камней.
А так.. Ну вот эта хрень с моей статистикой продаётся только потому что она идёт комплектом с целым пакетом услуг для реальной деятельности. Без этого думаю нахуй бы никого не ебали эти цифры.
Что до анализа данных тут я тоже не специалист, но сто пудов видел на курсере и юдеми пару недель назад кучку курсов по этому.
Эконом вышка прикольная, сам её получал бонусом к инженерке за пару лет заочки, мне понравилось но реального применения не нашёл а ещё её в 9/10 случаев может заменить кинцо на ютубе how economics works + по мере надобности гугление
Ты бы хоть прочитал вопрос нормально, умник.
1. 'clear' нихуя не очищает экран, а просто сдвигает его вниз.
2. Тот анон специально просил изменять лишь несколько символов, а не перерисовывать весь экран.
Первая проблема решается заменой clear на printf "\033c", вот только хоть скроллинг и будет, после каждой перерисовки оно будет сбрасывать в конец, так что ты не сможешь за одним файлом следить, не держка скроллбар рукой.
Вторую проблему можно решить, наверное, въебав идиотские vim-like странички, тогда пересовывать нужно будет лишь одну страницу, что, вроде бы, не так плохо.
Но лучше было бы в каком-нибудь гуе набросать 3 виджета и размножить их.
qt.conf что-то не работает. Там какая-то странная функций загрузки этого qt.conf: он сначала проверяет, нет ли дефолтных путей, и только потом ищет этот файл. При этом если дефолтного пути к любой из категорий (binaries, plugins и т.д.) нет, то из функции выходит, даже не дойдя до стадии поиска qt.conf...
Ты изначально выбрал не те средства для решения свей задачи + отображать 500 строк в консоли. Кому они там нужны? Ты когда-нибудь пытался разобраться в 500 строках информации?
>Ты бы хоть прочитал вопрос нормально, умник.
>изменять лишь несколько символов, а не перерисовывать весь экран.
Все топовые программы, которые имеют ввод в консоль пользуются этим способом, а вы тут велосипед с треугольными колесами решили изобрести.
Какая разница, кто там что использует? Ему-то нужно было другое. Я сразу и написал в своём посте, что задача фигня, нужно переделывать, но это не значит, что можно отвечать на другой вопрос и делать вид, что ты типа умный такой, хопа, clear же ёба, и обосрать всех.
>Ему-то нужно было другое
Ему нужно было изменить несколько символов на экране, да, это уже все поняли, но самым правильным способом это сделать является очистка всего экрана и отрисовка всей информации по новой. Зачем вы тут сидите? Чтобы быдлокодеров плодить?
Во-первых, видимо, этот способ используют, потому что он работает. Сомневаюсь, что этому анону первому пришла в голову такая идея, и раз ее не реализуют, значит есть причины.
Во-вторых, по поводу 500 строк был написано не для того, чтобы обосрать, а дабы натолкнуть на мысль, обсирание только в твоей голове.
В общем, адекватный анон все правильно тебе написал.
Вот только чем тебе clear не нравится? И скроллинг можно реализовать.
Но у него инфы больше чем на один экран, в этом же вся проблема.
Тем более, я согласен:
>vim-like странички, тогда пересовывать нужно будет лишь одну страницу, что, вроде бы, не так плохо.
>>610175
Я не он.
>Вот только чем тебе clear не нравится?
--> >>610133
>1. 'clear' не очищает экран, а просто сдвигает его.
Кто не скачет тот ситх
Под vim-like страничками подразумевается scrollback buffer или что?
>я не он
Тогда извини. Думаю, понятно кому адресовано.
>просто сдвигает его
Отображаем часть информации, допустим, с 10 по 20 строки. При нажатии клавиши up сдвигаем экран и выводим с 8 по 18. Я это имел в виду. Думаю, и скролл колесом мыши можно перехватывать.
Я подразумевал как раз то, что ты и описал, только не с clear, а нормальной очисткой консоли, без следов. В виме, по-моему, как раз clear и используется, который потом всю консоль и лог (если пишется) засирает, если я туда-сюда двигался.
Как раз хотел вечером и попробовать это реализовать с curses каким-нибудь, посмотреть, нормально ли оно выглядеть вообще будет: каждую секунду нужно бы обновлять данные (чаще смысла нет), но при этом чтобы и скролл был плавным и ничего там друг друга не сломало.
Посмотри вот это пример, думаю пригодится: https://github.com/LyleScott/Python-curses-Scrolling-Example
По конвенции _foo, как везде, или вообще __foo, чтобы огородить от переопределения в дочернем классе.
https://www.python.org/dev/peps/pep-0008/
Он на английском только, и пока заполнены только пара разделов: http://edualist.com/programming/python/ и http://edualist.com/biz/startups/.
Заходите, проставляйте рейтинги, кидайте ссылки на крутые ресурсы.
Буду рад услышать пожелания.
Какое-то абсолютно неинформативное говно в стиле хипстурских ландинг пейджей.
Вообще, сделано очень хорошо, ты молодец!
Единственное:
> Dota 2
> MOOCs
Чёт в голосяндру с этого.
AWS, бесплатный пока.
Как меня воротит от эти _фоо, __фоо. Нет бы добавить наконец хотя бы какую-нибудь конструкцию для приватных методов, нет, хуй вам. Кококо пифон динамишный язык, приватность не нужна кококо. Зато, блядь, пепов для форматирования строк аж три сука! Зен пифона - это все, чего в пифоне нет.
Полагаю потому в purecss много чего еще нет (таблиц там, еще чего-то уже не помню).
сколько денег сайт приносит? как ты там бабло проставил чтобы покупать можно было?
>пифон динамишный язык, приватность не нужна кококо
Все так. Программист это не вендовый юзер с присохшим к мышке пальцем. Он сам знает что ему нужно, а что нет. Зачем его ограничивать? Достаточно дать понять, что автор не предусматривал использования функции снаружи, и _ для этого вполне то.
Это все понятно. Только читать код, на 80% состоящий из подчеркиваний то еще удовольствие. Вот и получается такая хуйня, что разрабам нужна приватность и они ее имитируют у себя в манямирке через эти ебанутые подчеркивания, вместо нормальных конструкций языка.
Так вы первые, кому я его показал, можно сказать. Сделал тред на реддите: https://www.reddit.com/r/learnprogramming/comments/3xyib2/imdb_for_learning_resources/ , но он мертвый почти и тонет. Рекламы же нет, деньги будут, если только кто-то купит книгу с амазона (там есть бесплатный линк на книгу и на амазон), тогда я получу свои 5% примерно.
классс
Нужно подсчитать сумму и количество натуральных делителей числа N. N<=10^9
сложность алгоритма корень из N
сделал просто со сложностью N, как сделать с корнем, не могу допереть, тупой
from math import sqrt
x=int(input())
T=0
S=0
i=1
while (i<=(x)):
if (x%i==0):
T=T+1
S=S+i
i=i+1
else:
i=i+1
print(T,S)
вот просто без корня
x=int(input())
T = 0
S = 0
i = 1
while (i<=(x)):
if (x%i==0):
T = T + 1
S = S + i
i = i + 1
else:
i = i + 1
print(T,S)
Какой сочный бутхирт любтеля компилировать. Ко-ко-ко-мпиляция решит мои статические проблемы. Ко-ко-ко очепятки. Просто ты дибил.
> “Укус Питона” – “A Byte of Python” - Ультрагоднота. Эта книга используется даже в НАСА!
А есть за НАСА пруфы? Ссылка на их сайте мертва
Но ведь действительно удобная вещь. Меня вот иногда коробит с некоторых названий в питоне, в отличие от шарпов.
>Только читать код, на 80% состоящий из подчеркиваний
Это где такое? Куча "private" гораздо лучше, что ли?
Или ты имеешь в виду snake_case вообще?
то есть декораторы в торнадо не делают код асинхронным, а код должен сам уметь асинхронность? Я так примерно и думал, просто надеялся, что я что-то упустил. Спасибо за ответ!
bump
У меня какие-то странные ассоциации возникают от оп-пика.
Олсо, проверяй сайт на мобильных. У тебя вместо иконки меню - 404.
И, на мой взгляд, не хватает сквозной навигации или поиска.
Непонятно, зачем summary - там дубль контента (или это Work In Progress просто?)
А как осилить тогда? Может литературы какой посоветуешь? Был бы очень признателен .
А что с ним? Фанатик сделал на 3д-принтере символику питона, очень даже мило.
Вообще-то, я про взаимное проникновение. Мне - меньше смотреть порнухи, тебе - меньше узнавать, что там у хохлов.
Защеку.
Чего толсто? Ты сам свои шарпы видал? Сходи на гитхаб, возьми самый популярный репозиторий на шарпе. Открой рандомный сорец - ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ, открой другой - ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ, еще один - ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ, ВездеГоризонтальныйСкролл и охуительные названия на пол-экрана.
Я вот сейчас смотрю dotnet/corefx и не могу найти ни одного сорца без горизонтального скролла.
>static bool EnumCalendarsCallback(IntPtr lpCalendarInfoString, uint calendar, IntPtr reserved, Interop.mincore_private.LParamCallbackContext cxt)
>result = Interop.mincore.GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SNAME, localeName, LOCALE_NAME_MAX_LENGTH);
>GetCalendarMonthInfo(localeName, calendarId, CAL_SABBREVMONTHNAME1 | CAL_RETURN_GENITIVE_NAMES, out this.saAbbrevMonthGenitiveNames);
>хорошие названия
В офф документации не написано?
двачую братишку, надо писать:
>static bool var(IntPtr a, uint b, IntPtr c, Interop.mincore_private.Ctx cx)
>res = Interop.mincore.GetInfo(name, sName, lName, len);
>GetMonthInfo(lName, id, mName | gNames, out this.gNames);
Зачем в питонтреде это спрашиваешь?
https://github.com/dotnet/coreclr/blob/master/src/mscorlib/corefx/System/Globalization/CalendarData.Win32.cs
Показывай отсутствие горизонтального скролла на своем мониторе.
Вот например:
>>> s = "2414125.146133616"
>>> s
'2414125.146133616'
>>> s = "245.246526256"
>>> import decimal
>>> decimal.getcontext().prec = 3
>>> decimal.Decimal(s)
Decimal('245.246526256')
Как в командной строке питона менять директорию??? cd не работает, заебался уже гуглить (питон 2,7,5)
разберусь с этой хуйней и пойду
бля спасибо, я заебался от этой хуйни уже
Пример: у меня в каждой таске запускается PhantomJS через Selenium и занимается скрейпингом жаваскриптового приложения. Хочу, чтобы в любой момент времени на одном воркере крутилось 20 браузеров. rate limiting - не то, я понятия не имею, за сколько таска отработает ( разброс от 15 секунд до 300 ).
Охуеть совет, чем я занимаюсь большую часть времени, как ты думаешь? Она как-то не особо богата примерами и подробными обьяснениями. Наверное если я дошел до вопросов на дваче, то доки как-то не раскурились.
tl = ['+','-','*','/','=','.']
znaki = [Button(r,text=i,width=1,height=1,command=lambda : f(i + 1)) for i in range(10)],(
[Button(r, text=tl,width=1,height=1,command=lambda : f(tl)) for i in range(6)])
Функция f печатает значение i или tl, но печатает она только последнее значение в указанное в цикле(10 или '.'). Почему она печатает только последнее значение и как это можно исправить?
Быстрофикс, tl
Не показывает квадратные скобки, фикс картинкой.
сукабля, вот я аутист, workers->concurrency работал очевидно правильно, просто чайлд процессы не подчищались автоматически и из-за этого у меня через 5 минут многие сотни браузеров заполоняли систему.
Мораль: чистите все в таске за собой перед return внимательно.
Но чсв у тебя таки явно завышенное, да, добрее надо быть.
А в чем ты увидел злость?
может надо кому.
Нет, записался интереса ради, сейчас первую неделю смотрю. Как всегда первые пол книги/туториала/... - до пизды дверца чистой водый.
Но а так народ (не маркетологи же, на бесплатный курс-то) вроде хвалит, я частенько референсы на этот курс встречал.
Я не совсем понял, почему цена указана, если он бесплатный. А курс какой-то ну очень вводный, циклы только на седьмой неделе.
Нажми без сертификата и цена пропадёт
Ну они каждый месяц идут, типа, все 5 курсов сразу. С учётом того что я почти первую неделю добил за вечер, думаю до официального начала 28го числа я и на вторую часть записаться успею.
Вообще проклятие какое-то, блядь. Не думал что я такой деревянный уже стал. Прошел кодекадеми, прочитал и прорешал A bite of python, Hello Python, Mark Dowson - Programming with Python, Learn Python hard way, по-немногу прохожу уже полтора раза прочитанную Think Python паралельно с почитываниями ебучего Луца "Изучаем питон", пару туториалов по джанго ебучей и прочим поебеням... сажусь писать код И ЕБАНОЕ НИХУЯ! Я тупо не представляю как его писать. Ни с джангой, ни на чистом. Вот вообще. Закрыл книжку и нихуя не понимаю. Задачки поставленные решать решаю, всякие гитхабоподелки нубские переписывать могу, а своё - хуй на воротник. Нахуй те классы даже понять не могу, генераторы и прочие декораторы меня ставят в тупик просто блядь.
Понял, спасибо.
Может у тебя просто сложности с постановкой задач, не знаешь как делать, потому что не знаешь что именно делать.
Понятия не имею что со мной не так. Если и это комбо из последних двух книжечек не принесёт результата - пойду SICP дочитывать и решать на питоне.
Просто у тебя шаблоны задач в голове. Пойди, прогуляйся, посмотри на мир, и найди в природе задачу для себя, составь, и вперёд за питон.
Тогда я не пойму зачем тебе курс для новичков. Что ты там нового хочешь услышать.
Жилбихряк собаку няк.
Задачу я решил следующим образом:
def chunks(lst, chunk_size): return (lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size))
def str2tuple(INPUTSTR): return tuple(float(numpy.frombuffer((buf + 6*b'\x00'), dtype = numpy.float128)) for buf in chunks(INPUTSTR, 10))
Анон, теперь расскажи, как такую задачу выполняют нормальные люди
Добра тебе!
from scipy.optimize import linprog as lp
edges = []
weights = []
infile = open('input.txt','r')
for line in infile:
if len(line.split(' ')) == 2:
edges.append((int(line.split(' ')[0]),int(line.split(' ')[1])))
else:
weights.append(int(line.split(' ')[0]))
N=len(weights)
M=len(edges)
x_bounds = []
b = []
A = []
for i in range(0,N):
x_bounds.append((0,1))
for i in range(0,M):
b.append(-1)
for i in range(0,M):
tmp = []
for j in range(0,N):
tmp.append(0)
tmp[edges[0]-1]=-1
tmp[edges[1]-1]=-1
A.append(tmp)
solution = lp(weights, A_ub=A, b_ub=b, bounds=x_bounds)
outfile = open('output.txt','w')
with outfile:
for i in range(0,N):
if solution.x>=0.5:
outfile.write(str(i+1)+' ')
Кароче вот рабочий код на питон 2,7,5
Может кто, у кого стоит питон 3, проверить заработает ли он на 3 питоне?
Если не сложно, подскажите что где заменить, чтобы заработал.
from scipy.optimize import linprog as lp
edges = []
weights = []
infile = open('input.txt','r')
for line in infile:
if len(line.split(' ')) == 2:
edges.append((int(line.split(' ')[0]),int(line.split(' ')[1])))
else:
weights.append(int(line.split(' ')[0]))
N=len(weights)
M=len(edges)
x_bounds = []
b = []
A = []
for i in range(0,N):
x_bounds.append((0,1))
for i in range(0,M):
b.append(-1)
for i in range(0,M):
tmp = []
for j in range(0,N):
tmp.append(0)
tmp[edges[0]-1]=-1
tmp[edges[1]-1]=-1
A.append(tmp)
solution = lp(weights, A_ub=A, b_ub=b, bounds=x_bounds)
outfile = open('output.txt','w')
with outfile:
for i in range(0,N):
if solution.x>=0.5:
outfile.write(str(i+1)+' ')
Кароче вот рабочий код на питон 2,7,5
Может кто, у кого стоит питон 3, проверить заработает ли он на 3 питоне?
Если не сложно, подскажите что где заменить, чтобы заработал.
Как-то ты странно with используешь.
2to3 прогнать не судьба? Вообще не вижу ничего чтобы не работало на 3-ке
> Может кто, у кого стоит питон 3
А поставить не судьба?
поставлю как нибудь, но мне по быстрому надо результат
да
Это и есть проблема, которая ракрывается в эмблеме питона в ОПа. Интерфейс очень ограничен.
Там даже видно что синий страдает и желтый, тоже страдает. Но синий страдает больше. Видимо 3-ий питон всетаки.
ed- лучшая ide. докажите обратное.
Синий всетаки всунул поддержку фьючерсов в желтый, но всеравно слишком все шатко, как-тою
хз, я юзаю мне пох. разницы не вижу никакой.
А у меня руки всегда холодные и потные.
Не питонично + не уверен, что файл закроется.
В каждом таске открываю новый webdriver. Убиваю его в хендлерах on_failure, on_succes. Все равно со временем фантомы утекают, откуда? В какой ситуации у меня таск завершается, не вызвав один из этих хэндлеров?
Уверен это все звучит для вас как бред, но бля я считай месяц назад и кодить ничего не умел вообще а сейчас говнокодю собственное говно не из учебника! Уииии бля
Что пишешь?
Барон.
Надеюсь ти не хохол. Тогда поздравляю.
Поздравляю. У самого нихуя не выходит. Теория читается, а как до личных задумок доходит -- ни строчки.
>>612687
Автоперекатывалку питонотреда уже написал?
В продакшене вообще фортран да кобол используют. С каких пор мы ориентируемся на энтерпрайз?
>требование так-то с подвохом было.
Так и ответ такой же, чего обзываться сразу, я вообще мимоанон же. Перед тем, как взялся, я надеялся, что придётся ещё и шрифт до 4-6 кегля уменьшить, для большей комичности, но оказалось, что не такое уж там и широкое всё.
Не подскажешь, почему все так активно используют while? Мне вот кажется, что for удобнее.
Так до того, что он течет, я догадался. Я пытаюсь понять где дырка. Как я понимаю, у меня начинается обработка новой таски, а у старой не вызвался ни on_succes, ни on_failure. Как такое может быть?
[CODE]
builder = Gtk.Builder()
builder.add_from_string("""myxml""")
[/CODE]
не добавляет вообще ничего от слова совсем, а
[CODE]
builder = Gtk.Builder()
builder.add_from_file("myxml.glade")
[/CODE]
работает просто прекрасно при одинаковом xml?
Во, сработало.
Вообще этот uimanager немного не для этого. ну хз. а в чем проблема из файла загружать интерфейс?
1, как и add_from_file()
Бывают иногда.
тебе скорее нужен new_from_string как пишут в доках.
Забываешь все, что узнал, читаешь Thinking in Java, изучаешь JavaFX, JavaEE, Spring, Hibernate и находишь работу.
Мы вам перезвоним.
>Python-тред
>компилировать
Щито?
>>609222
По ссылке.
>>609449
Лучше aiohttp http://aiohttp.readthedocs.org/en/stable/
Есть еще две рулетки, но я их проебал. Личных интересов то у тебя нет? На питоне автоматизировать можно даже небо, даже Аллаха.
http://blog.programmersmotivation.com/2014/07/09/list-projects/
Полистай ещё Think Python, оно есть если что на русском, ну и вообще оно всецело охуенное. Не тупые задачки типа заебень свою инпут-иф-елиф-елс текстовую игру, а парсинг имдб что бы выстроить графы и найти где ещё какой-нибудь жлоб снимался и с кем работал больше одного раза и тд и тп
Ну и бонусом держи остальные ссылочки что я накопил:
https://www.reddit.com/r/beginnerprojects
http://www.openbookproject.net/py4fun/
http://pythonpracticeprojects.com/
http://inventwithpython.com/
http://www.tutorialspoint.com//python/index.htm
https://www.hackerrank.com
https://www.codechef.com/
https://en.wikipedia.org/wiki/List_of_algorithms
https://github.com/karan/Projects-Solutions/blob/master/README.md
http://pythonpracticeprojects.com/
http://exercism.io/languages/python
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
http://www.w3resource.com/python-exercises/
http://rosettacode.org/wiki/Category:Programming_Tasks
http://usingpython.com/programs/
https://pythonspot.com/
http://www.practicepython.org/
https://www.quora.com/What-are-some-great-programming-projects-for-beginners
https://www.daniweb.com/programming/software-development/threads/32007/projects-for-the-beginner
https://github.com/gregmalcolm/python_koans
http://www.koverholt.com/2008/03/the-golden-resource-list-for-python-beginners/
https://pythonspot.com/
https://hourofpython.com/
http://www.cse.msu.edu/~cse231/PracticeOfComputingUsingPython/index.php
https://github.com/karan/Projects
http://www.makeuseof.com/tag/5-project-ideas-help-learn-programming-faster/
https://m.reddit.com/r/learnprogramming/comments/2a9ygh/1000_beginner_programming_projects_xpost/
http://www.openbookproject.net/py4fun/
http://code.activestate.com/recipes/langs/python/
может оп или кто у нас за перекаты отвественный их куда-нибудь в фак заебенит, в списке совсем говна вроде нету, но местами конечно проскальзывает
>>613150
Почитай ещё Python for Unix and Linux System Administration
https://www.hackerrank.com
https://www.codechef.com/
https://en.wikipedia.org/wiki/List_of_algorithms
https://github.com/karan/Projects-Solutions/blob/master/README.md
http://pythonpracticeprojects.com/
http://exercism.io/languages/python
https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
http://www.w3resource.com/python-exercises/
http://rosettacode.org/wiki/Category:Programming_Tasks
http://usingpython.com/programs/
https://pythonspot.com/
http://www.practicepython.org/
https://www.quora.com/What-are-some-great-programming-projects-for-beginners
https://www.daniweb.com/programming/software-development/threads/32007/projects-for-the-beginner
https://github.com/gregmalcolm/python_koans
http://www.koverholt.com/2008/03/the-golden-resource-list-for-python-beginners/
https://pythonspot.com/
https://hourofpython.com/
http://www.cse.msu.edu/~cse231/PracticeOfComputingUsingPython/index.php
https://github.com/karan/Projects
http://www.makeuseof.com/tag/5-project-ideas-help-learn-programming-faster/
https://m.reddit.com/r/learnprogramming/comments/2a9ygh/1000_beginner_programming_projects_xpost/
http://www.openbookproject.net/py4fun/
http://code.activestate.com/recipes/langs/python/
может оп или кто у нас за перекаты отвественный их куда-нибудь в фак заебенит, в списке совсем говна вроде нету, но местами конечно проскальзывает
>>613150
Почитай ещё Python for Unix and Linux System Administration
Вот может юзер ввести скажем 1:20:00 - т.е. 1 час 20 минут
Может ввести 2:10 - т.е. 2 минуты 10 секунд
Как это по-красивее в конструкцию завернуть что бы не if user_input.count(':') == 2: ....
Это же паттерны по-идее уже? Если не затруднит подсобите примерчиком-другим
Да, точно он, спасибо.
А, он оказывается в винду плохо умеет. Есть альтернативы с подобным функционалом?
Хз, может есть. Пользуйся нормальными системами.
Сохранял еще когда питон учить не начал. Лет пять назад наверное.
>быстродействие
Такое же как и у других языков этого класса. Ну и PyPy уже работает, правда жрёт память как жаба.
>многопоточность
Было бы конечно круто, но те кто пытались делать ниасилели.
>компилятор
Интерпретируемому языку? Во всяком случае компиляторы таки есть. Но они по сути не более чем бандлеры рантайма (=интерпретатора) и питонокода в одну экзешку. И сделать это как-то иначе нельзя.
>проверка типов
Есть декларации типов и линтеры. Опять же, питон позиционируется как язык попроще, это никогда не было целью. Но если хотите, есть Cython.
>приватные методы
По договорённости обозначаются _, в некоторых случаях интерпретатор это использует.
>паттерн-матчинг
Частично присутствует. Можно быстро разбирать на части кортежи.
>хвостовая рекурсия
Гвида говорит что это усложнит дебаг из-за проёбанных трейсов вызова и принесёт мало выгоды. Здесь вам не хаскель, где это критично.
>switch-case
Громоздкий динозавр с хитровыебанной логикой сравнения. Можно обойтись без него.
>карринг
Что мешает делать карринг?
>ленивость
Вычисление условий лениво. Стратегия вычислений классическая императивная, глобальной всеобъемлющей ленивости тут не нужно. Есть дохуя разных генераторов, работающих лениво.
>алгебраические типы
Это выгодно только для статической типизации.
>округление результатов
Ещё один уёбок не знает как работают числа с плавающей точкой?
>соглашения об именовании
PEP8 + общепринятый стиль, который на удивление мало кто нарушает.
>быстродействие
Такое же как и у других языков этого класса. Ну и PyPy уже работает, правда жрёт память как жаба.
>многопоточность
Было бы конечно круто, но те кто пытались делать ниасилели.
>компилятор
Интерпретируемому языку? Во всяком случае компиляторы таки есть. Но они по сути не более чем бандлеры рантайма (=интерпретатора) и питонокода в одну экзешку. И сделать это как-то иначе нельзя.
>проверка типов
Есть декларации типов и линтеры. Опять же, питон позиционируется как язык попроще, это никогда не было целью. Но если хотите, есть Cython.
>приватные методы
По договорённости обозначаются _, в некоторых случаях интерпретатор это использует.
>паттерн-матчинг
Частично присутствует. Можно быстро разбирать на части кортежи.
>хвостовая рекурсия
Гвида говорит что это усложнит дебаг из-за проёбанных трейсов вызова и принесёт мало выгоды. Здесь вам не хаскель, где это критично.
>switch-case
Громоздкий динозавр с хитровыебанной логикой сравнения. Можно обойтись без него.
>карринг
Что мешает делать карринг?
>ленивость
Вычисление условий лениво. Стратегия вычислений классическая императивная, глобальной всеобъемлющей ленивости тут не нужно. Есть дохуя разных генераторов, работающих лениво.
>алгебраические типы
Это выгодно только для статической типизации.
>округление результатов
Ещё один уёбок не знает как работают числа с плавающей точкой?
>соглашения об именовании
PEP8 + общепринятый стиль, который на удивление мало кто нарушает.
Я знаю, что в С исплользуются указатели. А в питоне получается любая переменная по сути указатель на объект. Короч, объясните ньюфагу.
Его не надо читать как Библию от корки до корки. Открывай, когда нужно найти решение. У Лутза очень подробно показано как решить конкретную задачу.
http://habrahabr.ru/post/147281/
Так автор статьи продолжает возмущаться. Все правда под устали от его критики, но она справедлива.
Вот посвежее http://lucumr.pocoo.org/2014/5/12/everything-about-unicode/
Я читал перевод на русском, не могу сейчас найти.
Во-первых есть иммутабельные объекты, на которые лучше смотреть как на обычные скалярные значения. Т.е. 57 это 57 вне зависимости от количества копий этого значения в памяти.
Во-вторых есть объекты мутабельные. Вот здесь уже аналогия из си. Например list, dict, set.
Для связности нужно просто ссылаться объектам друг на друга:
a = {'name': 'initial'}
b = {'name': 'next'}
a['fwd_link'] = b
b['rev_link'] = a
Фишечка в том что рекурсивного пересоздания структур при таком присвоении не происходит, как бы ставится только указатель.
b['OP'] = 'hui'
assert a['fwd_link']['OP'] == 'hui'
Но в отличие от си думать про указатели не нужно. Можно легко выкинуть любое из имён:
del b
assert a['fwd_link']['OP'] == 'hui'
Пока есть возможность достучаться до какого-то закоулка связной структуры, она висит в памяти. Полностью вычистить можно удалив и второй объект:
del a
>>613394
Да бросьте, это обычный веб-быдлокодер. Проблемы питоньего си-говнокода:
1. В си-говнокоде.
2. В недостаточном количестве людей хорошо понимающем весь код интерпретатора.
3. В отсутствии ясного понимания куда в конечном итоге питон прикатится.
4. В наличии десятка реализаций питона с разными особенностями. В статьях скорее всего критика исключительно сишной реализации.
Все четыре проблемы заведомо неразрешимы. Что там и через какие слоты реализовано - да кого оно ебёт пока оно работает?
Супер, бро! Спасибо большое!
Понял. Спасибо.
Отредактируй PE заголовок, чтобы превратить windows application в console application (http://stackoverflow.com/questions/574911/difference-between-windows-and-console-application), должно быть достаточно.
Не, я хочу отдельное окно, куда мой скрипт будет вываливать инфу. Накатал гуишку на tkinter, даже умудрился ее запустить с помощю subprocess.Popen, но не могу переливать инфу между модулями. То есть я посылаю с помощю stdin.write(data) инфу, но сраный ткитнер принимает только перое такое сообщение. Читаю с помощю raw_input().
Короче, вот моя гуишка:
http://pastebin.com/pRZLxGJV
Вот тестовый скрипт:
http://pastebin.com/wjT7t9jA
Получается, что гуишка показывает только первую строку "345", а когда отправляю "123" уже не обновляется.
Сажа офф.
Хочу запилить бота для wot, там есть мод для миникарты, который управляется скриптом на питоне. Я хочу переписать этот скрипт чтобы получать инфу о состоянии игры. Скрипт инициализируется при старте игры. Я хочу чтобы при инициализации он запускал консоль/гуишку и выводил туда основные параметры: координаты и состояния танчиков.
>>613877
А как сделать чтобы вызов был циклический? Ткитнер реагирует на события: клики, тычки веточкой, нажатия клавиш. Как мне обновлять лейбел в цикле?
>Ткитнер реагирует на события: клики, тычки веточкой, нажатия клавиш.
Да, для этого есть коллбэки.
>Как мне обновлять лейбел в цикле?
Запили что-нибудь типа
def change_text():
text_variable.set(value)
tk.after(500, change_text)
Могу ошибаться, давно не пользовался.
> бота для wot
Лень даже гуглить, так что сам ищи. Возможно там пифон с урезанными возможностями и ты не сможешь запустить ни гуй, ни консольку.
> А как сделать чтобы вызов был циклический? Ткитнер реагирует на события: клики, тычки веточкой, нажатия клавиш. Как мне обновлять лейбел в цикле?
Читай документацию. Если тебе нужен цикличный опрос и обязательно нужен tkinter, то надо городить ещё один тред, который будет "слушать" консольку и что-то менять в гуе.
А использовать trace не получится?
http://habrahabr.ru/post/140581/
Ты не понимаешь, это первый признак наличия человека в "божественном пантеоне". Нужно больше кумиров.
Да, я ссу на ваши авторитеты. Потому что могу. И потому что знаю как изнутри поддерживаются сишные проекты. Си это как гроб, раз забив гвозди и закопав, хуй нормально отрефакторишь потом.
>>613936
Да читал я. Ну используются там слоты, ну не дают они делать труЪ-ооп и в хвост, и в гриву, и с подкатом вприсядку. Ну есть там условно неоптимальные места. Но эта статья 100% не заслуживает оказанного ей внимания. Это не advanced-level знание о питоне, это хуета, которая каждый день сотнями фиксится во всех известных проектах.
Вовсе нет. Это уж на совсем начинающих расчитано.
Я давно не заходил, и оказалось, что весь прогресс пропал, да еще кто-то на мою новую беззащитную базу напал. Очень увлекательно.
Возможность рефакторить зависит не от языка, а от разработчика и процесса.
Сам делал рефакторинг довольно объёмного кода на Си, написанного под телеком-железо. Но перед рефакторингом обязательно покрыть код юнит-тестами.
Имел в вид что-то вроде команды ./manage.py dumpdata app_name.
Не беря в расчет вопросы с работой и прочим дерьмом.
Фласк с виду проще, но много надо пилить самому, если нужно что-то посложнее.
Катись в Джанго, там хоть сразу в MVC врубишься.
Обоснуй. Меня порнуха кормит.
https://ru.wikipedia.org/wiki/Django
>dʒæŋɡoʊ — свободный программный каркас для веб-приложений на языке Python, использующий шаблон проектирования MVC.
Напридумывают бля.
ок понял
>Фласк с виду проще, но много надо пилить самому, если нужно что-то посложнее.
Можно тогда поконкретнее, с какими велосипедами я столкнусь во фласке?
Мне во фласке понравилась архитектура,
нет, но если содержит то выдаст ошибку, то есть условие сработает, а если всё правильно пишешь то выкидывает
А не должено выкидывать? Судя по коду у тебя произойдет return None
А если блок этот убрать то будет return True происходить
хм, нет не должно. Мне нужно return True. Не понимаю почему возвращается None?
Всё, всё понял, отступов нет)
Потому что у тебя никакого return не происходит а по-умолчанию возращается None
>pip install libtcod-cffi (библиотека для рогаликов)
На определённом этапе получаю
>Failed building wheel for libtcod-cffi
В итоге получаю ошибку
>Сommand "/home/i/dev/myvenv/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-c5Gjs0/libtcod-cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-uiVALf-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/i/dev/myvenv/include/site/python2.7/libtcod-cffi" failed with error code 1 in /tmp/pip-build-c5Gjs0/libtcod-cffi
Щито оно ещё блядь от меня хочет? я и так целую гору говна наставил типа полного пакета setuptools и прочих
>sudo apt-get install python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev
Ошибка гуглится, а толку с этого хуй
А, также если логин в базе.
Супер, бро. Спасибо!
https://www.djangopackages.com/
Под джангу много уже сделано. Например, rest framework, django mptt, админка из коробки. Всё потому что джанга гвоздями прибита к моделям, нельзя например создать апп без models.py.
Фласк - это микрофреймворк. Для новичка на нём будет легче и понятнее пилить микросайты. Но фласк по сути снимает с себя огромную часть вещей которые решает джанга (например нет моделей и слоя данных вообще, потому он и микро-, как в unix way - лучше делай что-то одно, но делай это хорошо), зато даёт тебе возможность запиливать велосипеды на базе универсальных библиотек. Например в качестве ORM можно взять алхимию или куски той же джанги. Я фласк использую когда орм мне не нужен (например бэкэндом служит sphinx+mongo).
>libtcod-cffi
Ищи где тусуют разработчики, смотри требования, репорти баг. Вероятно они тебе и пояснят что сделать. Ошибки компиляции не решаются установкой ещё чего-нибудь. И кстати у тебя не написало какую конкретную ошибку компилятор сишки высрал.
>функционыльные особенности языка? Про лямбды?
Тут вам не хаскель. Осиливай итераторы, генераторы, yield, далее filter/map/reduce и осознание что они возвращают ленивый генератор. lambda - это всего лишь однострочная форма записи функции без имени.
Пхп был пиздат своим сайтом с документацией и комментариями содержащими гору самого разного кода - тут этого нету, все ищи по гитхабам бля и хуй ты целенаправленно чего найдёшь.
Да и по стандартной библиотеке как-то инфы и не шибко много, примеры куцие совсем.
Я вот вроде бы тебя и понимаю, но ты такой хуй, что мне лень даже объяснять. Если коротко: не получится быстро и просто взять и содрать, здесь тебе не пхп, здесь всё иначе делается - оформляется в виде библиотеки. И да, тебе не нужно учить все внутренности этой библиотеки как в пхп, они здесь реально решают проблему, а не предлагают очередной бесполезный говнофреймворк делающий всё и ничего одновременно.
А нам откуда знать что тебе и для чего нужно.
ПЕРЕКОТ → https://2ch.hk/pr/res/614738.html (М)
ПЕРЕКОТ → https://2ch.hk/pr/res/614738.html (М)
Рояль.
перекатился из закрытого треда
Sup программисты!
Кун, 25 лвл, с детства хотел обмазаться вер-программированием, но все никак не получалось, сейчас же, зарывшись в личных проблемах решил осуществить свою давнюю мечту. Попросил знакомого чела научить основам, он предложил Python для начального языка, поучил какое-то время, а потом он уехал в далекие края и мое обучение закончилось. Потом я записался на курсы в Netcreacker, но не доучился, не получалось по времени посещать и я отстал от занятий.
Потом понял, что Java мне не по нраву и начал самостоятельно учить Python на codeacademy, в итоге не долго поучившись, увидел вакансию Django-программист-стажер, записался, на данный момент успешно посешал занятия, так называемое домашнее задание по Python сдал без проблем, потом был один вводный курс по Django и вот 3 января мне задали домашку, которую нужно сдать до 7 числа. Собственно с того самого дня, как мне ее задали, почти не сплю, вгрызаюсь в этот Django-гранит и читаю, читаю, но к завершению мой проект так и не близится, более того, на момент написания поста создал опять новый проект и сижу перед пустым приложением, не могу ничего сделать, в голове каша, силы на пределе, но я не сдаюсь, углубляюсь все дальше и настолько же вязну в пучине знаний.
Собственно вот я и приблизился к самому вопросу:
Уважаемые гуру, может есть у кого свободное время, чтобы выделить несколько часов мне, смиренному стажеру, чтобы помочь в создании этого дела, даже не так, помочь это мягко сказано, поэтапно рассказать, что и как делается, чтоб собрать в голове модель работы. Можно в скайпе или как удобно.
Задание такое:
создать модуль достижения целей
Пользователь должен иметь возможность добавить сколько угодно целей, у каждой из них создать сколько угодно этапов. У каждого названия должны быть название и описание, а также статус исполнения. У цели также должно быть название и описание. Статус выполнения цели должен отображаться в % в зависимости от готовности этапов цели.
Все манипуляции должны происходить через web-интерфейс..(без стилей и JS)
в пике приложу то, что я смог сделать.
перекатился из закрытого треда
Sup программисты!
Кун, 25 лвл, с детства хотел обмазаться вер-программированием, но все никак не получалось, сейчас же, зарывшись в личных проблемах решил осуществить свою давнюю мечту. Попросил знакомого чела научить основам, он предложил Python для начального языка, поучил какое-то время, а потом он уехал в далекие края и мое обучение закончилось. Потом я записался на курсы в Netcreacker, но не доучился, не получалось по времени посещать и я отстал от занятий.
Потом понял, что Java мне не по нраву и начал самостоятельно учить Python на codeacademy, в итоге не долго поучившись, увидел вакансию Django-программист-стажер, записался, на данный момент успешно посешал занятия, так называемое домашнее задание по Python сдал без проблем, потом был один вводный курс по Django и вот 3 января мне задали домашку, которую нужно сдать до 7 числа. Собственно с того самого дня, как мне ее задали, почти не сплю, вгрызаюсь в этот Django-гранит и читаю, читаю, но к завершению мой проект так и не близится, более того, на момент написания поста создал опять новый проект и сижу перед пустым приложением, не могу ничего сделать, в голове каша, силы на пределе, но я не сдаюсь, углубляюсь все дальше и настолько же вязну в пучине знаний.
Собственно вот я и приблизился к самому вопросу:
Уважаемые гуру, может есть у кого свободное время, чтобы выделить несколько часов мне, смиренному стажеру, чтобы помочь в создании этого дела, даже не так, помочь это мягко сказано, поэтапно рассказать, что и как делается, чтоб собрать в голове модель работы. Можно в скайпе или как удобно.
Задание такое:
создать модуль достижения целей
Пользователь должен иметь возможность добавить сколько угодно целей, у каждой из них создать сколько угодно этапов. У каждого названия должны быть название и описание, а также статус исполнения. У цели также должно быть название и описание. Статус выполнения цели должен отображаться в % в зависимости от готовности этапов цели.
Все манипуляции должны происходить через web-интерфейс..(без стилей и JS)
в пике приложу то, что я смог сделать.
Это копия, сохраненная 24 января 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.