简介
很多面向对象的语言都提供了new关键字,通过new可以创建类的实例。Python的方式更加简单,一旦定义了一个类,直接使用函数操作符,即可创建类的实例。本文主要结合一些实际的例子,介绍了Python类的构造,初始化和析构的原理。
类的构造与初始化
Python涉及类的构造与初始化,有两个重要的方法:__new__( )和__init__( )和方法。前者完成实例对象的创建,后者完成对创建的实例对象的初始化工作。为更好的理解相关概念,我们先来看一个具体的例子:
'''
Created on Mar 23, 2015
@author: jliu
'''
class MyClass(object):
def __new__(cls, *args, **kwargs):
print '__new__ called'
return object.__new__(cls, *args, **kwargs) #default factory
def __init__(self, name):
print '__init__ called'
self.name = name
if __name__ == '__main__':
instance = MyClass("Learning Python")MyClass类继承了object基类,实现了__new__()和__init__()方法,程序运行结果如下:
__new__ called
__in

本文深入探讨Python中的类构造,包括__new__和__init__方法的用法,以及析构方法__del__的工作原理。通过实例说明了如何在类中定义这些方法,以及它们在实例化过程中的作用。强调了__new__是真正的构造器,负责创建实例,而__init__用于初始化。此外,文章还讨论了Python垃圾回收机制下析构方法的特殊性及注意事项。
最低0.47元/天 解锁文章

2054

被折叠的 条评论
为什么被折叠?



