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

时间:2018-09-18 10:17:32

标签: python python-3.x pep8

我有以下无效的代码:

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

我觉得这种解决方案没有那么优雅。这是否是最“ python禅”的风格,还是我们可以做得更好?我想关注PEP8。

我的问题最明确的版本是: 有没有一种方法可以从对象实例化中的元组中提取值而又不牺牲美观?

1 个答案:

答案 0 :(得分:1)

您可以改用unpack运算符:

vector_centre = Vector2D(*call_row(body_part_centre))