to post messages and comments.

← All posts tagged Python

@Shchvova:

github.com (мой вольный пересказ)
Язык “Дежурный”. Если функция кидает исключение, она должна быть наказана. Если функция наружает клятву или обещания (что-то похожее на `assert`), она должна быть наказана. У Дежурного одно наказание. Удаление. Функция будет удалена из ваших исходников.

@Shchvova:

а чо, хацкеры. К предадущей проблема. А можно переопределить так . (__getattr__) что бы получить сраное каррирование лол?

@Shchvova:

не часто задаю вопросы по питону, но даже не знаю как нагуглить. Вот есть список. Я его последовательно фигачу фильтрами, мапами. Общим, вот кот специально для пимера:
#!/usr/bin/env python
import sys

if __name__ == '__main__':
    with open(sys.argv[1]) as f:
        lines = f.readlines()
        lines = map(str.strip, lines) #stripping endlines
        lines = filter(bool, lines) #stripping empty lines
        lines = filter(lambda l: ':' in l, lines) #filter out strings withot :
        lines = map(lambda l: l.split(':', 1), lines)
        lines = map(lambda l: "=".join(l), lines)
        print "\n".join(lines)

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

#!/usr/bin/env python
import sys

class Monadinize():
    def __init__(self, l):
        self.l = l

    def map(self, f, *args):
        self.l = map(f, self.l, *args)
        return self

    def filter(self, f):
        self.l = filter(f, self.l)
        return self

    def done(self):
        return self.l

if __name__ == '__main__':
    with open(sys.argv[1]) as f:
        out = Monadinize(f.readlines()) \
                    .map(str.strip) \
                    .filter(bool) \
                    .filter(lambda l: ':' in l) \
                    .map(lambda l: l.split(':', 1)) \
                    .map(lambda l: "=".join(l)) \
                    .done()
        print "\n".join(out)

Ведь паттерн такой общий, должны же быть инструменты, а?

@Shchvova:

__ методы в питоне хозяйке на заметку. А то забудешь как какой-то писать и ходи пыщ пыщ доки rafekettler.com

@Shchvova:

[os.path.join(root, f) for root, _, files in os.walk('.') for f in files if f.endswith('.txt')]

@Shchvova:

Оказалось в питоне есть nntp клиент из коробки.
import nntplib
Питон няшечка

@Shchvova:

клевый скринкаст в котором можно подсмотреть как ипользовать сетаптулз, вирчуэнв и сделать консольную утилиту при помощи клик. youtube.com

@Shchvova:

Вот пишу на тайпскрипт. Штука сделана исключительно что бы помочь IDE давать подсказки :(
Иногда складывается впечатление, что стрикт тайпинг сделан исключительно что бы было легче разработчиками JetBrains ... & MS Visual Studio делать свои поделки. Что бы убедится в этом достаточно посмотреть презентацию того же котлин. А вообще пофиг. Это не то что хотел сказать. Хотел сказать что разработчики сред программирования — ленивые и плохо делают свою работу.

@Shchvova:

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

@Shchvova:

В Яндекс Киева нужен питонист. Как всегда есть затравочные вопросы на интервью. Давайте мерятся кто круче ответит на 1 и 3  Ну и вообще, хочу прграммистского дискача на жуйке, а то все сопли да розмазня. Го в комменты! Вот кстате ссылка http://company.yandex.ru/job/vacancies/system_testing_python.xml

@Shchvova:

Ну, общим — вот. code.svoka.com
Плагин (и дока к нему) для XBMC который умеет (?) показывать видео с ВКонтакта. Пишите, спрашивайте, исправляйте. Или никому оно вообще не надо?

@Shchvova:

Последнее время склоняюсь к идее что "Python is c-style LISP with batteries included"

@Shchvova:

Написал свою версию Дедфудовского ужоса (#841894). Выглядит няшнейше, особенно мне нравится 10 я строчка. paste.pocoo.org

@Shchvova:

Ну вот, глядя на этот кусок кода чувствую себя сильно склонным к лиспу и прочему фп... Няшнота ведь ) paste.pocoo.org

@Shchvova:

вам какая функция более кавай? 1 или 2?
paste.pocoo.org

@Shchvova:

кейс-стади: слайцсс, Shchvova.habrahabr.ru

@Shchvova:

Сидел себе сидел, и тут прорвало, решил поделиться знаниями, и написал интересную (?) статью про python, решил на хабр запостить, а кармы нету… Буду себе держать :)