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

python学习之单例模式和魔法方法属性

__init__()和__new__()

1.1 __init__():初始化对象

class Test(object):def __init__(self):print("这是__init__")
te = Test()

1.2__new__() : object基类提供的内置的静态方法
作用: 1.在内存中为对象分配空间  2.返回对象的引用

class Test(object):def __init__(self):print("这是__init__")def __new__(cls, *args, **kwargs):  #代表类本身print("这是__new__")res = super().__new__(cls)    #方法重写,复用object中的__new__()方法res里面保存的是实例对象的引用,__new__()是静态方法,形参里面有cls,实参就必须传return res#注意:重写__new__()一定要return super().__new__(cls),否则python解释器得不到分配空间的对象引用,就不会调用__init__()
te = Test()
print("te:",te)

执行步骤:
一个对象的实例化过程:首先执行__new__(),如果没有重写__new__(),则默认调用object里面的__new__(),返回一个实例对象,
然后再去调用__init__(),对对象进行初始化

class Person(object):def __new__(cls, *args, **kwargs):res = super().__new__(cls)print("返回值:",res)return resdef __init__(self,name):self.name = name #实例化属性print(f"名字叫{self.nam
http://www.dtcms.com/a/462117.html

相关文章:

  • 网站地址英文网站视频与服务器的关系
  • 优秀电商设计网站有哪些免费的推广平台有哪些
  • 【论文阅读】LANGUAGE MODELS CAN LEARN FROM VERBAL FEEDBACK WITHOUT SCALAR REWARDS
  • 怎么管理网站的内容吗网站建设与实现毕业答辩ppt
  • 苏州做网站的哪个公司比较好PS做图标兼职网站
  • 【Flutter】约束错误总结(Constraint Error 全面解析)
  • 2025年Flutter状态管理新趋势:AI友好度成为技术选型第一标准
  • WinPython下载安装和使用教程(附安装包,图文并茂)
  • 最好的网站开发平台网站改版的必要性
  • 解构自我:能力的三维、天性与养成,选择怎样的生活
  • 中国招标网官网招标公告aso优化违法吗
  • 做文献综述用什么网站Wordpress大前端DUX5.0主题
  • 网站模板 安全吗网站建设丨金手指谷哥14
  • Qwen3-VL 全面解析:从 Qwen2-VL → Qwen2.5-VL → Qwen3-VL 的三代进化
  • 自回归解码-》贪心解码
  • TDengine 编码函数 TO_BASE64 用户手册
  • HTTP 相关知识总结(协议特点、工作流程、请求方法等)
  • 个人网站的设计微信营销手机
  • 免费动态素材网站网站建设公司平台
  • 基于米家协议的智能灯嵌入式程序开发教程
  • DataX Web | 增量同步
  • 【Linux】认识ELF格式文件
  • 做网站哪个最好烟台有没有做网站
  • 鸿蒙:使用@Reusable实现组件的复用,提升性能
  • Day08_刷题niuke20251009
  • 操作系统权限提升(Windows令牌窃取和白名单绕过UAC提权)
  • 商城网站模板dede温州论坛703
  • 多线程——定时器
  • 深圳网站建设哪家公司便宜国外网建站
  • 告别复杂配置:用Milvus、RustFS和Vibe Coding,60分钟DIY专属Chatbot