
正文
python结构体函数 python结构体数组
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Python中如何使用C的结构体struct求解
閟truct就可以使用结构体了:
import struct
生成一个结构体实例:
data = struct.pack( 'format_string', struct_menber_1, struct_menber_2, ... )
其中的format_string用来指定结构体的格式(指明该结构体在C中的定义),由两部分组成:
首先是一个可选的特殊字符,用来指明字节序、数据类型大小和对齐方式:
@: native order, size alignment (default)
=: native order, std. size alignment
: little-endian, std. size alignment
: big-endian, std. size alignment
!: same as
然后是指明结构体定义的部分:
The remaining chars indicate types of args and must match exactly;
these can be preceded by a decimal repeat count:
x: pad byte (no data); c:char; b:signed byte; B:unsigned byte;
h:short; H:unsigned short; i:int; I:unsigned int;
l:long; L:unsigned long; f:float; d:double.
Special cases (preceding decimal count indicates length):
s:string (array of char); p: pascal string (with count byte).
Special case (only available in native format):
P:an integer type that is wide enough to hold a pointer.
Special case (not in native mode unless 'long long' in platform C):
q:long long; Q:unsigned long long
Whitespace between formats is ignored.
如果struct模块的函数出错,将产生struct.error异常。
相关问答
Q1: python里面可以定义结构体吗
Python中没有专门定义结构体python结构体函数的方法python结构体函数,但可以使用class标记定义类来代替结构体python结构体函数,
其成员可以在构造函数__init__中定义python结构体函数,具体方法如下。
复制代码代码如下:
class item:
def __init__(self):
self.name = '' # 名称
self.size = 10 # 尺寸
self.list = [] # 列表
a = item() # 定义结构对象
a.name = 'cup'
a.size = 8
a.list.append('water')
Q2: Python 如何给 c 函数传递结构体参数
//test1.c# include stdio.h# include stdlib.hstruct Student
{ char name[30]; float fScore[3];
};void Display(struct Student su){ printf("-----Information------\n"); printf("Name:%s",su.name); printf("Chinese:%.2f\n",su.fScore[0]); printf("Math:%.2f\n",su.fScore[1]); printf("English:%.2f",su.fScore[2]); printf("平均分数为:%.2f\n",(su.fScore[0]+su.fScore[1],su.fScore[2])/3);
}
关于python结构体函数和python结构体数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






