gpt4 book ai didi

python - 一个类的成员元组(而不是成员变量)?

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:51 24 4
gpt4 key购买 nike

这是我想做的:

obj = object()
obj.(a,b,c) = 1,2,3
f(obj.(d,e))

这是我知道该怎么做:

obj = object()
obj.a, obj.b, obj.c = 1,2,3

Python 中是否有执行此操作的语法?

后续问题:

  • 这个提议被拒绝了吗?
  • 是否有具有这种语法糖(元组成员引用)的编程语言?

(“你为什么要这样做?”因为有时将成员变量组视为一个包对我来说感觉很直观。有些类是有意义的,比如固定维点,或者复数。)

最佳答案

我认为没有确切的语法,但对我来说这感觉很相似:

class Thing:
def __init__(self, x, y):
self.point = (x, y)
def __getattr__(self, name):
if name == "x":
return self.point[0]
elif name == "y":
return self.point[1]
else:
raise AttributeError
def __setattr__(self, name, value):
if name == "x":
self.point = (value, self.point[1])
elif name == "y":
self.point = (self.point[0], value)
else:
object.__setattr__(self, name, value)

thing = Thing(4, 7)
thing.point = (3, 6)
thing.x = 5

关于python - 一个类的成员元组(而不是成员变量)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21077876/

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