Un outil pour saisir facilement du code Python

introduction

Dans cet article, je vais vous montrer comment saisir facilement du code Python à l'aide d'une aide à la saisie de texte appelée Paster. Utilisé dans les éditeurs tels que Jupyter Lab et VS Code.

Outils à utiliser

Cette fois, nous utiliserons un logiciel appelé "Paster" pour Windows, qui est publié en tant que logiciel libre. Ce logiciel est un logiciel de type résident qui possède une "fonction d'entrée de phrase fixe" et une "fonction de gestion de l'historique des clips". Il peut être utilisé à partir de diverses applications telles que des éditeurs de texte, des traitements de texte et des navigateurs Web. Cependant, il ne peut pas être utilisé dans l'application Store.

Dans le menu personnalisé que vous utilisez normalement, vous pouvez enregistrer la date, la signature, le nom d'utilisateur et le mot de passe utilisés pour vous connecter au site membre, etc., et les coller en position de report dans le format de menu contextuel si nécessaire. Il existe également une fonction telle que le remplacement d'un champ spécifique dans le fichier de modèle par l'élément de texte spécifié et le collage.

Ce menu personnalisé peut être librement créé par l'utilisateur en fonction de l'objectif. Vous pouvez créer vos propres menus pour saisir des balises HTML et CSS, des menus pour saisir des formules LaTeX, des menus pour un traitement de routine facile avec Yahoo!

Cette fois, j'ai créé un menu pour entrer facilement le code Python, je voudrais donc le présenter ici.

À propos, ** Cette fois, nous avons développé le menu de liste de Paster et ajouté une fonction qui vous permet de sélectionner plusieurs éléments et de les coller tous à la fois. Pour utiliser cette fonction, il est nécessaire d'utiliser "Ver7.10" ou une version ultérieure publiée le 9 septembre. ** **

Installer et utiliser Paster facilement

** (Attention) Paster est un logiciel Windows uniquement. Nous sommes désolés, mais les utilisateurs de Mac ne peuvent pas l'utiliser. ** **

Paster peut être téléchargé à partir du site suivant. ・ Automne doux

Vous pouvez également trouver une vidéo expliquant comment l'utiliser sur YouTube.

Le menu personnalisé (PythonMenu.txt et autres fichiers) utilisé cette fois est la page de téléchargement Paster sur le site du logiciel Autumn ci-dessus. Il peut être obtenu à partir de.

Image de menu personnalisée

Maintenant, expliquons quel type d'image vous utilisez réellement pour entrer du code Python. Si vous enregistrez le fichier de menu (PythonMenu.txt) à utiliser cette fois dans le paster et que vous l'appelez, le menu contextuel suivant sera affiché. 2020-09-23_09h24_47.png Ici, par exemple, si vous sélectionnez "Importer NumPy", le code suivant sera collé. 2020-09-23_09h26_36.png

Vous pouvez également coller plusieurs instructions d'importation à la fois. Dans ce cas, sélectionnez plusieurs éléments à l'aide du menu de liste. Cochez la case "Joindre les sauts de ligne" en haut à droite de la boîte de dialogue. (Dans l'image, seuls 2 éléments sont sélectionnés, mais en réalité 5 éléments sont sélectionnés) 2020-09-23_09h30_41.png Ensuite, les éléments suivants seront collés à la fois. 2020-09-23_09h32_58.png

Avec ce genre de sentiment, vous pouvez coller le code Python standard l'un après l'autre. 2020-09-23_09h38_28.png 2020-09-23_09h41_32.png 2020-09-23_09h43_27.png 2020-09-23_09h45_20.png

Après avoir collé la phrase fixe, ajustez les détails tels que les arguments. Dans l'exemple ci-dessus, ce que j'ai entré était

X = data.data
y = data.target

Seule la partie de. Le code d'apprentissage automatique tel que scikit-learn a une interface unifiée, il est donc particulièrement efficace d'entrer de cette manière.

Structure des fichiers de menu

Ici, la structure du fichier de menu sera expliquée. Commencez par créer un fichier appelé "PythonMenu.txt" et utilisez l'instruction import pour importer les fichiers de menu pour divers packages. 2020-09-23_09h24_47.png

PythonMenu.txt


================================================================
+Modèle standard Python
@import "PyBasic.txt"
..
-
================================================================
+Articles liés à NumPy
@import "PyNumPy.txt"
..
-
================================================================
+Articles liés aux pandas
@import "PyPandas.txt"
..
-
================================================================
+Articles liés à matplotlib
@import "PyMatplotlib.txt"
..
================================================================
+Articles liés à Seaborn
@import "PySeaborn.txt"
..
-
================================================================
+scikit-Apprenez les articles connexes
@import "PyScikitLearn.txt"
..

Ensuite, définissez le corps principal de chaque package dans un fichier séparé. Dans le cas de scikit-learn ...

PyScikitLearn.txt


================================================================
#scikit-Importation d'apprentissage...
[Charger le jeu de données] Données de mesure Ayame (charger)_iris) |
		[/]from sklearn.datasets import load_iris
	/E
