2010-04-01 3 views
25

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

При изучении Java я использовал сайт (потерял URL/настоящее имя сейчас), что-то вроде «Java для разработчиков PHP», у которого все на одной стороне страницы было написано PHP-кодом, а с другой стороны Java-код, чтобы сделать то же самое. Есть ли такой сайт для Python?

Другие рекомендации/рекомендации?

Благодаря

+2

Ни в коем случае, я хотел бы спросить * точно такой же вопрос * сегодня :) –

+7

@Pekka - Великие умы думают (или «тупицы не отличаются»). : D –

+0

@Coronatus True! Я думаю, нам придется оставить его открытым, который применяется: D –

ответ

15

вопрос Ор является достаточно простым, но, как упоминалось @Pekka (или угнали), это может быть гораздо более глубокий вопрос (требуется более существенный ответ). Да, синтаксис Python достаточно прост, чтобы учиться без книги, но, как и любой другой язык, для освоения требуется довольно много времени.

Рекомендация Dive Into Python действительна, хотя версия Python 3 предназначена только для новичков без багажа (это означает отсутствие существующего кода Python, отсутствие библиотек/зависимостей, которые еще не были перенесены на Python 3 и т. Д.). , Печально Марк удалил большую часть своего онлайн-контента. Вот один архив его книги Python 3: http://www.diveintopython3.net ... это очень хорошее введение на уровень языка на высоком уровне, сразу же погружая вас в кодирующие биты.

Если вы ищете что-то более полное, я написал Core Python Programming, специально предназначенный для программистов, уже грамотных на другом языке высокого уровня, таком как Java, C/C++, PHP, Ruby и т. Д., Которым нужно быстро изучить Python и как можно глубже ... это больше похоже на «глубокое погружение», чем «быстрое погружение». Для чистых справочников, которые вы можете снять с полки по мере необходимости, я бы предложил либо Python Essential Reference Beazley, либо Martelli's Python in a Nutshell ... оба отличные, так как книга Алекса не вернулась к последним релизам Python. Я уверен, что он работает над этим. ;-)

Обновлено: июн 2015 г. Назад на тему захвата, есть несколько вариантов, когда дело доходит до разработки веб-приложений на Python, наиболее популярным в настоящее время является Django. Это веб-фреймворк с полным стеком, который является самым близким к тому, что Python имеет Ruby on Rails. Он имеет шаблоны, ORM, может работать на различных основных компонентах (РСУБД, веб-серверах, библиотеках JavaScript и т. Д.), поставляется с удивительным интерфейсом администратора и намного больше. Для еще большей функциональности также взгляните на Pinax. Альтернативой Django является Pyramid. Вместо одиночной монолитной структуры Pyramid/Pylons действуют скорее как клей, связывая лучшие в своем классе компоненты, т. Е. Jinja2 для шаблонов, SQLAlchemy для ORM, MochiKit в качестве библиотеки JS и т. Д. Третий вариант, в первую очередь для высоких масштабируемые приложения с малой задержкой, масштабируемые приложения - Google App Engine. Вы пишете свои приложения на Python (или Java, PHP или Go) и загружаете в Google, чтобы запустить приложение в своей инфраструктуре. Большая часть разработки будет похожа на разработку веб-приложений в стандартном стеке LAMP, за исключением для хранилища данных. Основываясь на BigTable Google, это нереляционная база данных с распределенными объектами, поэтому наибольшее препятствие - преодоление мышления в режиме реляционной БД; также выпускается независимо как Google Cloud Datastore. Существует также реляционная MySQL-совместимая альтернатива, называемая Google Cloud SQL, если вы предпочитаете это вместо решения NoSQL. BigTable также доступен как автономная технология от App Engine и доступен как Google Cloud Bigtable. Это достаточно для вас?!? :-)

Надеюсь, это поможет!

пс. Если вы ищете предстоящего comprehensive 3-day course in Python, поговорите со мной. :-)

+1

Еще один отличный пример питона. –

+0

Ссылка «Основное программирование на Python» мертва, есть ли обновленная версия? – Lode

+0

Вместо этого попробуйте corepython.com; см. обзоры на amzn.com/0132269937 – wescpy

6

Я не уверен, что такая вещь существует, но Python, как правило, простой язык, чтобы узнать. Документация Python, как правило, очень четкая и простая в использовании. Из интерпретатора Python вы также можете использовать методы dir() и help() для просмотра методов, атрибутов и документации, что позволяет легко изучить, какие параметры доступны для вас в Python.

Несколько примеров различий между PHP и Python:

Python:

x = [1, 2, 3, 4, 5] 
for a in x: 
    print a 
print "Loop is over" 

PHP:

$x = array(1, 2, 3, 4, 5); 
foreach($x as $a) { 
    echo $a.PHP_EOL 
} 
echo 'Loop is over'.PHP_EOL; 

Как вы можете видеть, Python покончила с помощью '{' и '}' и вместо этого использует отступ, чтобы увидеть, когда цикл for завершен.

Python:

x = {'spam':'hello', 'eggs':'world'} 
if x.get('spam'): 
    print x['spam'] 

PHP:

$x = array('hello'=>'spam', 'world'=>'eggs'); 
if array_key_exists('hello', $x) { 
    echo $x['hello'].PHP_EOL; 
} 
+1

Не уклониться от вопроса @ Coronatus, но то, что также было бы интересно, - это учебники по материалам более высокого уровня, например, как организовать масштабируемое веб-приложение, как создать базовую классовую инфраструктуру и т. Д. И т. Д., В основном, как вы делаете «xyz» в Python, когда вы уже знаете, что это такое, и как это делается на PHP? основной синтаксис, я уверен, легко узнать, когда вы пришли с другого языка. –

+0

Многие концепции передаются прямо между PHP и Python. Много первоначальной путаницы возникает из-за того, что отпечаток важен для Python. Кроме того, циклические и операторы if немного отличаются. Я отредактирую свой ответ выше, чтобы привести некоторые примеры. – thetaiko

Смежные вопросы