Ein Tool zur einfachen Eingabe von Python-Code

Einführung

In diesem Artikel werde ich Ihnen zeigen, wie Sie Python-Code mithilfe einer Texteingabehilfe namens Paster einfach eingeben können. Wird in Editoren wie Jupyter Lab und VS Code verwendet.

Zu verwendende Werkzeuge

Dieses Mal werden wir eine Software namens "Paster" für Windows verwenden, die als freie Software veröffentlicht wird. Diese Software ist eine residente Software mit einer "Funktion zur Eingabe fester Phrasen" und einer "Funktion zur Verwaltung des Clip-Verlaufs". Es kann von verschiedenen Apps wie Texteditoren, Textverarbeitungsprogrammen und Webbrowsern verwendet werden. Es kann jedoch nicht in der Store-App verwendet werden.

In dem benutzerdefinierten Menü, das Sie normalerweise verwenden, können Sie das Datum, die Signatur, den Benutzernamen und das Kennwort registrieren, die für die Anmeldung bei der Mitgliedssite usw. verwendet werden, und diese bei Bedarf an der Übertragsposition im Popup-Menüformat einfügen. Es gibt auch eine Funktion wie das Ersetzen eines bestimmten Felds in der Vorlagendatei durch das angegebene Textelement und das Einfügen.

Dieses benutzerdefinierte Menü kann vom Benutzer je nach Verwendungszweck frei erstellt werden. Sie können Ihre eigenen Menüs für die Eingabe von HTML- und CSS-Tags erstellen, Menüs für die Eingabe von LaTeX-Formeln, Menüs für die einfache Routineverarbeitung mit Yahoo!

Dieses Mal habe ich ein Menü erstellt, um Python-Code einfach einzugeben, daher möchte ich es hier vorstellen.

Übrigens, ** Dieses Mal haben wir das Listenmenü von Paster erweitert und eine Funktion hinzugefügt, mit der Sie mehrere Elemente auswählen und alle gleichzeitig einfügen können. Um diese Funktion nutzen zu können, muss "Ver7.10" oder höher verwendet werden, das am 9. September veröffentlicht wurde. ** ** **

Einfache Installation und Verwendung von Paster

** (Achtung) Paster ist eine reine Windows-Software. Es tut uns sehr leid, aber Mac-Benutzer können es nicht verwenden. ** ** **

Paster kann von der folgenden Website heruntergeladen werden. ・ Autumn Soft

Auf YouTube finden Sie auch eine Video-Erklärung zur Verwendung.

Das benutzerdefinierte Menü (PythonMenu.txt und andere Dateien), das dieses Mal verwendet wird, ist die Paster-Download-Seite auf der oben genannten Herbst-Software-Site. Es kann von erhalten werden.

Benutzerdefiniertes Menübild

Lassen Sie uns nun erklären, welche Art von Bild Sie tatsächlich zur Eingabe von Python-Code verwenden. Wenn Sie die diesmal im Paster zu verwendende Menüdatei (PythonMenu.txt) registrieren und aufrufen, wird das folgende Popup-Menü angezeigt. 2020-09-23_09h24_47.png Wenn Sie hier beispielsweise "NumPy importieren" auswählen, wird der folgende Code eingefügt. 2020-09-23_09h26_36.png

Sie können auch mehrere Importanweisungen gleichzeitig einfügen. Wählen Sie in diesem Fall mehrere Elemente über das Listenmenü aus. Aktivieren Sie das Kontrollkästchen "Zeilenumbrüche verbinden" oben rechts im Dialogfeld. (Im Bild sind nur 2 Elemente ausgewählt, aber tatsächlich sind 5 Elemente ausgewählt.) 2020-09-23_09h30_41.png Anschließend werden die folgenden Elemente sofort eingefügt. 2020-09-23_09h32_58.png

Mit diesem Gefühl können Sie den Standard-Python-Code nacheinander einfügen. 2020-09-23_09h38_28.png 2020-09-23_09h41_32.png 2020-09-23_09h43_27.png 2020-09-23_09h45_20.png

Passen Sie nach dem Einfügen der festen Phrase die Details wie Argumente an. Im obigen Beispiel habe ich Folgendes eingegeben

X = data.data
y = data.target

Nur der Teil von. Code für maschinelles Lernen wie scikit-learn verfügt über eine einheitliche Oberfläche, sodass die Eingabe auf diese Weise besonders effizient ist.

Struktur der Menüdatei

Hier wird der Aufbau der Menüdatei erläutert. Erstellen Sie zunächst eine Datei mit dem Namen "PythonMenu.txt" und importieren Sie mit der import-Anweisung die Menüdateien für verschiedene Pakete. 2020-09-23_09h24_47.png

