提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、一个类结构
创建一个订单的类数据结构:
class Order:
"""
保存订单的数据类结构
"""
def __init__(self, o=0, state=0, t1=0, t2=0, t3=0):
self.o = o # 订单ID
self.state = state # 实时状态
self.t1 = t1 # 降锁时间(时间戳)
self.t2 = t2 # 车辆入场时间(时间戳)
self.t3 = t3 # 升起时间(时间戳)
二、在类结构上面添加一个成员类 xyzData
在类结构上面添加一个成员 xyzData(xyzData也是一个包含x,y,z三个元素的类结构)
class Order:
"""
保存订单的数据类结构
"""
def __init__(self, o=0, state=0, t1=0, t2=0, t3=0):
self.o = o # 订单ID
self.state = state # 实时状态
self.t1 = t1 # 降锁时间(时间戳)
self.t2 = t2 # 车辆入场时间(时间戳)
self.t3 = t3 # 升起时间(时间戳)
self.xyzData = self.InnerClass(9,9,9) # 将外部类实例传递给内部类
class InnerClass:
def __init__(self, x=0, y=0, z=0, degree=0):
self.x = x
self.y = y
self.z = z
self.degree = degree
order1 = Order(12345,2,1471314600,1471314600,1471314600)
print(order1.t2)
print(order1.xyzData.x)
三、将成员类 xyzData 替换为一个列表
将成员类 xyzData 替换为一个列表,列表含有三个元素,每个元素都是一个包含x,y,z三个元素的类结构:
class Order:
"""
保存订单的数据类结构
"""
def __init__(self, o=0, state=0, t1=0, t2=0, t3=0):
self.o = o # 订单ID
self.state = state # 实时状态
self.t1 = t1 # 降锁时间(时间戳)
self.t2 = t2 # 车辆入场时间(时间戳)
self.t3 = t3 # 升起时间(时间戳)
self.xyzData = []
for i in range(3):
inner = self.InnerClass() # 将外部类实例传递给内部类
self.xyzData.append(inner) # 将内部类实例添加到列表
class InnerClass:
def __init__(self, x=0, y=0, z=0, degree=0):
self.x = x
self.y = y
self.z = z
self.degree = degree
order1 = Order(12345,2,1471314600,1471314600,1471314600)
print(order1.t2)
print(order1.xyzData[0].x)
print(order1.xyzData[1].x)
print(order1.xyzData[2].x)
四、综合
综合起来:
class Order:
"""
保存订单的数据类结构
"""
def __init__(self, o=0, state=0, t1=0, t2=0, t3=0):
self.o = o # 订单ID
self.state = state # 实时状态
self.t1 = t1 # 降锁时间(时间戳)
self.t2 = t2 # 车辆入场时间(时间戳)
self.t3 = t3 # 升起时间(时间戳)
self.xyzData = []
for i in range(3):
inner = self.InnerClass() # 将外部类实例传递给内部类
self.xyzData.append(inner) # 将内部类实例添加到列表
class InnerClass:
def __init__(self, x=0, y=0, z=0, degree=0):
self.x = x
self.y = y
self.z = z
self.degree = degree
def copy(self):
return Order.InnerClass(self.x, self.y, self.z, self.degree)
def reset(self):
self.o = 0 # 订单ID
self.state = 0
self.t1 = 0
self.t2 = 0
self.t3 = 0
for i in range(3):
self.xyzData[i].x = 0
self.xyzData[i].y = 0
self.xyzData[i].z = 0
order1 = Order(12345,2,1471314600,1471314600,1471314600)
order1.xyzData[0].x = 5
print(order1.t2)
print(order1.xyzData[0].x)
order1.reset()
print(order1.t2)
print(order1.xyzData[0].x)