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

python中__new__和__init__的区别

python:: __new__和__init__的区别如下

__new__是一个静态方法,而__init__是一个实例方法.

__new__方法会返回一个创建的实例,而__init__什么都不返回.

只有在__new__返回一个cls的实例时后面的__init__才能被调用.

当创建一个新实例时调用__new__,初始化一个实例时用__init__.


# -*- coding: utf-8 -*-class Person(object):"""Silly Person"""def __new__(cls, name, age):print ('__new__ called.')return super(Person, cls).__new__(cls)def __init__(self, name, age):print('__init__ called.')self.name = nameself.age = agedef __str__(self):return '<Person: %s(%s)>' % (self.name, self.age)if __name__ == '__main__':piglei = Person('piglei', 24)print(piglei)
http://www.sczhlp.com/news/5251/

相关文章:

  • React ahooks——副作用类hooks之useThrottleFn - 详解
  • 题解:CF1651F Tower Defense
  • 有度鸿蒙全栈方案,安全协作新范式​
  • axios,request配置
  • 数据加密新时代:Crypto核心库的轻量级安全革命
  • rocketmq本地启动安装
  • IvorySQL 上线 Navicat
  • Vue3轻量化使用
  • 双向链表的定义与基本操作
  • 开源驱动下的能源管理革新:安全自主可控与 MyEMS 的实践路径
  • 一个简单的nginx日志切割shell脚本
  • CF1385D a-Good String
  • Docker 替换宿主与容器的映射端口和文件路径
  • Origin2022如何绘制一个2D饼图?
  • SharePoint漏洞被利用传播勒索软件
  • MySQL 高级(进阶) SQL 语句
  • Integer缓存IntegerCache详解
  • 普科科技电流互感器在电力系统继电保护领域替代皮尔逊电流互感器的测试案例
  • 隐藏滚动条但不影响使用 - Joshua
  • 【ARM Cache 及 MMU 系列文章 6 -- Cache 寄存器 CTR_EL0 CLIDR CCSIDR CSSELR 使用详解 1】
  • GitLab项目导入远程代码执行漏洞分析(CVE-2022-2185)
  • 自用思源笔记CSS配色记录
  • 定期删除全量和增量备份
  • JUC学习-23-线程池拒绝策略
  • RS485硬件电路设计参考:工业数据交互的基石
  • Kubernetes v1.33:HPA 可配置容差
  • Java学习:Java与C++数组初始化全对比
  • Revit高版本载入低版本族库,软件卡死 - Andy
  • ​​Linux CentOS 命名空间(Namespace)​​ 的应用场景及命令详解
  • 洛谷P1364 医院设置(dfs\树形dp\树重心)