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

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

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

Спасибо!

53
задан nicael 21 May 2014 в 10:30
поделиться

8 ответов

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

  • Потратьте несколько часов на изучение всех основ. Я нашел официальный учебник довольно хорошим, хотя и немного сухим.
  • Хороший справочник для поиска базовых вещей ("как мне снова получить длину строки?"). Наиболее полезными мне показались Python Pocket Reference и Python Essential Reference.
  • Взгляните на этот удобный Perl<->Python разговорник (общие задачи, бок о бок, на обоих языках).
  • Ссылка на подход Python к "общим задачам". Я использую Python Cookbook.
  • Постоянно открытый терминал ipython для проверки синтаксиса, изучения методов объектов и т.д.
  • Получите pip и easy-install (для простой установки модулей Python).
  • Быстро изучите модульные тесты. Потому что без use strict вы будете чувствовать себя ущербным и совершите множество элементарных ошибок, которые проявятся как ошибки времени выполнения. Я рекомендую nose, а не unittest, который поставляется с установкой ядра. unittest очень многословен, если вы привыкли к Test::More.
  • Просмотрите вопросы по Python на Stack Overflow. В частности, Python - вещи, которых нужно избегать и Python 2.x gotcha's and landmines, которые стоит прочитать.

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

65
ответ дан 7 November 2019 в 08:42
поделиться

Загрузите книгу отсюда . Прочтите, вдохните и съешьте ..:)

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

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

2
ответ дан 22 September 2019 в 18:22
поделиться

Я НАШЕЛ ВАШЕ РЕШЕНИЕ

В основном вы начинаете с переопределения того, что вы сделали с css hover. (естественно, вы бы сделали это, динамически извлекая информацию из стиля) Затем делайте все, что хотите в jquery с событиями mouseover/mouseout

, это позволяет сохранить событие: hover в вашем css, потому что jquery привязывает ваши исходные стили к элементу. По сути, отключение события: hover.

Если ваш css:

a.class {
  background-color: #000000;
  background-position: 0 0;
  }
a.class:hover {
  background-color: #ffffff;
  background-position: 100% -50px;
  }

ваш jquery будет примерно так:

jQuery("a.class").each(function () {

  var oldBackgroundColor = jQuery(this).css("backgroundColor");
  var oldBackgroundPosition = jQuery(this).css("backgroundPosition");

  jQuery(".class").css({
        'backgroundColor':oldBackgroundColor,
        'backgroundPosition':oldBackgroundPosition
  });

})
.bind("mouseover", function() {

  doSomething();

})
.bind("mouseout", function() {

  doSomething();

})
-121--1409233-

Я придерживаюсь другого взгляда.

«Скрипт» - это код, который действует на какую-либо систему во внешнем или независимом способе и может быть удален или отключен без отключения самой системы.

«Программа» - это код, составляющий систему. Код программы может быть написан в модульном способе, с хорошим разделением проблем, но код является принципиально внутренним и зависимым от самой системы.

Сценарии часто интерпретируются, но не всегда. Программы часто компилируются, но не всегда.

-121--893632-

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

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

8
ответ дан 7 November 2019 в 08:42
поделиться

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

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

4
ответ дан 7 November 2019 в 08:42
поделиться

Это сайт, на который вам действительно стоит перейти. Есть раздел под названием Начало работы , в который вам следует заглянуть. Также есть рекомендации по книгам. Кроме того, вас также может заинтересовать this на «идиомах»

3
ответ дан 7 November 2019 в 08:42
поделиться

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

2
ответ дан 7 November 2019 в 08:42
поделиться

Если вы являетесь поклонником The Perl Cookbook, вам будет интересно ознакомиться с PLEAC, the Programming Language Examples Alike Cookbook, в частности с разделом, где показан код Perl Cookbook, переведенный на Python.

14
ответ дан 7 November 2019 в 08:42
поделиться

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

-3
ответ дан 7 November 2019 в 08:42
поделиться