一、Python的垃圾回收
与Java相似,Python使用了简单的对象引用计数计数来跟踪和回收垃圾,当对象被引用时引用计数加1,当引用计数为0时由解释器在适当的时机进行回收。此外,Python垃圾收集器实际是一个引用计数器和一个循环垃圾收集器,在处理循环引用的时候,垃圾收集器注意被分配的总量很大的对象(即未通过引用计数销毁的对象),这时解释器暂时停下来试图清理所有未引用的循环。
在此推荐两篇文章:(1)Python之美[从菜鸟到高手]--Python垃圾回收机制及gc模块详解(2)Python垃圾回收机制--完美讲解!
二、Python继承
class Child(Parent1,Parent2,...),基类的构造方法(__init()__)不会被自动调用,需要在其派生类的构造函数中专门调用;以基类名为前缀,且带上self参数变量以区别于类中调用普通函数
三、类属性和方法
__value:两个下划线开头声明该属性为私有,在类内部方法中使用时用self.__value;私有方法与此类似
四、CGI(Common Gateway Interface),通用网关接口,运行在如:HTTP等服务器上,提供同客户端HTML页面的接口
这个需要专门写一篇学习笔记。
五、数据库操作
Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:GadFly、mSQL、PostgreSQL、Informix、Interbase、Sybase
- MySQL
- Microsoft SQL Server 2000
- Oracle
(1)引入API模块(2)获取与数据库的连接(3)执行SQL语句(4)关闭数据库连接
下面以MySQL为例记录学习笔记:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
db = MySQLdb.connect("localhost","数据库用户名","数据库密码","数据库名")
cursor = db.cursor() #获取操作游标
cursor.execute("SQL语句")...
db.close()
执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
- 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
- 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
- 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
- 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()