我有一堂课,里面有一些方法来建立一些情节。我尝试在一个图形上显示不同的图。图的属性(标题、图例...)总是被最后一个图覆盖。我预计如果我return
在我的方法中有行为会与没有它的方法不同,但这似乎不是真的。
我想弄清楚有什么不同return
。说明我的问题的代码是:
import matplotlib.pyplot as plt
import numpy as np
class myClass1(object):
def __init__(self):
self.x = np.random.random(100)
self.y = np.random.random(100)
def plotNReturn1(self):
plt.plot(self.x,self.y,'-*',label='randNxy')
plt.title('Plot No Return1')
plt.legend(numpoints = 1)
def plotNReturn2(self):
plt.plot(self.y,self.x,'-x',label='randNzw')
plt.title('Plot No Return2')
plt.legend(numpoints = 2)
def plotWReturn1(self):
fig = plt.plot(self.x,self.y,'-*',label='randWxy')
fig = plt.title('Plot With Return1')
fig = plt.legend(numpoints = 1)
return fig
def plotWReturn2(self):
fig = plt.plot(self.y,self.x,'-x',label='randWzw')
fig = plt.title('Plot With Return2')
plt.legend(numpoints = 3)
return fig
if __name__=='__main__':
f = myClass1()
p = plt.figure()
p1 = p.add_subplot(122)
p1 = f.plotWReturn1()
p1 = f.plotWReturn2()
print 'method with return: %s: ' % type(p1)
p2 = p.add_subplot(121)
p2 = f.plotNReturn1()
p2 = f.plotNReturn2()
print 'method without return: %s: ' % type(p2)
plt.show()
我注意到的唯一区别是输出的类型,但我不知道它在实践中意味着什么。
method with return: <class 'matplotlib.text.Text'>:
method without return: <type 'NoneType'>:
它只是关于“pythonic”练习还是有任何实用的风格可以使用?