5.3. PikaStdData 数据结构

PikaStdData 数据结构库提供了 List (列表),Dict(字典)数据结构。

5.3.1. 安装

  1. 在 requestment.txt 中加入 PikaStdLib 的依赖,PikaStdLib 的版本号应当与内核的版本号相同。
  1. PikaStdLib==v1.11.0
  1. 运行 pikaPackage.exe

5.3.2. 导入

在 main.py 中加入

  1. #main.py
  2. import PikaStdData

5.3.3. class List():

List 类提供了 List 列表功能,由 List 类创建对象,即可创建一个列表。 如:

  1. import PikaStdData
  2. list = PikaStdData.List()

5.3.3.1. List 类的方法

  1. # add an arg after the end of list
  2. def append(self, arg: any):
  3. pass
  4. # get an arg by the index
  5. def __getitem__(self, i: int) -> any:
  6. pass
  7. # set an arg by the index
  8. def __setitem__(self, i: int, arg: any):
  9. pass
  10. # get the length of list
  11. def len(self) -> int:
  12. pass

注意,__setitem__() 方法的索引不能够超出 List 的长度,如果要添加列表的成员,需要使用 append()方法。

5.3.3.2. 使用 ‘[]‘ 中括号索引列表

List 对象可以使用 ‘[]‘ 进行索引。list[1] = a等效于 list.__setitem__(1, a)a = list[1]等效于a = list.__getitem__(1)

5.3.3.3. 使用 for 循环遍历 List

List 对象支持 for 循环遍历 例:

  1. import PikaStdData
  2. list = PikaStdData.List()
  3. list.append(1)
  4. list.append('eee')
  5. list.append(23.44)
  6. for item in list:
  7. print(item)

5.3.4. class Dict():

Dict 类提供了 Dict 字典功能,由 Dict 类创建对象,即可创建一个字典。 如:

  1. import PikaStdData
  2. dict = PikaStdData.Dict()

5.3.4.1. Dict 类的方法

  1. # get an arg by the key
  2. def __getitem__(self, key: str) -> any:
  3. pass
  4. # set an arg by the key
  5. def __setitem__(self, key: str, arg: any):
  6. pass
  7. # remove an arg by the key
  8. def remove(self, key: str):
  9. pass

5.3.4.2. 使用 ‘[]‘ 中括号索引字典

Dict 对象可以使用 ‘[]‘ 进行索引。dict['x'] = a等效于 dict.__setitem__('x', a)a = dict['x']等效于a = dict.__getitem__('x')

5.3.4.3. 使用 for 循环遍历 Dict

Dict 对象支持 for 循环遍历 例:

  1. import PikaStdData
  2. dict = PikaStdData.Dict()
  3. dict['a'] = 1
  4. dict['b'] = 'eee'
  5. dict['c'] = 23.44
  6. for item in dict:
  7. print(item)

5.3.5. class ByteArray(List)

[注意]: PikaStdData 的版本至少需要 v1.5.3

ByteArray 类提供了 ByteArray 字节数组功能,由 ByteArray 类创建对象,即可创建一个字节数组。

如:

  1. import PikaStdData
  2. bytes = PikaStdData.ByteArray(b'test')

用例:

  1. >>> bytes = PikaStdData.ByteArray(b'test')
  2. >>> for byte in bytes:
  3. ... print(byte)
  4. ...
  5. 116
  6. 101
  7. 115
  8. 116
  9. >>> bytes.append(0xff)
  10. >>> bytes.append(0x0f)
  11. >>> print(bytes[4])
  12. 255
  13. >>> print(bytes[5])
  14. 15