python像其他的编程语言一样,作为一种开发工具,具有很多功能。对一门语言的学习,除了必要的语言构成因素(如汉语的拼音、英文的26个英文字母),以及编写程序时所用到的单位结构(如汉语中的简单汉字、英语的单词)之外,剩下的就是熟练应用及扩展。本文总结了python的简单知识点,作为对python语言的总结。
数据类型
列表、字典、字符串(可修改)和元组(不可修改)。
主要方法有:
(1)索引s[i],长度len(s),删除del(s),其中s代表任意一种数据结构,i代表索引位置。
(2)分片s[i:j]、乘法s*n、计数s.count(str),s代表列表、字符串和元组。
(3)列表方法。
l.append()#添加
l.insert(index,str)#插入
l.sort()#排序,默认升序
(4)字符串方法
s.find(str)#查找子字符串
s.join(seq)#连接s与seq
s.lower()#返回小写
s.replace(str1,str2)#用str2替换str1
s.split(str)#将s按照str分割成序列
s.strip()#去除s首尾的空格函数
函数分为普通函数和特殊函数。
1)普通函数
(1)参数:形参和实参
(2)作用域
2)特殊函数
(1)构造方法。方法名为__init__(),每次创建对象的时候,自动调用该方法,参数可选,存在参数时作为默认参数使用,即实例化过程,如果在对象使用过程中传入参数则使用默认参数。
(2)属性。
(3)迭代器__iter__和生成器。
任何带有yield关键字的函数都是生成器(一步一步地输出)。具体功能可以当做return使用,但是yield在每次执行后会返回函数上次执行的断点处,在下次调用时继续执行。
yield是一个表达式(Python2.5后的版本),需要将迭代器的结果赋给别的变量,然后用next()方法输出,知道结束(报错)。
生成器方法:
i)r.send(str)#在生成器断点处加入str,首次调用只能传递None;
ii)r.next()#输出生成器一步结果;
iii)r.throw()、r.close()#中断生成器。对象
(1)多态:对不同类型的数据和类的对象可以使用相同的处理方式。
(2)封装:将内部具体实现方法隐藏(封装)起来,只给出处理结果,如带输出的函数。
(3)继承:主要用于类,子类在继承超类时,注意超类的顺序,先继承的类中的方法会重写后继承的类中的方法。异常
(1)引发异常raise。
(2)捕捉异常try/except[……finally]。
(3)异常处理。
(4)异常传播——逆调用方向直至主程序。模块、包、库
(1)模块(module):一个py文件或以其他文件形式存在的可被导入的就是一个模块。
模块在导入过程中每次调用都会执行,解决的方法是,在该方法调用前添加:
if __name__ == ‘__main__’:
告知主程序,只有在程序被调用的时候才执行,导入时不执行。
模块可调用的标准就是模块文件可以被编译器找到。
(2)包(package):含有__init__.py文件的文件夹,内部含有若干其他模块。
(3)库(lib):可以导入后调用的方法。注意标准库中的正则表达式模块re。
i)函数
compile()#预编译正则表达式,提升程序执行性能
group()、groups()#显示匹配结果
match()从头开始匹配
search()#扫描整个字符串匹配
findall()#找出所有匹配部分返回列表
sub()、subn()#替换,attr2替换attr1,后者添加替换次数
split()#分隔
ii)特殊字符集
^脱字符,没有方括号表示匹配^后的字符串开始;有方括号表示不匹配方括号内^开始的字符串的任意字符;
$匹配字符串结尾;
\b匹配一个单词的边界;
\B匹配后面字符串在别的字符串中出现的情况;
\d十进制数字,大写表示不匹配;
\w表示A-Za-z0-9,大写表示不匹配;
\s表示空白字符集,大写表示不匹配。
iii)符号
| 管道符号,表示或;
. 单个字符匹配,‘.’本身匹配需加转义符号‘\’;
[]表示匹配方括号中的任意字符;
- 表示指定范围;
*表示匹配0次或0次以上;
+表示匹配1次或1次以上;
?表示匹配0次或1次,但跟在表示重复匹配的其他符号(*、+)后面表示匹配越短越好,终止贪婪匹配;
{}表示匹配括号中数目次,范围表示匹配次数的范围;
()表示匹配结果分组。文件
(1)读取
f.open(name,[mode])#打开文件;
f.read([n])#读取n个字节到字符串;
f.readline()#读取行(字符串行结束符之前);
f.readlines()#读取所有行返回列表。
(2)写入
f.write(str)#写入文件;
f.writelines()#将字符串列表写入文件,不包括行结束符;
f.close()#关闭文件;
f.seek(offset)#将当前位置移动到offset定义的位置。
(3)读写格式
r读,可读取文件信息;
w写,是否清除之前内容与文件打开方式有关;
a追加,打开文件,指针自动移动到末尾,文件不存在则创建;
b二进制模式处理文件(rb、wb、ab)