python中下划线开头的参数和普通参数有什么区别吗?
例如:
def fun1(_data, _val):
....
....
def fun2(data, val):
....
....
为什么我问这个问题是因为,在pycharm中我可以看到参数数据是模糊的(它没有在任何地方使用)和参数_data是非模糊的(它也没有在函数中的任何地方使用)
最佳答案
实践中没有什么区别,对于函数参数,你实际上不会这样做。
在Python中,有一个约定,单个下划线意味着var/method是私有(private)的,因此_data
不应该被第3方应用程序使用。您经常将其用于例如仅在类中可用的变量。
双下划线变量,例如__data
只是“不要从类外部使用它”的额外级别。
通常,您会使用这些来向其他开发人员表明他们不应该访问,例如。 classname._var
,但您可以提供某种 getter 或 setter 方法。
关于python - 函数参数名以下划线开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68775145/