PythonMenu.txt


================================================================
+Python-Standardmuster
@import "PyBasic.txt"
..
-
================================================================
+NumPy verwandte Artikel
@import "PyNumPy.txt"
..
-
================================================================
+Pandas verwandte Gegenstände
@import "PyPandas.txt"
..
-
================================================================
+Artikel im Zusammenhang mit Matplotlib
@import "PyMatplotlib.txt"
..
================================================================
+Artikel im Zusammenhang mit Seaborn
@import "PySeaborn.txt"
..
-
================================================================
+scikit-Lernen Sie verwandte Elemente
@import "PyScikitLearn.txt"
..

Definieren Sie dann den Hauptteil jedes Pakets in einer separaten Datei. Im Falle von Scikit-Learn ...

PyScikitLearn.txt


================================================================
#scikit-Import von lernen...
[Datensatz laden] Ayame-Messdaten (Laden)_iris) |
		[/]from sklearn.datasets import load_iris
	/E
[Datensatz laden] Boston City House Preis (Laden)_boston) |
		[/]from sklearn.datasets import load_boston
	/E
[Datensatz laden] Handschriftliche Zahlen (laden)_digits) |
		[/]from sklearn.datasets import load_digits
	/E
[Datensatz laden] Weindaten (laden)_wine) |
		[/]from sklearn.datasets import load_wine
	/E
[Datensatz laden] Daten für Diabetiker (Belastung)_diabetes) |
		[/]from sklearn.datasets import load_diabetes
	/E
[Datensatz laden] Promi-Gesichtsbild (holen)_lfw_people) |
		[/]from sklearn.datasets import fetch_lfw_people
	/E
[Generierung des Datensatzes] Generierung des Klassifizierungsdatensatzes (Marke)_blobs) | 
		[/]from sklearn.datasets import make_blobs
	/E
[Generierung des Datensatzes] Generierung des Klassifizierungsdatensatzes (Marke)_classification) | 
		[/]from sklearn.datasets import make_classification
	/E
[Datensatzgenerierung] Regressionsdatensatzgenerierung (make)_regression) | 
		[/]from sklearn.datasets import make_regression
	/E
[Datensatzgenerierung] Generierung konzentrischer Kreisdatensätze (make)_gaussian_quantiles) | 
		[/]from sklearn.datasets import make_gaussian_quantiles
	/E
[Datensatzgenerierung] Generierung konzentrischer Kreisdatensätze (make)_circles) | 
		[/]from sklearn.datasets import make_circles
	/E
[Datensatzgenerierung] Halbkreis-Datensatzgenerierung (make)_moons) | 
		[/]from sklearn.datasets import make_moons
	/E
	--------------------------------------------------------------- | [$]
Pipeline-Generierung (Marke)_pipeline) | 
		[/]from sklearn.pipeline import make_pipeline
	/E
	--------------------------------------------------------------- | [$]
	【model_Auswahl] Datenteilung (Zug)_test_split) | 
		[/]from sklearn.model_selection import train_test_split
	/E
	【model_Auswahl] GridSearch (GridSearchCV)| 
		[/]from sklearn.model_selection import GridSearchCV
	/E

(Unten weggelassen ...)

Es sieht aus wie das.

Mit anderen Worten, wenn Ihnen die fehlenden Pakete oder das, was ich gemacht habe, nicht gefallen (ich denke, sie sind tatsächlich ziemlich unvollständig), können Sie Ihre eigene Menüdatei erstellen und mit einer Importanweisung importieren.

Darüber hinaus werden diese Dateien zusammen in einem Unterordner gespeichert, der im Datenordner von Paster erstellt wurde. 2020-09-23_10h20_12.png

Die Einstellungen zum Registrieren und Aufrufen von PythonMenu.txt lauten wie folgt. Geben Sie die gewünschte Tastenkombination an. 2020-09-23_10h22_57.png

Drei Muster zum Einfügen von Python-Code

Beim Einfügen des Python-Codes verwende ich diesmal hauptsächlich drei Muster.

Dann werde ich sie unten einzeln erklären.

Fügen Sie den Code direkt ein

Wenn ein Argument für eine Methode usw. angegeben werden muss, fügen Sie es mit einem eingegebenen Dummy-Wert ein. Zum Beispiel gibt es die folgenden Fälle. 2020-09-23_13h13_58.png Wenn Sie einen Menüpunkt wie diesen ausführen, wird der folgende Code eingefügt. 2020-09-23_13h15_11.png

Kommentieren Sie den ersten Kommentar aus, wenn Sie joblib noch nicht importiert haben. Und was den Dateinamen und das Komprimierungsverhältnis betrifft, wurde Dummy-Text eingegeben. Ersetzen Sie ihn daher nach dem Einfügen durch einen geeigneten Text.

