1.常用列表的操作
- L = [[1, 2], 'string', {}]
- L = list('spam')
- L = list(range(0, 4))
- list(map(ord, 'spam'))
- len(L)
- L.count(value)
- L.append(obj)
- L.insert(index, obj)
- L.extend(interable)
- L.index(value, [start, [stop]])
- L.pop([index])
- L.remove(value)
- L.reverse()
- L.sort(cmp=None, key=None, reverse=False)
-
2.常用字典的操作
- D = {}
- D = {'spam': 2, 'tol': {'ham': 1}}
- D = dict.fromkeys(['s', 'd'], 8)
- D = dict(name='tom', age=12)
- D = dict([('name', 'tom'), ('age', 12)])
- D = dict(zip(['name', 'age'], ['tom', 12]))
- D.keys();
- D.values();
- D.items()
- D.get(key, default)
- D.update(D_other)
- D.pop(key, [D])
- D.popitem()
- D.setdefault(k[, d])
- del D
- del D['key']
-
3.文件基本操作
- output = open(r'C:\spam', 'w')
- input = open('data', 'r')
- fp.read([size])
- fp.readline([size])
- fp.readlines([size])
- fp.readable()
- fp.write(str)
- fp.writelines(seq)
- fp.writeable()
- fp.close()
- fp.flush()
- fp.tell()
- fp.next()
- fp.seek(offset[, whence])
- fp.seekable()
- fp.truncate([size])
-
4.if/else三元表达符
- A = 1 if X else 2
- A = 1 if X else (2 if Y else 3)
-
5.生成器表达式(不占内存)
- G = (x ** 2 for x in range(3))
- next(G), next(G), next(G)
-
- G = (x ** 2 for x in range(4))
- I1 = iter(G)
- next(I1)
- next(G)
- next(I1)
-
- gen = (i for i in range(4))
- 2 in gen
- 3 in gen
- 1 in gen
-
6.Python的while语句或者for语句可以带else语句 当然也可以带continue/break/pass语句
- while a > 1:
- anything
- else:
- anything
- # else语句会在循环结束后执行,除非在循环中执行了break,同样的还有for语句
- for i in range(5):
- anything
- else:
- anything
-
7.for循环的元组赋值
- for (a, b) in [(1, 2), (3, 4)]:
- for ((a, b), c) in [((1, 2), 3), ((4, 5), 6)]:
- for ((a, b), c) in [((1, 2), 3), ("XY", 6)]:
- for (a, *b) in [(1, 2, 3), (4, 5, 6)]:
-
8.匿名函数:lambda
- f = lambda x, y, z: x + y + z
- f = lambda x=1, y=1: x + y
- def action(x):
- return (lambda y: x + y)
- f = lambda: a if xxx() else b
-
9.生成器函数:yield VS return
- def gensquare(N):
- for i in range(N):
- yield i ** 2
- for i in gensquare(5):
- print(i, end=' ')
- x = gensquare(2)
- next(x)
- next(x)
- next(x)
-
10.查看全部的模块搜索路径
- import sys
- sys.path
- sys.argv # 获得脚本的参数
- sys.builtin_module_names # 查找内建模块
- sys.platform # 返回当前平台 出现如: "win32" "linux" "darwin"等
- sys.modules # 查找已导入的模块
- sys.modules.keys()
- sys.stdout # stdout 和 stderr 都是类文件对象,但是它们都是只写的。它们都没有 read 方法,只有 write 方法
- sys.stdout.write("hello")
- sys.stderr
- sys.stdin
-
11.包相对导入:使用点号(.) 只能使用from语句
- from . import spam
- from .spam import name
- from .. import spam
-
12.包相对导入与普通导入的区别
13.OS模块
- import os
- os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
- os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cd
- os.curdir #返回当前目录: ('.')
- os.pardir #获取当前目录的父目录字符串名:('..')
- os.makedirs('dirname1/dirname2') #可生成多层递归目录
- os.removedirs('dirname1') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
- os.mkdir('dirname') #生成单级目录;相当于shell中mkdir dirname
- os.rmdir('dirname') #删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
- os.listdir('dirname') #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
- os.remove() #删除一个文件
- os.rename("oldname","newname") #重命名文件/目录
- os.stat('path/filename') #获取文件/目录信息
- os.linesep #输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
- os.pathsep #输出用于分割文件路径的字符串
- os.name #输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
- os.system("bash command") #运行shell命令,直接显示
- os.environ #获取系统环境变量
-
14.正则表达式
15.异常
- #捕获异常
- try:
- except: # 捕获所有的异常 等同于except Exception:
- except name: # 捕获指定的异常
- except name, value: # 捕获指定的异常和额外的数据(实例)
- except (name1, name2):
- except (name1, name2), value:
- except name4 as X:
- else: # 如果没有发生异常
- finally: # 总会执行的部分
- #引发异常: raise子句(raise IndexError)
- raise < instance > # raise instance of a class, raise IndexError()
- raise < class > # make and raise instance of a class, raise IndexError
- raise # reraise the most recent exception
-