python - 从对象实例化内部的元组中提取值

标签 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。

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

最佳答案

您可以使用解包运算符来代替:

vector_centre = Vector2D(*call_row(body_part_centre))

关于python - 从对象实例化内部的元组中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52384307/

相关文章:

python - 解码中文停用词文件并附加到列表

python - 为什么 += 运算符的工作方式不同于 + 并为 python 字典分配运算符?

python-requests:是否可以绕过 HTTPS 以提高速度

python 3 : Remove Arabic Punctuation

Python `if x is not None` 还是 `if not x is None` ?

python - 正确的方法提示 '->' python函数中的多个返回类型

python - Selenium Edge Python 错误在测试执行后自动关闭 Edge 浏览器

python - PyGTK弃用警告 : What am I missing?

Python 模块导入 3.7

python - 禁用即时 PEP8 检查,仅在保存文件时检查