[Chargement de l'ensemble de données] Prix de la maison de la ville de Boston (chargement)_boston) |
		[/]from sklearn.datasets import load_boston
	/E
[Charger le jeu de données] Numéros manuscrits (charger)_digits) |
		[/]from sklearn.datasets import load_digits
	/E
[Charger le jeu de données] Données du vin (charger)_wine) |
		[/]from sklearn.datasets import load_wine
	/E
[Load dataset] Données pour les patients diabétiques (load)_diabetes) |
		[/]from sklearn.datasets import load_diabetes
	/E
[Charger l'ensemble de données] Image du visage de célébrité (extraire)_lfw_people) |
		[/]from sklearn.datasets import fetch_lfw_people
	/E
[Génération d'un jeu de données] Génération d'un jeu de données de classification (make)_blobs) | 
		[/]from sklearn.datasets import make_blobs
	/E
[Génération d'un jeu de données] Génération d'un jeu de données de classification (make)_classification) | 
		[/]from sklearn.datasets import make_classification
	/E
[Génération de l'ensemble de données] Génération de l'ensemble de données de régression (création)_regression) | 
		[/]from sklearn.datasets import make_regression
	/E
[Génération d'un jeu de données] Génération d'un jeu de données de cercles concentriques (make)_gaussian_quantiles) | 
		[/]from sklearn.datasets import make_gaussian_quantiles
	/E
[Génération d'un jeu de données] Génération d'un jeu de données de cercles concentriques (make)_circles) | 
		[/]from sklearn.datasets import make_circles
	/E
[Génération de l'ensemble de données] Génération de l'ensemble de données en demi-cercle (création)_moons) | 
		[/]from sklearn.datasets import make_moons
	/E
	--------------------------------------------------------------- | [$]
Génération de pipeline (marque)_pipeline) | 
		[/]from sklearn.pipeline import make_pipeline
	/E
	--------------------------------------------------------------- | [$]
	【model_sélection] Division des données (train)_test_split) | 
		[/]from sklearn.model_selection import train_test_split
	/E
	【model_sélection] GridSearch (GridSearchCV)| 
		[/]from sklearn.model_selection import GridSearchCV
	/E

(Omis ci-dessous ...)

Ça ressemble à ça.

En d'autres termes, si vous n'aimez pas les packages manquants ou ce que j'ai fait (je pense qu'ils sont en fait assez incomplets), vous êtes libre de créer votre propre fichier de menu et de l'importer avec une instruction d'importation.

De plus, ces fichiers sont enregistrés ensemble dans un sous-dossier créé dans le dossier de données de Paster. 2020-09-23_10h20_12.png

Les paramètres d'enregistrement et d'appel de PythonMenu.txt sont les suivants. Spécifiez le paramètre de touche de raccourci que vous aimez. 2020-09-23_10h22_57.png

Trois modèles pour coller du code Python

Lors du collage du code Python, j'utilise principalement trois modèles cette fois.

Ensuite, je les expliquerai individuellement ci-dessous.

Collez le code directement

Lorsqu'il est nécessaire de spécifier un argument pour une méthode, etc., collez-le avec une valeur factice entrée. Par exemple, il y a les cas suivants. 2020-09-23_13h13_58.png Lorsque vous exécutez un élément de menu comme celui-ci, le code ci-dessous sera collé. 2020-09-23_13h15_11.png

Mettez en commentaire le premier commentaire si vous n'avez pas déjà importé joblib. Et, en ce qui concerne le nom du fichier et le taux de compression, du texte factice a été entré, remplacez-le par quelque chose d'approprié après le collage.

Collez le code à l'aide d'une boîte de dialogue de style assistant

