从对象实例化中的元组中提取值

Extract values from tuple inside an object instantiation

我的以下代码不起作用:

def call_row(body_part):
    row = self.__call__()[body_part].loc[str(row_index)].tolist()
    return row[0], row[1]

vector_centre = Vector2D(x, y = call_row(body_part_centre))

我知道我可以通过将其更改为如下内容来解决问题:

def call_row(body_part):
    row = self.__call__()[body_part].loc[str(row_index)].tolist()
    return row[0], row[1]

x, y = call_row(body_part_centre)
vector_centre = Vector2D(x, y)

是的,Vector2D是我自己自定义的class

我觉得这个解决方案不够优雅。这是最 "zen of python" 的风格吗?还是我们可以改进一下?我想关注 PEP8。

我的问题最明确的版本是: 有没有一种方法可以在不牺牲优雅的情况下从对象实例化中的元组中提取值?

您可以改用解包运算符:

vector_centre = Vector2D(*call_row(body_part_centre))