python中__是私有嘛
时间: 2023-06-19 22:03:35 浏览: 61
在 Python 中,双下划线 "__" 前缀的属性和方法是被称为私有属性和私有方法,但实际上它们并不是真正的私有,而是一种命名约定。这意味着,Python 解释器不会阻止外部代码访问这些属性和方法,但是开发者应该将其视为私有的,并尽量避免在外部代码中直接访问修改它们。在 Python 中,可以通过在私有属性和方法前添加一个下划线 "_" 来表示这是一个私有的属性或方法。
相关问题
python中__name__属于私有属性吗
在Python中,`__name__`不是私有属性,而是一个特殊的内置类属性。它用于表示当前模块的名称。当模块被直接运行时,`__name__`的值为`__main__`,当模块被导入时,`__name__`的值为模块的名称。因此,`__name__`在Python中被广泛用于模块的测试和调试。
以下是一个例子,演示了如何使用`__name__`来测试模块:
```python
# test.py
def add(a, b):
return a + b
if __name__ == '__main__':
print(add(2, 3))
```
在上面的例子中,当`test.py`被直接运行时,`__name__`的值为`__main__`,因此`add()`函数将被调用并输出结果`5`。如果将`test.py`作为模块导入到另一个Python程序中,则`__name__`的值将是`test`,`add()`函数不会被调用。
python中_embed作用
`_embed` 在 Python 中通常表示内部的实现细节,它不应该在公共 API 中使用。这是因为 `_embed` 常常是作为私有属性或方法存在的,用于实现类的内部功能,而不是作为公共接口暴露给其他模块或用户。
在 Python 中,约定是用一个前导下划线 `_` 来表示一个属性或方法是私有的。这意味着其他模块或用户应该将其视为不稳定的,不应该依赖它们的存在或行为。 `_embed` 通常被用于表示类或对象的内部状态,以帮助实现类的一些功能。