python好看的函数 Python函数大全

一文秒懂python正则表达式常用函数

01 Re概览

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的新抚网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..\Python\Python37\Lib)。主要提供了3大类字符串操作方法:

字符查找/匹配

字符替换

字符分割

由于是面向字符串类型的模块,就不得不提到字符串编码类型。re模块中,模式串和搜索串既可以是 Unicode 字符串 (常用str类型) ,也可以是8位字节串 (bytes,2位16进制数字,例如\xe5) , 但要求二者必须是同类型字符串。

02 字符串查找/匹配

预编译:compile

在介绍查找和匹配函数前,首先需要知道re的compile函数,该函数可以将一个模式串编译成正则表达式类型,以便后续快速匹配和复用

import re pattern = re.compile(r'[a-z]{2,5}') type(pattern) #re.Pattern

此例创建了一个正则表达式式对象 (re.pattern) ,命名为pattern,用于匹配2-5位小写字母的模式串。后续在使用其他正则表达式函数时,即可使用pattern进行方法调用。

匹配:match

match函数用于从文本串的起始位置开始匹配,若匹配成功,则返回相应的匹配对象,此时可调用group()方法返回匹配结果,也可用span()方法返回匹配起止下标区间;否则返回None

import re pattern = re.compile(r'[a-z]{2,5}') text1 = 'this is a re test' res = pattern.match(text1) print(res) # if res:  print(res.group()) #this  print(res.span()) #(0, 4) text2 = '是的, this is a re test' print(pattern.match(text2))#None

match函数还有一个变形函数fullmatch,当且仅当模式串与文本串刚好全部匹配时,返回一个匹配对象,否则返回None

搜索:search

match只提供了从文本串起始位置匹配的结果,如果想从任意位置匹配,则可调用search方法,与match方法类似,当任意位置匹配成功,则立即返回一个匹配对象,也可调用span()方法获取起止区间、调用group方法获得匹配文本串

import re pattern = re.compile(r'\s[a-z]{2}') text1 = 'this is a re test' res = pattern.search(text1) print(res) # if res:  print(res.group()) #is  print(res.span()) #(4, 7) pattern2 = re.compile(r'\s[a-z]{5}') text2 = '是的,this is a re test' print(pattern2.search(text2))#None

match和search均用于匹配单个结果,唯一区别在于前者是从起始位置开始匹配,而后者从任意位置匹配,匹配成功则返回一个match对象。

全搜索:findall/finditer

几乎是最常用的正则表达式函数,用于寻找所有匹配的结果,例如在爬虫信息提取中,可非常方便地提取所有匹配字段

import re pattern = re.compile(r'\s[a-z]{2,5}') text1 = 'this is a re test' res = pattern.findall(text1) print(res) #[' is', ' re', ' test']

findall返回的是一个列表对象类型,当无匹配对象时,返回一个空列表。为了避免因同时返回大量匹配结果占用过多内存,可以调用finditer函数返回一个迭代器类型,其中每个迭代元素是一个match对象,可继续调用group和span方法获取相应结果

import re pattern = re.compile(r'\s[a-z]{2,5}') text1 = 'this is a re test' res = pattern.finditer(text1) for r in res:  print(r.group()) """  is  re  test """

当匹配模式串较为简单或者仅需单词调用时,上述所有方法也可直接调用re类函数,而无需事先编译。此时各方法的第一个参数为模式串。

import re pattern = re.compile(r'\d{2,5}') text = 'this is re test' re.findall('[a-z]+', text) #['this', 'is', 're', 'test'] 03 字符串替换/分割

替换:sub/subn

当需要对文本串进行条件替换时,可调用re.sub实现 (当然也可先编译后再用调用实例方法) ,相应参数分别为模式串、替换格式、文本串,还可以通过增加缺省参数限定替换次数和匹配模式。通过在模式串进行分组,可实现字符串的格式化替换(类似字符串的format方法),以实现特定任务。

import re text = 'today is 2020-03-05' print(re.sub('-', '', text)) #'today is 20200305' print(re.sub('-', '', text, 1)) #'today is 202003-05' print(re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', text)) #'today is 03/05/2020'

re.sub的一个变形方法是re.subn,区别是返回一个2元素的元组,其中第一个元素为替换结果,第二个为替换次数

import re text = 'today is 2020-03-05' print(re.subn('-', '', text)) #('today is 20200305', 2)

分割:split

还可以调用正则表达式实现字符串的特定分割,相当于.split()方法的一个加强版,实现特定模式的分割,返回一个切割后的结果列表

import re text = 'today is a re test, what do you mind?' print(re.split(',', text)) #['today is a re test', ' what do you mind?'] 04 总结

python中的re模块提供了正则表达式的常用方法,每种方法都包括类方法调用(如re.match)或模式串的实例调用(pattern.match)2种形式

常用的匹配函数:match/fullmatch

常用的搜索函数:search/findall/finditer

