python - 函数参数名以下划线开头

标签 python python-3.x function

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/

相关文章:

Python 在另一个类中使用变量

python - 使用 urllib 将获取的数据以特定的结构化格式保存在文件中

python - 创建一个函数,由于某种原因陷入循环

python - 计算机生成一个数字,用户猜测数字,不管怎么猜总是不对

Python 解码对我有效,但对其他人无效

python - Pandas 选择聚合后要保存的列

python - 如何从 Pandas DataFrame header 中去除空格?

python - 通过套接字发送和接收字节,具体取决于您的互联网速度

c++ - 我继续在函数中从另一个数组修改的数组中获取垃圾值

python - 如何获取变量的类型