当没有参数被排除的时候,命名变量语法也能够很自然接收参数的默认值。相比只给出一个值,这种方法也使得参数的含义更加清晰。尽管用这种方法来命名参数是不可能的。此外,先给出命名参数再给出可变参数是也不可能的。
命名参数功能最大的限制是目前只能用于用户关键字和继承了Python的静态库API、混合库API的关键字库。未来框架可能会支持JAVA库和动态库API(使用可变参数),在此之前,我们需要用用户关键字来包裹不兼容的关键字(来解决java库和动态库的关键字不支持变参的问题)。
提示:当用户关键字使用命名参数语法时,参数名不能使用${}。例如,用户关键字${arg1}=default, ${arg2}=second必须写作arg2=override。
命名参数语法仅用参数等号前的部分和一个带默认值的参数名相匹配时。这种匹配从给定的参数列表末尾开始直到没有可匹配参数为止。在一些极少数特例中,可以使用“\”规避这种语法,例如nomatch\=here。
提示:命名参数语法对大小写和空格均敏感。前者意味着如果定义一个参数arg,必须写作arg=
下面的例子展示了命名参数语法在包括引入测试库等不同场景下的使用方法:
命名参数示例
Setting |
Value |
Value |
Value |
Library |
Telnet |
prompt=$ |