La meilleure façon d'apprendre le python

Python est plus populaire que jamais et est utilisé partout, des serveurs Web back-end au développement de jeux front-end, entre autres. Python est un véritable langage généraliste et devient rapidement un outil indispensable dans l'arsenal de tout programmeur qui se respecte..

Mais Python n'est pas populaire simplement parce qu'il est populaire. Il est facile à apprendre, se lit comme un pseudo-code et se montre agile. Cependant, apprendre une nouvelle langue peut être une tâche ardue, et trouver le bon endroit et les bonnes personnes pour apprendre est une partie de la bataille. C'est là que ce guide peut aider. Ceci est votre plan pour rendre Python facile, amusant et enrichissant à apprendre.

À la recherche d'un raccourci?

Cet article propose de nombreuses ressources, mais si vous préférez quelque chose de plus structuré, le cours d’introduction à Python d’Envato vous propose un ensemble complet de leçons vidéo qui vous permettront de vous familiariser rapidement avec Python pour seulement 5 $..

Devoir 1: Commencez par l'essentiel

Au moment d'écrire ces lignes, deux versions principales de Python étaient en circulation: Python 2.7 et Python 3.2. Ce que vous choisissez d'apprendre n'a pas vraiment d'importance, car les différences seront minimes, en particulier pour un débutant. Mais vous devez savoir que, alors que Python 2 dispose de beaucoup plus de support tiers, Python 3 est l’objectif principal des développeurs qui conçoivent le langage. Vous avez le choix, mais si votre code agit différemment d’un tutoriel, assurez-vous d’utiliser la même version Python que celle utilisée dans le tutoriel..

Didacticiel de Wikibooks pour non-programmeurs pour Python

Wikibooks est toujours une excellente source pour apprendre quelque chose de nouveau, et Python ne fait pas exception. Vous trouverez ici une série de guides solides et pertinents qui vous apprendront les ficelles du métier de Python. Cela n’est pas trop technique et vous pouvez rapidement coder quelque chose d’utile et de gratifiant. Pour cette raison, je recommande ce site comme le meilleur endroit pour commencer votre voyage en Python..

Le tutoriel officiel de Python

Vous ne trouverez pas de meilleure source d’information que la documentation officielle de python.org. Cependant, si vous voulez vous lancer, comme beaucoup d’entre vous le voudront sûrement, ce n’est peut-être pas le meilleur endroit pour commencer.

Le contenu a tendance à être plus technique que les wikibooks, ce qui vous sera utile ultérieurement au fur et à mesure de votre progression dans la langue. Mais, pour un débutant, cela peut simplement entraver ce qui est vraiment une langue très simple et belle.

Pour les débutants, la plus grande différence entre Python 2 et Python 3 sera probablement que Python 2 pourra utiliser impression sans parenthèses. Python 3 nécessite des parenthèses, mais c'est tout.

Devoir 2: Tutoriels et Screencasts

Didacticiels de programmation Python de TheNewBoston

Les listes de lecture de The NewBoston sont toujours excellentes et vous pouvez apprendre une multitude de langues. «Bucky» est un excellent instructeur car il établit un très bon équilibre entre le fait d'être drôle et la facilité d'écoute. Je recommande fortement toutes ses listes de lecture, en particulier sa liste de lecture Python. Il suppose qu’il n’a aucune connaissance préalable en programmation et vous laissera une solide compréhension du langage..

Le Python de Nettuts + à partir de zéro

Un peu plus près de chez nous se trouve l'intro de Python de Giles Lavelle. À l'instar de la série TheNewBoston, Lavelle ne possède aucune expérience en programmation antérieure..

Si vous souhaitez voir des applications réelles de vos applications ou si vous souhaitez vous orienter vers le développement Web avec Python, cette série pourrait être la vôtre..

Le screencast vous amène de rien à la création d'un site Web dynamique à l'aide d'un framework web Python appelé Django.

Screencasts Python de ShowMeDo

StackOverflow n'est pas seulement rempli d'erreurs et de problèmes 'novices'.

ShowMeDo possède un vaste catalogue de vidéos sur Python. Bien que ce ne soit peut-être pas l'expérience la plus conviviale, les vidéos vont du débutant absolu aux techniques Python les plus avancées. Il vaut bien vérifier.

Construire un bot Python qui peut jouer à des jeux Web

Ce tutoriel est assez spécifique en termes de ce que vous allez apprendre, et je ne le recommande pas pour un débutant complet. Je pense cependant que cela mérite une mention. Dans ce guide, Chris Kiehl vous explique comment créer un bot Python très intéressant qui vous permettra de jouer à un jeu simple. Le tutoriel montre vraiment la puissance de Python; il peut être appliqué pour effectuer des tâches répétitives quotidiennes que vous pouvez avoir sur votre ordinateur.

Devoir 3: Livres électroniques gratuits!

