1. 程式人生 > >Python踩坑記錄

Python踩坑記錄

__call__用法

 __init__() 和 __call__()   的區別如下: 

1.  __init__() 的作用是初始化某個類的一個例項。
2.  __call__() 的作用是使例項能夠像函式一樣被呼叫,同時不影響例項本身的生命週期( __call__() 不影響一個例項的構造和析構)。但是 __call__() 可以用來改變例項的內部成員的值。

 1 class X(object):
 2     def __init__
(self, a, b, range): 3 self.a = a 4 self.b = b 5 self.range = range 6 def __call__(self, a, b): 7 self.a = a 8 self.b = b 9 print('__call__ with ({}, {})'.format(self.a, self.b)) 10 def __del__(self, a, b, range): 11 del self.a
12 del self.b 13 del self.range

 遠端伺服器matplotlib使用

解決方案:

  • 在呼叫matplotlib後使用:
1 import matplotlib
2 matplotlib.use('Agg')
  • 編輯 ~/.config/matplotlib/matplotlibrc 新增: backend : Agg