文章目录

  • 前言
  • 实现

前言

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

Python中定义(声明)结构体相关推荐

  1. 函数体中定义的结构体和类型

    源代码: 1 #include <stdio.h> 2 struct smonth // point 1 3 { 4 int a; 5 int b; 6 }; 7 8 int func1( ...

  2. python高级ctypes数据类型—结构体

    结构体在ctypes中通过类进行定义.用于定义结构体的类需要继承自ctypes的Structure基类,而后通过定义类的_fields_属性来定义结构体的构成._fields_属性一般定义为一个二维的 ...

  3. 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

    文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...

  4. python中定义结构体

    2019独角兽企业重金招聘Python工程师标准>>> python中定义结构体通过继承_ctypes中的Structure类,标准写法如下: c: struct beer_reci ...

  5. c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别 Node *p=(Node *)malloc(sizeof(Node)); 和 Node p 两个有什么区别??? Node是一

    (来自百度解答) Node *p是定义一个Node结构体指针,指针名为p,指向一个Node结构体,并为这个结构体分配了内存空间 该结构体无命名 Node p是定义一个Node结构体,结构体名为p. 追 ...

  6. ACMNO.42 C语言-第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。利用结构体的在最下面

    题目描述 定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 输入 年月日 输出 当年第几天 样例输入 2000 12 31 样例输出 366 来源/分类 C语言 题目截图 ...

  7. 程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。...

    程序通过定义学生结构体变量,存储学生的学号.姓名和3门课的成绩.函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据.例如,若b所指变量t中的学号.姓名和三门课的成 ...

  8. c语言定义学生结构体类型,C语言中结构体的三种定义方式

    c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...

  9. MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示

    MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示 解决办法: 1.确保已经将顶层头文件stm32f10x.h添加至当前你所写的文件内: 2.检查你自己写的文件是否已经加载到工 ...

最新文章

  1. Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法](转)
  2. FlowDroid工具的构建与运行
  3. java jconsole_java中jconsole命令的学习
  4. 这两天学习nRF51822的心得
  5. js获取单选按钮的值
  6. 深度linux_国产系统?基于Linux研发的深度Deepin系统,到底算不算真国产
  7. aes c语言 逆列混合函数,c语言aes列混合和逆列混合的实现(3页)-原创力文档
  8. 雅虎被告存在重大疏忽 导致5亿账户信息被黑
  9. Unity调用打印机
  10. 国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)
  11. Office 2010 安装过程中出错
  12. 拜耳新一代犬体内驱虫药拜宠清登陆中国市场
  13. 攻防世界web练习区
  14. html 分页样式首页下一页,css中分页样式怎么设置
  15. docker镜像的获取删除和查看镜像信息历史记录清理残余镜像
  16. Day3-T31项目 异常处理与日志——2021-11-02
  17. OFD开发系列(二)-模板填充
  18. Qt次线程向主程序发送信号收不到的问题
  19. x98air2+android+升级,【转】台电x98 3G 平板刷机、升级、ROOT详解及教程
  20. java实现图像旋转

热门文章

  1. 编写五子棋的完整python代码_python开发 实现单机五子棋!
  2. react props校验操作--PropTypes
  3. PropTypes 和组件参数验证
  4. 气传导蓝牙耳机哪个品牌好、音质最好的气传导耳机推荐
  5. 618数码产品推荐,最值得入手的几款数码产品
  6. java处理全角半角字符问题
  7. codecombat之KithGard地牢19-37关代码分享
  8. android 手机录音机文件格式
  9. 液晶显示器HSYNC、VSYNC、DE、CLK关系
  10. 【读过的书】《我是爬行者小江》