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>



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,215评论 22 257
  • 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Pyth...
    一只写程序的猿阅读 4,011评论 0 3
  • 1.1Python中的模块介绍和使用 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#...
    TENG书阅读 433评论 0 0
  • 1模块 1.1Python中的模块介绍和使用 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须...
    PythonMaO阅读 441评论 0 0
  • 做一个有情趣的人很重要吗?答案不言而喻的。 好友的同事Lily 发来diy 的草莓蛋糕图和烤鸡翅的图片。顿时他们同...
    浅草樱落阅读 456评论 2 1