Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 7 Comment créer un module

Je vais continuer à écrire du contenu pour les débutants en Python.

L'une des raisons pour lesquelles l'utilisation de Python s'est développée est l'existence de sa vaste bibliothèque. De toute évidence, la raison pour laquelle l'utilisation de l'interface graphique et l'écriture d'applications réseau est si facile est que la bibliothèque Python est vaste.

Cette fois, je vais vous expliquer comment écrire Python pour améliorer la réutilisabilité afin que le script déjà écrit puisse être utilisé comme module.

** Langue avec peu de promesses **

Python est un langage avec très peu de promesses pour commencer à écrire des programmes.

print "Hello World"

C'est un bon programme Python même si vous venez d'écrire. Pour le langage C / C ++, vous devez écrire la fonction principale. Dans le cas de Java, vous devez créer une classe et définir une méthode appelée public static void main (String [] args). De telles promesses sont inévitables dans l'apprentissage de la langue. Vous pouvez commencer à utiliser le langage Python avec peu de telles promesses.

a = 1
b = 2
print a+b

Le fait qu'il puisse être décrit comme étant dû au petit nombre de conventions.

** Tous les objets peuvent être imprimés **

Du langage python, la promesse à l'utilisateur est La plupart des objets print L'identifiant de l'objet Cela signifie que vous pouvez imprimer avec.

Vous pouvez imprimer des nombres, des chaînes, des listes, des taples, des dictionnaires, des types numpy.array, des instances de classe et des objets gérés par le langage python.

Cela n'oblige pas les utilisateurs du langage Python à utiliser le langage C printf ("% d", variable de type int), printf ("% f", variable de type double), etc., et il y a de la place pour une utilisation incorrecte. Je l'ai perdu. Le fait que vous puissiez imprimer quelle que soit la complexité du format de données permet de comprendre par impression même si la valeur de retour d'une fonction que vous ne savez pas utiliser est dans un format de données complexe.

Remarque: sur l'interpréteur Python

>>> a+b
3
>>> 

Faites simplement et il affichera l'objet sans impression.

Remarque: l'impression est une instruction d'impression spéciale, pas une fonction. Il existe également une fonction print (), qui peut être utilisée de la même manière. Par conséquent, dans le code source python que vous voyez, je pense que la série Python 2.x a tendance à utiliser l'instruction print, et la série Python 3.x a tendance à utiliser la fonction print ().

** Promesses pour les utilisateurs de Python **

Le langage Python utilise des indentations comme champ d'application de la syntaxe de contrôle pour les instructions if, while et for. Par conséquent, le script copier-coller se comportera différemment si le retrait est différent du script d'origine.

Jusqu'à ce que je m'y habitue, il semble que ce soit une libellule qui est coupée, et je peux être confus quant à "Où est passé le reste?", Mais comme j'obtiens un exemple utile du langage Python, je m'y habitue naturellement. Je pense que tu peux.

** Importons **

Dans le langage Python, si vous saisissez le nom du module d'importation, vous pouvez accéder aux fonctions du module avec le nom du module nom de la fonction.

import cv2 img = cv2.imread("lena.jpg ") Peut être fait.

Écrit par moi-même myModule.py Fonction dans myfunc () Quand il y a import myModule myModule.myfunc() Vous pouvez utiliser votre propre bibliothèque sur.

.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()

Après avoir créé la fonction Dans le répertoire où se trouve cette fonction (ou si ce module a PYTHONPATH)

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

Peut être utilisé comme. Le fait que vous puissiez utiliser vos propres modules sans aucun travail particulier tel que la compilation ou l'enregistrement, il est très facile de procéder au développement. Quels types de spécifications la fonction doit-elle être faite, en particulier comment rendre ses arguments et ses valeurs de retour faciles à utiliser? Il sera très facile de l'écrire et de le vérifier lors de son utilisation.

Le manque de conventions dans le langage python se reflète également dans la manière d'écrire les modules à installer.

** Presque la seule convention lors de l'écriture d'un module **

-Ecrivez le code que vous ne voulez pas exécuter lorsque vous l'appelez en tant que module (= le code que vous voulez exécuter uniquement lorsque vous le sélectionnez comme programme principal) dans l'instruction if de ```if name == "main": `` `.

Dans le langage Python, la partie correspondant à la fonction principale du langage C / C ++ est décrite dans la partie instruction if suivante. If __name__ == "__main__": La plage d'instructions if commençant par est la partie qui ne sera exécutée que lorsque le fichier de script est exécuté en tant que main. Lorsque le fichier de script est appelé par l'instruction import, la plage de l'instruction if commençant par if __name__ == "__main__": n'est pas exécutée.