Il est difficile de battre un bon livre lorsque vous essayez d’apprendre quelque chose de nouveau, et avec la grande communauté qui s’est développée autour du langage Python, il existe une pléthore de livres électroniques gratuits de haute qualité. Vous trouverez ci-dessous une liste rapide des meilleurs. Vous pouvez télécharger une version gratuite du livre électronique pour chacun d'eux ou choisir d'acheter le livre physique (ou de faire un don) si vous souhaitez soutenir l'auteur, ce qui, j'en suis sûr, serait grandement apprécié par ceux-ci..

Apprendre le python à la dure

Malgré son nom, Learn Python The Hard Way rend l’apprentissage de Python incroyablement facile, comme il se doit! Dans ce livre, Zed A. Shaw travaille à partir de zéro en vous donnant un guide détaillé et complet de Python sans vous gêner pour le codage. Shaw est informel mais complet, ce qui en fait une lecture facile mais enrichissante..

Pensez Python: comment penser comme un informaticien

Vous ne trouverez pas une meilleure source d’information que la documentation officielle de python.org.

Comme le sous-titre l'indique peut-être, «Comment penser comme un informaticien», Think Python reste un peu plus orienté vers l'aspect théorique des choses. Cela peut sembler un peu frustrant pour un débutant total, mais le livre vaut la peine d'être lu en ce qui concerne la théorie des algorithmes et les concepts de haut niveau..

Inventer avec Python

Si vous aimez apprendre en faisant, construire votre propre jeu s'avérera être une expérience enrichissante! Dans ce livre, Al Sweigart n’assume aucune connaissance préalable de Python et vous guide tout au long de la construction de votre propre jeu. Etant donné que le livre est orienté vers le développement de jeux, le livre peut bouger un peu rapidement pour un débutant total. Plus loin dans cet article, je mentionne un de ses livres similaires dans lequel il suppose une connaissance préalable de Python. Si vous sentez que vous maîtrisez bien la langue, son autre livre pourrait être une meilleure ressource pour vous..

Le livre Django

Si vous souhaitez apprendre Python pour le développement Web, vous utiliserez probablement le framework Django. Ce livre suppose une fluidité en Python, mais il enseigne Django comme si vous débutiez dans le framework. Le livre Django est aussi bon qu’ils viennent et sera inestimable pour tout développeur web en herbe.

Livres Python

Si vous n'en avez pas encore assez à lire ou si vous souhaitez un livre sur un sujet spécifique, suivez ce lien. Les utilisateurs de python.org ont fourni une liste exhaustive de livres, classés par difficulté et par sujet..

Devoir 4: Familiarisez-vous avec StackOverflow

Des milliers de développeurs ont connu tous les problèmes auxquels vous êtes confrontés. StackOverflow est une excellente ressource où les développeurs trouvent des solutions à leurs problèmes. Lorsque vous rencontrez une erreur que vous ne savez pas vraiment résoudre, effectuez une recherche dans StackOverflow. Vous trouverez plus que probablement une solution et comment d'autres personnes ont résolu leur problème.

Mais StackOverflow n'est pas seulement rempli d'erreurs et de problèmes de 'novice'; il y a des gens très intelligents et utiles qui utilisent le site - apprenez d'eux!

Jetez un coup d'œil aux fonctionnalités cachées du thread Python, par exemple.

La plupart des trucs et astuces que vous voyez ici peuvent ne pas être abordés dans de nombreux tutoriels officiels, mais ils seront extrêmement utiles aux utilisateurs de Python de niveau intermédiaire à avancé..

Mission 5: Projet Euler

Project Euler (prononcé «Oil-er», pour vous épargner un peu plus d’embarras) est l’un de mes sites Web préférés. Après avoir créé un compte, vous pouvez résoudre environ 400 problèmes sur le site Web. Chaque problème représente environ 50% de mathématiques et 50% de programmation et, à mon avis, le moyen le plus gratifiant d'en apprendre davantage sur l'un ou l'autre sujet..

Les problèmes commencent facilement pour tester vos connaissances de la langue, mais deviennent de plus en plus difficiles à mettre au défi même les programmeurs les plus expérimentés. Finalement, la difficulté des problèmes vous obligera à trouver l’algorithme le plus efficace, c’est-à-dire si vous ne voulez pas attendre des heures pour calculer la réponse..

Rien ne vous transformera plus rapidement en un assistant de programmation que de vous pousser à chercher les solutions les plus rapides et les plus efficaces aux problèmes de Project Euler..

Lorsque vous résolvez un nouveau problème, vous accédez au fil de discussion de ce problème où de nombreuses personnes discutent de leurs solutions et de leurs idées. La plupart des solutions des pages suivantes du fil seront en Python. C’est vraiment la clé pour développer vos prouesses en matière de programmation. S'il existe quelqu'un avec une solution plus rapide que la vôtre, prenez le temps de l'analyser pour voir où vous pourriez améliorer votre propre solution. Au fil du temps, vous apprendrez toutes les ficelles du métier et enrichirez votre connaissance de Python de manière significative et enrichissante..

