Quelques conseils utiles pour pratiquer Python

Bonjour, Habr! Aujourd'hui, je vous propose une traduction d'un article Duomly sur l'étude et la pratique de la programmation en Python.


Présentation


Apprendre Python n'est pas très différent de l'apprentissage d'autres langages de programmation. Une façon de devenir un professionnel en Python (ou dans toute autre langue) dépend principalement de votre expérience et de vos connaissances. Cela signifie que les programmeurs expérimentés connaissent déjà les concepts de base de la programmation, tandis que les programmeurs ordinaires utilisent différentes méthodes pour résoudre les problèmes lorsqu'ils ne sont pas des nouveaux venus.


Quoi qu'il en soit, il y a plusieurs choses qui sont communes à tous, l'une d'elles est que vous avez besoin de pratiquer, de pratiquer beaucoup!


Heureusement, Python a une communauté large, conviviale et communicative. Ce sont des projets Open-Source qui aident vraiment au développement.


Il existe de nombreux bons conseils sur la façon de pratiquer Python. Cet article n'en couvrira que 10:


  • Choisissez le bon environnement
  • Assurez-vous d'avoir une base suffisante pour apprendre des choses plus complexes.
  • Écrire et améliorer le code
  • Lire la documentation
  • Apprenez des choses plus compliquées après les bases
  • Suivez les normes, les conseils et les astuces Python
  • Analyser le code source
  • S'intéresser aux bibliothèques
  • Devenez membre de la communauté
  • Apprenez un deuxième langage de programmation

Choisissez le bon environnement


Pour commencer, vous devez utiliser Python 3 normal et le gestionnaire de packages sur le système d'exploitation que vous utilisez. Windows, Mac OS ou toute distribution Linux convient à cela. (Même Android avec QPython, bien que les possibilités soient limitées par rapport au Python d'origine). Vous pouvez ultérieurement installer Anaconda sur Windows, Mac OS ou Linux. Il contient un interpréteur Python, un package Conda, des dépendances et un gestionnaire de packages. Avec lui, vous pouvez trouver de nombreuses bibliothèques tierces qui peuvent vous sembler utiles.


Vous devez sélectionner l'IDE (environnement de développement intégré) approprié. Les IDE les plus populaires tels que Visual Studio, VSCode, Emacs, Vim, Sublime Text, etc. ont vraiment un bon support pour Python. Si vous aimez les produits JetBrains, vous pouvez essayer d'utiliser PyCharm.
Un package IDE appelé Spyder est également inclus dans le package de distribution Anaconda.


IPython et Jupyter Notebook sont de bons outils qui offrent des fonctionnalités interactives pratiques. Il existe également un interpréteur Python interactif, mais vous pouvez le trouver plus utile pour vérifier des morceaux de code simples que pour écrire de gros programmes.


Vous pouvez également consulter cet article pour en savoir plus sur l'IDE Python.
Entre autres choses, c'est une bonne idée d'installer et de configurer des linters pour Python (Pylint, flake8 et autres). Ce sont de petits packages qui mettent simplement en évidence les problèmes de votre code (syntaxe, ou liés à la non-conformité avec le style de programmation en Python - PEP8).


Assurez-vous d'avoir une base suffisante pour apprendre des choses plus complexes.


Si vous voulez apprendre n'importe quel langage de programmation, vous devez bien étudier pour apprendre les bases sur lesquelles vous bâtirez votre carrière dans ce langage. Cela signifie que vous devez au moins connaître: la syntaxe de base du langage, comprendre les concepts de base de la programmation, vous familiariser avec les types et structures de données standard, etc.


En Python, vous devez vous assurer que vous comprenez les constructions conditionnelles ( if , else, elif ), les boucles ( for , while ), les fonctions, les nombres, les chaînes, les tuples, les ensembles, les listes, les dictionnaires, etc. Certains autres types de données, tels que les nombres complexes, les tuples nommés, les ensembles immuables, peuvent également être utiles.


Vous devriez trouver le bon livre pour votre niveau sur Python.
Duomly propose un didacticiel Python que vous pouvez utiliser pour apprendre ces concepts et plus encore.
Vous pouvez également commencer par un tutoriel sur le site officiel.


Écrire et améliorer le code


Écrire beaucoup de code pour vous-même fait partie intégrante de l'apprentissage des langages de programmation.
Commencez avec le code des livres et des tutoriels. Ensuite, essayez de le modifier, par exemple, pour le simplifier, ou plus adapté à un usage. Après cela, essayez d'écrire vos propres programmes petits mais utiles.
Mais surtout, rappelez-vous l'une des choses les plus importantes sur la programmation: il ne s'agit pas de taper du code, c'est de comprendre!


Vous ferez des erreurs. Tous les programmeurs le font. Et ce n'est pas mal du tout. Le plus important dans tout cela est de découvrir ce qui a mal tourné et bien sûr de ne pas répéter ces erreurs à l'avenir. Chaque fois que vous recevez et corrigez un bogue, vous devenez un programmeur légèrement meilleur qu'avant.
Parfois, il est important de revenir à l'ancien code et d'essayer de l'améliorer. J'espère que vous voyez où vous êtes devenu meilleur que lorsque vous avez écrit ce code.


