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