Пользователь
30,2
рейтинг
28 января 2012 в 22:47

Разработка → Уроки Python от компании Google

Отличный способ освоить Python — учебный класс Python в Google Code University. Уроки для этого класса написал Ник Парланте из Стэнфорда, и прошедшие курс люди отмечают не просто высокое, а фантастически высокое качество уроков.

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

Есть ещё скачиваемые задачки. Они довольно простые и созданы специально для начинающих. Курс идеально подходит для изучения Python программистами, имеющими опыт работы с другими языками программирования.
Анатолий Ализар @alizar
карма
749,5
рейтинг 30,2
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (82)

  • +2
    Питон давно интересен, в этом году собирался начать изучать.
    Но это же просто знак свыше какой-то!
    • +5
      Вы никогда не слышали про правило 72-х часов?
      • 0
        Хм, раньше нет, спасибо.
        Вы, видимо, достаточно часто его придерживаетесь, оно так сильно изменило Вашу жизнь?
        Хороший метод борьбы с прокрастинацией, а что помогает на более коротких временных интервалах?
      • +3
        Правило в общем-то полезное, но не стоит преувеличивать. Например, я хотел ещё полгода назад сделать небольшой веб-проект, и уже неделю как этим занимаюсь. Так что если желание есть — то все можно успеть, другое дело мимолётное это желание или нет.
        • 0
          Это, скорее исключение.
          Просто вспомнить через полгода и сесть делать — нетипичный случай, точно.
          Поэтому либо Вам эта идея проекта в голову засела основательно, либо Вы её записали там, где только сейчас нашли. Другая крайность — сознательно откладывали все полгода, вынашивали и лелеяли её.
          • +2
            Да я просто знал, что после сессии будет достаточно свободного времени, когда с головой можно окунуться во что-то, и не думать о «левых» вещах. Просто был ориентир, далеко ушедший за 72 часа :)
      • +1
        ссылка на этот пост пятая в гугле по запросу «правило 72-х часов»
      • +14
        Когда вы не спали 72 часа, то дальше работать смысла не имеет?
      • 0
        Читал о противоположном мнении. Если мне память не изменяет, у Архангельского в «Тайм-драйв».
      • 0
        Я согласен с теми, кто придерживается совсем иного правила и думаю, что оно работает.

        Если идея не покидает меня долгое время, то это знак. За продолжительный период я успеваю взвесить все «за» и «против» и не наступаю на грабли импульсивного «вау, что я придумал!». В противном случае, меня бы окружала куча бесполезного реально и виртуального хлама, который я создал/начал создавать за те самые 72 часа.
    • 0
      100%… давно пытаюсь перейти на Python, все никак не получалось по времени, а тут… Надобно будет сегодня же засесть. :)
    • 0
      У Ника Парланте очень классное произношение и манера преподавания. Он крутой.
  • НЛО прилетело и опубликовало эту надпись здесь
    • –2
      Аналогичная ситуация. Решил Python вспомнить и побаловаться с wxPython.
      • +4
        Держите в курсе, ребят. Ждём дальнейших известий.
  • +13
    Курс опубликован давно, весьма среден, и слишком поверхностный. Родной туториал будет в разы полезнее docs.python.org/tutorial/
  • +8
    Грустно, что на основании свежего отзыва какого-то блогера на хабр попадают уроки N-летней давности. Пусть и неплохие.

    ~/google-python-exercises$ python
    Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53)


    Понятно, что большая часть там до сих пор актуальна, но это не дело. Есть большое количество свежего материала. Тот же самый Dive Into Python, видео с PyCon и других конференций, всякие learnpython / learnpythonthehardway и тд. Курс SICP этой осенью был переведен на Python.

    PythonWeekly's Channel
    • +1
      Это уже далеко от введения, не кажется? Особенно видео с pycon. В качестве именно введения курс будет актуален еще долго.
      • +1
        Разве так уж далеко? :) Dive Into Python и, например, курс от MIT (введение в CS, вроде) начинают с самых азов. И видео с PyCon есть разные.

        Да я и не про это, а про сам факт создания подобного поста. Одно дело — обзор всевозможных курсов и материала по теме, или просто интересный, свежий и оригинальный туториал. А тут…

        PS. Мне почему-то кажется, что «введения» это вещь довольно бессмысленная. Хотя сам их, признаться, очень люблю :) Но всё-таки гораздо лучше столкнуться сразу с чем-то реальным и по ходу дела читать маны и разбираться, чем абстрактно провести четыре часа перед экраном, выслушивая общие фразы по теме. Обычно этими четырьмя часами всё и заканчивается. Из плюсов можно отметить _возможность_ получения базы и структурированных знаний.
        • +1
          не могу не согласиться — мне было сложно взяться как на sh так и за ms-psh скриптинг, пока не припекло реальными задачами, а сделав проект на sh лугче писать и на других языках уже, когда информация как-то структурируется в голове, сейчас подумываю а не переписать ли проект на питоне
  • –5
    Я вот тоже давно смотрю в сторону Питона, но сознательно не могу понять, почему. Вот что-то внутри подталкивает к нему, но как-то на уровне интуиции, что-ли…

    Если говорить о вэбе — то какие преимущества у питона перед тем же пхп? Для каких задач он подходит больше?
    В каких еще областях он хорош?
    • +6
      <holywar>
      • 0
        И в мыслях небыло. Я был бы очень благодарен за реальные юзкейсы, где питон выигрывает, чтобы определиться, стоит ли мне вписывать его в ближайший график. Но почему-то в ответ получаю только минусы, хотя вопрос отнюдь не офттопный
        • +4
          catb.org/esr/faqs/smart-questions.html
          И я не утверждал, что Ваши вопросы направлены на разжигание холивара. Я всего лишь указал, что они вполне могут к этому привести.
        • 0
          С собой он принес большой и разнообразный мир нормально структурированных веб-приложений и каркасов для них, современных утилит и серверных составляющих проекта.
        • 0
          Рекомендую к прочтению книгу Марка Лутца «Изучаем python». В книге есть ответы на подобные вопросы, книга очень хорошая и интересная, дает ответы на все вопросы, которые могут возникнуть у начинающих.
    • +8
      Думаю если просто смотреть, то вы еще долго не определитесь :)
      • 0
        Ну так может хоть парочку юзкейсов приведете в целях просвещения?
        • +1
          Можете выбрать любые два, какие вам придут в голову. Если вам действительно интересно, что да как, искренне советую прекратить задаваться такими вопросами и попробовать что-нибудь сделать своими руками. И опыт получите, и поймёте — ваше оно или нет. Если так хочется чужих мыслей, то в интернете их полно. А уж чтения всевозможных ответов на вопрос «php или python» хватит на несколько дней. Удачи вам в выборе :)
        • 0
          Питон — это клево.
          Как вам такой юзкейс? Я именно им мотивировался.

          А если вам действительно интересно, я не верю что гугл не поможет
          • +7
            image
            • 0
              а отказ от питона сопровождается ухудшением самочувствия?
    • +8
      Продуманные модули, нет единого пространства имен, приятный синтаксис, работа с внешними библиотеками, итераторы, генераторы, отложенные вычисления, всё — объекты, декораторы, именованные и порядковые аргументы функций… (предлагаю продолжить список другим)
    • +3
      Подсознательно, наверное, надоел PHP с его множеством «костылей», но качественных переходов на, например, компилируемые языки со строгой/сильной статической типизацией, делать не хочется (страшновато). Из более-менее популярных в вебе языков выбирать в таком случае остаётся из python и ruby. Но ruby кажется более экзотичным и намертво связанным с RoR. А python то и дело встречается не только в связке с Django, да и не только в вебе (в популярных дистрах GNU/Linux полно приложений на python и сам python установлен по умолчанию).

      Качественных преимуществ у python перед PHP пожалуй и нет. Всё как-то по мелочи, по мелочи, но, видимо, количество переходит в качество и код становится проще читать и писать, кроме совсем уж примитивных случаев.

      Но не стоит думать, что python во всём лучше. Есть и у PHP преимущества (в вебе конечно же). Основное для меня — легкость развёртывания и поддержки production окружения в debian-based дистрибутивах и/или его распространённость на shared хостингах. Для python придётся, скорее всего, немало погуглить и принять немало решений на основание нагугленного без понимания плюсов и минусов, тогда как для php по сути выбирать приходится только между Apache+mod_php (с возможным nginx в качестве прокси и для статики) и nginx+php-fpm. Плюс заранее приучить себя к мысли, что без фреймворков/сторонних библиотек написать веб-приложение на python будет посложнее, чем на php. Хотя, может, в последнее время что-то и изменилось, но на хабре материалов об этом на глаза не попадалось.

      В общем активно использую три «родственных» языка — php, python и ruby. Python для CLI скриптов, Ruby(+RoR) для прототипов веб-проектов, PHP для реализаций и почти доволен, считая, что беру от каждого лучшее. Ещё бы в PHP порядок навели отказавшись от BC… Мечты…
      • +1
        Спасибо за внятный ответ :)
        • 0
          Не секрет, что Python используют в Google. Как пример.
      • 0
        Руби ни в коем случае не связан с рельсами «намертво».
        Также используется связка Ruby + Sinatra. Например, в LinkedIn.
        • +1
          "кажется… намертво связанным с RoR"

          А так я и как CGI запускал хелловорлды :)
          • +1
            Аа, прошу прощения тогда.

            Например, в стандартную поставку Ruby входит библиотека для работы с Common Gateway Interface, так что тут всё в порядке и можно вполне писать «из коробки».
            Что же касается Python, тут не скажу, но думаю, что тоже средства для работы с CGI входят. Надо у G0ran спросить…
            • +1
              Дело не в том, что для CGI писать сложно, а в том, что операция создания нового процесса в ОС довольно тяжелая сама по себе, а при CGI её надо осуществлять при каждом запросе, не говоря про инициализацию интерпретатора и приложения. Для избежания лишних накладных расходов применяется либо встраивание интерпретатора в веб-сервер (mod_*), либо запуск приложения в режиме демона, работающего по какому-то протоколу (http, fastcgi, wsgi и т. п.), чтобы один процесс обрабатывал множество запросов без лишних инициализаций.
              • +1
                Аа, не понял вас сначала. Прошу прощения. :)
      • +3
        > без фреймворков/сторонних библиотек написать веб-приложение на python
        > будет посложнее, чем на php. Хотя, может, в последнее время что-то и изменилось.
        Имхо, изменилось. Люди поняли, что и на Пэхапэ без сторонних фреймворков и библиотек писать очень сложно, либо очень просто, но такой говнокод уже никому не нужен.
        • –2
          Я вообще про то, что на python/ruby толком ничего не напишешь без либ/фреймворков, даже хелловорлд не в CGI режиме будет проблематично запустить.

          А насчёт php — спорно. Кто-то понял, кто-то нет. Предложения писать на «голом» php встречаются. Другое дело, что если стараешься говнокод не писать, то перейти с него на нормальный фреймворк не так уж сложно.
          • 0
            «Я вообще про то, что на python/ruby толком ничего не напишешь без либ/фреймворков, даже хелловорлд не в CGI режиме будет проблематично запустить.»

            Тут позвольте не согласиться с вами. Про работу с CGI Уже написал выше.
            • 0
              "не в CGI режиме" :)
          • 0
            Почему это не напишешь? Ставишь mod_python и print «hello world» именно поведет себя как пэхапэ. Не несите чушь.
            • 0
              Я про то что в пхп без мод_пхп проблем будет КУДА больше, например в таком же варианте как поставляется пайтон (только в cli режиме, без сги бинарника).
              Есть пайтон-вей — пайтоник. Ему и следовать надо — делайте wsgi соединения.
              Фишка питона, что можно написать свой сервер/демон буквально четырьмя строчками.
              Он просто и удобен.
              Честно говоря, будь компилируемая версия (с соответствующими ускорениями и защитой) с решением ЕДИНСТВЕННОЙ его проблемы (GIL в тредах), этот язык бы и Яву вытеснил.
              • 0
                Прочитал, что mod_python давно заброшен, посмотрел svn.apache.org/viewvc/quetzalcoatl/mod_python/ — последний коммит в транк 3 года назад, что вызывает вопросы, например, о совместимости с python 3.x, да и вообще о целесообразности использования mod_python в продакшене.

                Но php поставляется и для fcgi (пускай и не true), а python нет. Но вообще я о том, что способов запустить веб-приложение на python множество, причём не никому неизвестные или узкоспециализированные, а на офсайте перечислены и новичку сделать выбор проблематично.
                • 0
                  fcgi был придуман для php. Потому что по-другому он работать не может, из коробки как питон например. WSGI для пхп тоже сложно найти. К тому же для питона есть фцгай, но никто его не пользует. Не по-питонски это.
                  Выбирать нечего, есть стандарты ПЕП, запускайте в WSGI режиме. Причем лучше из нативного же питона.
      • 0
        > Качественных преимуществ у python перед PHP пожалуй и нет

        Серьезно? А как насчет скорости исполнения? И того, что питон, хоть и условно скриптовый язык, все же компилируется? Я уже молчу про веселые вещи типа psyco.
        • 0
          APC/xcache/eAccelerator — не? Я уж молчу про всякие веселые вещи типа Phalanger или HipHop.
          • +3
            APC/xcache/eAccelerator — это чисто Пэхапэшный костыль, который Питону не нужен, в силу того, что сервер приложения у него находится в пользовательском коде, а не в ядре языка.

            HipHop накладывает очень жесткие ограничения. Про Phalanger что-то даже не слышал.
            • 0
              Но тем не менее выполняет ту же задачу — трансляцию исходников в промежуточный байт-код только один раз (рестарт или исчерпание кэша для ясности займём :) )

              Да ладно? ;)
              • +1
                > Да ладно? ;)
                Пришел, увидел, победил.
                Узнал, понял что фигня, забыл :)
        • 0
          CPython — чистый интерпретатор, а pypy пока еще не настолько распространен.
  • +6
    </holywar>
    • +1
      Отформатируй нормально!
      • –1
        Это можно было бы сделать только при условии, что все ответы в ветке были бы на мой комментарий с открывающим тегом, а не на исходный. Но очень вряд ли так будет.
    • –1
      Это, наверное, здорово, что вы пресекли столкновение двух лагерей.
      Однако, что не так в постановке вопросов?
      Может быть, подскажете, где ещё можно получить на них ответ, как не в комментариях к топику для заинтересованных/начинающих?
      • –1
        Ни за что не поверю, что вы искали ответ на этот вопрос и не нашли.
        • –2
          На какой именно?
          Ни за что не поверю, что крикнуть «Холивар же!» и послать в гугл — нормальная реакция, которая приветствуется и плюсуется.
          • 0
            Один из основных принципов программирования: многократное использования кода :) Возможно поэтому многим кажется бессмысленным каждую неделю развертнуто отвечать на один и тот же вопрос. Сейчас редко можно встретить холивары на подобные темы, они уже не столь свежы и остры как раньше, и большинство это понимает.

            И не надо думать, что вас посылают :) Лучше просто прислушаться.
            • 0
              Вы же когда повторно код используете, объясняете компилятору, откуда этот код прочитать, вдоль и поперёк известный Вам, и ведь каждый раз же объясняете, нет?
              Нашёлся и тот, кто ответил по существу, хоть и не в первый раз наверняка.
              З.Ы. Вместо того, чтобы раздувать холивары, я и рад бы был просто прислушаться, только не нашёл, к чему.
              • 0
                Умение находить и анализировать информацию — пожалуй, самый важный навык в современном мире. Человек, который задаёт вопросы, на которые уже давно есть ответ, и этот ответ можно получить мгновенно, просто отправив запрос поисковой системе, представляется мне либо новичком в этом мире (и ему следует как можно раньше начать учиться в нём жить), либо тем, кто не хочет самостоятельно что-либо узнавать и пробовать (не будем называть его лентяем). В любом из этих или других случаев не вижу смысла поощрять такие вопросы, ответами каждый раз.

                Грустно, что вы сравниваете себя с бездушным компилятором.
              • 0
                Неужели интуитивные и вполне очевидные запросы «преимущества python», «где используется python», «python или php», «проекты на python», «области применения python» не дают результатов? Это даже если не брать в расчёт англоязычную часть интернета. Мне кажется, я говорю банальные вещи, с которыми нет смысла спорить :) Нужно просто быть честным с собой.

                И, пожалуйста, не надо писать, что вас интересует мнение именно хабрасообщества. Хотя даже в этом случае ответы на все заданные вопросы уже есть в архиве.
                • +2
                  Спасибо, что уделили время, показали ситуацию с другой точки зрения.
                  Теперь мы будем меньше дуться на несловоохотливых гуру, понимая, как неблагодарно объяснять простые истины заносчивым, но слишком ленивым желторотикам.
                • 0
                  Часто подобные запросы не дают необходимого результата, по одной причине. А она в следующем — если учесть, что тот кто их вводит не очень опытный программист и он попадает на ресурс, где описываются плюсы и минусы того или иного языка. Но, не всегда возможно понять насколько глубоко автор найденного топика владеет темой. По этой причине приходится еще искать информацию об авторе или проверять саму полученную информацию (что в любом случае, конечно, полезно).

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

                  Не буду отрицать, что бывают люди, которые вообще не гуглят или неправильно гуглят. Я просто описал возможный вариант событий.
      • +1
        Ну, например, вопрос «какие преимущества у питона перед пхп» явно провоцирует на холивар:)
        А получить ответ на эти вопросы можно в гугле. Или в топиках на хабре, воспользовавшись поиском.
        Как правильно задавать вопросы
  • +1
    В 2009 с интересом просмотрел все курсы. Желательно ещё и упражнения выполнять, что Ник Парланте даёт на «домашнее задание». Тогда усваивается лучше.
    • 0
      Большинство упражнений вообще по-моему обязательны. Ибо когда читаешь/смотришь кажется что "да-да-да, фсёпанятна", а как до практики доходит — приходится вновь обращаться к материалу.
  • +1
    Для «фантастически высокого» качества уроков читайте и перечитывайте книгу Марка Лутца «Learning Python».
    • 0
      В дополнение еще стоит прочитать продолжение — «Programming Python» того же автора, очень внятно и подробно.
    • 0
      Чем хороша книга Лутца? Какой там питон используется?

      Вопрос не для холливара ради. Сам просто учу питон, читая «Программирование на Python 3» от Саммерфильда. Мб работа Лутца тоже будет полезна, из-за, скажем, наличия упорядоченного справочника в конце книги или ярких примеров.
      • 0
        Читал как Саммерфилда, так и Лутца. Лутц на порядок доходчивей и последовательней в своём изложении. Описан как второй, так и третий питон, параллельно, с примечаниями. Learning Python — это «всё, что вы хотели знать, но боялись спросить», очень основательный труд, полезный для питонщиков любого уровня подготовки.
  • 0
    >Лутц на порядок доходчивей и последовательней в своём изложении.
    Упражнения там имеются?

    >В дополнение еще стоит прочитать продолжение — «Programming Python» того же автора, очень внятно и подробно.
    На русском языке есть?
    • 0
      Лутц очень длинный. Первая книга «Изучаем Python» (Learning Python) – 1200 страниц. Вторая книга «Programming Python» примерно такого же объема. (Отвечая, на ваш вопрос, на перевод этой книги на русский язык уже идет, но пока книги на русском нет). Итого 2,5 тысячи страниц.

      Откуда взялся такой объем? Автор пишет излишне подробно и монотонно (Возникает нехорошее предположение, что платят ему в основном за объем, а не за «усвояемость»). Упражнения есть, они идут в конце глав. Но главы очень длинные и переполнены информацией, которой вы не будете сразу пользоваться. До 75 страницы нет вообще ни одной строчки программного кода (Об авторе, Предисловие, Введение, Глава 1. Python в вопросах и ответах, Глава 2. Как Python запускает программы). В 3-й главе появляется Hello world, но только для того чтобы на 45 страницах объяснить как его запустить (Глава 3. Как пользователь запускает программы). И только со страницы 119 начинается описание языка в привычном нам понимании: операторы, типы объектов,…

      Книга впечатляет добротно собранной информацией, но, мне кажется, не подходит для «быстрого старта» (и. Курсы Google, о которых говорится в этом топике, наоборот опускают многие подробности, но позволяют быстро начать писать на Python вполне работающие программы. Фактически это просто видеозапись и файлы с 2-дневного семинара. Я для себя решил, что сначала пройду быстрый учебный класс Python по версии Google, чтобы делать задания на стенфордских курсах в феврале. А потом в свободном режиме, без дедлайнов, прочту Лутца для большей детализации.

      На всякий случай – это всего лишь мое мнение применительно к моей ситуации. Я пока прочел 180 страниц Лутца (всего лишь 7,2%) и просмотрел 2 ролика Google из 7 (уже 28,5%). Google – быстрее. Лутц – подробнее.
    • +1
      Я изучаю язык сразу с практики и до многих моментов мне пришлось самому догадываться. А когда начал читать Лутца «Изучаем Python» (переведена на русский), я постоянно восклицал: «О, да тут оказывается про это все написано». «Изучаем Python» — это как раз для новичков и там очень много ответов на вопросы, которые появляются при изучении языка. И в книге много полезных хинтов. Показана вся теория из которой можно понять почему все устроенно именно так, а не по-другому.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.