Python代码简化和解释
问题描述:
我正在学习用python的火花,我想出了这个方法,Python代码简化和解释
def convert_to_row(d: dict) -> Row:
return Row(**OrderedDict(sorted(d.items())))
这种方法需要一个线和转换成。
有人可以简化这些是什么意思。
1)d: dict
2)-> Row
3)为什么是**
呢?为kvargs
?
另外,如果我把这个包装到类中,第一个参数将是self
,类似的东西。
def convert_to_row(self, d: dict) -> Row:
return Row(**OrderedDict(sorted(d.items())))
将它的工作方式相同,因为它是之前在做什么?
谢谢。
答
1)和2)型提示,其中:
- 帮助其他开发人员了解什么是预期的类型参数/变量的,什么是
- 可以通过检查函数的返回类型mypy,用于Python 静态类型检查器
3)**
允许你解压每对键/值从OrderedDict
最后,只需添加self
即可将此函数包装到类中。
相关:[什么是Python 3.5中的类型提示](https://stackoverflow.com/q/32557920/1639625)是的,这些'**'是用于'kwargs'解包的。 –