Je me sens coincé dans le centre de Python, Comment dépasser le débutant [fermé]


22

Je m'excuse vraiment si cela ne suit pas les règles du SO mais j'ai besoin d'un peu d'aide, je me classe toujours moi-même comme débutant en python, pourtant j'ai écrit un programme très petit et TRÈS SÛR impraticable pour mon patron.

Je sais que je suis toujours un débutant parce que les choses simples me rendent encore perplexe mais chaque livre que je lis pour les débutants répète honnêtement ce que je sais déjà, mais chaque livre "plus avancé" ne me permet pas vraiment d'apprendre, ils dépendent d'exemples de fichiers et je ne comprends jamais vraiment pourquoi ils ont construit la fonction «dit» ou la classe «dit». Donc, sur ma question ...

Y a-t-il des recommandations sur un livre ou quoi que ce soit qui me pousse à sortir de cette étape, j'ai utilisé la tête la première et normalement ils sont vraiment bons mais mon problème est qu'ils me font suivre le suivi juste pour avancer à nouveau, cela a fonctionné en HTML mais c'est déroutant en Python, je pense que j'ai besoin de construire un programme tout en suivant, Encore une fois j'aime le style de HeadFirst mais j'ai besoin de quelque chose qui ne me fera pas me souvenir d'une chose juste pour l'oublier ...

pour mémoire, j'ai vérifié dans certains livres O'Reilly


7
Pour chaque concept de début, écrivez quelques petits programmes jusqu'à ce que vous vous en rendiez compte. Une fois que vous vous sentez à l'aise, faites de même avec de plus en plus jusqu'à ce que vous arriviez à des choses avancées. La simple lecture sans pratique et sans codage ne vous aidera pas beaucoup.

6
Avez-vous déjà lu Comment penser comme un informaticien ?
Oscar Mederos

Avez-vous déjà suivi le didacticiel docs.python.org/tutorial/index.html ? Avez-vous des aspects spécifiques qui vous déroutent? Si vous pouviez les illustrer avec quelques exemples de code, ce serait encore mieux.
juanchopanza

Le patron n'a-t-il pas aussi besoin d'un programme plus grand écrit en Python? Vous avez besoin d'expérience ...

2
faites, essayez et posez des questions lorsque vous ne comprenez pas, les gens ici vous aideront.
monkut

Réponses:


23

Arrêtez de lire des livres.

Allez écrire du code en utilisant le temps maintenant libre de lecture. Entraine toi. Réflechir. Faites face à de vrais problèmes dans le vrai code que vous écrivez.

Ensuite, vous aurez suffisamment de questions auxquelles les livres avancés pourront répondre. Maintenant, vous n'avez pas ces questions, et les réponses dans les livres n'ont aucun sens pour vous.

C'est un peu comme apprendre une langue étrangère ou apprendre à nager: les livres seuls ne peuvent pas aider. Vous devez beaucoup vous entraîner, puis votre cerveau «comprend».


19

FWIW, la façon dont j'ai vraiment appris Python était d'écrire une application non triviale pour moi . En fait, il s'agissait d'une réécriture de la même application que j'avais précédemment créée pour apprendre le C (et C ++ plus tard), donc je connaissais très bien les types de traitement à effectuer. Au cours de chaque (ré) écriture, j'ai essayé de profiter de toutes les fonctionnalités spéciales offertes par le langage particulier utilisé ou que je voulais simplement essayer.

En prime, lorsque vous avez terminé ou au moins une version de travail, vous aurez quelque chose d'utile, pas un exercice de programmation qui ne vaut rien en soi. Vous pouvez également revenir en arrière plus tard et modifier le programme après avoir appris davantage de meilleures façons d'accomplir des choses dans la langue.

Un moyen très utile de s'améliorer dans n'importe quel langage de programmation est de simplement lire beaucoup d'autres programmes. Une bonne façon de faire de nos jours est d'utiliser Google, comme décrit dans ce StackedOverflow réponse . Il s'agit d'une excellente ressource et vous lirez souvent du code de «puissance industrielle» écrit par des programmeurs professionnels et utilisé dans d'autres applications réelles.

Mise à jour:

Depuis que la recherche de code de Google a été interrompue le 15 janvier 2012, en plus de revenir aux recherches Google régulières, il y a quelque chose appelé Code Snippets Collection qui semble prometteur. Un certain nombre d'autres ressources sont mentionnées dans les réponses à cette question (fermée) Remplacement de Google Code Search? .


5
Accent sur le non-trivial. Pour apprendre à faire des choses difficiles, essayez de faire des choses difficiles.
Bryan Oakley

