__init__(self) 和 __new__(cls)方法

__init__(self) 和 __new__(cls)方法

class Dog(object):

    def __init__(self):

        '''

        初始化,在__new__方法之后开始运行

        '''

        self.name = 'lijiang'

        print(self.name)

 

    def __del__(self):

        print(self.name)

 

    def __new__(cls):

        '''

        创建一个对象

        '''

        return object.__new__(cls)

 

    def __str__(cls):

        '''

        初始化方法之后执行

        '''

        return '打印对象的特征'

 

dog = Dog()

print(dog)

 

1)__new__是一个类方法,它返回的是一个实例

2)__init__是一个实例方法,它什么都不返回

3)只有在__new__方法返回一个cls对象时,__init__方法才会被调用,否则__init__方法不会被调用

猜你喜欢

转载自blog.csdn.net/Zp18189530679/article/details/81261270
今日推荐