python



 [__main__ - Environnement de script de niveau supérieur](http://docs.python.jp/2/library/__main__.html)

 Tutoriel Python [Modules](http://docs.python.jp/2.7/tutorial/modules.html)


### ** Implémentation du module Python **
 Il existe en fait diverses implémentations du module de langage python. Un module écrit en langage python. Un module écrit en C / C ++. Un module écrit basé sur le langage Cython. Tout
 nom du module d'importation
 Vous pouvez importer avec. Tout est commun, comme obtenir une description de la fonction avec de l'aide (nom du module, nom de la fonction).
 Si vous avez installé Python (x, y),
 Depuis le menu de démarrage
[Python(x,y)][Documentation]
 "Python: Index des modules" dans [navigateur ouvert] dans [serveur de documentation python]
 Vous pouvez lancer votre serveur Web localement.
 Tous les modules python sont communs, comme la possibilité de trouver des descriptions de fonctions et de classes en traçant les bibliothèques disponibles sur cet écran de navigateur.


 Postscript
 URL de référence
 [PyCon JP 2012 Python Programming Hands-on (Beginner) documentation Script Files and Modularization](http://pyconjp2012-python-for-beginners.readthedocs.org/en/latest/script_module.html)
 [1.2.5. Réutilisation du code: scripts et modules](http://www.turbare.net/transl/scipy-lecture-notes/intro/language/reusing_code.html)




 [Astuce 8 Mesure du temps de traitement et profileur](http://qiita.com/nonbiri15/items/fa9036f612183fb3d242)


Recommended Posts

Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 7 Comment créer un module
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image par eux-mêmes
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 9 Utilisation à partir du langage C
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 6 Améliorer le code Python
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 2 Traiter plusieurs fichiers
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 3 Écrire dans un fichier
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 8 Mesure du temps de traitement et profileur
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 4 Utiliser l'interface graphique
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 5 Incorporer dans les applications réseau
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment rendre le Python des débutants plus rapide [numpy]
[Python] Explique comment utiliser la fonction range avec un exemple concret
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
[Pour les débutants] Comment utiliser la commande say avec python!
Comment utiliser Raspeye Relay Module Python
Comment utiliser le module optparse
[python] Comment utiliser Matplotlib, une bibliothèque pour dessiner des graphiques
Comment utiliser la méthode __call__ dans la classe Python
Comment créer un package Python (écrit pour un stagiaire)
Je ne savais pas comment utiliser l'instruction [python] for
Comment utiliser le module ConfigParser
[Python] Explique comment utiliser la fonction format avec un exemple
[Python] Comment rendre une classe itérable
[Python] Organisation de l'utilisation des instructions
Comment utiliser "deque" pour les données Python
[Python] Comment utiliser l'instruction for. Une méthode d'extraction en spécifiant une plage ou des conditions.
Comment créer un système de dialogue dédié aux débutants
Comment utiliser la bibliothèque C en Python
Le moyen le plus rapide pour les débutants de maîtriser Python
Comment utiliser MkDocs pour la première fois
Comment créer un plug-in Spigot (pour les débutants Java)
Comment utiliser les outils d'analyse de données pour les débutants
Comment ajouter un chemin de recherche de module Python
[Algorithm x Python] Comment utiliser la liste
Faisons un module pour Python en utilisant SWIG
Conseils pour ceux qui ne savent pas comment utiliser is et == en Python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[BigQuery] Comment utiliser l'API de BigQuery pour Python -Création de table-
Essayez de créer un module Python en langage C
Comment convertir le type Python # pour les super débutants de Python: str
[Pour les débutants] Comment étudier le test d'analyse de données Python3
[Python] Comment utiliser la bibliothèque de création de graphes Altair
Comment créer un package Python à l'aide de VS Code
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
[Introduction à Udemy Python3 + Application] 30. Comment utiliser l'ensemble
Comment utiliser le modèle appris dans Lobe en Python
Python # Comment vérifier le type et le type pour les super débutants
Comment utiliser pip, un système de gestion de paquets indispensable pour utiliser Python
python3: Comment utiliser la bouteille (2)
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Comment utiliser Python Argparse
Python: comment utiliser pydub
[Python] Comment utiliser checkio
[Python] Comment utiliser input ()
Comment utiliser le décorateur
Comment utiliser Python lambda
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)