En outre, il existe également de très bons blogs qui résolvent les problèmes de Project Euler en Python. Si vous êtes coincé dans un problème, il n’est pas honteux d’avoir un aperçu du travail des autres développeurs, aussi longtemps que vous avez l’intention de tirer des leçons. Voici deux de mes favoris:

  • Dreamshire
  • Mycila

Devoir 6: Construire un jeu

Peu de choses sont plus satisfaisantes que de construire son propre jeu.

Peu de choses sont plus satisfaisantes que la construction de votre propre jeu. Cela peut être une courbe d'apprentissage abrupte, mais qui en vaut la peine et qui est très enrichissante. PyGame est la bibliothèque de jeux la plus connue pour Python et vous pourrez y trouver de nombreux tutoriels gratuits. Voici quelques-uns des meilleurs tutoriels PyGame. 

Documentation officielle de PyGame

Comme dans le cas des didacticiels Python d'origine, les développeurs de PyGame ont également leur propre documentation d'introduction. Mais ceux-ci peuvent être trop techniques si vous voulez vous lancer et commencer à construire votre jeu. La documentation destinée aux développeurs restera toutefois votre meilleure source d’information; donc, je vous recommande tout de même de vous familiariser avec le site.

Inventer avec Python (avec PyGame)

Ce livre électronique gratuit de Al Sweigart parcourt la bibliothèque PyGame et vous emmène de zéro à la construction de quelques jeux pour vous-même. Les jeux simples vous fourniront une plate-forme idéale pour démarrer vos propres projets, si vous le souhaitez. Sweigart fournit des commentaires détaillés et détaillés tout au long de son code pour vous aider à apprendre au fur et à mesure..

Tutoriel de développement de jeux informatiques de TheNewBoston

Ceci est une autre liste de lecture de TheNewBoston. Cela sert bien d'intro à PyGame. Il suppose zéro connaissance et vous donne une bonne idée de la bibliothèque PyGame, mais contrairement au guide InventWithPython, il est plus pertinent et ne vous mènera pas à la création de votre propre jeu complet..

Devoir 7: Familiarisez-vous avec quelques bibliothèques et outils courants

Python est un langage polyvalent qui peut faire presque tout; donc, bien sûr, il existe un nombre apparemment infini de bibliothèques et d’outils. Voici quelques-uns des plus populaires.

PyPy

Si vous souhaitez un peu plus d'informations sur un fichier HTML, BeautifulSoup le fera pour vous et ajoutera des années à votre vie..

Si vous effectuez des travaux gourmands en ressources processeur et que vous constatez que Python s'avère être un goulot d'étranglement, vous avez peut-être besoin de PyPy. PyPy est un compilateur alternatif pour Python qui peut vraiment accélérer votre traitement..

NumPy + SciPy

Ces deux vont généralement de pair (SciPy est dépendant de NumPy). Si vous faites des calculs sérieux pour la recherche mathématique ou scientifique, ces deux bibliothèques seront vos meilleures amies. NumPy et SciPy étendent les fonctions et capacités mathématiques de Python et peuvent considérablement accélérer certaines de vos tâches..

BeautifulSoup

BeautifulSoup est vraiment magnifique. Si vous avez besoin de parcourir une page HTML pour obtenir des informations, vous ne saurez que trop bien la frustration et la perte de cheveux qu’elle peut entraîner. BeautifulSoup fera tout cela pour vous et ajoutera des années à votre vie. Fortement recommandé et amusant à jouer avec.

Bibliothèque d'images Python

La bibliothèque d’images Python (PIL) est une vaste bibliothèque idéale pour tout ce qui concerne les images. Si vous avez besoin de manipuler une image, il y a de fortes chances pour que PIL le fasse pour vous.

Django

Comme mentionné précédemment dans l'article, le cadre Django est ce que vous utiliserez probablement si votre objectif est le développement Web. C’est le framework Web le plus courant pour Python et le plus grand nombre de ressources d’apprentissage disponibles.

Mission 8: Impliquez-vous dans des projets Open Source

Une fois que vous maîtrisez la langue, savoir lire et comprendre le code des autres est toujours une compétence importante à posséder - sans compter que c'est aussi un excellent moyen d'apprendre.

Pour cette raison, les projets open source sont excellents. Github ou Bitbucket sont les endroits à visiter pour cela. Ne vous inquiétez pas du fait que les gens jugent votre code, vous n'avez pas à contribuer tout de suite. Vous êtes toujours libre de créer un projet, de le bricoler vous-même et de voir comment les choses fonctionnent. Si vous voyez quelque chose que vous pensez pouvoir améliorer, c'est génial! Allez-y et soumettez votre amélioration. C'est ce que l'open source est pour.

  • BitBucket
  • Github
  • Git Essentials (Cours de screencast)

Conclusion

J'espère avoir pu vous fournir une base solide de connaissances sur Python. S'il y a d'autres lieux d'intérêt qui, selon vous, auraient dû être inclus dans ce programme, faites-le-moi savoir dans les commentaires ci-dessous pour aider les autres!