Mi sento bloccato al centro di Python, Come superare il principiante [chiuso]


22

Mi scuso davvero se questo non segue le regole SO ma ho bisogno di un piccolo aiuto, personalmente mi classifico ancora come un principiante in Python, eppure ho scritto un programma molto piccolo e MOLTO SICURO da usare per il mio capo.

So di essere ancora un principiante perché le cose semplici mi lasciano ancora perplesso, ma ogni libro che leggo per principianti onestamente ridefinisce ciò che già so, ma ogni libro "più avanzato" non mi permette davvero di imparare, dipendono da file di esempio e non capisco mai davvero perché abbiano costruito la funzione "detto" o la classe "detto". Quindi sulla mia domanda ...

C'è qualche consiglio su un libro o QUALCOSA che mi spinge fuori da questo palcoscenico, ho usato prima la testa e normalmente sono davvero buoni ma il mio problema è che mi hanno rintracciato solo per andare avanti di nuovo, ha funzionato in HTML ma è confuso in Python, in pratica penso di dover costruire un programma mentre seguo, Ancora una volta mi piace lo stile di HeadFirst ma ho bisogno di qualcosa che non mi farà ricordare una cosa solo per dimenticarlo ...

per la cronaca, ho controllato alcuni libri di O'Reilly


7
Per ogni concetto iniziale, scrivi alcuni piccoli programmi fino a quando non ne hai la certezza. Una volta che ti senti a tuo agio, fai lo stesso con sempre di più fino ad arrivare a cose avanzate. Basta leggere senza pratica e codificare non ti aiuterà molto.

6
Hai già letto Come pensare come uno scienziato informatico ?
Oscar Mederos,

Hai già seguito il tutorial docs.python.org/tutorial/index.html ? Hai aspetti specifici che ti confondono? Se potessi illustrarli con alcuni esempi di codice, sarebbe ancora meglio.
juanchopanza,

Il capo non ha bisogno di un programma più grande scritto anche in Python? Hai bisogno di esperienza ...

2
fai, prova e fai domande quando non capisci, le persone qui ti aiuteranno.
monkut

Risposte:


23

Smetti di leggere libri.

Vai a scrivere il codice usando il tempo ora libero dalla lettura. Pratica. Riflettere. Affronta problemi reali nel codice reale che scrivi.

Quindi avrai abbastanza domande a cui i libri avanzati possono rispondere. Ora non hai queste domande e le risposte nei libri non hanno senso per te.

È come imparare una lingua straniera o imparare a nuotare: i libri da soli non possono aiutare. Devi esercitarti molto, quindi il tuo cervello "lo capisce".


19

FWIW, il modo in cui ho davvero imparato Python è stato quello di scrivere un'applicazione non banale per me stesso . In realtà si trattava di una riscrittura della stessa applicazione che avevo precedentemente creato per imparare C (e C ++ in seguito), quindi avevo molta familiarità con i tipi di elaborazione da eseguire. Durante ogni (ri) scrittura, ho cercato di sfruttare tutte le funzioni speciali offerte dal linguaggio specifico utilizzato o che volevo semplicemente provare.

Come bonus, quando hai finito o almeno hai una versione funzionante, avrai qualcosa di veramente utile, non un esercizio di programmazione che non ha valore da solo. Puoi anche tornare indietro in seguito e modificare il programma dopo aver appreso altri modi migliori per realizzare cose nella lingua.

Un modo molto utile per migliorare in qualsiasi linguaggio di programmazione è semplicemente leggere molti altri programmi. Un buon modo per farlo in questi giorni è usare Google, come descritto in questa risposta StackedOverflow . Questa è una grande risorsa e spesso leggerai il codice "forza industriale" scritto da programmatori professionisti e utilizzato in altre applicazioni della vita reale.

Aggiornare:

Poiché la ricerca di codice di Google è stata interrotta il 15-gen-2012, oltre a tornare alle normali ricerche di Google, c'è qualcosa chiamato Code Snippets Collection che sembra promettente. Numerose altre risorse sono menzionate nelle risposte a questa domanda (chiusa) Sostituzione di Ricerca codice Google? .


5
Enfasi su non banale. Per imparare a fare cose difficili, prova a fare cose difficili.
Bryan Oakley,

5

