python代码简化和解释

时间:2017-05-30 13:46:37

标签: python

我用python学习火花,我想出了这个方法,

def convert_to_row(d: dict) -> Row:
    return Row(**OrderedDict(sorted(d.items())))

此方法需要一行并转换为Row

有人可以简化这些意思。

1)d: dict

2)-> Row

3)为什么**在那里?对于kvargs

另外,如果我将它包装到类中,第一个参数将是self,就像那样。

def convert_to_row(self, d: dict) -> Row:
    return Row(**OrderedDict(sorted(d.items())))

它会像以前一样工作吗?

感谢。

1 个答案:

答案 0 :(得分:1)

1)和2)是类型提示,其中:

  • 帮助其他开发人员了解什么是预期的参数/变量类型以及函数的返回类型
  • 可以通过mypy检查,这是Python的静态类型检查器

3)**允许您从OrderedDict

解包每对键/值

最后,只需添加self将此函数包装到一个类中就可以了。