Lorsqu'il est nécessaire de spécifier plusieurs arguments pour une méthode, etc., une boîte de dialogue de style assistant s'affiche et chaque élément est saisi. À propos, ** Paster appelle une telle fonctionnalité une balise [spécifiée par l'utilisateur]. ** **

Par exemple, il y a les cas suivants. 2020-09-23_13h22_41.png Lorsque vous exécutez cet élément de menu, la boîte de dialogue suivante s'affiche et vous pouvez entrer la valeur moyenne, la distribution, la co-distribution, le nombre, etc. WizardDlg.png Ensuite, le code suivant sera entré. 2020-09-23_14h23_35.png Ceux avec de nombreux arguments, tels que les distributions normales multivariées, peuvent être facilement saisis à l'aide d'une telle boîte de dialogue sans avoir à se rappeler comment spécifier les arguments.

À propos, le fichier de menu est décrit comme suit.

PyNumPy.txt


Distribution normale multivariée (préciser la moyenne, la variance et la covariance) nombre aléatoire [bidimensionnel]... |
	[/][#|Entrez la valeur moyenne 1|Entrez la valeur moyenne 2|Entrez la distribution 1|Entrez la distribution 2|
Entrez la covariance|Entrez le numéro]
	[/]mean = np.array([&1][#1], [#2][&2])[!K "ENTER"]
	[/]cov = np.array([&1][&1][#3], [#5][&2], [&1][#5], [#4][&2][&2])[!K "ENTER"]
	[/]x = np.random.multivariate_normal(mean, cov, size = [#6])
/E

Collez plusieurs éléments à la fois à l'aide du menu de liste.

Lorsqu'il est nécessaire de spécifier plusieurs arguments optionnels pour une méthode, etc., affichez le menu liste et demandez à chaque élément d'être saisi. Par exemple, il y a les cas suivants. 2020-09-23_13h53_19.png Lorsque vous exécutez cet élément de menu, le menu de liste suivant s'affiche. Sélectionnez l'argument que vous souhaitez utiliser librement (maintenez la touche Ctrl enfoncée et cliquez). À ce stade, veillez à sélectionner le premier «nom de méthode» et la dernière «parenthèse fermante». 2020-09-23_13h55_43.png Ensuite, le code suivant sera entré. 2020-09-23_13h57_41.png En passant, comme une virgule supplémentaire est insérée juste avant la dernière parenthèse droite, l'opération de touche suivante (touche de retour arrière deux fois) est exécutée pour la supprimer.

PyPandas.txt


(La première moitié est omise ...)
[Argument] squeeze: Convertir une colonne de csv en série| squeeze=True,[$ ]
[Parenthèse fermée]) | [!K2 "BACK"])

Remarques

Il y a quelques mises en garde lors de l'écriture d'un fichier de menu.

Tout d'abord, ** Paster a une fonction appelée "tag" pour modifier la date, l'heure et le texte sélectionné. ** Cette balise est décrite en utilisant des crochets comme indiqué ci-dessous.

MenuItem.txt


Signature[Version de date] | [Y1]/[T1]/[D1]([W3]) [H1]:[M2]surnom<[email protected]>[&R]

Ceci entre en conflit avec les symboles utilisés pour écrire les ** listes Python ([1, 2, 3]). ** ** Par conséquent, dans Paster, lors de la saisie des parenthèses carrées elles-mêmes, les balises suivantes sont utilisées. ([& 1] et [& 2])

; '[' --> [&1], ']' --> [&2]Il est décrit comme.
tester| [&1]1, 2, 3[&2]

Vient ensuite ** ajuster l'indentation Python. ** ** Dans JupyterLab et VSCode, si vous coupez une ligne dans une définition de fonction ou dans une instruction for, l'éditeur ajustera automatiquement l'indentation de la ligne suivante. Cependant, si vous collez plusieurs lignes de texte à partir d'un presse-papiers, etc., cette indentation automatique ne fonctionnera pas. Par conséquent, dans le fichier de menu créé cette fois, lors du collage de plusieurs lignes de code, la touche [Entrée] est enfoncée à la fin de chaque ligne.

PyNumPy.txt


Distribution normale multivariée (préciser la moyenne, la variance et la covariance) nombre aléatoire [bidimensionnel]... |
	[/][#|Entrez la valeur moyenne 1|Entrez la valeur moyenne 2|Entrez la distribution 1|Entrez la distribution 2|
Entrez la covariance|Entrez le numéro]
	[/]mean = np.array([&1][#1], [#2][&2])[!K "ENTER"]
	[/]cov = np.array([&1][&1][#3], [#5][&2], [&1][#5], [#4][&2][&2])[!K "ENTER"]
	[/]x = np.random.multivariate_normal(mean, cov, size = [#6])
/E

C'est un peu ennuyeux, mais pour faire fonctionner l'auto-indentation, écrivez-le comme ça.

Résumé

Ce qui précède est une brève explication du fichier de menu. Au début, je l'ai créé avec un fichier de menu, mais au fur et à mesure que j'ajoutais des packages, le fichier devenait de plus en plus gros, je l'ai donc divisé en chaque package.

Je voulais vraiment ajouter un package lié au grattage, mais je suis à court de force physique ... Je voudrais l'ajouter à l'avenir. (Transpiration;

Nous recherchons également des volontaires pour d'autres packages, nous vous serions donc reconnaissants de bien vouloir en créer un.

Je l'ai écrit pendant longtemps, mais merci d'avoir lu jusqu'ici.

Recommended Posts

Un outil pour saisir facilement du code Python
Mémo de code personnel Python
[Python] Exemple de code pour la grammaire Python
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django
Installez RDKit, un outil informatique de chimie pour Python
Notes pour écrire du code de type Python
[Python] Mémo de création de l'outil de grattage
Développez facilement les URL courtes pour Python
Mémorandum de l'outil de gestion de paquets Python ez_setup
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Python> J'ai créé un code de test pour mon propre fichier externe
Création d'une bibliothèque pour python capable de gérer facilement la division morphologique
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
Outil de visualisation Python pour le travail d'analyse de données
Tableau de comparaison des outils d'environnement Python pour Rubyist
Créons un environnement virtuel pour Python
[Mac] Création d'un environnement virtuel pour Python
Qt pour l'application de bureau de l'application Python
python> guide de codage> PEP 0008 --Style Guide for Python Code
Obtenez un jeton pour conoha avec python
Exécutez le code Python sur A2019 Community Edition
J'ai créé un outil de mot de passe en Python.
Créer un environnement de développement Python pour le développement de l'IA
Fiche compatible avec le code R pour les utilisateurs de Python
Un manuel pour les débutants réalisé par des débutants Python
Préparez un environnement virtuel Python pour votre projet avec venv avec VS Code
Lecture de code de Safe, une bibliothèque pour examiner la force des mots de passe en Python
30/10/2016 else pour Python3> pour:
[Python, Scala] Faites un tutoriel pour Apache Spark
python [pour moi]
Un outil pour créer des liens symboliques sous Windows
Création d'un wrapper Python pour l'API Qiita
J'ai créé un outil utile pour Digital Ocean
[Python] Un outil qui permet une importation relative intuitive
Obtenez un billet pour un parc à thème avec python
Existe-t-il un bon exemple de code pour nosetests?
Créer un LINE BOT avec Minette pour Python
Création d'un outil de gestion de bibliothèque d'en-tête uniquement pour C / C ++
Essayez d'utiliser Sourcetrail, un outil de visualisation de code source
Procédure de création d'un LineBot réalisé avec Python
Vous pouvez facilement créer une interface graphique même avec Python
code de caractère python
Python: préparez un sérialiseur pour l'instance de classe:
Un mémorandum pour toucher Python Flask avec Heroku
Commandes pour créer un environnement python3 avec virtualenv
Procédure de création d'un environnement d'isolation Python (environnement venv)
Code pour vérifier le fonctionnement de Python Matplot lib
J'ai essayé d'exécuter alembic, un outil de migration pour Python
Paramètres de codage Python avec Visual Studio Code
Facile à créer une application console Python avec Click
Notes sur la création d'un environnement python par les débutants
Faisons un module pour Python en utilisant SWIG
Lecture de code de m3u8, une bibliothèque de manipulation de fichiers m3u8 au format vidéo HLS avec Python
[Visual Studio Code] [Python] Paramètres Tasks.json + problemMatcher pour Python
Créer un environnement d'exécution python avec VS Code
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
Construction d'environnement pour ceux qui veulent étudier Python facilement avec VSCode (pour Mac)
Un outil pour créer des images de masque pour ETC en Python
Je veux facilement implémenter le délai d'expiration en python
Construire un environnement Python avec pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Écrire sur la création d'un environnement Python pour l'écriture de Qiita Qiita