首先,很抱歉,如果问题已经在某个地方得到回答,我还没有找到问题的答案,但是我对使用stackoverflow非常陌生。
我正在尝试优化一些代码,我想以“正确”的方式做到这一点。我有一个函数A,它可以进行预处理并定义一些将由另一个函数B使用的变量。现在,我不能直接在B中定义这些变量,因为我想避免重复处理步骤。我可以将变量作为函数B的参数传递,但为简化起见,我想避免这种情况。
一个选择当然是使用全局变量,但是我在多个地方读到这是一个坏习惯,原因之一是它破坏了封装。
我可以看到的另一种选择是定义一个类(某种主类),在其中我要使用所有函数,并传递用于访问变量的“自我”。有人对此有反对意见吗?出于某种原因,这也是一种不好的方法吗?
预先感谢任何有回应的人!
答案 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(类的实例)时访问变量。