Python中定义

Python中定义,第1张

文章目录
      • 前言
      • 实现

前言

在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) * 3);
a->data = "233333";
a->datalen = strlen(a->data);
a->datatype = 1;

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/585127.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-12
下一篇2022-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存