python视频笔记之四(模块、正则表达式)

模块

python的脚本是py文本文件,一个py脚本文件可以单独运行,也可以导入另一个文件中。被当作导入的脚本文件称之为模块。

import cal          #cal是一个cal.py文件,直接导入这个cal.py
cal.add(1,2)       #调用cal.py文件中的add()函数
if _name_=="_main_":     #判断调用此文件的文件名是否是主调用程序

模块可以按目录组织为包

创建包的步骤:
1、建立一个名字为包名字的文件夹
2、该文件夹下创建一个文件_init_.py
3、根据需要在该文件夹下存放脚本文件、已编译扩展及子包
   import pack.m1,pack.m2,pack.m3

import csvp.cal         #csvp为包名,该包下有个cal.py文件
print  csvp.cal.add(2,3)  #调用包名下模块中的函数add()
在csvp包(文件夹)下有个_init_.py,表示该csvp文件夹是一个包

正则表达式


#coding=utf-8

import re  #使用正则表达式

s=r'abc'  #定义正则表达式

print re.findall(s,"aaaaa")  #返回[]

print re.findall(s,"abcaaaabc") #返回['abc', 'abc']

st="top tip tqp tep"

res=r"top"

print re.findall(res,st) #返回['top']

res=r"t[io]p"  #适配方括号内的任意一个字符

print re.findall(res,st) #返回['top', 'tip']

res=r"t[^io]p"  #适配除了方括号内指定字符以外的字符

print re.findall(res,st) #返回['tqp', 'tep']

res=r"^tip"  #适配开头字符是tip

print re.findall(res,st) #返回[]

res=r"tep$"  #适配尾字符是tep

print re.findall(res,st) #返回['tep']

res=r"x[0-9]" #用0-9表示从0到9的数字

print re.findall(res,"x8") #返回['x8']

\d 匹配任何十进制数;它相当于类[0-9]
\D 匹配任何非数字字符;它相当于类[^0-9]
\s 匹配任何空白字符;它相当于类[\t\n\r\f\v]
\S 匹配任何非空白字符;它相当于类[^\t\n\r\f\v]
\w匹配任何字母数字字符;它相当于类[a-zA-Z0-9]
\W匹配任何非字母数字字符;它相当于类[^a-zA-Z0-9]

r=r"^010-\d{8}" #匹配一个格式为 010-8个0到9的数字

* 指定前一个字符可以被匹配零次或更多次
+匹配一次或更多次
?匹配一次或零次
{m,n}  m,n是十进制整数。至少有m个重复,至多到n个重复。
    {0,}等同于*    {1,}等同于+, {0,1}与?相同。

编译正则表达式
p_tel=re.compile(r‘csvt')
print p_tel    #<_sre.SRE_Pattern object at 0x000000000290E620>



你可能感兴趣的:(python视频笔记之四(模块、正则表达式))