Come familiarizzare con Python [chiuso]

4

Sono un principiante di Python. Ho iniziato a programmare con Python 1.5 mesi fa.

Ho scaricato i documenti Python e ho letto alcune parti del tutorial. Ho programmato su codechef.com e ho risolto i problemi di projecteuler . Sto pensando di leggere Introduzione agli algoritmi e seguenti questo corso su Menc opencourse ware come non ho migliorato molto in programmazione e sto sprecando un sacco di tempo a pensare a cosa dovrei fare di fronte a qualsiasi problema di programmazione.

Ma penso che non conosco ancora il modo corretto di imparare la lingua stessa. Dovrei iniziare con il riferimento alla libreria o continuare con il tutorial di Python? Gli algoritmi di apprendimento sono utili per linguaggi come C e non tanto per Python in quanto ha "batterie incluse"?

Esistono altre risorse per familiarizzare con la lingua e in generale per imparare a risolvere i problemi di programmazione? O devo dedicare ancora un po 'di tempo?

    
posta Aseem Bansal 02.07.2013 - 10:39
fonte

4 risposte

4

Prima di tutto, gli algoritmi di apprendimento sono ortogonali all'apprendimento di un particolare linguaggio di programmazione e il tempo trascorso sugli algoritmi non viene mai sprecato - in breve, una migliore conoscenza di tutti i tipi di algoritmi ti rende un programmatore migliore, periodo.

A parte questo, sembra che tu stia combattendo con due problemi indipendenti: apprendimento Python e apprendimento programmazione . In che modo ti avvicini all'apprendimento, entrambi dipendono molto da dove ti trovi, e cosa fa e cosa non funziona per te.

Detto questo, ho trovato che il seguente approccio funziona bene quando si apprende una nuova tecnologia:

  1. Fai un po 'di lettura preliminare: la pagina di Wikipedia, la homepage del progetto, la documentazione ufficiale; avere un'idea di cosa si tratta e di come la comunità fa tic tac.
  2. Installa la toolchain, trova un buon tutorial introduttivo che corrisponde al tuo stile e gioca con esso. Crea alcuni programmi super-minuscoli, qualcosa che è una specie di utile, ma soprattutto, qualcosa che puoi concludere in circa un'ora o giù di lì. Assicurati inoltre di avere a disposizione una guida di riferimento autorevole completa.
  3. Una volta che hai appreso le nozioni di base sulla lingua, dovresti avere un'idea approssimativa di ciò che la lingua è buona e cosa no. Scegli un progetto per il quale la lingua è molto adatta e inizia a lavorarci. Entra in contatto con la community: ti forniranno preziose informazioni e suggerimenti.
  4. Elimina il tuo primo progetto e inizia da zero. Veramente. Il primo progetto che costruisci in qualsiasi lingua di solito è una schifezza; va bene, l'hai fatto per l'esperienza di apprendimento, e la metà si sbaglia. Questo è il motivo per cui lo fai di nuovo, ma questa volta lo fai meglio e più in linea con le convenzioni, gli standard e le idiosincrasie accettati dalla lingua.
  5. Pratica, pratica, pratica. Resta in contatto con la comunità. Sperimentare. Leggi il codice di altre persone. Invita altri a leggere il tuo codice. Tieni d'occhio i nuovi sviluppi. E soprattutto, divertiti.

Proprio come con le lingue naturali, la mia esperienza è che niente batte l'esposizione reale sul mondo reale. Non lo imparerai mai se non lo usi molto.

    
risposta data 02.07.2013 - 14:14
fonte
3

Ho avviato Python un paio di anni fa da uno sfondo C (C / C ++ / C #). Ho avuto esattamente gli stessi pensieri che fai. Anche se non sono un esperto, posso dirti cosa mi ha aiutato ad arrivare dove mi trovo attualmente - sentendomi abbastanza a mio agio con la lingua divertendomi ancora a usarlo per il lavoro quotidiano e sentendomi come se stessi imparando tonnellate di cose ogni giorno . Ecco cosa ho fatto:

  • Leggi buoni libri sui fondamenti della programmazione. Ce ne sono molti. Quello che ricordo in particolare mi piace quando ho imparato Python erano Think Python per essere un ottimo libro introduttivo, Dive Into Python per un approccio pragmatico all'ingegneria e esempi di vita reale come i servizi Web.
  • Utilizza la documentazione di Python come riferimento per i problemi e le domande che incontri, ma cerca sempre di approfondire. Non limitarti a cercare qualcosa e a correggere il codice: segui i collegamenti e cerca di comprendere l'ambito completo di ciò che stai facendo.
  • Leggi libri e materiale non python. È inestimabile capire che la lingua è il dito che indica la luna. Guardando il dito non vedrai la luna;) Ho letto Algorithms con una mentalità di Python. Raccomando anche quello che sto leggendo attualmente: Pensa come un programmatore . Gli esempi sono C ++ ma se si sceglie Python per esercitarsi non si può sbagliare. È un po 'di base ma molto prezioso.
  • Leggi e prova a capire il codice sorgente dei pacchetti e dei moduli che usi. Questa è la cosa che amo Python e penso che sia IL linguaggio progettato per l'apprendimento. Tutti gli interni sono lì per te.
  • PIÙ IMPORTANTE - prova un vero problema di vita. Una piccola webapp per un amico o un cliente, forse partecipa a un progetto open source. Qualunque cosa soddisfi una necessità reale e senti che non solo VUOI ma anche BISOGNO DI farlo.

Continua e divertiti. Ecco perché mi sono dedicato all'apprendimento di Python. Fa il lavoro ed è divertente ed educativo fino in fondo.

    
risposta data 02.07.2013 - 11:34
fonte
2

La soluzione migliore, IMO, è scegliere un progetto e implementarlo in python. Non importa quale sia il progetto, anche se dovrebbe essere interessante per te. Mentre lotti per superare gli ostacoli, imparerai le parti di Python che devi imparare.

Alla fine completerai un progetto di dimensioni decenti. Quindi, inizia a chiedersi "come posso farlo, ma con i thread?" O "come posso farlo, ma con il multiprocessing?" o "come posso aggiungere una GUI ad esso?" oppure "come posso salvare i risultati in un database".

Concentrati su un problema che comprendi bene e impara mentre procedi. Costruisci solide fondamenta, quindi costruisci su quelle fondamenta.

    
risposta data 03.07.2013 - 00:30
fonte
1

Sono in una posizione molto simile a te tranne con C #. Ho iniziato un lavoro poche settimane fa e sapevo che lo avrei usato, quindi ho iniziato a leggere molto e fare tutorial, progetti di esempio, ecc. Poi mi è stato dato il mio primo compito "reale". Avevo faticato, ma quando hai qualcosa da fare o hai un obiettivo che aiuterebbe al di fuori del semplice apprendimento, è più facile.

Verifica se c'è una cosa semplice che si perde un sacco di tempo a fare o qualcosa che pensi sia un problema che potrebbe essere risolto sul tuo computer; perché non vedere se potresti scrivere un piccolo script per farlo? Imparerai facendo e ti garantisco che ti imbatterai in alcuni concetti chiave mentre lo fai e diventerai molto più familiare ma in un contesto più produttivo.

Buona fortuna.

    
risposta data 02.07.2013 - 10:49
fonte

Leggi altre domande sui tag