方法签名中_=None
的目的是什么?
示例:
def method(_=None):
pass
答案 0 :(得分:3)
_
是Python中未使用的占位符变量的常规名称(以及shell和其他一些语言)。
当不在类的上下文中时(即,在定义函数而不是方法时),这将定义具有单个可选项(关键字)的函数)参数(默认为None
),其名称表明该参数是故意未使用的(并且在一些静态检查工具中免除了对未使用变量的警告)。
在定义方法时,以这种方式定义接受的第一个也是唯一的参数,这实际上是一个穷人的静态方法。也就是说,它指示self
未使用且是可选的,并允许独立于是否关联任何对象实例(即,self
是否在运行时实际可用)而调用该方法
请注意,这是不常见习语,使用@staticmethod
decorator对您的代码的读者更有意义。