美文网首页
第五篇:python中的魔法方法

第五篇:python中的魔法方法

作者: rtrhhthth | 来源:发表于2018-05-13 19:38 被阅读0次

(1)init方法: 初始化实例属性 自动调用
使用方式:
def 类名:

初始化函数,用来完成一些默认的设定

def init():
init()方法的调用

image.png
(2)定义str()方法:有返回值 打印实例对象的时候会自动调用
11.png
注意:
当使用print输出对象的时候,只要自己定义了str(self)方法,那么就会打印从在这个方法中return的数据

(3)del()方法:
创建对象后,python解释器默认调用init()方法。当删除一个对象时,python解释器也会默认调用一个方法,这个方法为del()方法。在python中,对于开发者来说很少会直接销毁对象(如果需要,应该使用del关键字销毁)。Python的内存管理机制能够很好的胜任这份工作。也就是说,不管是手动调用del还是由python自动回收都会触发del方法执行:

import time
class Animal(object):

# 初始化方法
# 创建完对象后会自动被调用
def __init__(self, name):
    print('__init__方法被调用')
    self.__name = name


# 析构方法
# 当对象被删除时,会自动被调用
def __del__(self):
    print("__del__方法被调用")
    print("%s对象马上被干掉了..."%self.__name)

创建对象

dog = Animal("哈皮狗")

删除对象

del dog

cat = Animal("波斯猫")
cat2 = cat
cat3 = cat

print("---马上 删除cat对象")
del cat
print("---马上 删除cat2对象")
del cat2
print("---马上 删除cat3对象")
del cat3

print("程序2秒钟后结束")
time.sleep(2)
(4)new方法
new方法在Python中用于被创建类实例
new 方法是什么?
如果将类比喻为工厂,那么init()方法则是该工厂的生产工人,init()方法接受的初始化参 数则是生产所需原料,init()方法会按照方法中的语句负责将原料加工成实例以供工厂出货。而 new()则是生产部经理,new()方法可以决定是否将原料提供给该生产部工人,同时它还决定着出 货产品是否为该生产部的产品,因为这名经理可以借该工厂的名义向客户出售完全不是该工厂的产品。
new()方法的特性:
1.new()方法是在类准备将自身实例化时调用。
2.new()方法始终都是类的静态方法,即使没有被加上静态方法装饰器。
newinit的作用

image.png

相关文章

网友评论

      本文标题:第五篇:python中的魔法方法

      本文链接:https://www.haomeiwen.com/subject/qzwldftx.html