我有个微型摄像头,小米盒子 小蚁摄像头上名字是:hdinfraredwaterproof 说明书掉了,求APP地址

编程语言 python(25)
定义一个固定大小的缓存,当它被填满时,新加入的元素自动覆盖第一个元素,这种方法经常用在存储日志和历史信息的程序中。
[root@xiaoxiong cb6]# cat cb2_6_11_sol_1.py
class RingBuffer(object):
&&& class that implements a not-yet-full buffer &&&
def __init__(self, size_max):
self.max = size_max
self.data = []
class __Full(object):
&&& class that implements a full buffer &&&
def append(self, x):
&&& Append an element overwriting the oldest one. &&&
self.data[self.cur] = x
self.cur = (self.cur+1) % self.max
def tolist(self):
&&& return list of elements in correct order. &&&
return self.data[self.cur:] + self.data[:self.cur]
def append(self, x):
&&& append an element at the end of the buffer. &&&
self.data.append(x)
if len(self.data) == self.max:
self.cur = 0
#当队列满时将self的类从非满改为满
self.__class__ = self.__Full
def tolist(self):
&&& Return a list of elements from the oldest to the newest. &&&
return self.data
# sample usage
if __name__ == '__main__':
x = RingBuffer(5)
x.append(1); x.append(2); x.append(3); x.append(4)
print x.__class__, x.tolist()
x.append(5)
print x.__class__, x.tolist()
x.append(6)
print x.data, x.tolist()
x.append(7); x.append(8); x.append(9); x.append(10)
print x.data, x.tolist()
[root@xiaoxiong cb6]#
[root@xiaoxiong cb6]# python cb2_6_11_sol_1.py
&class '__main__.RingBuffer'& [1, 2, 3, 4]
&class '__main__.__Full'& [1, 2, 3, 4, 5]
[6, 2, 3, 4, 5] [2, 3, 4, 5, 6]
[6, 7, 8, 9, 10] [6, 7, 8, 9, 10]
[root@xiaoxiong cb6]#
值得注意的地方是,我通过修改self.__class__来完成这种转变:
self.__class__ = self.__Full
当环填满时,给__class__赋值以改变其行为方式,这种切换类的方法效率非常高,这种类转换是一次性的操作,所以它不会带来任何性能上的开销。可以参考下文通过切换实例方法来实现的技巧。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52282次
排名:千里之外
原创:43篇
(3)(3)(3)(8)(7)(17)(4)52230人阅读
Python(73)
最近用了矩阵转置&numpy.transpose(),发现了一点有趣的现象:
x=linspace(0,4,5)
array([0.,1.,2.,3.,4.])
想把x从一行,变成一列,如下直接转置会失败:
y=transpose(x)
正确的做法是:
x.shape=(5,1)
y=transpose(x)
array([[0.,1.,2.,3.,4.]])
原来transpose的操作依赖于shape参数,对于一维的shape,转置是不起作用的.
这点matlab倒是显得很人性化,里面的一维向量转置很方便.例如
x=1:10;%一维行向量
y=x';%一维列向量当然Python中Numpy的实现机制,是基于类的,这和Matlab完全不一样.这点在数组(矩阵)转置的时候也有所体现.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1126857次
积分:10768
积分:10768
排名:第1285名
原创:198篇
评论:86条
(2)(2)(2)(4)(1)(1)(1)(1)(23)(4)(4)(19)(10)(4)(4)(21)(22)(5)(7)(6)(12)(24)(1)(1)(8)(7)(1)(3)(4)(1)

我要回帖

更多关于 小米盒子 usb摄像头 的文章

 

随机推荐