《Fluent Python》讀書筆記 2 9

2021-10-10 07:56:46 字數 406 閱讀 7429

使用memorview

memorview類是乙個共享記憶體資料的類,當你使用它來切片陣列時,並不需要拷貝資料就可以檢視。因此,它被大量地使用在numpy庫里。memoryview本質上是python本身的一種numpy陣列結構。它允許您在資料結構之間共享記憶體(比如pil影象、sqllite資料庫、numpy陣列等),無需預先複製。這對於大型資料集是非常重要的。

memoryview的使用與array模組類似,不過memoryview可以進行資料型別轉換,類似c語言裡強制型別轉換。比如下面的例子:

>>> numbers = array.array('h', [-2, -1, 0, 1, 2])

>>> memv = memoryview(numbers)

>>> len(memv) 5

Fluent Python讀書筆記 二

特殊方法的存在是為了被python直譯器呼叫的,自己並不需要呼叫它。所以使用len object 而不是object.len 如果object是乙個自定義類的物件,python會自己呼叫其中由你實現的 len 方法,而如果是python內建的型別 list,str,bytearray等 cpytho...

Fluent Python讀書筆記 三

容器序列 list tuple和collections.deque這些序列可以存放不同型別的資料。存放的是它們所包含的任意型別的物件的引用。扁平序列 str bytes bytearray memoryview和array.array,這類序列只能容納一種型別。存放的是值而不是引用,扁平序列其實是一...

fluent Python 讀書筆記(二)

對書中1 2 示例中的筆記 1.我們自定義實現乙個類,如何實現這個類的加法,乘法,模等性質呢?以二維向量為例。from math import hypot class vector def init self,x 0,y 0 self.x x self.y y def repr self retur...