python常用函数速查 python查函数用法

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

01 Re概览

成都创新互联于2013年开始,先为沅江等服务建站,沅江等地企业,进行企业商务咨询服务。为沅江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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正则表达式常用函数的文章就介绍到这了,希望大家以后多多支持!

太全了!Python3常用内置函数总结

数学相关

abs(a) : 求取绝对值。abs(-1)

max(list) : 求取list最大值。max([1,2,3])

min(list) : 求取list最小值。min([1,2,3])

sum(list) : 求取list元素的和。 sum([1,2,3]) 6

sorted(list) : 排序,返回排序后的list。

len(list) : list长度,len([1,2,3])

divmod(a,b): 获取商和余数。 divmod(5,2) (2,1)

pow(a,b) : 获取乘方数。pow(2,3) 8

round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) 3.14

range(a[,b]) : 生成一个a到b的数组,左闭右开。range(1,10) [1,2,3,4,5,6,7,8,9]

类型转换

int(str) : 转换为int型。int('1') 1

float(int/str) : 将int型或字符型转换为浮点型。float('1') 1.0

str(int) : 转换为字符型。str(1) '1'

bool(int) : 转换为布尔类型。 str(0) False str(None) False

bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') b'abc' bytes(u'爬虫', 'utf-8') b'xe7x88xacxe8x99xab'

list(iterable) : 转换为list。 list((1,2,3)) [1,2,3]

iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) list_iterator object at 0x0000000003813B00

dict(iterable) : 转换为dict。 dict([('a', 1), ('b', 2), ('c', 3)]) {'a':1, 'b':2, 'c':3}

enumerate(iterable) : 返回一个枚举对象。

tuple(iterable) : 转换为tuple。 tuple([1,2,3]) (1,2,3)

set(iterable) : 转换为set。 set([1,4,2,4,3,5]) {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) {1,2,3}

hex(int) : 转换为16进制。hex(1024) '0x400'

oct(int) : 转换为8进制。 oct(1024) '0o2000'

bin(int) : 转换为2进制。 bin(1024) '0b10000000000'

chr(int) : 转换数字为相应ASCI码字符。 chr(65) 'A'

ord(str) : 转换ASCI字符为相应的数字。 ord('A') 65

相关操作

eval****() : 执行一个表达式,或字符串作为运算。 eval('1+1') 2

exec() : 执行python语句。 exec('print("Python")') Python

filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x3, [1,2,3,4,5,6]) filter object at 0x0000000003813828

map(func, *iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) [6,8,10]

zip(*iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) [(1, 4), (2, 5), (3, 6)]

type():返回一个对象的类型。

id(): 返回一个对象的唯一标识值。

hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') 7070808359261009780

help():调用系统内置的帮助系统。

isinstance():判断一个对象是否为该类的一个实例。

issubclass():判断一个类是否为另一个类的子类。

globals() : 返回当前全局变量的字典。

next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。

reversed(sequence) : 生成一个反转序列的迭代器。 reversed('abc') ['c','b','a']

python3--内置函数

python的常用内置函数

1.abs() 函数返回数字的绝对值

abs(-40)=40

2. dict() 函数用于创建一个字典

dict()

{}      #创建一个空字典类似于u={},字典的存取方式一般为key-value

例如u = {"username":"tom",  "age":18}

3. help() 函数用于查看函数或模块用途的详细说明

help('math')查看math模块的用处

a=[1,2,3,4]

help(a)查看列表list帮助信息

4.dir()获得当前模块的属性列表

dir(help)

