Si vous voulez un singleton en python, considérez le module comme un singleton

Je pense.

Si vous voulez une référence à vous-même, dans le module

import sys
self = sys.modules[__name__]

Il est pratique d'écrire comme. Si vous utilisez la série python3

import importlib
self = importlib.import_module(__name__)

Mais c'est d'accord.

La raison pour laquelle j'ai soudainement voulu dire cela est que je regardais le code que j'ai écrit il y a longtemps et que je pensais que c'était vraiment de l'histoire des Noirs. Tout ce que vous avez à faire est de définir la fonction de création dans un module appelé hogefactory.py.

somemodule.py


class HogeFactory:
    @staticmethod
    def create(params):
        """Une méthode qui crée et renvoie un objet Hoge"""
        #Divers traitements compliqués
        # ...
        return Hoge(some_args, some_kwargs)

En passant, quand dois-je utiliser la méthode statique de python? Je ne me souviens pas avoir écrit récemment.

Recommended Posts

Si vous voulez un singleton en python, considérez le module comme un singleton
Si vous souhaitez affecter une exportation csv à une variable en python
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
[Python] Si vous souhaitez dessiner un diagramme de dispersion de plusieurs clusters
[Python] Une compréhension approximative du module de journalisation
Sortie sous la forme d'un tableau python
Que se passe-t-il si vous "importez A, B comme C" en Python?
Si vous souhaitez changer d'utilisateur d'exécution au milieu d'une tâche Fabric, le gestionnaire de contexte des paramètres
Une solution si vous supprimez accidentellement l'interpréteur python dans / usr / local / bin /.
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
[python] Récupère la liste des classes définies dans le module
Si vous rencontrez une "erreur de décodage Unicode" en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Si vous définissez une méthode dans une classe Ruby, puis définissez une méthode dans celle-ci, elle devient une méthode de la classe d'origine.
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Découvrez la largeur apparente d'une chaîne en python
Pourquoi l'instruction main () -if de Python est-elle attachée?
Obtenez le nombre d'éléments spécifiques dans la liste python
[Note] Importation de fichiers dans le répertoire parent en Python
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Notez ce que vous voulez faire à l'avenir avec Razpai
Implémenter le modèle Singleton en Python
Utilisez Blender comme module Python
Si vous voulez que VS Code complète Python, Microsoft Python Language Server est la meilleure histoire
Maîtriser le module lowref en Python
[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
Comment déterminer l'existence d'un élément sélénium en Python
Que faire si vous obtenez moins zéro en Python
Comment vérifier la taille de la mémoire d'une variable en Python
Supprimer un caractère spécifique en Python s'il s'agit du dernier
Si vous donnez une liste avec l'argument par défaut de la fonction ...
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Une fonction qui mesure le temps de traitement d'une méthode en python
Vérifiez si vous pouvez vous connecter à un port TCP en Python
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
L'histoire de la création d'un module qui ignore le courrier avec python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Créez un programme de jugement de compatibilité avec le module aléatoire de python.
Si vous pensez que la personne que vous mettez avec pip ne fonctionne pas → Utilisez-vous python3 par hasard?
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
Comment écrire quand on veut mettre un nombre après le numéro de groupe à remplacer par une expression régulière dans re.sub de Python
Que faire si vous obtenez `locale.Error: unsupported locale setting` lors de l'obtention de la date du jour en Python
Vérifiez le comportement du destroyer en Python
Ecrire le test dans la docstring python
Passez le chemin du module python importé
Afficher une liste d'alphabets en Python 3
Comparaison des modules de conversion japonais en Python3
Créer un diagramme de relations des modules Python
Vérifiez si l'URL existe en Python
Exécuter l'interpréteur Python dans le script
Le résultat de l'installation de python sur Anaconda
Vérifiez le chemin du module importé Python
[python] [meta] Le type de python est-il un type?
Principes de base pour exécuter NoxPlayer en Python
Le modèle de projet Python auquel je pense.
À la recherche du FizzBuzz le plus rapide en Python
L'histoire du traitement A du blackjack (python)