gpt4 book ai didi

python:如何使用正确的数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:21 24 4
gpt4 key购买 nike

我想在 python+matplotlib 中同时绘制数百个 2D 三角形(带标签),所以我要把这些三角形放在一个列表中:

三角形 =[ (label_1, A, B, C) , (label_2, D,E,F),...]

这里在 (label , A, B, C) 中,A,B,C 是三角形的三个顶点,所以它们就像一对实数,如 (x,y),而 label 可能是一个字符串(三角形的颜色或名称)

现在问题出现了:我如何告诉 python A=(x,y) 是平面中的一个点,而不仅仅是“两个元素的元组”?由于我需要执行操作“A+0.2*B”,这会导致错误:“无法将序列乘以‘float’类型的非整数

提前致谢!

最佳答案

您可以创建一个自定义的 Point 类,并定义加法和乘法的行为:

class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __mul__(self, value):
return Point(self.x*value, self.y*value)
def __rmul__(self, value):
return self.__mul__(value)
def __add__(self, other):
return Point(self.x+other.x, self.y+other.y)
def __repr__(self):
return "Point({}, {})".format(self.x, self.y)

a = Point(1,2)
b = Point(23, 42)
x = a + 0.2 * b
print x
#result: Point(5.6, 10.4)

关于python:如何使用正确的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30733342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com