Pensez aux problèmes que vous souhaitez résoudre. Idéalement, ce sont les questions qui vous passionnent. L'investissement émotionnel améliore généralement les résultats. Commencez vos petits et moyens projets et essayez de les améliorer le plus souvent possible. Une fois que vous avez appris quelque chose de nouveau, demandez-vous comment l'appliquer au problème que vous souhaitez résoudre.


Lire la documentation


La documentation est très importante en Python. Vous devriez prendre l'habitude de le lire souvent. Il sera idéal, avant d'utiliser toute fonction ou méthode existante, de lire la documentation à ce sujet.


Heureusement, la bibliothèque Python standard et la plupart des bibliothèques tierces populaires ont une bonne documentation détaillée disponible sur leurs sites Web. Vous pouvez également obtenir de la documentation sur l'objet Python (classe, méthode, etc.) par programme, en utilisant l'attribut .doc:


 >>> print(slice.__doc__) slice(stop) slice(start, stop[, step]) Create a slice object. This is used for extended slicing (eg a[0:10:2]). 

La documentation peut contenir plus de détails à certains moments.


Vous pouvez apprendre beaucoup de la documentation. Vous pouvez voir comment utiliser une fonction, une méthode ou une classe, quels arguments vous devez passer, qui renverra l'appel de fonction, etc. Il contient également souvent des exemples connexes qui peuvent être plus informatifs et parfois instructifs.


Apprenez des choses plus compliquées après les bases


Une fois que vous avez compris les bases, vous pouvez commencer à apprendre des choses plus complexes. Ne vous inquiétez pas, vous n'oublierez pas les bases. Vous en aurez toujours besoin.


Des sujets tels que la gestion des exceptions, le déballage et le conditionnement des arguments, * args et ** kwargs, les décorateurs, les modules et les packages, la POO et les générateurs sont souvent utilisés et vous devez les connaître et les comprendre à un bon niveau.
Il existe également de nombreux sujets avancés qui doivent être étudiés. Par exemple, les méthodes magiques, les coroutines, la programmation asynchrone, le multithreading, le multiprocessing, les tests, etc. Ce n'est pas ce dont vous avez besoin au début. Vous pouvez donc commencer par quelque chose de plus simple et plus utile. Par exemple, vous avez besoin d'un outil puissant pour manipuler des chaînes, vous pouvez essayer des expressions régulières. Si vous travaillez sur un projet scientifique, vous trouverez probablement le multitraitement intéressant pour vous.


Suivez les normes, les conseils et les astuces Python


Il y a beaucoup de choses spécifiques dans la programmation spécifiquement pour le langage Python qui ne sont pas la tâche la plus facile à apprendre. Il est heureux qu'il existe de nombreuses ressources qui couvrent bon nombre de ces sujets.


La documentation officielle de Python contient de nombreuses informations. PEP 20, également appelé Zen par Python, écrit par Tim Peters, dénote les principes de base de Python:


 >>> import this The Zen of Python, by Tim Peters  ,  .  ,  .  ,  .  ,  .  ,  .  ,  .   .     ,   .     .     .     .  ,   .    , ,      .        ,    .  ,  .    ,   .     —  .     — , , .   —  !    ! 

PEP 8, ou Code Writing Guide par Guido Van Rossum, B. Varsovie.
Aussi PEP 257, qui dénote les conventions pour les lignes de documentation.


Analyser le code source


Python est un langage de programmation open source, tout comme la plupart des bibliothèques populaires. Cela signifie que vous pouvez lire le code source. C'est souvent possible sur Github, mais il y a d'autres endroits où vous pouvez le faire.
La lecture et la compréhension du code de bibliothèque vous permettent de mieux comprendre comment il fonctionne.


De plus, vous pouvez en apprendre beaucoup en analysant le code source d'autres programmeurs (espérons-le bons). Vous pouvez emprunter des idées, examiner différents chemins d'implémentation, apprendre de nouveaux modèles, etc.


S'intéresser aux bibliothèques


Python possède de nombreuses bibliothèques utiles pour différentes tâches:
expressions régulières, mathématiques, statistiques, génération de nombres aléatoires, tests, itération, programmation fonctionnelle, multithreading et multiprocessing, classes abstraites et bien plus encore.


Il existe également des bibliothèques tierces vraiment utiles pour de nombreuses tâches scientifiques différentes.
Évidemment, vous ne pouvez pas apprendre à les utiliser tous, mais vous pouvez vous concentrer sur plusieurs d'entre eux qui vous semblent plus intéressants pour votre spécialisation.


