从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块。还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆。按常理来说我们应该先解释模块概念性东西再来学习具体的模块使用。可是直接解释可能反而不好理解,模块的使用非常方便,所以我们采用先介绍使用常用模块过两天再具体进行模块概念的讲解。
预习:
实现能计算类似
1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式的计算器程序(使用正则表达式)
本篇导航:
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。
1、namedtuple: 生成可以使用名字来访问元素内容的tuple
用tuple元组不变特性可以表示坐标:
p = (1, 2, 3)
虽然很简单但是无法给人已直观的坐标感受,所以这个时候我们可以使用namedtuple
from collections import namedtuple #模块的导入,后面的将不再强调 Ponit = namedtuple('Ponit',['x','y','z']) p = Ponit(1,2,5) print(p.x) print(p.y) print(p.z)