在 ctypes 结构中,是否可以指定默认值?
例如,使用常规 python 函数,您可以执行以下操作:
def func(a, b=2):
print a + b
这将允许这种行为:
func(1) # prints 3
func(1, 20) # prints 21
func(1, b=50) # prints 51
是否可以在 ctypes 结构中执行此操作?
例如:
class Struct(Structure):
_fields_ = [("a", c_int), ("b", c_int)] # b default should be 2
def print_values(self):
print self.a, self.b
struct_instance = Struct(1)
struct_instance.print_values() # should somehow print 1, 2
是的。只需覆盖__init__ http://docs.python.org/reference/datamodel.html#object.__init__ method.
class Struct(Structure):
_fields_ = [("a", c_int), ("b", c_int)]
def __init__(self, a, b=2):
super(Struct, self).__init__(a, b)
def print_values(self):
print(self.a, self.b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)