我想在python上使用struct,就像下面的C风格一样。
typedef
{
int a;
int b;
}my_struct_t;
my_strut_t func(my_strut_t ttt, int var1, int var2)
{
ttt.a = var1;
ttt.b = var2;
return ttt;
}
main()
{
my_struct_t my_struct;
my_struct = func(my_struct, 10, 20);
printf("a=%d, b=%d", my_struct.a, my_struct.b);
}
你能把上面的C风格代码翻译成python脚本吗?
谢谢。
发布于 2017-04-27 13:16:19
你可以在python中用class
代替struct
class my_struct_t(object):
def __init__(self, a, b):
self.a = a
self.b = b
def main():
my_struct = my_struct_t(10, 20)
print('a={}, b={}'.format(my_struct.a, my_struct.b))
发布于 2017-04-27 13:20:33
使用class
class Struct:
pass
# or, equivalently:
Struct = type("Struct", (), {})
然后,您可以动态创建该类的成员:
test = Struct()
test.a = 5 # create a new member
print(test.a)
print(test.b) # Error: this member doesn't exist
# but you can create it easily
然后,一旦创建了每个实例所需的所有成员,就可以传递这个类的实例,等等。
请注意,新初始化的实例除了一些默认的成员外,没有任何成员。
https://stackoverflow.com/questions/43658940
复制