
模拟手机网络切换的功能
| 代码部分 | 实际手机 | 用户能否看到 |
|---|---|---|
__is_5g_enable |
手机系统里的5G开关状态 | ❌ 看不到底层代码 |
__check_5g() |
系统自动检测网络信号 | ❌ 看不到检测过程 |
call_by_5g() |
📱 拨号按钮 | ✅ 用户点击的界面按钮 |
用户只需要:
-
打开手机
-
点击"拨号"按钮(
call_by_5g()) -
手机自动:
-
检测5G是否开启(
__check_5g()) -
显示网络状态
-
开始通话
-
用户完全不用管内部怎么检测、怎么判断的!

class Phone:
# 获取用户输入
user_input = input("请输入(True/False):")
# 判断并赋值
if user_input == "True":
__is_5g_enable = True
else:
__is_5g_enable = False
def __check_5g(self):
if self.__is_5g_enable:
return f"5g开启"
else:
return f"5g关闭,使用4g网络"
def call_by_5g(self):
end = self.__check_5g()
print(end)
print("正在通话中")
phone = Phone()
phone.call_by_5g()
-
私有成员(双下划线
__) 只能在类内部使用 -
公有方法 是给外部用户使用的接口
-
用户通过公有方法
call_by_5g()间接使用私有功能 -
这就是封装思想:隐藏实现细节,暴露简单接口
| 场景 | 能否访问私有成员 |
|---|---|
| 公有方法内部 | ✅ 可以 |
| 私有方法内部 | ✅ 可以(互相调用) |
| 类外部直接访问 | ❌ 不可以 |
一句话总结: 私有成员只能在类的内部 被访问,外部只能通过公有方法间接使用。