(我对python不熟悉所以python的类层次结构对我来说还不是很清楚)
所以我ulti.py
帮助我绘制事物。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
class Util:
def plot(self, i, data):
plt.plot(data[0],data[1])
plt.title("test" + str(i))
plt.show()
plt.savefig("test" + str(i) + '.png')
然后当我做
from util import Util
uti1 = Util()
uti2 = Util()
print (uti1.plot(1,[[0,1,2],[0,1,2]]))
print (uti2.plot(2,[[0,1,2],[2,1,0]]))
来自另一个文件,令我惊讶的是,来自uti2
实例的情节也将uti1
实例中的情节重叠在一起!
所以我的问题是,导入python中的每个模块都是一样的吗?我后来发现我可以添加plt.figure(i)
来逃避这个问题。但是如何从良好的类设计中避免它呢?或者是这样设计的python。