方法python方法签名中_ = None的意义是什么?

时间:2017-05-01 15:02:30

标签: python

方法签名中_=None的目的是什么?

示例:

def method(_=None): 
    pass

1 个答案:

答案 0 :(得分:3)

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

当不在类的上下文中时(即,在定义函数而不是方法时),这将定义具有单个可选项(关键字)的函数)参数(默认为None),其名称表明该参数是故意未使用的(并且在一些静态检查工具中免除了对未使用变量的警告)。

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

请注意,这是常见习语,使用@staticmethod decorator对您的代码的读者更有意义。