Si vous voulez être un scientifique ou vous engager dans le Machine Learning, vous devez commencer par NumPy, qui est la bibliothèque fondatrice, pour manipuler les tableaux unidimensionnels et multidimensionnels de manière efficace et facile. Il est rapide et comprend de nombreuses opérations de tableau, sans écrire explicitement for boucles de Python.


 >>> import numpy as np >>> >>> a = np.array([1, 2, 3, 4, 5]) >>> a array([1, 2, 3, 4, 5]) >>> b = 2**a >>> b array([ 2, 4, 8, 16, 32]) >>> a + b array([ 3, 6, 11, 20, 37]) >>> b / 2 array([ 1., 2., 4., 8., 16.]) 

  • NumPy offre de nombreuses fonctions pour manipuler des tableaux. Il contient également des outils pour l'algèbre linéaire, les statistiques, etc.
  • SciPy est une bibliothèque de calculs scientifiques basée sur NumPy, qui contient des fonctionnalités supplémentaires pour l'algèbre linéaire et les statistiques.
  • Pandas est l'une des bibliothèques Python les plus populaires. Il est également construit sur NumPy et fonctionne bien avec NumPy et SciPy. Il comprend des fonctions de manipulation des données.
  • Scikit-learn est la bibliothèque fondamentale pour l'apprentissage automatique avec de nombreux algorithmes. TensorFlow, Theano, Pytorch et Keras sont également utilisés pour travailler avec des réseaux de neurones.
  • Matplotlib et Bokeh sont de bonnes options pour visualiser les données.

Toutes ces bibliothèques ont une excellente documentation.


Si vous voulez faire de la programmation Web, vous pouvez apprendre et vous entraîner à travailler avec certains frameworks backend Python. Le plus populaire d'entre eux - Django, possède la plupart des fonctionnalités nécessaires. Il est très pratique pour les grandes applications Web. Flask, d'autre part, est un micro-cadre puissant et flexible avec de nombreux modules complémentaires. Django et Flask sont les frameworks Web Python les plus populaires.


Python a également d'autres frameworks web comme Pyramid, Bottle, Tornado et ainsi de suite.


SQLAlchemy est un package qui inclut la possibilité de travailler avec des bases de données dans un style orienté objet. Il est souvent utilisé dans les frameworks web, mais aussi en Data Science.


Devenez membre de la communauté


Comme déjà mentionné, Python a une grande communauté amicale. Vous pouvez en faire partie. Lisez les publications, commentez, demandez, cherchez des explications.


Lorsque vous avez un niveau de connaissances suffisant, vous pouvez commencer à investir vos connaissances dans des projets open-source, ou aider ceux qui écrivent des articles ou des tutoriels. Ces choses sont grandement appréciées par la communauté et la plupart des employeurs potentiels.


Apprenez un deuxième langage de programmation


Python est un langage de programmation multi-paradigmes, et dans de nombreuses situations, il suffit.
Mais quoi qu'il en soit, vous devez toujours rechercher des avantages dans l'apprentissage d'autres langues.
Avec cela, vous pouvez améliorer vos connaissances en programmation en général, en paradigmes et élargir vos horizons. Lorsque vous apprenez une langue, il sera plus facile d'en apprendre d'autres. La plupart des bons programmeurs connaissent plusieurs langues.


Si vous voulez être programmeur Web, vous devrez probablement apprendre JavaScript. L'apprentissage de C est bon pour une meilleure compréhension des concepts de programmation de base, mais vous pouvez également y écrire des fonctions très rapides pour Python. Rust est un nouveau langage très cool qui a déjà une bonne intégration avec Python


Exemples de projets pour la pratique


Il existe de nombreux petits projets que vous pouvez utiliser pour apprendre Python. Par exemple, essayez d'automatiser les tâches ennuyeuses. L'apprentissage des chaînes, des expressions régulières et même des bibliothèques de modèles Jinja peut vous aider à écrire du code plus efficace.


  • Si vous travaillez souvent avec Microsoft Office Excel, vous pouvez utiliser XLWings, NumPy et Pandas pour accélérer vos calculs.
  • Vous pouvez utiliser Python pour créer des jeux. Par exemple, vous pouvez prendre la bibliothèque random et essayer de simuler un jet de dé, ou mélanger un jeu de cartes.
  • Si vous voulez créer des interfaces graphiques sympas, vous pouvez utiliser PyQt ou Tkinter. Vous devriez peut-être créer une calculatrice (plus il y a de fonctionnalités, mieux c'est) ou un jeu simple mais bien connu.
  • Si vous souhaitez vous immerger dans le développement Web, essayez Flask. Il ne nécessite que 5 lignes de code pour obtenir des applications Web basiques mais fonctionnelles.

Le site Web officiel de Flask contient une excellente documentation et un tutoriel que vous pouvez utiliser pour l'étudier.


Le didacticiel Doumly Machine Learning contient des instructions sur la pratique de la science des données et de l'apprentissage automatique.


Conclusion


Vous avez lu quelques conseils sur la façon de pratiquer Python. J'espère qu'ils vous aideront à devenir un programmeur Python. N'oubliez pas que vous devez beaucoup programmer, écrire des programmes intéressants, essayer d'apprendre des erreurs et, bien sûr, faire partie de la communauté.


Bon codage!

Source: https://habr.com/ru/post/fr478900/


All Articles