Python для программиста на Perl - PullRequest
       10

Python для программиста на Perl

51 голосов
/ 17 февраля 2010

Я опытный разработчик Perl с некоторым опытом и / или знанием других языков (опыт работы с C / C ++, школьный опыт работы с Java и Scheme и знакомство со многими другими). ​​

Возможно, мне понадобится выполнить веб-работу на Python (скорее всего, это связано с Google App Engine). Поэтому я хотел бы попросить SO overmind о хороших рекомендациях о том, как лучше всего изучить Python для кого-то, кто имеет опыт работы с Perl (например, акцент будет сделан на различиях между этими двумя понятиями и на том, как перевести идиоматику perl в идиоматику Python, в отличие на общие ссылки Python). Кое-что также сосредоточено на веб-разработке еще лучше. Я возьму что-нибудь - статьи, учебники, книги, примеры приложений?

Спасибо!

Ответы [ 8 ]

63 голосов
/ 17 февраля 2010

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

  • Проведите несколько часов, изучая все основы. Я нашел официальный учебник довольно хорошим, хотя и немного сухим.
  • Хороший справочник для поиска основных вещей («как мне снова получить длину строки?»). Наиболее полезными для меня являются Python Pocket Reference и Python Essential Reference .
  • Взгляните на этот удобный Разговорный разговорник Python <-> Python (общие задачи, стоящие рядом, на обоих языках).
  • Ссылка на подход Python к "общим задачам". Я использую Python Cookbook .
  • Терминал ipython , открытый постоянно для проверки синтаксиса, методов анализа объектов и т. Д.
  • Get pip и easy-install (для легкой установки модулей Python).
  • Узнайте о модульных тестах быстро. Это связано с тем, что без use strict вы будете чувствовать себя покалеченными и сделаете много элементарных ошибок, которые будут отображаться как ошибки времени выполнения. Я рекомендую nose , а не unittest framework, который поставляется с установкой ядра. unittest очень многословен, если вы привыкли к Test :: More .
  • Ознакомьтесь с вопросами по Python о переполнении стека. В частности, Python - вещи, которые НЕОБХОДИМО избегать и Гитча Python 2.x и мины стоит прочитать.

Лично я нашел Dive Into Python раздражающим и покровительственным, но он свободно доступен онлайн, так что вы можете сами составить свое мнение по этому поводу.

14 голосов
/ 18 февраля 2010
8 голосов
/ 18 февраля 2010

Будучи хардкорным программистом Perl, все, что я могу сказать, это НЕ ПОКУПАЙТЕ"Learning Python" О'Рейли. Это нигде не так близко, как "Learning Perl", и я не знаю эквивалента "Программирования Perl" Ларри Уолла, который просто непобедим.

У меня был самый большой успех, когда я брал прошлые Perl-программы и переводил их на Python, пытаясь использовать как можно больше новых техник.

4 голосов
/ 17 февраля 2010

Ознакомьтесь с официальным руководством , которое на самом деле довольно неплохо.Если вы заинтересованы в веб-разработке, вы должны быть готовы к тому, чтобы сразу перейти к документации веб-фреймворка, с которым вы будете работать;В Python есть из чего выбирать: zope, cherrypy, pylons и werkzeug имеют хорошую репутацию.

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

3 голосов
/ 18 февраля 2010

Это сайт, на который вы действительно должны зайти. Есть раздел под названием Getting Started , на который вы должны взглянуть. Есть также рекомендации по книгам. Кроме того, вас также может заинтересовать this на "идиомах"

2 голосов
/ 17 февраля 2010

Если то, на что вы смотрите, является краткой, краткой ссылкой на python, тогда книга Python Essential Reference может быть полезным.

2 голосов
/ 17 февраля 2010

Скачать книгу отсюда . Читай, дыши и ешь ..:)

Это хорошо для всех.

И обновлены для Python3 .

0 голосов
/ 17 февраля 2010

Я бы не стал слишком сильно сравнивать Perl и Python, чтобы изучать Python, тем более что у вас есть практические знания других языков. Если вы не знакомы с аспектами ООП / функционального программирования и просто хотите работать процедурно, как в Perl, начните изучать конструкции / синтаксис языка Python, а затем приведите пару примеров. если вы переходите к ОО или парадигмам функционального стиля, я сначала прочту основы ОО, а затем начну с синтаксиса и примеров Python ... так что у вас есть своего рода мысленный план того, как все можно построить, прежде чем начать работать с актуальными материалами. это только мое скромное мнение, однако ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...