函数基础知识(8)——模块

1.re模块

正则表达式:是一种规则,和python没有任何关系,RE模块是python和正则的一个接口,封装了正则的一些运算

re元字符:

[]:字符组,匹配字符组中的字符,表示一个位置可能出现的所有可能

.:匹配除了换行符以外的任意字符

^: 以什么开始,在字符组[]中表示匹配除了字符组的字符的其他任何字符

$:以什么结束

\d:[0-9]      \D

\w:字母数字下划线  \W

\s:任意空格  \S

\n:换行符

\t:制表符

\b:一个单词的结尾

a|b:匹配字符a或者字符b

():匹配()内的表达式

量词:

*:0次到N次

+:一次到更多次

?:零次到一次

{m,n}重复m到n次

.*?的用法:

. 是任意字符
* 是取 0 至 无限长度
? 是非贪婪模式。
何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在:.*?x就是取前面任意长度的字符,直到一个x出现

 

2.collections模块:都是数据类型

nametuple(‘名称’,[属性list]):生成可以使用名字来访问元素内容的tuple

from collections import namedtuple
Card = namedtuple('Card',['suits','rank'])
c1 = Card('红桃','2')
print(c1.suits)
print(c1.rank)

deque:双端队列,队列的特点先进先出,常用语任务处理

针对的问题主要是列表的插入删除占用时间,在队列的两端进行插入删除则消耗时间少

from collections import deque
q = deque(['a','b','c'])
q.append('x')
q.appendleft('y')
q.pop()
q.popleft()

 

Orderdict:有序字典,保持字典的有序性,按照字典插入顺序排列,而不是key值排列

from collections import OrderedDict
d = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
for key in d:
    print(key)
d['key'] = 'value'
>>>OrderedDict([('a', 1), ('b', 2), ('c', 3), ('key', 'value')])

 

defaultDict:默认字典,给字典设置一个默认值

from collections import defaultdict
d = dict([('a',1),('b',2)])
print(d)
d = defaultdict(lambda : 'N?A')
d['k1'] = 'hello'
print(d.get('k1'))
print(d['k2'])

Counter:计数器

from collections import Counter
c = Counter('hellowordnihaonishihsuinihaoma')
print(c)

3.time模块

时间戳:time.time()

结构化时间time.localtime(时间戳)本地时间

time.gmtime(时间戳)英国时间,错8个时区

字符串时间:time.strftime('%Y-%m-%d %H-%M-%S', time.localtime())

time.strptime('2017-9-11 08-30-00', '%Y-%m-%d %H-%M-%S')

字符串时间——>结构化时间——>时间戳
字符串时间<——结构化时间<——时间戳
 

4.random模块

random.randint()随机整数

random.choice()随机选择一个随机数

random.sample()随机列表

random.shuffle()打乱次序,洗牌用

5.sys模块

sys.argv

6.os模块

7.序列化

  json:转化成字符串,最常用的,其他语言支持的

json.dumps()

json.loads()

json.dump()

json.load()

pickle

dump(object, file)
dumps(object) -> string
load(file) -> object
loads(string) -> object

 

shelve:只有一个方法,写入字典形式的

file = open(filename)

shelve.open(file)

file[key] = value

 

posted @ 2017-09-12 21:58  wallisyan  阅读(75)  评论(0)    收藏  举报