Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls

Ich werde weiterhin Inhalte für Python-Anfänger schreiben.

Einer der Gründe, warum die Verwendung von Python erweitert wurde, ist die Existenz seiner umfangreichen Bibliothek. Der Grund, warum die Verwendung der GUI und das Schreiben von Netzwerk-Apps so einfach ist, liegt eindeutig darin, dass die Python-Bibliothek umfangreich ist.

Dieses Mal werde ich erklären, wie Python geschrieben wird, um die Wiederverwendbarkeit zu verbessern, sodass das bereits geschriebene Skript als Modul verwendet werden kann.

** Sprache mit wenigen Versprechungen **

Python ist eine Sprache mit sehr wenigen Versprechungen, Programme zu schreiben.

print "Hello World"

Es ist ein gutes Python-Programm, auch wenn Sie nur schreiben. Für die C / C ++ - Sprache müssen Sie die Hauptfunktion schreiben. Im Fall von Java müssen Sie eine Klasse erstellen und eine Methode namens public static void main (String [] args) definieren. Solche Versprechen sind beim Erlernen der Sprache unvermeidlich. Sie können die Python-Sprache mit wenigen solchen Versprechungen verwenden.

a = 1
b = 2
print a+b

Die Tatsache, dass es so beschrieben werden kann, liegt an der geringen Anzahl von Versprechungen.

** Alle Objekte können gedruckt werden **

Aus der Python-Sprache ist das Versprechen an den Benutzer Die meisten Objekte print Die Kennung des Objekts Dies bedeutet, dass Sie mit drucken können.

Der Punkt ist, dass Sie Zahlen, Zeichenfolgen, Listen, Taples, Wörterbücher, numpy.array-Typen, Klasseninstanzen und Objekte drucken können, die von der Python-Sprache verarbeitet werden.

Dies zwingt Benutzer der Python-Sprache nicht dazu, die C-Sprache printf ("% d", Variable vom Typ int), printf ("% f", Variable vom Typ double) usw. zu verwenden, und es besteht Raum für falsche Verwendung. Ich habe es verloren. Die Tatsache, dass Sie drucken können, egal wie komplex das Datenformat ist, macht es möglich, durch Drucken zu verstehen, selbst wenn der Rückgabewert einer Funktion, die Sie nicht verwenden können, in einem komplexen Datenformat vorliegt.

Hinweis: Auf dem Python-Interpreter

>>> a+b
3
>>> 

Tun Sie es einfach und es wird das Objekt ohne Druck angezeigt.

Hinweis: print ist eine spezielle print-Anweisung, keine Funktion. Es gibt auch eine print () -Funktion, die auf die gleiche Weise verwendet werden kann. Daher denke ich, dass im Python-Quellcode, den Sie sehen, die Python 2.x-Serie tendenziell die print-Anweisung verwendet und die Python 3.x-Serie tendenziell die print () -Funktion verwendet.

** Versprechen für Python-Benutzer **

Die Python-Sprache verwendet Einrückungen als Bereich der Steuerungssyntax für if, while und for-Anweisungen. Aus diesem Grund verhält sich das kopierte und eingefügte Skript anders, wenn sich der Einzug vom ursprünglichen Skript unterscheidet.

Bis ich mich daran gewöhnt habe, scheint es, dass es sich um eine abgeschnittene Libelle handelt, und ich bin möglicherweise verwirrt darüber, "Wo ist der Rest geblieben?" Ich glaube du kannst.

** Lass uns importieren **

Wenn Sie in der Python-Sprache den Namen des Importmoduls eingeben, können Sie mit dem Modulnamen auf den Funktionen zugreifen. Funktionsname.

import cv2 img = cv2.imread("lena.jpg ") Kann gemacht werden.

Von mir selbst geschrieben myModule.py Funktion in myfunc () Wenn es gibt import myModule myModule.myfunc() Sie können Ihre eigene Bibliothek unter verwenden.

.py:modNcut.py


from skimage import data, io, segmentation, color
from skimage.future import graph
from matplotlib import pyplot as plt

def plotNcut(img):
    labels1 = segmentation.slic(img, compactness=30, n_segments=400)
    out1 = color.label2rgb(labels1, img, kind='avg')
    
    g = graph.rag_mean_color(img, labels1, mode='similarity')
    labels2 = graph.cut_normalized(labels1, g)
    out2 = color.label2rgb(labels2, img, kind='avg')
    
    plt.figure(1)
    io.imshow(out1)
    plt.figure(2)
    io.imshow(out2)
    io.show()

Nach dem Erstellen der Funktion In dem Verzeichnis, in dem sich diese Funktion befindet (oder wenn dieses Modul PYTHONPATH hat)

import modNcut
import cv2
img = cv2.irmread("lena.jpg ")
modNcut.plotNcut(img)