['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

5.min() 方法返回给定参数的最小值 /参数可以为序列

a=  min(10,20,30,40)

a

10

6. next() 返回迭代器的下一个项目

it = iter([1, 2, 3, 4, 5])

next(it)

1

next(it)

2

7. id() 函数用于获取对象的内存地址

a=12

id(a)

1550569552

8.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

a=["tom","marry","leblan"]

list(enumerate(a))

[(0, 'tom'), (1, 'marry'), (2, 'leblan')]

9. oct() 函数将一个整数转换成8进制字符串

oct(15)

'0o17'

oct(10)

'0o12'

10. bin() 返回一个整数 int 或者长整数 long int 的二进制表示

bin(10)

'0b1010'

bin(15)

'0b1111'

11.eval() 函数用来执行一个字符串表达式,并返回表达式的值

eval('2+2')

4

12.int() 函数用于将一个字符串会数字转换为整型

int(3)

3

int(3.6)

3

int(3.9)

3

int(4.0)

4

13.open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写

f=open('test.txt')

14.str() 函数将对象转化为适于人阅读的形式

str(3)

'3'

15. bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False

bool()

False

bool(1)

True

bool(10)

True

bool(10.0)

True

16.isinstance() 函数来判断一个对象是否是一个已知的类型

a=5

isinstance(a,int)

True

isinstance(a,str)

False

17. sum() 方法对系列进行求和计算

sum([1,2,3],5)

11

sum([1,2,3])

6

18. super() 函数用于调用下一个父类(超类)并返回该父类实例的方法。super 是用来解决多重继承问题的,直接用类名调用父类方法

class   User(object):

  def__init__(self):

class Persons(User):

        super(Persons,self).__init__()

19. float() 函数用于将整数和字符串转换成浮点数

float(1)

1.0

float(10)

10.0

20. iter() 函数用来生成迭代器

a=[1,2,3,4,5,6]

iter(a)

for i in iter(a):

...         print(i)

...

1

2

3

4

5

6

21.tuple 函数将列表转换为元组

a=[1,2,3,4,5,6]

tuple(a)

(1, 2, 3, 4, 5, 6)

22.len() 方法返回对象(字符、列表、元组等)长度或项目个数

s = "playbasketball"

len(s)

14

a=[1,2,3,4,5,6]

len(a)

6

23. property() 函数的作用是在新式类中返回属性值

class User(object):

 def __init__(self,name):

          self.name = name

def get_name(self):

          return self.get_name

@property

 def name(self):

         return self_name

24.type() 函数返回对象的类型

25.list() 方法用于将元组转换为列表

b=(1,2,3,4,5,6)

list(b)

[1, 2, 3, 4, 5, 6]

26.range() 函数可创建一个整数列表,一般用在 for 循环中

range(10)

range(0, 10)

range(10,20)

range(10, 20)

27. getattr() 函数用于返回一个对象属性值

class w(object):

...             s=5

...

a = w()

getattr(a,'s')

5

28. complex() 函数用于创建一个复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

complex(1,2)

(1+2j)

complex(1)

(1+0j)

complex("1")

(1+0j)

29.max() 方法返回给定参数的最大值,参数可以为序列

b=(1,2,3,4,5,6)

max(b)

6

30. round() 方法返回浮点数x的四舍五入值

round(10.56)

11

round(10.45)

10

round(10.45,1)

10.4

round(10.56,1)

10.6

round(10.565,2)

10.56

31. delattr 函数用于删除属性

class Num(object):

...    a=1

...    b=2

...    c=3.

.. print1 = Num()

print('a=',print1.a)

a= 1

print('b=',print1.b)

b= 2

print('c=',print1.c)

c= 3

delattr(Num,'b')

print('b=',print1.b)

Traceback (most recent call last):  File "", line 1, inAttributeError: 'Num' object has no attribute 'b'

32. hash() 用于获取取一个对象(字符串或者数值等)的哈希值

hash(2)

2

hash("tom")

-1675102375494872622

33. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

a= set("tom")

b = set("marrt")

a,b

({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})

ab#交集

{'t', 'm'}

a|b#并集

{'t', 'm', 'r', 'o', 'a'}

a-b#差集

{'o'}

python里面有哪些自带函数?

python系统提供了下面常用的函数:

1. 数学库模块(math)提供了很多数学运算函数;

2.复数模块(cmath)提供了用于复数运算的函数;

3.随机数模块(random)提供了用来生成随机数的函数;

4.时间(time)和日历(calendar)模块提供了能处理日期和时间的函数。

注意:在调用系统函数之前,先要使用import 语句导入 相应的模块

该语句将模块中定义的函数代码复制到自己的程 序中,然后就可以访问模块中的任何函数,其方 法是在函数名前面加上“模块名.”。

希望能帮到你。

分享文章:python常用函数速查 python查函数用法
转载注明:https://www.cdcxhl.com/article2/doidhic.html

成都网站建设公司_创新互联,为您提供品牌网站设计外贸建站搜索引擎优化微信公众号营销型网站建设自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设