考虑Atom作为一个类,其中
- form.name是一个字符串 - convert返回一个值列表
以下两行代码有什么区别?
- apply(Atom,[form.name]+list([convert(arg,subst) for arg in list(form.args)])) - Atom(form.name,[convert(arg, subst) for arg in form.args])
从文档中可以得知:
apply(…) apply(object [,args [,kwargs]]) - > value 用元组args中的位置参数和可选字典kwargs中的关键字参数调用可调用对象。 注意,类是可调用的,带有call()方法的实例也是可调用的。
我无法理解这两行代码之间的区别。我正在尝试在Python 3.5中找到
- form.name是一个字符串 - convert返回一个值列表
以下两行代码有什么区别?
- apply(Atom,[form.name]+list([convert(arg,subst) for arg in list(form.args)])) - Atom(form.name,[convert(arg, subst) for arg in form.args])
从文档中可以得知:
apply(…) apply(object [,args [,kwargs]]) - > value 用元组args中的位置参数和可选字典kwargs中的关键字参数调用可调用对象。 注意,类是可调用的,带有call()方法的实例也是可调用的。
我无法理解这两行代码之间的区别。我正在尝试在Python 3.5中找到
apply(Atom,[form.name] + list([convert(arg,subst) for arg in list(form.args)]))
的等效代码。
*
的含义。这个问题更多地是关于在函数调用点处使用*
的含义。它们是密切相关的概念(足够相关,以至于在您使用它一段时间后很容易忽略它们是不同的),但它们是可以分别理解的不同的东西。 - mgilson