• Python入门系列——第19篇


    类和对象(三)

    上次我们介绍了__init__()方法,这次我们要介绍__del__()方法以及类本身的变量和类对象的变量。好了,由于你已经有了前面的基础了,这次我们直接上代码。
    class Animals:
    	count = 0
    	def __init__(self,types,num):
    		self.types = types
    		Animals.count += 1
    		self.num = num + 1;
    	def Print(self):
    		print("This is ",self.types)
    		print("number is ",self.num)
    		print("Count is incerase to ",Animals.count)
    	def __del__(self):
    		Animals.count -= 1
    		print("count is ",Animals.count)
    		
    sheep = Animals("sheep",0)
    sheep.Print()
    fish = Animals("fish",0)
    fish.Print()
    dog = Animals("dog",0)
    dog.Print()
    在这段代码中,你已经看到了新的东西了,我们再来看看这段代码的输出结果:

    从代码的输出中我们可以看到,num这个变量永远是1,而count这个变量先增加后减少。
    num这个变量,我们使用self.num来引用,我们称之为对象的变量。它在每一个对象之中都有一份拷贝。
    count这个变量,我们使用Animals.count来引用,我们称之为类的变量,它是所有类对象所共享的,只有一份,属于这个类本身。
    在这段代码的最后三行在一次输出了count的数量,通过查看代码,我们可以看到,这三行是由__del__()方法输出的。__del__()方法(和__init__相同,前后都是双下划线,名字也只能是del。)是自动调用的,当我们的对象不在被使用的时候,__del__()方法就会自动运行,然后将对象所占用的资源返还给系统。但是,需要注意的是,我们很难保证这个__del__方法到底什么时候会被调用,所有当我们使用完一个对象的时候可以立即使用del关键字来删除这个对象。这个时候__del__方法就会被立即调用。我就不演示了,你自己去试试吧。(学过C++的同学将__del__理解为析构函数即可。类变量就相当于C++的static成员变量,对象的变量就是普通成员变量)
    就到这里了,下次见。
  • 相关阅读:
    【目标检测】RCNN算法详解
    自己搭建传统ocr识别项目学习
    015. asp.net实现简易聊天室
    014. asp.net实现记住密码的功能
    013. asp.net统计网站访问人数
    012. asp.net生成验证码图片(汉字示例/字母+数字)
    011. asp.net内置对象
    010. 使用.net框架提供的属性
    001. 使用ssh连接不上centos 6.5的解决方法及其解决中文乱码
    009. C#中的WebBrowser控件的属性、方法及操作演示代码(转)
  • 原文地址:https://www.cnblogs.com/zy666/p/10504322.html
Copyright © 2020-2023  润新知