Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tạo Singleton class trong Python?

Singleton pattern giới hạn số instance của class xuống 1. Cùng một object luôn được chia sẻ bởi các phần code khác. Singleton xem như giải pháp thanh lịch hơn global variable vì data thực bị ẩn sau interface Singleton class.

Code sau là một trong nhiều cách tạo singleton class:

class Singleton(object):
    _instance = None
    def __new__(class_, *args, **kwargs):
        if not isinstance(class_._instance, class_):
            class_._instance = object.__new__(class_, *args, **kwargs)
        return class_._instance

class MyClass(Singleton, BaseClass):
    pass

Đây là một true class (không phải hack module-level).