python命名约定 私有变量 保护变量 公共变量
文章目录
- 命名约定
- _var _func 内部函数/变量,表示模块或类内部使用
- __var,__func 用于类内部触发 Python 的 名称重整(name mangling),防止子类覆盖
- 使用场景
- __var __fun类内私有,触发改写
- __var __func在模块出现
https://liaoxuefeng.com/books/python/module/use-module/index.html
命名约定
Python 没有像 Java、C++ 那样的 public / private / protected 关键字。
它靠 命名约定(naming convention) 来区分
_var _func 内部函数/变量,表示模块或类内部使用
__var,__func 用于类内部触发 Python 的 名称重整(name mangling),防止子类覆盖
类中定义 __var → Python 会在内部改名为 _ClassName__var
外部访问时必须用 _ClassName__var 才能访问
类中定义 __func → Python 会在内部改名为 _ClassName__func
外部访问时必须用 _ClassName__func 才能访问
使用场景
单下划线 _ 前缀的变量默认不会被 import * 导入,是 Python 的约定俗成(提示外部用户这是内部实现)
__var __fun类内私有,触发改写