开发者社区> 问答> 正文

接受关键字参数的函数

你希望函数的某些参数强制使用关键字参数传递

展开
收起
哦哦喔 2020-04-17 13:48:55 650 0
1 条回答
写回答
取消 提交回答
  • 将强制关键字参数放到某个*参数或者单个*后面就能达到这种效果。比如:
    
    def recv(maxsize, *, block):
        'Receives a message'
        pass
    
    recv(1024, True) # TypeError
    recv(1024, block=True) # Ok
    利用这种技术,我们还能在接受任意多个位置参数的函数中指定关键字参数。比如:
    
    def minimum(*values, clip=None):
        m = min(values)
        if clip is not None:
            m = clip if clip > m else m
        return m
    
    minimum(1, 5, 2, -5, 10) # Returns -5
    minimum(1, 5, 2, -5, 10, clip=0) # Returns 0
    
    2020-04-17 13:49:04
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载