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

问题描述 投票:1回答:1

我有以下代码不起作用:

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是我自己定义的自定义类。

我没有找到这种优雅的解决方案。这是最“蟒蛇禅”的风格,或者我们可以做得更好吗?我想关注PEP8。

我的问题最明确的版本是:有没有办法从对象实例化中的元组中提取值而不牺牲优雅?

python python-3.x pep8
1个回答
1
投票

您可以使用unpack运算符:

vector_centre = Vector2D(*call_row(body_part_centre))
© www.soinside.com 2019 - 2024. All rights reserved.