Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1628290
  • 博文数量: 2213
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22259
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2213)

文章存档

2024年(63)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2023-07-18 15:20:55

  __init__和__new__二者均是Python面向对象语言中的函数,其中__new__使用频率较少,__init__则使用的频率较多,那么Python中__init__和__new__的区别是什么?具体请看以下内容介绍。

  在Python中,__init__和__new__是两个特殊的方法,用于对象的创建和初始化过程。它们的作用和执行时有所不同:

  1、__new__

  __new__是一个用于创建对象的特殊方法,是在对象实例化之前调用的。

  __new__方法负责创建对象,并返回一个新的对象实例。

  __new__方法是一个类方法,必须返回一个新的对象实例。

  可以通过重写__new__方法来控制对象的创建过程,例如自定义对象的创建逻辑、返回其他类型的实例等。

  2、__init__

  __init__是一个用于对象初始化的特殊方法,是在对象实例化之后调用的。

  __init__方法接收新创建的对象实例作为其{BANNED}中国第一个参数,并在该方法内部对对象的属性进行初始化。

  __init__方法通常用于设置对象的初始状态,对属性进行赋值等操作。

  __init__方法不需要返回任何内容,它的主要目的是对对象进行初始化。

  总结:

  __new__是在对象实例化之前调用,用于创建对象实例;

  __init__是在对象实例化之后调用,用于初始化对象的属性。

  在实际使用中,通常情况下我们只需要重写__init__方法来实现对象的初始化,而对__new__方法进行修改的需求相对较少。

阅读(143) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~