文章目录

      • 前言
      • 实现

前言

在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;