在Python中,私有属性通常是通过在属性名前加上两个下划线(`__`)来定义的。这样的属性在类的外部不能直接访问,但可以通过类内部提供的方法来间接访问。Python内部使用一种名称修饰技术,将`__membername`替换成`_classname__membername`,以防止外部直接访问。
1. 私有属性定义:在属性名前加两个下划线,如`__name`。
2. 私有属性访问:在类的内部可以通过`self.__name`来访问私有属性。
3. 私有属性修改:在类的内部可以通过`self.__name = value`来修改私有属性。
4. 外部访问私有属性:由于名称修饰,直接使用`object.__name`会报错。但可以通过`object._classname__name`来访问,其中`_classname`是类的名称。
5. 私有方法定义:在方法名前加两个下划线,如`__methodname`。
6. 私有方法访问:在类的内部可以通过`self.__methodname()`来访问私有方法。
7. 私有方法修改:在类的内部可以通过`self.__methodname = function`来定义私有方法。
8. 注意事项:尽管可以通过名称修饰技术访问和修改私有属性,但按照约定和Python的设计哲学,应该尽量避免在类外部访问或修改私有属性,以保持封装性。