【问题标题】:"mutable" variables in Python package?Python包中的“可变”变量?
【发布时间】:2025-12-02 07:55:02
【问题描述】:

我正在用 Python 3 编写一个包,我想知道在导入它后是否有任何方法可以改变它的变量。像这样的:

导入包 -> package.stuff 指向 None

package.init("bar") -> package.stuff 现在指向“bar”

所以我想在包中有一个 init() 函数来初始化它的内容。

我确信这是可能的,但是在 Python 3 中实现这一点的正确方法是什么?

很高兴有任何提示,谢谢

【问题讨论】:

    标签: python-3.x packages


    【解决方案1】:

    你可能可以在你的包中添加这样的东西:

    stuff = None
    
    
    def init(value):
        global stuff
        stuff = value
    

    另一方面,包的用户可以直接写package.stuff = value

    【讨论】:

    • 这行得通吗?现在非常震惊..我认为模块/包中的全局变量就像“不可变”!非常感谢