zoukankan      html  css  js  c++  java
  • 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成员变量,对象的变量就是普通成员变量)
    就到这里了,下次见。
  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    网页设计中颜色的搭配
    CSS HACK:全面兼容IE6/IE7/IE8/FF的CSS HACK
    UVa 1326 Jurassic Remains
    UVa 10340 All in All
    UVa 673 Parentheses Balance
    UVa 442 Matrix Chain Multiplication
    UVa 10970 Big Chocolate
    UVa 679 Dropping Balls
    UVa 133 The Dole Queue
  • 原文地址:https://www.cnblogs.com/zy666/p/10504322.html
Copyright © 2011-2022 走看看