m0_58184981 2022-01-10 13:30 采纳率: 45.5%
浏览 43
已结题

关于python定义函数时参数的问题

python定义函数时def name(self, *, id)中 * 是什么意思呢,为什么这样使用呢

  • 写回答

3条回答 默认 最新

  • 神仙别闹 2022-01-10 14:18
    关注

    * 参数的用法
    如果你希望强迫调用者使用某些参数,且必须以关键字参数的形式传参,那么你只需要在所需位置的前一个位置放置一个*

    def f1(a, *, b, c):
        return a + b + c
    

    对于上面这个函数而言,调用时参数a可以任意值, 但b,c参数一定要以关键字参数的形式传参,如f1(1, b=4, c=5),否则将会报错。

    def f2(a, *, b, c=5):
        return a + b + c
    

    如果是这种情况下调用函数,参数a可以任意值,但参数b一定要以关键字参数的形式传参,如f2(2, b=3),但是如果想传入c参数,那么c参数的要求和b参数一样都为关键字参数形式,如f2(2,b=3,c=4)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 已采纳回答 1月10日
  • 修改了问题 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作