如何在整个项目中共享类的实例?

问题描述 投票:2回答:2

我正在开发一个python库,该库通过一个类来连接其功能。图书馆的用户在首次将其导入他们的项目时需要实例化它。此后,库对象将具有一些状态,我希望在用户的整个项目中共享该状态。

类似这样的东西:

图书馆

class Lib():

  def __init__(self, msg):
    self.msg = msg

  def print_msg():
    print(self.msg)

submod1

from lib import Lib

def test():
  # something like this
  Lib.print_msg()

submod2

from lib import Lib

def test():
  # something like this
  Lib.print_msg()

用户主

from lib import Lib:
import submod1, submod2

lib = Lib('message')

submod1.test()
submod2.test()

输出

message
message
python python-3.x class oop pypy
2个回答
3
投票

看起来像Singleton类将非常适合您的用例。有多种方法可以在python中实现单例类。请参阅this答案以获取更多详细说明。


1
投票

Lib.py:

© www.soinside.com 2019 - 2024. All rights reserved.