Метка «python3»

Эра Python. Начало - 1

Недавно, со сменой руководства, наша кафедра взяла курс на усиление и развитие базы программирования сразу в нескольких предметах, которые мы преподаем. Конкретней – был введен новый для нас язык программирования Python. Не скажу, что это далось быстро и безболезненно, но со временем я оценила простоту и легкость обучения, а главное, широту использования данного языка.

Боюсь вызвать (или нет?) очередную волну холивара, но старый добрый и любимый до сих пор во многих школах и ВУЗах (наш не исключение) Pascal, мягко говоря, не подходит для неокрепшей психики студентов, которым с первого курса преподают программирование на этом языке. И, что печально, но легко объяснимо, несчастные дети не понимают, зачем им это чудо нужно и где они его будут применять в реальной жизни. Да-да, я в курсе, что в мире чистый Pascal не используется, а предназначен в основном для знакомства с азами программирования. Но скажите, зачем из пяти лет обучения, студенту тратить полгода или год (зависит от фантазии лектора) на это самое ознакомление на примере мертвого языка, который после придется априори забыть, если можно сразу изучать перспективный и, главное, широко используемый язык программирования?
Читать полностью »

Недавно я писал пост про то, как был придуман и написан thunderargs. Сегодня я раccкажу о том, как его можно применять.

Напомню, что эта штука предназначена для обработки параметров функции при помощи аннотаций. Например, так:

OPERATION = {'+': lambda x, y: x+y,
             '-': lambda x, y: x-y,
             '*': lambda x, y: x*y,
             '/': lambda x, y: x/y,
             '^': lambda x, y: pow(x,y)}

@Endpoint
def calculate(x:Arg(int), y:Arg(int),
                       op:Arg(str, default='+', expander=OPERATION)):
    return str(op(x,y))

Постараемся по ходу тутора решать вполне определённые проблемы, а не какие-то эфемерные задачки. Ну а теперь — к делу.

Читать полностью »

image
Конференция ЕвроПитон 2013 во Флоренции, в Италии открылась с доклада Ван Линдберга о близжайщих двадцати лет Питона. Линдберг, юрист, с инженерным образованием является председателем Фонда программного обеспечения Питон (ФПОП ) и автором книги Интеллектуальная Собственность и Открытый Исходный Код (рассмотренный на LWN в 2008 году). Его доклад взглянул на проблемы, с которыми сталкивается общество ПитонЧитать полностью »

Сразу хочу объявить, что здесь под аннотациями подразумеваются НЕ декораторы. И я не знаю по какой причине декораторы иногда именуют аннотациями.

Недавно я открыл для себя что в питоне есть фишка, которую я очень давно искал — аннотации к функциям. Это — возможность пихнуть в декларацию функции какую-либо информацию по каждому отдельному её параметру.

Вот каноничный пример из PEP:

def compile(source: "something compilable",
            filename: "where the compilable thing comes from",
            mode: "is this a single statement or a suite?"):
    ...

Там же, чуть ниже, приводятся примеры, которые дают понять, что комментирование параметров — не единственное возможное использование данной фичи. Это натолкнуло меня на мысль об одной старой беде, которая досаждала моей нервной системе уже приличное время. А именно — получение данных из форм во Flask.

Читать полностью »

Наверное, все уже слышали о чудесной библиотеке asyncio?

Если нет, то коротко: эта либа стала стандартом на асинхронное сетевое программирование на Python. tornado и twisted или научатся с ней работать или постепенно уйдут в маргиналы.

asyncio прекрасна, но это просто библиотека для работы с TCP, UDP, UNIX сокетами, PIPES и асинхронным запуском subprocess.

Чтобы всем было здорово нужны сторонние библиотеки, умеющие работать с asyncio. Кое-что уже есть, но мало.

Вот я с коллегами и сделал пару: одну для ZeroMQ и другую для PostgreSQL

Если вы прочно сидите на Python 2 и не интересуетесь Python 3 — не ходите под кат во избежание глупых вопросов и прочих недоразумений.
Читать полностью »

Мы будем говорить о новом webmail клиенте с открытыми исходниками.

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

Из примеров, которые зацепили:

И конечно смотрел на mailpile.is, но они пошли странным путем.

После всех этих и других проб понял, что в gmail сделаны идеальные для меня цепочки писем (ну или почти идеальные). А пару-тройку месяцев назад мне нужна была идея для проекта и в итоге склонился, что нужен webmail клиент с gmail-подобными цепочками писем. Это то чего мне не хватает и чем бы пользовался регулярно на ежедневной основе, а последнее очень важно для заинтересованности в разработке и улучшениии продукта.
Читать полностью »

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

Где-то пол года назад я загорелся желанием открыть свой кружок по программированию для детей. Решил, что было бы замечательно набрать группу детей и обучить их полезному языку программирования и познакомить с основными технологиями, которые применяются совместно с программированием и смогут пригодиться в реальной жизни, например, работа с HTTP и базы данных.
Читать полностью »

Предыстория

На определенном этапе развития технологий компании Acronis было принято решение изучить возможность распространения интерпретатора языка python3 собственной сборки как часть наших продуктов, расширив его при этом нашими собственными модулями, обеспечивающими доступ к инфраструктуре этих продуктов. Данный пост является одним из результатов исследований в этом направлении.

В первую очередь, нам хотелось иметь ограниченный компактный набор конечных распространяемых модулей. Однако публичная сборка питона, распространяемая через python.org к этому не располагает, одна только стандартная библиотека, являющаяся неотъемлемой частью самого языка, состоит из более чем тысячи py-файлов. Именно поэтому, мы сразу обратили внимание на такую любопытную особенность интерпретатора, как возможность импорта модулей, находящихся в zip-архивах, когда все множество исходников на питоне, относящихся к одному или нескольким модулям, упаковано в zip-архив и распространяется одним zip-файлом.

Читать полностью »

Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше?
Читать полностью »

image

В последнюю пятницу октября в Минске традиционно прошел Python Meetup, на котором вприкуску с бургерами были зачитаны три доклада от спецов из компаний Viber, Melesta и Wargaming.net. На этот раз прошлись по недостаткам Python, разобрались на примере, с какими проблемами можно столкнуться при портировании на Python, а также рассмотрели все этапы разработки серверов на Python для социальных игр. Все видео, а также ссылки на презентации можно найти чуть ниже.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js