我应该使用一个类来定义将使用相同参数的函数,还是应该使用全局变量?

时间:2019-03-27 13:59:14

标签: python python-3.x

首先,很抱歉,如果问题已经在某个地方得到回答,我还没有找到问题的答案,但是我对使用stackoverflow非常陌生。

我正在尝试优化一些代码,我想以“正确”的方式做到这一点。我有一个函数A,它可以进行预处理并定义一些将由另一个函数B使用的变量。现在,我不能直接在B中定义这些变量,因为我想避免重复处理步骤。我可以将变量作为函数B的参数传递,但为简化起见,我想避免这种情况。

一个选择当然是使用全局变量,但是我在多个地方读到这是一个坏习惯,原因之一是它破坏了封装。

我可以看到的另一种选择是定义一个类(某种主类),在其中我要使用所有函数,并传递用于访问变量的“自我”。有人对此有反对意见吗?出于某种原因,这也是一种不好的方法吗?

预先感谢任何有回应的人!

1 个答案:

答案 0 :(得分:0)

使用self是最好的方法。我想你的情况与此类似。

class DemoClass:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def fun1(self): 
        print(self.name)

    def fun2(self):
        print(self.age)

在这里您可以在传递self(类的实例)时访问变量。