7.正则表达式
^匹配字符串的开始
$匹配字符串的结尾
\b匹配一个单词的边界
\d匹配任意数字
\D匹配任意非数字字符
x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)
x*匹配0次或者多次x字符
x+匹配1次或者多次x字符
x{n,m}匹配x字符,至少n次,至多m次
(a|b|c)要么匹配a,要么匹配b,要么匹配c
(x)一般情况下表示一个记忆组(remembered group),你可以利用re.search函数返回对象的groups()函数获取它的值。
8、内置函数:locals()和globals()
它们提供了基于dictionary的访问局部和全局变量的方式。
>>> def foo(arg):
... x=1
... print locals()
...
>>> foo(7)
{'x': 1, 'arg': 7}
>>> foo('bar')
{'x': 1, 'arg': 'bar'}
Note:变量的动态访问
使用locals和globals函数,通过提供便利的字符串名字就可以动态地得到任何变量的值。这种方法提供了这样的功能:getattr函数允许通过提供函数的字符串名来动态地访问任意的函数。
8.1、locals()和globals()之间的另外一个重要区别,locals()是只读的,globals()不是。
>>> def foo(arg):
... x=1
... print locals()
... locals()['x']=2
... print 'x = ',x
...
>>> z=7
>>> print 'z=',z
z= 7
>>> foo(3)
{'x': 1, 'arg': 3}
x = 1
>>> globals()['z']=8
>>> print 'z=',z
z= 8
9.XML........