Python 我试图从';缓冲区';2.6中的类,但无法这样做
python解释器给了我以下错误Python 我试图从';缓冲区';2.6中的类,但无法这样做,python,python-2.6,Python,Python 2.6,python解释器给了我以下错误 class memoryview(buffer): def tobytes(self): return self buf = memoryview('23') buf.tobytes() 为什么会这样请参见评论中链接的问题,了解这背后可能的原因 直接的技术原因与Python类在C中的声明方式有关。有趣的部分就在下面: 此字段为tp_flags,包含一个名为的潜在设置,此处不使用该设置。例如,如果是这样,则允许从缓冲区继承。查看此问题
class memoryview(buffer):
def tobytes(self):
return self
buf = memoryview('23')
buf.tobytes()
为什么会这样请参见评论中链接的问题,了解这背后可能的原因 直接的技术原因与Python类在C中的声明方式有关。有趣的部分就在下面: 此字段为
tp_flags
,包含一个名为的潜在设置,此处不使用该设置。例如,如果是这样,则允许从缓冲区继承。查看此问题
TypeError: Error when calling the metaclass bases
type 'buffer' is not an acceptable base type
PyTypeObject PyBuffer_Type = {
...
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GETCHARBUFFER | Py_TPFLAGS_HAVE_NEWBUFFER, /* tp_flags */
...
};