美文网首页
python实现c++结构体

python实现c++结构体

作者: 1直领悟不够 | 来源:发表于2019-04-23 23:18 被阅读0次

c++:

结构体声明
struct item
{
         char name[32];      
         int size;  
         char Address[72]; 

};
 

python: 定义一个类

class item(object):
    def __init__(self):
        self.name = '  '     # 名称
        self.size = 10     # 尺寸
        self.adress = []     # 列表
a = item() # 定义结构对象
a.name = 'cup'
a.size = 8
a.adress.append('water')

或者使用numpy:

import numpy as np 
#构建一个包含 name,age,weight 三个变量的结构化数组,其内容如下: 

>>name = ['Alice', 'Bob', 'Cathy', 'Doug'] 
>>age = [25, 45, 37, 19] 
>>weight = [55.0, 85.5, 68.0, 61.5] 

#出于初始化的考虑,构建一个空的结构化数组: 

>>x = np.zeros(4, dtype=int) 

# 构造一个拥有复合数据类型的结构化数组 
>>data = np.zeros(4, dtype={'names':('name', 'age', 'weight'), 'formats':('U10', 'i4', 'f8')}) 
>>print(data.dtype) 

[('name', '<U10'), ('age', '<i4'), ('weight', '<f8')]


对数组中的变量进行赋值: 

>>data['name'] = name 
>>data['age'] = age 
>>data['weight'] = weight 
>>print(data) 

[('Alice', 25, 55. ) ('Bob', 45, 85.5) ('Cathy', 37, 68. )
 ('Doug', 19, 61.5)]


这样就成功构建了一个结构化数组。接下来,查看一下这个数组的具体内容: 

# 查看所有的 name 
>>data['name'] 

['Alice' 'Bob' 'Cathy' 'Doug']


# 查看数组的第一行 
>>data[0] 

('Alice', 25, 55.)


# 查看所有 age 小于30的记录的 name 
>>data[data['age'] < 30]['name'] 

['Alice' 'Doug']

相关文章

网友评论

      本文标题:python实现c++结构体

      本文链接:https://www.haomeiwen.com/subject/zlyigqtx.html