Pourquoi Ipython est meilleur que l'interprète Python standard
Sommaire
Résumé
-
Ipython améliore le mode interactif de Python avec des commandes de surlimination et de magie de syntaxe
-
Il offre une aide intégrée, l'achèvement de l'onglet et la possibilité d'exécuter des commandes système dans Python
-
Vous pouvez enregistrer des sessions pour examen, améliorant davantage la fonctionnalité d'Ipython.
L'une des meilleures fonctionnalités de Python est son interprète interactif qui vous permet de tester votre code rapidement. Et s'il y avait quelque chose encore mieux que le propre interprète de Python? Il y a, et ça s'appelle ipython
Qu'est-ce que Ipython?
Ipython est un autre interprète interactif de l'interprète Python standard qui est expédié avec la langue.
L'interprète standard est utile pour tester les petits extraits de code et l'apprentissage de la langue, mais sa fonctionnalité est basique. Ipython ajoute de nombreuses fonctionnalités utiles si vous utilisez beaucoup plus de python interactif. Cela inclut les personnes qui les utilisent pour la science des données et l'analyse des données. Il comprend de nombreuses fonctionnalités que je mentionnerai plus tard, comme les commandes de mise en évidence et de magie de la syntaxe. Ipython ajoute beaucoup de confort de créatures pour faciliter le python interactif, même si tout ce que vous faites est d'utiliser Python comme calculatrice de bureau.
En rapport
Pourquoi vous devriez utiliser Python comme calculatrice (et comment commencer)
Vous pourriez ne plus jamais reprendre une calculatrice portative.
L'un des spin-offs d'Ipython est le Jupyter de l'interface du cahier populaire, qui est populaire dans l'informatique scientifique. Lorsque vous utilisez un cahier Jupyter basé sur Python, vous utilisez Ipython pour exécuter le code Python. C'est une des raisons pour lesquelles Python et Jupyter sont sérieusement contestés dans les programmes scientifiques et ingénieurs propriétaires comme Mathematica et Matlab.
Ipython est largement disponible via de nombreux gestionnaires de packages de distribution Linux et à Mamba, où c'est un élément clé de mon environnement de développement.
La couleur et la mise en évidence facilitent le code
La réflexion qui donne immédiatement à Ipython le bord sur l'interpréteur Python standard est l'utilisation de la couleur et de la syntaxe. Ipython est en couleur, tandis que le python interactif ordinaire est monochrome.
Cette couleur n'est pas seulement pour les looks. Si vous écrivez du code dans la plupart des éditeurs de texte modernes, l'éditeur l'utilisera pour mettre en évidence les éléments de la langue. Ceci est connu sous le nom de «mise en évidence de la syntaxe». Il est utile pour repérer les erreurs avant de les engager dans le code. Lorsque vous vous y habituez, vous vous demanderez comment vous l'avez fait sans. La mise en évidence de la syntaxe d'Ipython apporte cette expérience à l'interactif Python.
Une chose que j'apprécie à propos de la mise en évidence de la syntaxe d'Ipython est qu'il met automatiquement en évidence les parenthèses et les supports. Ceux-ci sont communs à Python. Combien de fois avez-vous tapé une ligne uniquement pour obtenir un message d'erreur parce que vous avez oublié d'inclure la parenthèse ou le support de clôture? Lorsque vous tapez la parenthèse ouverte, Python le mettra en évidence. Lorsque vous vous déplacez sur la parenthèse de clôture, il mettra en évidence la parenthèse d'ouverture à laquelle il appartient. Ceci est utile pour les parenthèses imbriquées. Il est facile de se confondre sans cette fonctionnalité.
Les commandes magiques facilitent les choses
Ipython comprend des « commandes magiques » qui vous permettent d'exécuter des commandes sur le système. Ils sont préfacés d'un caractère « % » (pourcentage de signe). Un bon exemple est la commande% CD, qui modifie le répertoire de travail, similaire à la façon dont une commande shell Linux.
Par exemple:
%cd /
Cela ira au répertoire racine dans des systèmes de type UNIX. Pour le prouver, vous pouvez exécuter une commande externe en le prétendant avec un caractère d'exclamation (!). Pour exécuter la commande pwd pour voir le répertoire de travail actuel dans ipython:
!pwd
Il existe de nombreuses autres commandes magiques intégrées utiles, ou simplement des «magies», dans la documentation officielle.
Ipython offre une aide intégrée
Une autre belle fonctionnalité d'Ipython est son aide intégrée. Si je dois comprendre ce que fait une fonction de bibliothèque, je peux ajouter un point d'interrogation (?) À ce que je veux savoir pour obtenir une réponse rapide sans avoir à rechercher le Web.
Puisque je travaille avec les données comme passe-temps, j'utilise beaucoup Numpy. Si je veux un rafraîchissement dessus, je peux importer Numpy et ensuite obtenir de l'aide sur l'objet
import numpy as np
np?
Je peux également obtenir de l'aide sur une fonction spécifique. Par exemple, pour voir la documentation sur la méthode « moyenne » pour trouver la moyenne arithmétique:
np.mean?
Cela fait gagner beaucoup de temps lors du codage, car je n'ai pas à interrompre mon flux pour passer au navigateur Web.
L'achèvement de l'onglet d'Ipython rend les choses plus faciles
Une autre fonctionnalité à laquelle je me suis habitué sur les coquilles de type Unix, y compris Bash et Zsh, est l'achèvement de l'onglet. Lorsque je tape les premières lettres de quelque chose, comme une commande ou un nom de fichier, le shell essaiera de le remplir.
Ipython a apporté cette fonctionnalité à Python. Je peux appuyer sur l'onglet pour une liste de commandes, comme à la fenêtre Shell. Il fonctionne également avec d'autres objets.
Je vais démontrer avec un exemple que j'ai couvert dans d'autres articles, un ensemble de données populaire montrant des conseils dans les restaurants de New York. Je vais configurer un objet Pandas DataFrame via la bibliothèque SeaBorn, car il y est disponible.
import seaborn as sns
tips = sns.load_dataset('tips')
Je peux alors commencer à explorer cet ensemble de données. Je peux le terminer en démarrant les mots « conseils » puis en appuyant sur l'onglet. Je peux également des méthodes d'OMP-Tab-Complete, comme la méthode .head ():
tips.head()
Je peux également tab-complete les colonnes, telles que « total_bill ». Cela fait d'Ipython un épargnant majeur du temps de frappe.
Vous pouvez explorer des objets
Comme mentionné précédemment, les commandes d'achat et d'aide fonctionnent sur les objets ainsi que les fonctionnalités de la langue Python. Python en tant que langage orienté objet, ce qui signifie qu'il fonctionne basé sur des structures de données qui incorporent les données sous-jacentes dans le code comme des «objets», où les messages sont passés via des méthodes.
Cela peut être compliqué, mais les commandes IPython facilitent la compréhension du code que j'écris ainsi que pour comprendre les objets créés par les bibliothèques Python. Un bon exemple de cela était l'objet TIPS DataFrame. Pour vérifier cela, je peux utiliser la commande Type dans ipython:
type(tips)
Beaucoup de ces objets ont beaucoup de méthodes. Avec Tab-Completion, je sais ce qui est disponible, encore une fois sans avoir à rechercher la documentation.
Vous pouvez exécuter des commandes système dans ipython
Bien que vous puissiez exécuter des commandes système dans Python à l'aide de la méthode OS.System, elle peut être lourde si vous l'utilisez régulièrement. Vous devez l'importer à chaque session. Ipython vous permet d'exécuter facilement des commandes système sans avoir à quitter Ipython ou à importer des bibliothèques. Je l'ai montré plus tôt avec la commande PWD.
Il est utile pour exécuter de nombreuses commandes système. Par exemple, je peux exécuter une commande ping:
!ping -c 4 google.com
C'est pratique lorsque j'ai juste une fenêtre de terminal avec Ipython chargé. Si je veux exécuter une commande système, je n'ai pas à ouvrir une autre onglet ou fenêtre de terminal.
Ce mécanisme est si utile qu'il est même possible d'utiliser Ipython comme shell système si vous le souhaitez. La documentation officielle a des instructions sur la façon de procéder.
Vous pouvez enregistrer vos sessions
Ipython n'est pas seulement utile pour exécuter des commandes, mais vous pouvez enregistrer vos commandes pour enregistrer des fichiers pour réviser, rappeler et partager avec d'autres personnes.
Vous pouvez utiliser Ipython pour créer une transcription de votre session. Pour démarrer un journal avec l'option – Logfile lors du lancement d'Ipython
ipython --logfile mylog.py
Dans Ipython, vous pouvez utiliser la commande% LogStart Magic, qui enregistre sur ipython_log.py par défaut:
%logstart
Vous pouvez désactiver la connexion avec les commandes de connexion% et%
%logoff
Si vous décidez de rallumer votre journal, vous pouvez utiliser la magie « connexion »:
%logon
Vous pouvez partager votre journal avec quelqu'un d'autre, mais une meilleure façon de montrer ce que vous faites est probablement un cahier de jupyter, qui vous permettra de mélanger en texte et en images avec votre code Python.
En rapport
Cette compétence Linux avancée vous permet de passer à travers la ligne de commande
Modifier et ré-cours les commandes de terminal comme un pro.
Vous pouvez visualiser votre propre historique de commande avec la commande% History Magic, mais une meilleure façon de visualiser votre historique de commandes est par l'utilisation de l'édition de ligne de commande, similaire au type que vous trouverez sur la plupart des coquilles modernes. Pour rechercher en arrière, appuyez sur Ctrl + R.
Python est génial car il comprend un mode interactif pour apprendre la langue et tester rapidement les idées de code. Ipython fait passer cette capacité au niveau suivant avec des fonctionnalités puissantes telles que les commandes de mise en évidence de syntaxe et de magie. Ces fonctionnalités sont la raison pour laquelle Ipython est si utile pour les pythonistes en herbe.
