#定义个类,使用camel写法
class Sqlite3Apis:
# 私有变量
base_address = 0
pointer_length = 4
#定义一个(读)属性,外部可以通过obj.sqlite3_aggregate_context来访问
@property
def sqlite3_aggregate_context(self):
return self.base_address + 0 * self.pointer_length
#定义一个(写)属性,外部可以通过obj.sqlite3_aggregate_context=123来修改
@sqlite3_aggregate_context.setter
def sqlite3_aggregate_context(self, value):
self.base_address = value - self.sqlite3_aggregate_context
类的使用
# 对上面的类进行实例化
aa = Sqlite3Apis()
# 对sqlite3_aggregate_context属性进行赋值
aa.sqlite3_aggregate_context = 0x12e21c0
#对 sqlite3_aggregate_context 属性进行访问
print(aa.sqlite3_aggregate_context)
# 遍历属性
for attr in dir(aa):
# 排除类内置的属性
if attr.startswith('__'):
continue
# 获取属性值,并以十六进制显示
print(attr, hex(getattr(aa, attr)))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)