36:深浅拷贝
import copy
c=copy.copy(a) //a和c的地址不一样,内容一样
n=m //m和n的地址空间一样,内容一样,
d=copy.deepcopy(a) //深拷贝,子空间也拷贝出来一份
37:文件的操作
r只读
r+读写
w先删,没有就创建, 再写
w+ 先删,没有就创建,再读写
a :写入,再文件末尾追加新的内容,文件不存在就创建
a+ :读写,再文件末尾追加新的内容,文件不存在就创建
b :打开2进制文件,可以与rwa+结合使用
U: 支持所有的换行符
open(”“,w)
38:文件对象方法
String FileObject.read([size])
list=FileObject.readlines([size])
String =FileObject.readline([size])
FileOnject.next()
FileObject.flush()
FileObject.writelines(list) 多行写
FileObject.seek(0,0) //指针回到开头
39:文件查找
40:OS模块
创建目录
import os
os.mkdir(“/root”)
os.makedirs(“a/b/c”)
os.rmdir(“root”)
os.removedirs(“a/b/c”)
os.listdir(“.”) //返回目录文件,不包含子目录
os.getcwd() //当前路径
os.chdir(“/”) 切换python的路径
os.walk(“/root/csvt”) //返回的是生成器。生成器需要遍历
g = os.walk(“”)
#
获取绝对路径
for path ,d,filelist os.walk(“”):
for filename in filelist:
os.path.join(path,filename)
41:异常
try:
f=XXXXXX
except IOError,e:
print False , str(e)
finally :
f.close() //一定执行
#
异常种类
NameError ,msg:
raise TypeError(“”)类型
42:mysql
import MySQLdb
conn=MySQLdb.connect(user=”,passwd=”,host=”)
cur=conn.cursor()
cur.execute(“insert into userinfo (name ,age,gender) value (‘df’,’ss’,’ss’)”)
sql=”insert into tables (name ,age) value (%s,%s)”
cur.execute(sql,(‘ss’,’ff’)) //传的参数是元组
cur.executemany(sql,[(”,”),(”,”),(”,”)]) //插入多组值
查询
cur.execute(select * biao);//返回条数
cur.fetchone() //取一条,指针向下走
cur.scroll(0,’absolute’) //
cur.fetchmeny(15) //取得条数
cur.close() //游标关闭
conn.close() //连接关闭
43:类
创建类:
class Test:
… first = 123
… def f(self):
… return “”
…
类种的方法,必须至少有一个参数
实例化
test = Test()
test.f()
test.first
#
变量定义:
__代表私有,默认都是公有
访问私有:
p = Person()
p.__Person__age
继承
class Test(BaseClassName):
pass
子类的构造方法调用父类的构造方法
super.init()
多重继承
p = Person(BaseClass1,BaseClass2)
l属性不用声明,可以直接使用。属性是静态变量
2属性的名字和方法的名字相同,属性会覆盖方法
3利用组合继承定义类是应该的。
查看属性
对象.dict //返回的是字典类型
Person.function() //可以直接调用
#
绑定:
获取属性值
getattr(c1,’name’)
setattr(object ,name ,vlaue) //给属性赋值,没有属性就新建赋值
delattr(object,name)//删除属性,没有抛异常
hasattr(object ,”)//判断是否有属性
x=property(getSize,setSize,delSize)
最先初始化的方法不是init,是new
class CapStr(str):
def new(cls ,strings):
strings = strings.upper()
return str.new(cls,strings) //这个return 会把参数会传给self。他的返回值类型是一个必须是一个对象