在python中,将函数转换为模块时如何处理变量

在python中,将函数转换为模块时如何处理变量,python,function,variables,module,Python,Function,Variables,Module,我想将函数放在一个单独的文件中,但它会抱怨var变量。我在下面的简单代码中展示了这一点: a、 py: 现在我想把这个子类放到另一个名为b.py的文件中。如果我只是将plotPrediction复制并粘贴到b.py中,如下所示: b、 py: 然后我将子类从b导入到a.py,并将其命名为: from b import subclass vars=[] subclass.function(x,y,z) 然后,如果我运行a.py,它会抱怨没有定义名称“var”。 那么,将函数转换为模块的正确方法是

我想将函数放在一个单独的文件中,但它会抱怨var变量。我在下面的简单代码中展示了这一点:

a、 py:

现在我想把这个子类放到另一个名为b.py的文件中。如果我只是将plotPrediction复制并粘贴到b.py中,如下所示:

b、 py:

然后我将子类从b导入到a.py,并将其命名为:

from b import subclass
vars=[]
subclass.function(x,y,z)
然后,如果我运行a.py,它会抱怨没有定义名称“var”。 那么,将函数转换为模块的正确方法是什么

我知道我可以将变量作为参数传递给子类中的函数,因为有一个kwargs。然而,我从父类继承这个类,所以当传递一些额外的参数时,我会破坏继承吗?还是有这样做的顾虑

编辑: 我想我可以通过将var变量传递给我的函数来实现这一点。但是,我需要通过函数修改新的var。因为我从父类继承它,所以我不想修改父类以返回修改过的变量。部分原因是父类很复杂,我不知道该函数在哪里调用,所以我不知道应该在哪里捕获返回的变量。另一个原因是如果我返回一个变量,我需要对软件进行一些更改,这样下次升级软件时,我会遇到一个坏软件。 那么,我如何在不返回修改后的var的情况下实现这一点呢

class subclass(Callback):
    def function(self, x,y=None, z=None, **kwargs):
        vars.clear()

from b import subclass
vars=[]
subclass.function(x,y,z)