فهرست منبع

【完善】:struct

SummerGift 7 سال پیش
والد
کامیت
9a1e5b7e1a
2فایلهای تغییر یافته به همراه69 افزوده شده و 12 حذف شده
  1. 64 7
      docs/03-Basic_Module/07-ustruct.md
  2. 5 5
      docs/03-Basic_Module/09-gc.md

+ 64 - 7
docs/03-Basic_Module/07-ustruct.md

@@ -9,20 +9,77 @@
 ## 函数
 
 ### **ustruct.calcsize**(fmt)  
-  返回需要的字节数`fmt`。
+返回存放某一类型数据 fmt 需要的字节数。
+
+```
+fmt:数据类型
+    b — 字节型
+    B — 无符号字节型
+    h — 短整型
+    H — 无符号短整型
+    i — 整型
+    I — 无符号整型
+    l — 整型
+    L — 无符号整型
+    q — 长整型
+    Q — 无符号长整型
+    f — 浮点型
+    d — 双精度浮点型
+    P — 无符号型
+```
+
+示例:
+
+```python
+>>> print(struct.calcsize("i"))
+4
+>>> print(struct.calcsize("B"))
+1
+```
 
 ### **ustruct.pack**(fmt, v1, v2, ...)  
-  按照字符串格式`fmt` 压缩参数 v1, v2, ... 。 返回值是参数编码后的字节对象。
+按照格式字符串 fmt 打包参数 v1, v2, ... 。返回值是参数打包后的字节对象。
 
-### **ustruct.pack_into**(fmt, buffer, offset, v1, v2, ...)  
-  按照字符串格式`fmt` 压缩参数 v1, v2, ... 到缓冲区`buffer`,开始位置是`offset`。`offset`可以是负数,从缓冲区末尾开始计数。
+```
+fmt:同上
+```
+
+示例:
+
+```python
+>>> struct.pack("ii", 3, 2)
+b'\x03\x00\x00\x00\x02\x00\x00\x00'
+```
 
 ### **ustruct.unpack**(fmt, data)  
-  按照字符串格式`fmt`解压数据`data`。 返回值是解压后参数的元组。
+从 fmt 中解包数据。返回值是解包后参数的元组。
 
-### **ustruct.unpack_from**(fmt, data, offset=0)  
-  从 fmt 的 offset 开始解压数据,如果 offset 是负数就是从缓冲区末尾开始计算。 返回值是解压后参数元组。
+```
+data:要解压的字节对象
+```
+
+示例:
+
+```python
+>>> buf = struct.pack("bb", 1, 2)
+>>> print(buf)
+b'\x01\x02'
+>>> print(struct.unpack("bb", buf))
+(1, 2)
+```
 
+### **ustruct.pack_into**(fmt, buffer, offset, v1, v2, ...)  
+按照格式字符串 fmt 压缩参数 v1, v2, ... 到缓冲区 buffer,开始位置是 offset。当offset 为负数时,从缓冲区末尾开始计数。 
+
+### **ustruct.unpack_from**(fmt, data, offset=0)  
+以 fmt 作为规则从 data 的 offset 位置开始解包数据,如果 offset 是负数就是从缓冲区末尾开始计算。返回值是解包后的参数元组。
+```python
+>>> buf = struct.pack("bb", 1, 2)
+>>> print(struct.unpack("bb", buf))
+(1, 2)
+>>> print(struct.unpack_from("b", buf, 1))
+(2,)
+```
 更多的内容可参考  [ustruct](http://docs.micropython.org/en/latest/pyboard/library/ustruct.html) 。
 
 ----------

+ 5 - 5
docs/03-Basic_Module/09-gc.md

@@ -6,19 +6,19 @@
 ## 函数
 
 ### **gc.enable**()  
-  启动自动垃圾回收。
+允许自动回收内存碎片。 
 
 ### **gc.disable**()  
-  禁用自动垃圾回收。 堆内存仍然可以分配,垃圾回收仍然可以使用 `gc.collect()` 函数来手动初始化。
+禁止自动回收,但可以通过collect()函数进行手动回收内存碎片。 
 
 ### **gc.collect**()  
-  运行一次垃圾回收。
+运行一次垃圾回收。
 
 ### **gc.mem_alloc**()  
-  返回已被分配的堆 RAM 的字节数。
+返回已分配的内存数量。 
 
 ### **gc.mem_free**()  
-  返回可用堆内存的字节数,如果返回 -1 则表示容量不可知。
+返回剩余的内存数量。 
 
 更多内容可参考  [gc](http://docs.micropython.org/en/latest/pyboard/library/gc.html) 。