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

本文详细介绍了Python中类与对象的基本概念,包括类的创建、实例化过程、属性的访问与修改方式,以及如何利用内置函数操作类和对象。此外还讲解了Python垃圾回收机制与对象销毁的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#-*- 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 False
setattr(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__(),该方法在实例即
#将被销毁时被调用。 此方法可能用于清理实例使用的任何非内存资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值