当前位置: 首页 > news >正文

python中的单例与实例

单例(Singleton)

想象一下,你有一个非常特别的玩具,这个玩具在整个玩具店里只有一个,而且不会再生产第二个。无论谁去这家玩具店,他们拿到的都是同一个玩具。这个玩具就是“单例”。

在Python中,None 就是这样一个特别的“玩具”。无论你在程序的哪个地方写 None,它都是同一个东西,不会有两个不同的 None。这就像是你去任何地方,提到那个特别的玩具,大家都知道你说的是同一个。

例子
a = None
b = Noneprint(a is b)  # 输出: True

这里,ab 都是指向同一个 None,所以 a is bTrue


实例(Instance)

现在,想象你有一个玩具工厂,这个工厂可以生产很多不同的玩具。每个玩具都是独一无二的,有自己的颜色、形状和功能。这些玩具就是“实例”。

在Python中,类就像是那个玩具工厂,而实例就是从工厂里生产出来的玩具。每个实例都有自己的属性和方法,就像每个玩具都有自己的颜色和功能。

例子
class Toy:def __init__(self, color):self.color = colortoy1 = Toy("red")
toy2 = Toy("blue")print(toy1.color)  # 输出: red
print(toy2.color)  # 输出: blueprint(toy1 is toy2)  # 输出: False

这里,toy1toy2Toy 类的两个不同实例,它们有自己的颜色属性。因为它们是不同的玩具,所以 toy1 is toy2False


为什么 None 是单例

None 是Python中的一个特殊对象,用来表示“没有东西”或者“空”。为了方便和高效,Python决定在整个程序中只用一个 None。这样,无论你在程序的哪个地方用到 None,它都是同一个东西,不会混淆。


检查变量是否为 None

因为 None 是单例,所以你可以用 is 来检查一个变量是不是 None。这就像检查一个玩具是不是那个特别的玩具,直接比较它们是不是同一个东西。

例子
a = Noneprint(a is None)  # 输出: True
print(a is not None)  # 输出: False

这里,a is None 检查 a 是不是那个特别的 None,结果是 True


总结

  • 单例(Singleton):就像一个特别的玩具,整个程序中只有一个,None 就是这样的单例。
  • 实例(Instance):就像从工厂里生产出来的玩具,每个都有自己的特点,从类里创建出来的对象就是实例。
  • 检查 None:因为 None 是单例,用 is 来检查变量是不是 None 是最直接的方式。

相关文章:

  • 紫光同创FPGA实现AD7606数据采集转UDP网络传输,提供PDS工程源码和技术支持和QT上位机
  • 基于C#+SQL Server开发(WinForm)租房管理系统
  • (2)python开发经验
  • 【React中函数组件和类组件区别】
  • 无需翻墙!3D 优质前端模板分享
  • el-select 结合 el-tree:树形下拉数据
  • AI 检测原创论文:技术迷思与教育本质的悖论思考
  • 部署安装git-2.49.0.tar.xz
  • Profibus DP主站转Modbus RTU/TCP如何把E+H流量计接入到modbus
  • BGP联邦实验
  • 【deekseek】TCP Offload Engine
  • Ozon平台产品关键词优化指南:精准引流与转化提升实战策略
  • 一文辨析Java基本数据类型与包装类
  • Oracle OCP认证考试考点详解083系列15
  • 【Redis】RedLock实现原理
  • Android Native 之 自定义进程
  • C++修炼:继承
  • 【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
  • Springboot | 如何上传文件
  • 算法专题六: 模拟
  • 违法违规收集使用个人信息,爱奇艺、轻颜等65款App被点名
  • 阿坝州委书记徐芝文已任四川省政府党组成员
  • 经济日报整版聚焦:上海构建法治化营商环境,交出高分答卷
  • 《蛮好的人生》:为啥人人都爱这个不完美的“大女主”
  • 中国-拉共体成员国重点领域合作共同行动计划(2025-2027)
  • 外媒:初步结果显示,菲律宾前总统杜特尔特当选达沃市市长