常用的替换函数:sub/subn

常用的切割函数:split

还有其他很多方法,但不是很常用,具体可参考官方文档

另外,python还有第三方正则表达式库regex可供选择

到此这篇关于一文秒懂python正则表达式常用函数的文章就介绍到这了,希望大家以后多多支持!

python函数有哪些

1、print()函数:打印字符串;

2、raw_input()函数:从用户键盘捕获字符;

3、len()函数:计算字符长度;

4、format()函数:实现格式化输出;

5、type()函数:查询对象的类型;

6、int()函数、float()函数、str()函数等:类型的转化函数;

7、id()函数:获取对象的内存地址;

8、help()函数:Python的帮助函数;

9、s.islower()函数:判断字符小写;

10、s.sppace()函数:判断是否为空格;

11、str.replace()函数:替换字符;

12、import()函数:引进库;

13、math.sin()函数:sin()函数;

14、math.pow()函数:计算次方函数;

15、os.getcwd()函数:获取当前工作目录;

16、listdir()函数:显示当前目录下的文件;

17、time.sleep()函数:停止一段时间;

18、random.randint()函数:产生随机数;

19、range()函数:返回一个列表,打印从1到100;

20、file.read()函数:读取文件返回字符串;

21、file.readlines()函数:读取文件返回列表;

22、file.readline()函数:读取一行文件并返回字符串;

23、split()函数:用什么来间隔字符串;

24、isalnum()函数:判断是否为有效数字或字符;

25、isalpha()函数:判断是否全为字符;

26、isdigit()函数:判断是否全为数字;

27、 lower()函数:将数据改成小写;

28、upper()函数:将数据改成大写;

29、startswith(s)函数:判断字符串是否以s开始的;

30、endwith(s)函数:判断字符串是否以s结尾的;

31、file.write()函数:写入函数;

32、file.writeline()函数:写入文件;

33、abs()函数:得到某数的绝对值;

34、file.sort()函数:对书数据排序;

35、tuple()函数:创建一个元组;

36、find()函数:查找 返回的是索引;

37、dict()函数:创建字典;

38、clear()函数:清楚字典中的所有项;

39、copy()函数:复制一个字典,会修改所有的字典;

40、 get()函数:查询字典中的元素。

…………

Python中几个特殊的函数

1、 定义一个特殊的 __slots__ 变量,来限制该class实例能添加的属性

2、 内置的 @property(关键字) 装饰器就是负责把一个方法变成属性调用的。@property.setter(这里的property是类里面的属性名)负责把一个setter方法变成属性赋值。

3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()

请教几个python3.1的函数与方法的用法!

NO.1.

insert()是对列表进行操作,insert,顾名思义,插入,在列表中插入,所以insert(i, x)就是在列表的第i个位置之前插入对应的value,这个value就是x,比如:

l = [0, 1, 2, 3]

l.insert(0, 9)

l

[9, 0, 1, 2, 3]

#这个就是把9插入到l列表的第0个位置之前。

NO.2.

同样remove也是对列表操作,顾名思义,remove--删除,使用方法是list.remove(value),即删除对应列表中的某个值,比如我们用刚才的那个列表继续:

l

[9, 0, 1, 2, 3]

l.remove(0)

l

[9, 1, 2, 3]

l.remove(3)

l

[9, 1, 2]

#注意,括号里面填的是列表里面的值,二不是值的位置下标

NO.3.

input()这个需要注意一下,在python3.x以前,他用来接收数字,但python3.x中,他就收的是字符串,比如

-*-3.x 中哈

a = input("please input a number:")

please input a number:2

a

'2' #看到没,他被引号引了

要想在python3.x中用input就收数字的话,你就必须用eval

比如:

a = input("please input a number:")

please input a number:2

a

'2'

eval(a)

2

# ok,没引号了,

你也可以用type来查看他的类型:

type(a)

class 'str'

但在python2.x中用input就是int型的

IDLE 2.6.6

a = input("please input a number:")

please input a number:2

a

2

type(a)

type 'int'

NO.4.

dir(),用过命令行吧,一样的,他可以看到模块下有些什么东东,比如:

dir()

['__builtins__', '__doc__', '__name__', '__package__', 'a', 'l']

import time

dir(time)

['__doc__', '__name__', '__package__', 'accept2dyear', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'gmtime', 'localtime', 'mktime', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']

可以看出,dir返回的是一个列表,若dir不带参数,那么他返回的就是当前本地范围,若带了参数,比如time,就会返回time模块下包含的内容。

================================

啊啊啊,终于完了,绝对原创

Python函数简单Demo案例

目录

一、写一个函数求三个数的和,并返回结果

二、写一个函数求三个数的平均值,并返回结果

三、再写一个函数求每个数与平均值之间的差,并返回结果


分享名称:python好看的函数 Python函数大全
标题URL:http://pwwzsj.com/article/dooghho.html