Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
217 views
in Technique[技术] by (71.8m points)

python - Attributes of attributes : point.coord, point.coord.x and point.coord.y

I don't know exactly how to formulate it, but I want to create a class Point with which the coordinates of a point can be accessed both as a tuple and individually, as follows:

point.coord
# tuple (x,y)

point.coord.x
point.coord.y
# coordinates x and y

Do I necessarily have to declare a method point.coord(), or is there such a thing as attributes of attributes? And, for other purposes, what about longer embedded attributes (object.attr1.attr2.attr3)?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
class Coord(tuple):
    def __init__(self, points):
        self.x, self.y = points

class Point:
    def __init__(self, *points):
        self.coord = Coord(points)


point = Point(1, 2)

print(point.coord)
print(point.coord.x)
print(point.coord.y)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...