回顾:
1、动态语言
- sys.getrefcount() //查看对象的引用计数
- 增加对象的引用计数场景
- 对象创建时:以赋值的方式,创建变量名的同时就会创建变量
- 将对象添加进容器时:类似list.append()
- 当对象被当作参数传递给函数时
- 多重目标赋值时:s1 = s2 = s3 = ‘abc‘
- 为对象创建另外的变量名
- 减少引用计数
- 引用此对象的某变量名被显示销毁:del x
- 引用此对象的某变量名重新赋值
- 从容器中移除对象时,类似list.pop()
- 容器本身被销毁
2.if
if boolean_exprssion:
....
elif boolean_exprssion:
....
else:
....
3.while
while boolean_exprssion:
while_suite
if boolean_esprssion2:contine
if boolean_esprssion3:break
else
else_suite
4.for
for exprssion in object:
while_suite
if boolean_esprssion2:contine
if boolean_esprssion3:break
else
else_suite
raw_input :输入一个内容
for循环练习
1、逐一分开显示指定字典d1中的所有元素,类似如下
k1 v1
k2 v2
2、逐一显示列表中l1=[‘Sun‘,‘Mon‘,‘Tue‘,‘Wed‘,‘Thu‘,‘Fri‘,‘Sat‘]中的索引为奇数的元素;
3、将属性列表l1=[‘Sun‘,‘Mon‘,‘Tue‘,‘Wed‘,‘Thu‘,‘Fri‘,‘Sat‘],但不属于列表l2=[‘Sun‘,‘Mon‘,‘Wed‘,‘Thu‘,‘Sat‘]的所有元素定义为一个新列表l3;
4、已知列表namelist=[‘stu1‘,‘stu2‘,‘stu3‘,‘stu4‘,‘stu5‘,‘stu6‘,‘stu7‘],删除列表removelist=[‘stu3‘,‘stu7‘,‘stu9‘]
请将属于removelist列表中的每个元素从namelist中移除(属于removelist,但不属于namelist的忽略即可)
非完备遍历:
在实现循环时,如果在实现索引计数时,通过range方式获取列表或某一序列的有限的索引,
比如练习2的range(1,len(l1),2)中,只遍历了索引为偶数的元素
完备遍历:
迭代:重复做一件事
列表解析:
根据已有列表,生成新的列表
文件对象:
文本都是字节序列
var_name = open (file_name[mode,[bufsize]])
mode:
r
w
a
r+
w+
a+
b表示已二进制模式打开文件
rb
wb
ab
rb+
wb+
ab+
缓存:
0表示不使用缓存
负数表示使用系统默认的缓存
1表示使用缓存
整数表示使用大小的缓冲区
file.seek(offset[whence])
whence:起点
0:从文件头
1:从当前位置
2:从文件尾
offset:偏移量
文件系统模块:os
目录:
chdir():切换工作目录
chroot():设定当前进程的根目录
listdir():列出指定目录下的所有文件名
mkdir():创建指定目录
makedirs():创建多久目录
getcwd():获取工作目录
rmdir():删除目录
removedirs():删除多级目录
文件:
mkfifo():创建管道
mknod():创建设备文件
remove():删除文件
unlink():删除链接文件
rename():重命名
stat():放回文件的状态信息
symlink():创建链接文件
utime():更新时间戳
tmpfile():创建并打开(w+b)一个新的临时文件
walk():创建目录树
访问权限相关的
access():检验某个用户或用户组的权限模式
chmod():修改权限
chown():修改属主和属组
umask():设置默认权限模式
文件描述符:
open():底层操作系统的open()
read():
write():
设备文件:
makedev():
major():获取主设备号
minor():获取次设备号
路径管理:
import os.path
basename():路径基名
dirname():路径目录名
join():整合文件名
split():返回dirname(),basename()元组
splitext():返回(filename,extension)元组
信息:
getatime()
getctime()
getmtime()
getsize():返回文件的大小
查询
exists():判断指定文件是否存在
isabs():判断指定的路径是否为绝对路径
isdir():是否为目录
isfile():是否为文件
islink():是否为符号链接
ismount():是否为挂载点
samefile():两个路径是否指向了同一个文件
练习:判断文件是否存在,存在则打开
让用户通过键盘反复输入多行数据
追加保存至此文件中
#!/usr/bin/python
import os
import os.path
filename=raw_input(‘plz a file name:‘)
if os.path.isfile(filename):
openname= open(filename,‘a+‘)
while True:
newline=raw_input(‘plz a line:‘)
if newline == ‘q‘ or newline ==‘quit‘:
break
else:
openname.write(newline+‘\n‘)
openname.close()
对象持久存储
pickle
marshal
DBM接口
shaelve模块
原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9348049.html