5

Continuez simplement à travailler sur les concepts faciles. Faites de petits programmes encapsulant leurs concepts. À un moment donné, vous aurez une colline de compréhension et de nouvelles choses auront plus de sens pour vous. Je garde également un répertoire appelé extraits de code Python. Je le trouve utile comme point de départ dans certains concepts.

Une autre astuce que je trouve inestimable est de lire le code des autres peuples et de le commenter, résumant ce que fait chaque ligne et section. Si je ne sais pas, il est temps pour Google. De cette façon, je peux voir Python en action et je peux le décomposer en sections soignées.

Une source particulièrement riche de code est la source Python elle-même.


5

Si vous n'êtes pas sûr des bibliothèques Python de base ou de la conception orientée objet (puisque vous mentionnez ne pas savoir pourquoi "ladite" classe ou "ladite" fonction a été utilisée):

  1. Le renforcement des compétences en conception orientée objet vous aide vraiment à réfléchir à la conception orientée objet.

  2. L'autre site de S.Lott, Building Skills in Python , peut également être un bon moyen pour vous d'étendre vos compétences en Python au-delà des bases. Il a beaucoup d'applications qui sont un peu plus simples que les livres énumérés ci-dessous, mais qui sont toujours amusantes et instructives.


Si votre problème est que vous ne pouvez pas comprendre comment utiliser Python pour faire quelque chose d'intéressant:

1) Début Python: du novice au professionnel lance dans des choses intéressantes: les interfaces graphiques, l'écriture de votre propre application de partage de fichiers, etc. J'aime aussi le style de Hetland.

2) Vous avez mentionné les livres O'Reilly, mais la programmation Python traite presque entièrement des applications au lieu de la syntaxe. Il a beaucoup d'applications intéressantes qui feront couler votre créativité. C'est un livre énorme (~ 1500 pages je pense), et 4e est entièrement axé sur Python 3, mais vous ouvre définitivement les yeux sur la façon dont les gens utilisent Python.


+1 pour la référence sur le site de S. Lott ... Je n'en ai jamais vu auparavant.
Gerrat

4

Il y a deux livres Python que je recommanderais, et l'un d'eux a déjà été mentionné par @MikeRand:

  • Dive Into Python 3 est un livre incontournable qui couvre l'introduction et certains sujets plus avancés.
  • La programmation de Python est à mon humble avis le bon livre pour passer à des sujets Python très avancés. Il couvre également de nombreux domaines, par exemple les interfaces utilisateur (G), les applications système, la programmation Web, etc.

Notez que les dernières versions des deux livres couvrent Python 3. Si vous travaillez avec une ancienne version de Python, recherchez une version antérieure des livres. FTR, une option alternative est Python pour la conception de logiciels (anciennement Comment penser comme un informaticien: apprendre avec Python mentionné par @ oscar-mederos) mais la plupart de son contenu est également introductif (et dans ce sens, je recommanderais plutôt Dive Into Python ).


3

Le moyen le plus efficace consiste à faire réviser régulièrement votre code par un mentor expérimenté et à mettre en œuvre ses suggestions. C'est l'un des plus grands avantages d'un diplôme d'études collégiales, mais ne doit pas nécessairement être aussi formel que cela. Je me considère comme un programmeur avancé, mais je continue de marcher dans le couloir pour discuter des principales décisions de conception avec un pair avant de coder, et faire réviser le produit fini par la suite.


0

En plus de certains des livres mentionnés (en particulier Comment penser comme un informaticien ), consultez le site de recettes Python d'ActiveState . Lisez quelques trucs qui vous intéressent, regardez le code, puis découvrez comment vous auriez abordé le problème et en quoi cela diffère de ce qui est dans la recette.


-1

C'est une suggestion assez bizarre, mais la façon dont je suis arrivé où je suis est de poser des questions et de regarder les autres poser des questions et de lire les réponses. Donc, parcourant les questions marquées par Python de Stack Overflow, ou (comme dans mon cas) devenant un habitué sur #python sur freenode.


-3

Essayez le livre "Hello World! Computer Programming for Teens and Other Beginners" de Warren et Carter Sande, c'est ainsi que j'ai appris le script Python, ou j'ai entendu "Hello! Python" d'Anthony Briggs est aussi un livre fantastique.

Concentrez-vous sur l'organisation de vos programmes avec des fonctions, des commentaires et une sorte de structure sur la façon dont il se déroule. N'oubliez pas: un programme est simplement un ensemble d'instructions que l'ordinateur suit. Rendez-le facile à lire et à comprendre.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.