Kann verwendet werden als. Die Tatsache, dass Sie Ihre eigenen Module ohne besondere Arbeit wie Kompilieren oder Registrieren verwenden können, macht es sehr einfach, mit der Entwicklung fortzufahren. Welche Art von Spezifikationen sollte die Funktion vorgenommen werden, insbesondere, wie ihre Argumente und Rückgabewerte einfach zu verwenden sind? Es wird sehr einfach sein, es tatsächlich zu schreiben und zu überprüfen, während Sie es verwenden.

Das Fehlen von Konventionen in der Python-Sprache spiegelt sich auch darin wider, wie Module für die Installation geschrieben werden.

** Fast die einzige Konvention beim Schreiben eines Moduls **

In der Python-Sprache wird der Teil, der der Hauptfunktion der C / C ++ - Sprache entspricht, im folgenden if-Anweisungsteil beschrieben. `if __name__ ==" __main__ ": Der Bereich der if-Anweisungen, die mit` beginnen, ist der Teil, der nur ausgeführt wird, wenn die Skriptdatei als main ausgeführt wird. Wenn die Skriptdatei von der import-Anweisung aufgerufen wird, wird der Bereich der if-Anweisung, der mit `if __name__ ==" __main__ ":` beginnt, nicht ausgeführt.

python



 [__main__ - Skriptumgebung der obersten Ebene](http://docs.python.jp/2/library/__main__.html)

 Python-Tutorial [Module](http://docs.python.jp/2.7/tutorial/modules.html)


### ** Implementierung des Python-Moduls **
 Es gibt tatsächlich verschiedene Implementierungen des Python-Sprachmoduls. Ein Modul, das in der Python-Sprache geschrieben ist. Ein in C / C ++ geschriebenes Modul. Ein Modul, das auf der Cython-Sprache basiert. Alles
 Modulname importieren
 Sie können mit importieren. Alles ist üblich, z. B. eine Hilfebeschreibung mit Hilfe (Modulname.Funktionsname).
 Wenn Sie Python (x, y) installiert haben,
 Aus dem Startmenü
[Python(x,y)][Documentation]
 "Python: Index of Modules" in [Browser öffnen] in [Python-Dokumentationsserver]
 Sie können Ihren Webserver lokal starten.
 Alle Python-Module sind gebräuchlich, z. B. das Auffinden von Funktions- und Klassenbeschreibungen durch Verfolgen der auf diesem Browserbildschirm verfügbaren Bibliotheken.


 Nachtrag
 Referenz-URL
 [PyCon JP 2012 Python-Programmierung Praktische Dokumentation (Anfänger) Skriptdateien und Modularisierung](http://pyconjp2012-python-for-beginners.readthedocs.org/en/latest/script_module.html)
 [1.2.5. Wiederverwendung von Code: Skripte und Module](http://www.turbare.net/transl/scipy-lecture-notes/intro/language/reusing_code.html)




 [Hinweis 8 Messung der Verarbeitungszeit und Profiler](http://qiita.com/nonbiri15/items/fa9036f612183fb3d242)


Recommended Posts

Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 9 Verwendung aus der C-Sprache
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 6 Verbessern Sie den Python-Code
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 2 Verarbeiten Sie mehrere Dateien
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 3 Schreiben Sie in eine Datei
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 8 Verarbeitungszeitmessung und Profiler
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 4 Verwenden Sie die GUI
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 5 In Netzwerk-Apps integrieren
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Wie man Python für Anfänger schneller macht [numpy]
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Verwendung von Raspeye Relay Module Python
Verwendung des optparse-Moduls
[Python] Verwendung von Matplotlib, einer Bibliothek zum Zeichnen von Diagrammen
Verwendung der Methode __call__ in der Python-Klasse
Wie erstelle ich ein Python-Paket (geschrieben für Praktikanten)
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
Verwendung des ConfigParser-Moduls
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
[Python] Wie man eine Klasse iterierbar macht
[Python] Organisieren der Verwendung für Anweisungen
Verwendung von "deque" für Python-Daten
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
Wie man ein Dialogsystem für Anfänger erstellt
Verwendung der C-Bibliothek in Python
Der schnellste Weg für Anfänger, um Python zu beherrschen
So verwenden Sie MkDocs zum ersten Mal
So erstellen Sie ein Spigot-Plug-In (für Java-Anfänger)
Verwendung von Datenanalysetools für Anfänger
So fügen Sie einen Suchpfad für Python-Module hinzu
[Algorithmus x Python] Verwendung der Liste
Lassen Sie uns mit SWIG ein Modul für Python erstellen
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
[BigQuery] Verwendung der BigQuery-API für die Python-Tabellenerstellung-
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
[Python] Verwendung der Diagrammerstellungsbibliothek Altair
So erstellen Sie ein Python-Paket mit VS Code
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
[Einführung in die Udemy Python3 + -Anwendung] 30. Verwendung des Sets
Verwendung des in Lobe in Python erlernten Modells
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Verwendung von pip, einem Paketverwaltungssystem, das für die Verwendung von Python unverzichtbar ist
python3: Verwendung der Flasche (2)
Verwendung des Generators
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)