2010-04-01 13 views
25

Mi experiencia de lenguaje dinámico es únicamente PHP. Quiero aprender Python ahora para ampliar mis oportunidades de carrera y simplemente porque me gusta programar. :)Learning Python procedente de PHP

Al aprender Java, utilicé un sitio (perdí la URL/nombre real ahora), algo así como "Java para desarrolladores de PHP" que tenía todo en un lado de la página el código PHP, y en el otro lado el código de Java para hacer lo mismo. ¿Hay un sitio web así para Python?

¿Alguna otra recomendación/consejo?

Gracias

+2

De ninguna manera, quería pedir a la misma pregunta exacta * * hoy :) –

+7

@Pekka - Las grandes mentes piensan por igual (o "idiotas no son diferentes"). : D –

+0

@Coronatus ¡Es cierto! Creo que tendremos que dejarlo abierto, se aplicará: D –

Respuesta

15

La pregunta de la OP es bastante simple, pero como se mencionó @Pekka (o secuestrado), esto podría ser una cuestión mucho más profunda (lo que requiere una mayor respuesta sustancial). Sí, la sintaxis de Python es bastante fácil de aprender sin un libro, pero como cualquier otro idioma, todavía toma bastante tiempo dominarlo.

La sugerencia de Dive Into Python es válida, aunque la versión Python 3 es solo para principiantes sin equipaje (lo que significa que no hay código Python, bibliotecas/dependencias que aún no se hayan migrado a Python 3, etc.) . Lamentablemente, Mark ha eliminado la mayor parte de su contenido en línea. Aquí hay un archivo de su libro de Python 3: http://www.diveintopython3.net ... es una muy buena introducción de alto nivel al lenguaje al sumergirlo en bits de codificación de inmediato.

Si buscas algo un poco más completo, escribí Core Python Programming específicamente dirigido a programadores ya alfabetizados en otro lenguaje de alto nivel como Java, C/C++, PHP, Ruby, etc., que necesitan aprender Python tan rápido y lo más profundo posible ... es más como una "inmersión profunda" que una "inmersión rápida". Para libros de referencia puros que puede sacar de la estantería cuando sea necesario, sugeriría Beazley's Python Essential Reference o Martelli's Python in a Nutshell ... ambos son excelentes, aunque el libro de Alex aún no ha sido revisado para las últimas versiones de Python. Estoy seguro de que está trabajando en eso también. ;-)

[ACTUALIZADO junio 2015] De nuevo en el tema secuestrado, hay varias opciones cuando se trata de desarrollar aplicaciones web en Python, la más popular actualmente es Django. Es un framework web completo que es lo más parecido que tiene Python a Ruby on Rails. Tiene plantillas, un ORM, puede ejecutarse en varios componentes principales (RDBMS, servidores web, bibliotecas de JavaScript, etc.), viene con una interfaz de administración increíble y mucho más. Para aún más funcionalidad, también eche un vistazo a Pinax. Una alternativa a Django es Pyramid. En lugar de un único marco monolítico, Pyramid/Pylons actúa más como pegamento, vinculando los mejores componentes de su clase, es decir, Jinja2 para plantillas, SQLAlchemy para ORM, MochiKit como biblioteca JS, etc. La tercera opción, principalmente para alto -traficadas, de baja latencia y aplicaciones escalables es Google App Engine. Usted escribe sus aplicaciones en Python (o Java, PHP o Go) y las carga en Google para ejecutar su aplicación en su infraestructura. La mayor parte del desarrollo será similar al desarrollo de aplicaciones web en una pila LAMP estándar, excepto para el almacén de datos. Basado en Google BigTable, es una base de datos de objetos distribuidos no relacionales, por lo que el obstáculo más grande es superar el pensamiento en una forma DB relacional; también lanzado de forma independiente como Google Cloud Datastore. También hay una alternativa relacional compatible con MySQL llamada Google Cloud SQL si lo prefiere en lugar de una solución NoSQL. BigTable también está disponible como una tecnología independiente de App Engine y está disponible como Google Cloud Bigtable. Que suficientes opciones para ti?!? :-)

Espero que esto ayude!

ps. Si está buscando un próximo comprehensive 3-day course in Python, hable conmigo. :-)

+1

Otro gran ejemplo de pythonist agradable. –

+0

El enlace "Core Python Programming" está muerto, ¿hay una versión actualizada? – Lode

+0

Pruebe corepython.com en su lugar; ver los comentarios en amzn.com/0132269937 – wescpy

6

no estoy seguro de que tal cosa existe pero Python es generalmente una lengua fácil de aprender. La documentación de Python es generalmente muy clara y fácil de seguir. Desde el intérprete de Python también puede usar los métodos dir() y help() para ver métodos, atributos y documentación, lo que hace que sea más fácil explorar qué opciones están disponibles para usted en Python.

Unos pocos ejemplos de las diferencias entre PHP y 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; 

Como se puede ver, Python elimina el uso de '{' y '}' y en su lugar utiliza sangría para ver cuándo se completa el for-loop.

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

No para secuestrar la pregunta de @ Coronatus, pero lo que también sería interesante son tutoriales sobre cosas de nivel superior, como cómo organizar una aplicación web escalable, cómo construir un marco de clase básico, etc. etc. esencialmente, cómo se hace "xyz" en Python cuando ya sabes lo que es, y cómo se hace en PHP? la sintaxis básica, estoy seguro, es fácil de aprender cuando vienes de otro idioma. –

+0

Muchos conceptos se transfieren directamente entre PHP y Python. Mucha confusión inicial proviene del hecho de que la sangría es importante en Python. Además, las instrucciones de bucle y si son un poco diferentes. Editaré mi respuesta anterior para incluir algunos ejemplos. – thetaiko