2010-04-01 12 views
25

La mia esperienza linguistica dinamica è esclusivamente PHP. Voglio imparare Python ora per ampliare le mie opportunità di carriera e solo perché mi piace programmare. :)Learning Python proveniente da PHP

Durante l'apprendimento di Java, ho utilizzato un sito (perso l'URL/nome reale ora), qualcosa come "Java per sviluppatori PHP" che aveva tutti su un lato della pagina il codice PHP e sull'altro lato il codice Java per fare la stessa cosa C'è un sito web come quello per Python?

Altre eventuali raccomandazioni/consigli?

Grazie

+2

no, volevo chiedere la stessa domanda * esattamente * oggi :) –

+7

@Pekka - Le grandi menti pensano allo stesso modo (o "i muti non cambiano"). : D –

+0

@Cononatus Vero! Penso che dovremo lasciarlo aperto quale si applica: D –

risposta

15

La domanda del PO è abbastanza semplice, ma come detto @Pekka (o dirottato), questo potrebbe essere una domanda molto più profondo (che richiedono un più risposta sostanziale). Sì, la sintassi di Python è abbastanza facile da imparare senza un libro, ma come qualsiasi altro linguaggio, ci vuole ancora un po 'di tempo per padroneggiarlo.

Il suggerimento di Dive Into Python è valido, sebbene la versione di Python 3 sia solo per principianti senza bagaglio (ovvero senza codice Python esistente, senza librerie/dipendenze che non siano ancora state trasferite su Python 3, ecc.) . Sfortunatamente Mark ha rimosso la maggior parte dei suoi contenuti online. Ecco un archivio del suo libro Python 3: http://www.diveintopython3.net ... è un'ottima introduzione di alto livello alla lingua immergendoti subito nei bit di codifica.

Se siete alla ricerca di qualcosa di un po 'più completo, ho scritto Core Python Programming specificamente designato per i programmatori già alfabetizzati in un altro linguaggio di alto livello come Java, C/C++, PHP, Ruby, ecc, che hanno bisogno di imparare Python più rapidamente e nel modo più approfondito possibile ... è più come una "immersione profonda" che una "immersione veloce". Per i libri di riferimento puri che è possibile estrarre dallo scaffale secondo necessità, suggerirei sia il Python Essential Reference di Beazley o il numero Python in a Nutshell di Martelli ... entrambi sono eccellenti, ma il libro di Alex non è ancora stato rivisto alle ultime versioni di Python. Sono sicuro che ci sta lavorando. ;-)

[AGGIORNATO giu 2015] Torna su argomento dirottato, ci sono diverse opzioni quando si tratta di sviluppare applicazioni web su Python, il più popolare attualmente è Django. Questo è un framework web full-stack che è la cosa più vicina che Python ha a Ruby on Rails. Ha un modello, un ORM, può essere eseguito su vari componenti principali (RDBMS, server Web, librerie JavaScript, ecc.), ha un'interfaccia di amministrazione straordinaria e molto altro. Per ulteriori funzionalità, dai uno sguardo allo Pinax. Un'alternativa a Django è Pyramid. Invece di un unico framework monolitico, Pyramid/Pylons agiscono più come colla, collegando i componenti migliori, ovvero Jinja2 per i modelli, SQLAlchemy per ORM, MochiKit come libreria JS, ecc. La terza opzione, principalmente per le alte -trafficked, applicazioni scalabili a bassa latenza è Google App Engine. Scrivi le tue app in Python (o Java, PHP o Go) e carica su Google per eseguire l'app sulla loro infrastruttura. La maggior parte dello sviluppo sarà simile allo sviluppo di applicazioni Web su uno stack LAMP standard, eccetto per il datastore. Basato su Google BigTable, si tratta di un database di oggetti distribuiti non relazionali, quindi l'ostacolo più grande è il superamento del pensiero in modo relazionale in DB; rilasciato anche autonomamente come Google Cloud Datastore. C'è anche un'alternativa relazionale compatibile con MySQL chiamata Google Cloud SQL se preferisci quella invece di una soluzione NoSQL. BigTable è disponibile anche come tecnologia standalone da App Engine e disponibile come Google Cloud Bigtable. Che opzioni sufficienti per te?!? :-)

Spero che questo aiuti!

ps. Se stai cercando un imminente comprehensive 3-day course in Python, parlami. :-)

+1

Ancora un altro grande esempio di pitone simpatico. –

+0

Il collegamento "Core Python Programming" è morto, c'è una versione aggiornata? – Lode

+0

Prova invece corepython.com; vedi le recensioni su amzn.com/0132269937 – wescpy

6

io non sono sicuro che una cosa del genere esiste ma Python è generalmente una lingua facile da imparare. La documentazione di Python è generalmente molto chiara e facile da seguire. Dall'interprete Python è anche possibile utilizzare i metodi dir() e help() per visualizzare metodi, attributi e documentazione che facilitano l'esplorazione delle opzioni disponibili in Python.

Alcuni esempi di differenze tra PHP e 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; 

Come si può vedere, Python fa franca con l'utilizzo '{' e '}' e utilizza invece il rientro per vedere quando il ciclo for è completo.

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

Non per dirottare la domanda di @ Coronatus ma ciò che sarebbe interessante sono le esercitazioni su argomenti di livello superiore come come organizzare un'applicazione web scalabile, come costruire un framework di classe base ecc. Ecc. In sostanza, come si fa "xyz" in Python quando sai già di cosa si tratta e come funziona in PHP? la sintassi di base, sono sicuro, è facile da imparare quando vieni da un'altra lingua. –

+0

Molti concetti vengono trasferiti tra PHP e Python. Un sacco di confusione iniziale deriva dal fatto che l'indentazione è importante in Python. Inoltre, le istruzioni loop e if sono leggermente diverse. Modificherò la mia risposta sopra per includere alcuni esempi. – thetaiko