我喜欢ES6的对象文字的属性简写:
var x = 5, y = 6;
var obj = { x, y };
我经常希望python中的关键字参数可能类似:
x = 5
y = 6
f(x=x, y=y) # I wish there was a shorthand here
如果我滥用python如何处理我定义的函数中的位置和关键字args,那么可能
def f(x=None, y=None):
print x
print y
f(x, y) # works
但这很脆弱/不灵活,而且它不适用于我常用的功能,例如format()
:
'{x} {y}'.format(x, y) # KeyError
我是否缺少任何合成糖,或者这只是python的限制?