Python中定义(声明)结构体
·
前言
在Python中并无像C/C++那样的结构体类型,但是由于Python是用C编写而来的,很多东西可以互通。
Python是有struct模块,但并非是用于处理一般结构体的,并且使用起来也比较麻烦。
实现
我们可以使用Class类来实现一个在C/C++中呈现的结构体,也可以实现C/C++中
typedef struct {}
的方法。
# 首先定义一个类,要有__init__
class SN:
def __init__(self):
self.data = ""
self.datalen = ""
self.datatype = ""
# 开始初始化结构体
a = SN()
a.data = "233333"
a.datalen = len(a.data)
a.datatype = type(a.data)
print(
f"a.data: {a.data}\n"
f"a.datalen: {a.datalen}\n"
f"a.datatype: {a.datatype}\n"
)
这样定义完一个类之后,已经是相当于
typedef struct
了
如果你不理解为什么,那么我用C的写法给你写一遍你就明白了。
typedef struct {
char *data;
int datalen;
int datatype;
} SN;
struct SN *a = (SN *)malloc(sizeof(SN));
a->data = "233333";
a->datalen = strlen(a->data);
a->datatype = 1;
更多推荐
已为社区贡献6条内容
所有评论(0)