Continua a cercare i concetti semplici. Crea piccoli programmi incapsulando i loro concetti. Ad un certo punto raggiungerai una collina di comprensione e nuove cose avranno più senso per te. Tengo anche una directory chiamata snippet Python. Lo trovo utile come punto di partenza in alcuni concetti.

Un altro trucco che trovo inestimabile è leggere il codice di altre persone e commentarlo, riassumendo ciò che fa ogni riga e sezione. Se non lo so, allora è tempo di Google. In questo modo riesco a vedere Python in azione e posso scomporlo in sezioni ordinate.

Una risorsa particolarmente ricca per il codice è la fonte Python stessa.


5

Se non sei sicuro delle librerie Python di base o del design orientato agli oggetti (dal momento che dici di non sapere perché è stata usata la classe "detto" o la funzione "detto"):

  1. Sviluppare abilità nel design orientato agli oggetti ti aiuta davvero a pensare attraverso il design orientato agli oggetti.

  2. L'altro sito di S.Lott, Building Skills in Python , può anche essere un buon modo per espandere le tue abilità in Python oltre le basi. Ha molte applicazioni un po 'più semplici dei libri elencati di seguito, ma comunque divertenti e istruttive.


Se il tuo problema è che non riesci a capire come usare Python per fare qualcosa di interessante:

1) Inizio di Python: da principiante a professionista entra in alcune cose interessanti: GUI, scrivere la tua app per la condivisione di file, ecc. Mi piace anche lo stile di Hetland.

2) Hai menzionato i libri di O'Reilly, ma la programmazione di Python si occupa quasi interamente di applicazioni anziché di sintassi. Ha molte applicazioni interessanti che faranno scorrere i tuoi succhi creativi. È un libro enorme (circa 1.500 pagine credo), e 4e è interamente incentrato su Python 3, ma sicuramente apre gli occhi su come le persone usano Python.


+1 per il riferimento al sito di S. Lott ... Non l'ho mai visto prima.
Gerrat,

4

Ci sono due libri di Python che consiglierei e uno di questi è già stato citato da @MikeRand:

  • Dive Into Python 3 è un libro imperdibile che tratta argomenti introduttivi e alcuni argomenti più avanzati.
  • Programmare Python è IMHO il libro giusto per passare ad argomenti Python molto avanzati. Copre anche molte aree, ad esempio interfacce utente (G), applicazioni di sistema, programmazione Web, ecc.

Nota che le ultime versioni di entrambi i libri riguardano Python 3. Se lavori con una versione precedente di Python, cerca una versione precedente dei libri. FTR, un'opzione alternativa è Python for Software Design (ex How to Think Like a Computer Scientist: Learning with Python menzionato da @ oscar-mederos) ma la maggior parte del suo contenuto è anche introduttiva (e in tal senso consiglierei invece Dive Into Python ).


3

Il modo più efficace è far rivedere il tuo codice regolarmente da un mentore esperto e attuare i suoi suggerimenti. Questo è uno dei maggiori vantaggi di un diploma universitario, ma non deve essere necessariamente così formale. Mi considero un programmatore avanzato, ma continuo a camminare per la sala per discutere delle principali decisioni di progettazione con un peer prima della codifica e ottenere successivamente la revisione del prodotto finito.


0

Oltre ad alcuni dei libri citati (in particolare Come pensare come uno scienziato informatico ), controlla il sito Python Recipes di ActiveState . Leggere alcune cose che gli interessi voi, un'occhiata al codice, e quindi capire come si sarebbe affrontato il problema e come diverso da ciò che è nella ricetta.


-1

Questo è un suggerimento piuttosto strano, ma il modo in cui sono arrivato a trovarmi è fare domande e guardare altre persone fare domande e leggere le risposte. Quindi, sfogliando le domande con tag Python di Stack Overflow o (come nel mio caso) diventando un normale su #python su freenode.


-3

Prova il libro "Hello World! Computer Programming for Teens and Other Beginners" di Warren e Carter Sande è come ho imparato Python Scripting, o ho sentito che "Hello! Python" di Anthony Briggs è anche un libro fantastico.

Concentrati sull'organizzazione dei tuoi programmi con funzioni, commenti e una sorta di struttura su come scorre. Non dimenticare: un programma è semplicemente un insieme di istruzioni che il computer segue. Semplifica la lettura e la comprensione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.