python 类 函数 的基本操作 以及 垃圾回收机制

来源:互联网 发布:淘宝店能升级企业店铺 编辑:程序博客网 时间:2024/06/11 18:59
#-*- coding:utf-8 -*-#创建类class Employee:   'Common base class for all employees'   empCount = 0   def __init__(self, name, salary):      self.name = name      self.salary = salary      Employee.empCount += 1   def displayCount(self):      print ("Total Employee %d" % Employee.empCount)   def displayEmployee(self):      print ("Name : ",self.name,  ", Salary: ",self.salary)#创建实例对象#要创建类的实例,可以使用类名调用该类,并传递其__init__方法接受的任何参数。emp1 = Employee("Maxsu", 2000)emp2 = Employee("Kobe", 5000)#访问属性#可以使用带有对象的点(.)运算符来访问对象的属性。emp1.displayEmployee()emp2.displayEmployee()print ("Total Employee %d" % Employee.empCount)#可以随时添加,删除或修改类和对象的属性 emp1.salary = 7000  # Add an 'salary' attribute.emp1.name = 'xyz'  # Modify 'age' attribute.#del emp1.salary  # Delete 'age' attribute.emp1.displayEmployee()'''    如果不是使用普通语句访问属性,可以使用以下函数 -    getattr(obj,name [,default]) - 访问对象的属性。    hasattr(obj,name) - 检查属性是否存在。    setattr(obj,name,value) - 设置一个属性。如果属性不存在,那么它将被创建。    delattr(obj,name) - 删除一个属性。'''a = getattr(emp1,'salary')delattr(emp1,'salary')b = hasattr(emp1,'salary')print a,b #7000 Falsesetattr(emp1,'salary',8000)emp1.displayEmployee()#内置类属性'''    每个Python类保持以下内置属性,并且可以像任何其他属性一样使用点运算符访问它们 -    __dict__ - 包含该类的命名空间的字典。    __doc__ - 类文档字符串或无,如果未定义。    __name__ - 类名。    __module__ - 定义类的模块名称。此属性在交互模式下的值为“main”。    __bases__ - 一个包含基类的空元组,按照它们在基类列表中出现的顺序。'''print("Employee.__dict__ :",Employee.__dict__)print("Employee.__doc__ :",Employee.__doc__)print("Employee.__name__ :",Employee.__name__)print("Employee.__module__ :",Employee.__module__)print("Employee.__bases__ :",Employee.__bases__) '''                            销毁对象(垃圾收集)    Python自动删除不需要的对象(内置类型或类实例)以释放内存空间。 Python定期回收不再使用的内存块的过程称为垃圾收集。    Python的垃圾收集器在程序执行期间运行,当对象的引用计数达到零时触发。 对象的引用计数随着指向它的别名数量而变化。    当对象的引用计数被分配一个新名称或放置在容器(列表,元组或字典)中时,它的引用计数会增加。 当用del删除对象的引用计    数时,引用计数减少,其引用被重新分配,或者其引用超出范围。 当对象的引用计数达到零时,Python会自动收集它。'''#通常情况下,垃圾回收器会销毁孤立的实例并回收其空间。 但是,类可以实现调用析构函数的特殊方法__del__(),该方法在实例即#将被销毁时被调用。 此方法可能用于清理实例使用的任何非内存资源。

原创粉丝点击