第五篇:python中的魔法方法

(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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 3,644评论 0 0
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 9,703评论 4 16
  • 那一天我二十一岁,在我一生的黄金时代。我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云。后来我才知道,...
    圈圈的圈阅读 1,189评论 0 0
  • 平水韵、平起首句押韵,和文友珠海潮平《老家的那盆茉莉》诗助兴。 白花映在绿丛边,犹似寒霜染鬓前。 遥念双亲多自艾,...
    原始生命阅读 4,862评论 35 114
  • 4 beds · 5 baths · 3,500 sqft FOR SALE $2,590,000 Zestima...
    海澜之家阅读 1,828评论 0 0

友情链接更多精彩内容