Python面向对象中,__init__和__new__方法有何区别?

2026-06-09 16:130阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计202个文字,预计阅读时间需要1分钟。

Python面向对象中,__init__和__new__方法有何区别?

Python入门中,面向对象编程的核心是使用`__init__`和`__new__`方法。`__new__`用于创建类的实例,而`__init__`用于初始化实例。下面是这两个方法的基本用法:

pythonclass MyClass: def __new__(cls, *args, **kwargs): instance=super(MyClass, cls).__new__(cls) # 在这里可以添加自定义的实例创建逻辑 return instance

def __init__(self, value): self.value=value # 在这里可以添加自定义的实例初始化逻辑

在这个例子中,`__new__`方法接收类本身、任意位置参数和任意关键字参数,并调用父类的`__new__`方法来创建实例。`__init__`方法则接收实例和初始化参数,用于设置实例的属性。

Python入门之面向对象的__init__和__new__方法


Python面向对象中,__init__和__new__方法有何区别?



标签:initnew

本文共计202个文字,预计阅读时间需要1分钟。

Python面向对象中,__init__和__new__方法有何区别?

Python入门中,面向对象编程的核心是使用`__init__`和`__new__`方法。`__new__`用于创建类的实例,而`__init__`用于初始化实例。下面是这两个方法的基本用法:

pythonclass MyClass: def __new__(cls, *args, **kwargs): instance=super(MyClass, cls).__new__(cls) # 在这里可以添加自定义的实例创建逻辑 return instance

def __init__(self, value): self.value=value # 在这里可以添加自定义的实例初始化逻辑

在这个例子中,`__new__`方法接收类本身、任意位置参数和任意关键字参数,并调用父类的`__new__`方法来创建实例。`__init__`方法则接收实例和初始化参数,用于设置实例的属性。

Python入门之面向对象的__init__和__new__方法


Python面向对象中,__init__和__new__方法有何区别?



标签:initnew