小编Pet*_*ter的帖子

继承和扩展 Python bytearray

我希望能够写入字节数组缓冲区并通过调用方法清除它,所以我有一个如下所示的类:

import struct

class binary_buffer(bytearray):
    def __init__(self, message=""):
        self = message
    def write_ubyte(self, ubyte):
        self += struct.pack("=B", ubyte)
        return len(self)
    def clear(self):
        self = ""
Run Code Online (Sandbox Code Playgroud)

但是,调用 clear() 似乎根本没有做任何事情。示例输出如下所示:

>>> bb = binary_buffer('')
>>> bb
bytearray(b'')  # As expected, the bytearray is empty
>>> bb.write_ubyte(255)
1  # Great, we just wrote a unsigned byte!
>>> bb
bytearray(b'\xff') # Looking good. We have our unsigned byte in the bytearray.
>>> bb.clear() # Lets start a new life!
>>> bb
bytearray(b'\xff') # Um... …
Run Code Online (Sandbox Code Playgroud)

python inheritance bytearray

5
推荐指数
1
解决办法
1286
查看次数

标签 统计

bytearray ×1

inheritance ×1

python ×1