我正在使用Python^{
它几乎完成了我需要的所有功能,但它不能处理十六进制值,这是我的应用程序所需要的,因此我对它进行了如下扩展:
import bitmap
class BitMap(bitmap.BitMap):
def tohexstring(self):
val = self.tostring()
st = "{0:0x}".format(int(val,2))
return st.zfill(self.sz/4)
基类具有来自字符串的静态构造函数:
bitmap.BitMap.fromstring("01010101")
我可以将十六进制值转换为bin:
bitmap.BitMap.fromstring(format(int("aa",16),"08b"))
但是返回的类是原始的位图类,而不是扩展的位图类。你知道吗
如何使用此构造函数但仍返回扩展类?你知道吗
^{} 是一个类方法,不是一个静态方法,但是作者没有正确地实现它。线路:
应该是真的
在这种情况下,您可以调用子类上的
fromstring
,并获得子类的实例。您可以分叉repo,实现它并发出pull请求将其包含在包中(或者只在包中使用您的分叉)。你也可以就他们的回购提出问题,看看他们希望你怎么做。你知道吗或者,在您自己的子类中正确地实现
fromstring
,并隐藏中断的基类实现。你知道吗您可能无法-如果构造函数是静态的,而不是类方法,则必须完全重写旧的构造函数。当然,您可以在重写中调用旧的,将属性复制到一个新的子类实例,并在确实需要时返回。你知道吗
相关问题 更多 >
编程相关推荐