Fügen Sie den Code mithilfe eines Dialogfelds im Assistentenstil ein

Wenn mehrere Argumente für eine Methode usw. angegeben werden müssen, wird ein Dialogfeld im Assistentenstil angezeigt und jedes Element eingegeben. Übrigens nennt ** Paster eine solche Funktion ein [benutzerdefiniertes] Tag. ** ** **

Zum Beispiel gibt es die folgenden Fälle. 2020-09-23_13h22_41.png Wenn Sie diesen Menüpunkt ausführen, wird der folgende Dialog angezeigt, in dem Sie den Durchschnittswert, die Verteilung, die Mitverteilung, die Anzahl usw. eingeben können. WizardDlg.png Dann wird der folgende Code eingegeben. 2020-09-23_14h23_35.png Diejenigen mit vielen Argumenten, wie z. B. multivariate Normalverteilungen, können mithilfe eines solchen Dialogfelds einfach eingegeben werden, ohne sich daran erinnern zu müssen, wie die Argumente angegeben werden sollen.

Die Menüdatei wird übrigens wie folgt beschrieben.

PyNumPy.txt


Zufallszahl für multivariate Normalverteilung (Mittelwert, Varianz und Kovarianz angeben) [zweidimensional]... |
	[/][#|Geben Sie den Durchschnittswert 1 ein|Geben Sie den Durchschnittswert 2 ein|Verteilung eingeben 1|Verteilung eingeben 2|
Geben Sie die Kovarianz ein|Geben Sie die Nummer ein]
	[/]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

Fügen Sie über das Listenmenü mehrere Elemente gleichzeitig ein.

Wenn mehrere optionale Argumente für eine Methode usw. angegeben werden müssen, zeigen Sie das Listenmenü an und fordern Sie jedes Element zur Eingabe auf. Zum Beispiel gibt es die folgenden Fälle. 2020-09-23_13h53_19.png Wenn Sie diesen Menüpunkt ausführen, wird das folgende Listenmenü angezeigt. Wählen Sie das Argument aus, das Sie frei verwenden möchten (halten Sie die Strg-Taste gedrückt und klicken Sie auf). Stellen Sie zu diesem Zeitpunkt sicher, dass Sie den ersten "Methodennamen" und die letzte "schließende Klammer" auswählen. 2020-09-23_13h55_43.png Dann wird der folgende Code eingegeben. 2020-09-23_13h57_41.png Nebenbei wird ein zusätzliches Komma unmittelbar vor der letzten rechten Klammer eingefügt, sodass die folgende Tastenoperation (zweimalige Rücktaste) ausgeführt wird, um es zu löschen.

PyPandas.txt


(Die erste Hälfte wird weggelassen ...)
[Argument] Squeeze: Konvertiert eine Spalte von CSV in Serie| squeeze=True,[$ ]
[Geschlossene Klammer]) | [!K2 "BACK"])

Vorsichtsmaßnahmen

Beim Schreiben einer Menüdatei gibt es einige Einschränkungen.

Zunächst einmal hat ** Paster eine Funktion namens "Tag", um Datum, Uhrzeit und ausgewählten Text zu ändern. ** Dieses Tag wird wie unten gezeigt in eckigen Klammern beschrieben.

MenuItem.txt


Unterschrift[Datumsversion] | [Y1]/[T1]/[D1]([W3]) [H1]:[M2]Spitzname<[email protected]>[&R]

Dies kollidiert mit den Symbolen, die zum Schreiben von ** Python-Listen ([1, 2, 3]) verwendet werden. ** ** ** Daher werden in Paster beim Eingeben der quadratischen Klammern selbst die folgenden Tags verwendet. ([& 1] und [& 2])

; '[' --> [&1], ']' --> [&2]Es wird beschrieben als.
Prüfung| [&1]1, 2, 3[&2]

Als nächstes wird ** die Python-Einrückung angepasst. ** ** ** Wenn Sie sowohl in JupyterLab als auch in VSCode eine Zeile in einer Funktionsdefinition oder in einer for-Anweisung unterbrechen, passt der Editor den Einzug der nächsten Zeile automatisch an. Wenn ich jedoch mehrere Textzeilen aus einer Zwischenablage usw. einfüge, funktioniert dieser automatische Einzug nicht gut. Daher wird in der diesmal erstellten Menüdatei beim Einfügen mehrerer Codezeilen am Ende jeder Zeile die [Eingabetaste] gedrückt.

PyNumPy.txt


