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