Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào chúng ta có thể tạo lớp singleton trong Python?


Mẫu Singleton cung cấp một chiến lược để giới hạn số lượng các thể hiện của lớp là một. Do đó, cùng một đối tượng luôn được chia sẻ bởi các phần khác nhau của mã. Singleton có thể được coi là một giải pháp tốt hơn cho biến toàn cục vì dữ liệu thực tế được ẩn sau giao diện lớp Singleton.

Đoạn mã sau là một trong nhiều cách khác nhau để tạo một lớp singleton

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

Đó là một lớp học thực sự