python方法签名中的=None的意义何在?

2024-04-20 12:49:36 发布

您现在位置:Python中文网/ 问答频道 /正文

方法签名中_=None的作用是什么?在

示例:

def method(_=None): 
    pass

Tags: 方法none示例defpassmethod
1条回答
网友
1楼 · 发布于 2024-04-20 12:49:36

_是Python(以及shell和其他一些语言)中未使用的占位符变量的常规名称。在


如果不是在类的上下文中(也就是说,当定义函数而不是方法),这将使用单个可选(关键字)参数定义函数(默认为None),使用一个名称,指示该参数是故意未使用的(并在某些静态检查工具中将其从有关未使用变量的警告中免除)。在

当定义一个被接受的第一个也是唯一一个参数是这样定义的方法时,这实际上就变成了穷人的静态方法。也就是说,它表示self是未使用的和可选的,并且允许独立于是否关联任何对象实例(即,self在运行时是否实际可用)来调用该方法。在

请注意,这是不是常见的习惯用法,使用^{} decorator对代码的读者来说会更有意义。在

相关问题 更多 >