Jusqu'à présent, j'ai modifié le code Python pour scikit-image. De plus, je l'ai introduit au niveau que je devrais déplacer pour le moment. Ce n'est pas suffisant pour toujours, je vais donc vous montrer comment améliorer votre code Python tout en utilisant l'environnement d'intégration Spyder. Cet article est spécialement destiné aux débutants. Il ne contient aucune information utile pour ceux qui connaissent déjà Python.
Vous pouvez en savoir plus sur la façon d'améliorer votre code à l'aide de l'environnement d'intégration Spyder dans l'article de blog suivant. À partir de là, j'écrirai les pièces que je vérifie souvent.
Article de blog [[Série] "Programmation CV utilisant python et OpenCV" Partie 5: Fonctionnement de l'interface graphique de Spyder](http://gyao.yahoo.co.jp/player/00220/v12056/v1000000000000001123/?auto=1&rep = 2)
Par conséquent, supprimez les importations inutiles ou supprimez le code qui calcule les objets inutilisés.
En faisant cela, vous pouvez empêcher l'apparition de différences inutiles lors de la gestion des versions avec SVN. "analyse de code par pylint (soucer> exécuter une analyse de code pylint)" Vous pouvez faciliter la lecture en vérifiant le style de codage qui sort dans Pylint en exécutant.
Vous pouvez vérifier pour correspondre au style de codage.
Tutoriel Python Chaîne de documentation La chaîne de documentation est
def square(x):
"""return square value"""
return x**2
Écrivez comme ça.
Vous pouvez utiliser les guillemets triples " "" ʻou
'' '`pour travailler avec des chaînes qui s'étendent sur plusieurs lignes.
Si vous écrivez la chaîne de documentation de cette manière, vous pouvez exécuter l'aide pour voir comment l'utiliser comme suit.
>>>help(square) square(x) return square value
>>> Et ainsi de suite, vous pouvez utiliser l'aide comme n'importe quelle autre bibliothèque.
Si vous utilisez unicode u "" "Chaîne de documentation" "" Utilisez la lettre u, par exemple. Bibliothèque standard Python [type de séquence - str, unicode, liste, tuple, bytearray, buffer, xrange](http://docs.python.jp/2.7/library/stdtypes.html#str-unicode-list-tuple-bytearray- buffer-xrange)
Les chaînes Unicode sont presque les mêmes que les chaînes, mais sont spécifiées avec la lettre "u" au début, comme u "abc", u "def".
Si le fichier contient une chaîne de caractères Unicode, ajoutez la spécification de code de caractère au début du script. (Sans l'ajout, l'interpréteur python peut ne pas traiter la chaîne et provoquer une erreur.)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Ajoutez la ligne suivante après avoir spécifié le code de caractère du code source Python. #pylint:disable=C0103
Le code de caractère est également utilisé lors de l'enregistrement du script dans un fichier texte.
from pylab import * Il n'est pas recommandé d'écrire tous les modules comme celui-ci sans l'espace de noms [Note 1]. import pylab Veuillez utiliser la méthode de spécification du nom du module comme dans.
Vous devrez souvent l'implémenter en C ++. Lorsque vous devez expérimenter l'algorithme, la structure des données est foirée et les noms des variables sont img2 ou tmp, ce que je ne peux pas recommander. Puisqu'il joue un rôle différent de celui de sa première apparition, il est facile pour les variables et les noms de fonction de s'écarter de ce qu'ils font réellement, quel que soit le type de langage. Il est facile de laisser des variables inutilisées, des importations inutiles ou des #inculde inutiles. Si vous voulez faire la même chose, Python devrait être plus facile à refactoriser car il a moins de lignes et une meilleure visibilité. L'environnement d'intégration Spyder, pylint, etc. facilitera la refactorisation en Python. Ensuite, écrivez un code suffisamment clair. Ensuite, testez et profilez pour voir comment réduire le temps d'exécution sans compromettre la précision. Je trouve que python est plusieurs fois plus facile à faire que C ++. De cette façon, le temps d'implémentation C ++ devrait être plus court si vous avez un algorithme suffisamment sophistiqué.
Note 1: à partir de l'importation de pylab * Il y a un avantage à pouvoir l'utiliser comme MATLAB, mais from cv2 import * Si vous écrivez avec imshow() C'est dangereux car vous ne pouvez pas dire quel imshow () est.
Astuce 7 Comment créer un module
Recommended Posts