Zufallszahl für multivariate Normalverteilung (Mittelwert, Varianz und Kovarianz angeben) [zweidimensional]... |
	[/][#|Geben Sie den Durchschnittswert 1 ein|Geben Sie den Durchschnittswert 2 ein|Verteilung eingeben 1|Verteilung eingeben 2|
Geben Sie die Kovarianz ein|Geben Sie die Nummer ein]
	[/]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

Es ist ein bisschen nervig, aber damit das automatische Einrücken funktioniert, schreiben Sie es so.

Zusammenfassung

Das Obige ist eine kurze Erklärung der Menüdatei. Zuerst habe ich es mit einer Menüdatei erstellt, aber als ich Pakete hinzufügte, wurde die Datei immer größer und ich teilte sie in jedes Paket auf.

Ich wollte unbedingt ein Paket zum Thema Scraping hinzufügen, aber ich habe keine körperliche Stärke mehr ... Ich würde es gerne in Zukunft hinzufügen. (Schweiß;

Wir suchen auch Freiwillige für andere Pakete, daher wären wir Ihnen dankbar, wenn Sie eines erstellen könnten.

Ich habe es lange geschrieben, aber danke, dass Sie so weit gelesen haben.

Recommended Posts

Ein Tool zur einfachen Eingabe von Python-Code
Persönliches Python-Code-Memo
[Python] Beispielcode für die Python-Grammatik
[Python] Erstellen Sie mit Django einen Bildschirm für den HTTP-Statuscode 403/404/500
Installieren Sie RDKit, ein chemisches Informatik-Tool für Python
Hinweise zum Schreiben von Python-ähnlichem Code
[Python] Memo zum Erstellen von Scraping-Tools
Erweitern Sie einfach kurze URLs für Python
Memorandum des Python-Paketverwaltungstools ez_setup
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Erstellt eine Bibliothek für Python, die die morphologische Teilung problemlos handhaben kann
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
Python-Visualisierungstool für die Datenanalyse
Vergleichstabelle für Python-Umgebungstools für Rubyist
Erstellen wir eine virtuelle Umgebung für Python
[Mac] Erstellen einer virtuellen Umgebung für Python
Qt für Python App Desktop App
Python> Codierungsanleitung> PEP 0008 - Stilanleitung für Python-Code
Holen Sie sich ein Zeichen für Conoha mit Python
Führen Sie Python-Code in der A2019 Community Edition aus
Ich habe ein Passwort-Tool in Python erstellt.
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
R-Code-kompatibles Blatt für Python-Benutzer
Ein Lehrbuch für Anfänger von Python-Anfängern
Bereiten Sie mit venv mit VS Code eine virtuelle Python-Umgebung für Ihr Projekt vor
Codelesen von Safe, einer Bibliothek zur Überprüfung der Kennwortstärke in Python
2016-10-30 sonst für Python3> für:
[Python, Scala] Machen Sie ein Tutorial für Apache Spark
Python [für mich]
Ein Tool zum Erstellen symbolischer Links unter Windows
Erstellt einen Python-Wrapper für die Qiita-API
Ich habe ein nützliches Tool für Digital Ocean erstellt
[Python] Ein Tool, das einen intuitiven relativen Import ermöglicht
Holen Sie sich ein Ticket für einen Themenpark mit Python
Gibt es einen guten Beispielcode für Nosetests?
Erstellen Sie mit Minette für Python einen LINE BOT
Erstellt ein Bibliotheksverwaltungstool nur für Header für C / C ++
Versuchen Sie es mit Sourcetrail, einem Quellcode-Visualisierungstool
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Sie können auch mit Python problemlos eine GUI erstellen
Python-Zeichencode
Python: Bereiten Sie einen Serializer für die Klasseninstanz vor:
Ein Memorandum zum Berühren von Python Flask mit Heroku
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Verfahren zum Erstellen einer Python-Isolationsumgebung (venv-Umgebung)
Code zum Überprüfen des Betriebs von Python Matplot lib
Ich habe versucht, alembic auszuführen, ein Migrationstool für Python
Einstellungen für die Python-Codierung mit Visual Studio-Code
Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Code lesen von m3u8, einer Bibliothek zum Bearbeiten von m3u8-Dateien im HLS-Videoformat mit Python
[Visual Studio Code] [Python] Tasks.json + problemMatcher-Einstellungen für Python
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Skript zum einfachen Erstellen einer Clientgeräteumgebung für AWS IoT (Python v2-Version)
Umgebungskonstruktion für diejenigen, die Python einfach mit VSCode (für Mac) lernen möchten
Ein Tool zum Erstellen von Maskenbildern für ETC in Python
Ich möchte Timeout einfach in Python implementieren
Erstellen einer Python-Umgebung mit pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Schreiben Sie über das Erstellen einer Python-Umgebung zum Schreiben von Qiita Qiita