python函数模块介绍 python常用的函数模块

python模块是类吗模块可以理解为就是一个py文件,而类则只是你创建的一个对象而已,一个模块中可以有多个类
在Python程序中 , 每个.py文件都可以视为一个模块 , 通过在当前.py文件中导入其它.py文件,可以使用被导入文件中定义的内容,例如类、变量、函数等 。
Python中的模块可分为三类,分别是内置模块、第三方模块和自定义模块,相关介绍如下 。
(1)内置模块是Python内置标准库中的模块,也是Python的官方模块,可直接导入程序供开发人员使用 。
(2)第三方模块是由非官方制作发布的、供给大众使用的Python模块,在使用之前需要开发人员先自行安装;
(3)自定义模块是开发人员在程序编写的过程中自行编写的、存放功能性代码的.py文件 。
python模块与函数的区别和联系?Python模块和Python函数都是Python中python函数模块介绍的重要概念python函数模块介绍,但是它们的作用和用法有所不同 。
Python模块指的是包含Python代码的文件python函数模块介绍 , 通常以.py文件扩展名结尾 。模块中可以包含多个函数、类和变量等 , 并且可以通过导入该模块来访问其中的内容 。Python中有许多内置的模块,如math、random等,也可以自定义模块 。模块的作用是将功能封装在一个文件中,方便代码管理和重用 。
Python函数是一段可重复使用的代码块,它接受输入参数并执行一系列操作 , 最后返回一个输出值 。函数可以接受任意数量的输入参数,也可以返回任意数量的输出值 。函数的作用是将一些重复的代码封装在一起,方便代码重用和维护 。
模块和函数之间的联系在于,一个模块可以包含多个函数,而函数通常定义在模块中 。在Python中,可以通过导入模块来使用其中的函数 。例如,如果有一个名为example.py的模块,其中包含一个名为add的函数,可以使用以下代码导入该模块并调用该函数python函数模块介绍:
import example
result = example.add(2, 3)
此外,Python中还可以定义在函数内部的函数(也称为嵌套函数),这些函数可以在包含它们的函数中使用,但在函数外部无法访问 。
python函数深入浅出 11.math.pow()及其相关函数详解这是math模块python函数模块介绍的一个函数
pow() 源于英文powerpython函数模块介绍,返回给定数字python函数模块介绍的乘幂
所以我们执行math.pow()示例:
注意:math 模块则会把参数转换为 float 。
math是非常常用的数学计算包,其中math.pow()语法如下
参数说明:
等同于写法
但注意math函数返回的是浮点数,后者可能返回整数
其python函数模块介绍他常用的数学函数有:
python2 有cmp(x,y)函数,python3移除python函数模块介绍了cmp,新增了 operator模块,提供了如下比较方法
作为比较函数
【python函数模块介绍 python常用的函数模块】 在处理数字时使用数学函数能更高效的获取计算结果 。
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
Python多进程multiprocessing模块介绍 multiprocessing 是一个支持使用与 threading 模块类似的 API 来产生进程的包 。multiprocessing 包同时提供了本地和远程并发操作 , 通过使用子进程而非线程有效地绕过了 全局解释器锁 。因此,multiprocessing 模块允许程序员充分利用给定机器上的多个处理器 。它在 Unix 和 Windows 上均可运行 。
1、multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)
2、相关方法
输出结果如下:
Pool提供了一种快捷的方法 , 赋予函数并行化处理一系列输入值的能力,可以将输入数据分配给不同进程处理(数据并行) 。下面的例子演示了在模块中定义此类函数的常见做法,以便子进程可以成功导入该模块 。这个数据并行的基本例子使用了 Pool。
将在标准输出中打印
其中:
(1)p.apply(func [, args [, kwargs]]):在一个池工作进程中执行func( args,kwargs),然后返回结果 。需要强调的是:此操作并不会在所有池工作进程中并执行func函数 。如果要通过不同参数并发地执行func函数,必须从不同线程调用p.apply()函数或者使用p.apply_async()
(2)p.apply_async(func [, args [, kwargs]]):在一个池工作进程中执行func( args,**kwargs),然后返回结果 。此方法的结果是AsyncResult类的实例 , callback是可调用对象,接收输入参数 。当func的结果变为可用时,将理解传递给callback 。callback禁止执行任何阻塞操作,否则将接收其他异步操作中的结果 。多进程并发!
(3)p.close():关闭进程池,防止进一步操作 。如果所有操作持续挂起,它们将在工作进程终止前完成
(4)p.jion():等待所有工作进程退出 。此方法只能在close()或teminate()之后调用
Python 标准库模块 - rere模块被称为正则表达式,其作用为,创建一个“规则表达式”,用于验证和查找符合规则的文本,广泛用于各种搜索引擎、账户密码的验证等 。
预定义字符:
\d:匹配所有的十进制数字0-9
\D:匹配所有的非数字 , 包含下划线
\s:匹配所有空白字符(空格、TAB等)
\S:匹配所有非空白字符 , 包含下划线
\w:匹配所有字母、汉字、数字a-z A-Z 0-9
\W:匹配所有非字母、汉字、数字,包含下划线
特殊字符:
$:匹配一行的结尾(必须放在正则表达式最后面)
^:匹配一行的开头(必须放在正则表达式最前面)
*:前面的字符可以出现0次或多次(0~无限)
:前面的字符可以出现1次或多次(1~无限)
?:变"贪婪模式"为"勉强模式",前面的字符可以出现0次或1次
.:匹配除了换行符"\n"之外的任意单个字符
|:两项都进行匹配
[ ]:代表一个集合,有如下三种情况
[abc]:能匹配其中的单个字符
[a-z0-9]:能匹配指定范围的字符 , 可取反(在最前面加入^)
[2-9] [1-3]:能够做组合匹配
{ }:用于标记前面的字符出现的频率,有如下情况:
{n,m}:代表前面字符最少出现n次,最多出现m次
{n,}:代表前面字符最少出现n次,最多不受限制
{,m}:代表前面字符最多出现n次 , 最少不受
{n}:前面的字符必须出现n次
一文秒懂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 repattern = re.compile(r'[a-z]{2,5}')type(pattern) #re.Pattern
此例创建了一个正则表达式式对象 (re.pattern) ,命名为pattern,用于匹配2-5位小写字母的模式串 。后续在使用其他正则表达式函数时,即可使用pattern进行方法调用 。
匹配:match
match函数用于从文本串的起始位置开始匹配,若匹配成功 , 则返回相应的匹配对象 , 此时可调用group()方法返回匹配结果,也可用span()方法返回匹配起止下标区间;否则返回None
import repattern = re.compile(r'[a-z]{2,5}')text1 = 'this is a re test'res = pattern.match(text1)print(res) #if res:print(res.group()) #thisprint(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 repattern = re.compile(r'\s[a-z]{2}')text1 = 'this is a re test'res = pattern.search(text1)print(res) #if res:print(res.group()) #isprint(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 repattern = 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 repattern = 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())"""isretest"""
当匹配模式串较为简单或者仅需单词调用时,上述所有方法也可直接调用re类函数,而无需事先编译 。此时各方法的第一个参数为模式串 。
import repattern = 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 retext = '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 retext = 'today is 2020-03-05'print(re.subn('-', '', text)) #('today is 20200305', 2)
分割:split
还可以调用正则表达式实现字符串的特定分割 , 相当于.split()方法的一个加强版,实现特定模式的分割,返回一个切割后的结果列表
import retext = '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函数模块介绍和python常用的函数模块的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读