python-18-常用的模块

python-18-常用的模块

一.说明

python中的基础系列中我们已经系统性的学习了包和模块,其中模块分为自定义模块、内置标准模块、第三方模块,今天我们来详细介绍下常用的模块,来帮助我们进一步学习python。来开始我们今天的日拱一卒!。

二.常用的模块

  1. math模块

    又叫做数学函数模块,基本各种编程语言内置这一标准数学函数模块,但是还是有细微的使用区别,我在这里不细讲各语言的数学函数差异,有兴趣的可以自信用各种语言进行对比,,我当初学习的时候就是对比过,。。。言归正传,介绍python的内置数学函数模块

    常用函数:
    • math.sqrt(x):返回 x 的平方根。

    • math.factorial(x):返回 x 的阶乘。

    • math.pi:圆周率 π 的值。

    • math.ceil(x):返回不小于 x 的最小整数(向上取整)。

    • math.floor(x):返回不大于 x 的最大整数(向下取整)。

      math.sin(x):返回 x 的正弦值(x 以弧度为单位)。

      math.cos(x):返回 x 的余弦值。

      math.tan(x):返回 x 的正切值。

      math.asin(x):返回 x 的反正弦值(结果以弧度为单位)。

      math.acos(x):返回 x 的反余弦值。

      math.atan(x):返回 x 的反正切值

    • math.exp(x):返回 e 的 x 次幂

      math.log(x, base):返回 x 在指定底数 base 下的对数(如果不指定底数,则默认为自然对数)

      math.log10(x):返回 x 的以 10 为底的对数

    • math.radians(x):将角度 x 转换为弧度。

      math.degrees(x):将弧度 x 转换为角度。

    • math.comb(n, k):返回从 n 中选择 k 的组合数。

      math.perm(n, k):返回从 n 中选择 k 的排列数。

示例:

python 复制代码
import math

print(math.sqrt(16))  # 输出: 4.0
print(math.factorial(5))  # 输出: 120
print(math.pi)  # 输出: 3.141592653589793
  1. random 模块

    功能:生成随机数和随机选择元素。

    常用函数:
    • random.randint(a, b):返回一个范围在 [a, b] 的随机整数。
    • random.choice(seq):从非空序列中随机选择一个元素。
    • random.shuffle(lst):将列表中的元素随机打乱。

    示例

    python 复制代码
    import random
    
    print(random.randint(1, 10))  # 输出: 1到10之间的随机整数
    print(random.choice(['apple', 'banana', 'cherry']))  # 随机选择一个水果
    lst = [1, 2, 3, 4, 5]
    random.shuffle(lst)  # 打乱列表
    print(lst)  # 输出: 打乱后的列表
  2. time模块

    功能:提供各种操作时间的函数

    常用函数
    1. 获取当前时间
      • time.time():返回当前时间的时间戳(自1970年1月1日以来的秒数)。
      • time.localtime():将时间戳转换为当前时区的时间元组。
      • time.gmtime():将时间戳转换为UTC(协调世界时)时间元组。
      • time.asctime([time_tuple]):将时间元组转换为可读的字符串格式。
    2. 时间延时
      • time.sleep(seconds):使程序暂停执行指定的秒数。
    3. 时间格式化
      • time.strftime(format, time_tuple):将时间元组格式化为字符串,format是一个格式字符串。
      • time.strptime(string, format):将字符串解析为时间元组。
    python 复制代码
    import time
    
    # 获取当前时间戳
    current_time = time.time()
    print("当前时间戳:", current_time)
    
    # 获取当前时间的元组
    local_time = time.localtime()
    print("当前本地时间:", local_time)
    
    # 格式化输出当前时间
    formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
    print("格式化的当前时间:", formatted_time)
    
    # 延时操作
    print("程序暂停3秒...")
    time.sleep(3)
    print("暂停结束!")
  3. datetime 模块

    功能:处理日期和时间。

    常用函数:
    • datetime.date:表示日期。
    • datetime.time:表示时间。
    • datetime.datetime:表示日期和时间

    示例

    python 复制代码
    import datetime
    
    # 当前日期和时间
    now = datetime.datetime.now()
    print(now)  # 输出当前的日期和时间
    print(now.timestamp())  # 转换为时间戳
    # 创建一个特定日期
    my_date = datetime.date(2023, 11, 2)
    print(my_date)  # 输出: 2023-11-02
  4. os 模块

    功能:与操作系统交互,进行文件和目录操作。

    常用函数:
    • os.getcwd():获取当前工作目录。
    • os.listdir(path):列出指定目录中的文件和子目录。
    • os.mkdir(path):创建新目录。
    • os.remove() 删除文件
    • os.unlink() 删除文件
    • os.rename() 重命名文件
    • os.listdir() 列出指定目录下所有文件
    • os.chdir() 改变当前工作目录
    • os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())
    • os.makedirs() 创建多级目录
    • os.removedirs() 删除多级目录
    • os.stat(file) 获取文件属性
    • os.chmod(file) 修改文件权限
    • os.utime(file) 修改文件时间戳
    • os.name(file) 获取操作系统标识
    • os.system() 执行操作系统命令
    • os.execvp() 启动一个新进程
    • os.fork() 获取父进程ID,在子进程返回中返回0
    • os.execvp() 执行外部程序脚本(Uinx)
    • os.spawn() 执行外部程序脚本(Windows)
    • os.access(path, mode) 判断文件权限(详细参考cnblogs)
    • os.wait()
    • os.path模块:
    • os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离)
    • os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组
    • os.path.dirname(filename) 返回文件路径的目录部分
    • os.path.basename(filename) 返回文件路径的文件名部分
    • os.path.join(dirname,basename) 将文件路径和文件名凑成完整文件路径
    • os.path.abspath(name) 获得绝对路径
    • os.path.splitunc(path) 把路径分割为挂载点和文件名
    • os.path.normpath(path) 规范path字符串形式
    • os.path.exists() 判断文件或目录是否存在
    • os.path.isabs() 如果path是绝对路径,返回True
    • os.path.realpath(path) #返回path的真实路径
    • os.path.relpath(path[, start]) #从start开始计算相对路径
    • os.path.normcase(path) #转换path的大小写和斜杠
    • os.path.isdir() 判断name是不是一个目录,name不是目录就返回false
    • os.path.isfile() 判断name是不是一个文件,不存在返回false
    • os.path.islink() 判断文件是否连接文件,返回boolean
    • os.path.ismount() 指定路径是否存在且为一个挂载点,返回boolean
    • os.path.samefile() 是否相同路径的文件,返回boolean
    • os.path.getatime() 返回最近访问时间 浮点型
    • os.path.getmtime() 返回上一次修改时间 浮点型
    • os.path.getctime() 返回文件创建时间 浮点型
    • os.path.getsize() 返回文件大小 字节单位
    • os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径
    • os.path.lexists #路径存在则返回True,路径损坏也返回True
    • os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录
    • os.path.expandvars(path) #根据环境变量的值替换path中包含的" n a m e "和" name"和" name"和"{name}"
    • os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
    • os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
    • os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
    • os.path.walk(path, visit, arg) #遍历path,给每个path执行一个函数详细见手册
    • os.path.supports_unicode_filenames() 设置是否支持unicode路径名

    示例

    python 复制代码
    import os
    
    print(os.getcwd())  # 输出当前工作目录
    print(os.listdir('.'))  # 列出当前目录的文件和文件夹
    os.mkdir('new_folder')  # 创建新目录
  5. sys 模块

    功能:提供与Python解释器交互的功能。

    常用函数:
    • sys.argv:命令行参数列表
    • sys.exit([status]):退出程序
    • sys.path:模块搜索路径的列表
    • sys.moudule --加载模块字典
    • sys.stdin --标准输入
    • sys.stdout --标准输出
    • sys.stderr --错误输出
    • sys.platform --返回系统平台名称
    • sys.version --查看python版本
    • sys.maxsize --最大的Int值

    示例

    python 复制代码
    import sys
    
    print(sys.argv)  # 输出命令行参数列表
    # sys.exit()  # 退出程序
    print(sys.path)  # 输出模块搜索路径
    print(sys.version) # 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)]
  6. re 模块

    功能:支持正则表达式操作。

    常用函数:
    • re.match(pattern, string):从字符串的起始位置匹配正则表达式。
    • re.search(pattern, string):搜索字符串中首次出现的匹配。
    • re.findall(pattern, string):返回字符串中所有匹配的子串。

    示例

    python 复制代码
    import re
    
    text = "The rain in Spain"
    match = re.search(r'\bain\b', text)
    if match:
        print("Found:", match.group())  # 输出: Found: ain
    
    matches = re.findall(r'\b\w+ain\b', text)
    print(matches)  # 输出: ['rain', 'Spain']
  7. json 模块

    功能:处理JSON数据,支持将Python对象与JSON格式之间的转换。

    常用函数:
    • json.dumps(obj):将Python对象编码为JSON字符串。
    • json.loads(json_string):将JSON字符串解码为Python对象。
    • json.dump(obj, file):将Python对象写入文件。
    • json.load(file):从文件中读取JSON数据并解码为Python对象。
    示例:
    python 复制代码
    import json
    
    # Python对象转换为JSON字符串
    data = {'name': 'Alice', 'age': 30}
    json_string = json.dumps(data)
    print(json_string)  # 输出: {"name": "Alice", "age": 30}
    
    # JSON字符串转换为Python对象
    loaded_data = json.loads(json_string)
    print(loaded_data)  # 输出: {'name': 'Alice', 'age': 30}
  8. requests 模块

    功能:用于发送HTTP请求,处理网络请求和响应(需要安装)。

    常用方法:
    • requests.get(url):发送GET请求。
    • requests.post(url, data):发送POST请求。

    示例

    python 复制代码
    import requests
    
    response = requests.get('https://api.github.com')
    print(response.status_code)  # 输出: 200 (请求成功)
    print(response.json())  # 输出: 响应的JSON内容
  9. Pandas 模块

    功能:用于数据分析和数据操作(需要安装)。

    常用功能:
    • 创建和操作数据框(DataFrame)。
    • 数据清洗和处理。
    • 数据分析和可视化。

    安装命令:

    bash 复制代码
    pip install pandas
    #如果你的系统同时安装了 Python 2 和 Python 3,可能需要使用以下命令:
    pip3 install pandas
    
    #查看 pandas 的版本和安装信息
    pip show pandas
    
    #查看当前python环境安装插件明细
    python -m pip list
    
    #切换清华源 下载pandas
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas
    示例:
    python 复制代码
    import pandas as pd
    
    # 创建数据框
    data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
    df = pd.DataFrame(data)
    print(df)
    '''
          Name  Age
    0    Alice   25
    1      Bob   30
    2  Charlie   35
    '''
    # 计算平均年龄
    average_age = df['Age'].mean()
    print(average_age)  # 输出: 30.0
  10. pickle模块

    功能:

    pickle模块是Python标准库中的一个模块,用于序列化和反序列化Python对象。序列化是将对象转换为字节流的过程,以便可以将其存储在文件中或通过网络传输。反序列化是将字节流转换回对象的过程。

    基本功能

    1. 序列化 :使用pickle.dump()pickle.dumps()将对象转换为字节流。
      • pickle.dump(obj, file):将对象obj序列化并写入文件file
      • pickle.dumps(obj):将对象obj序列化并返回字节流。
    2. 反序列化 :使用pickle.load()pickle.loads()将字节流转换回对象。
      • pickle.load(file):从文件file中读取字节流并反序列化为对象。
      • pickle.loads(bytes):将字节流bytes反序列化为对象。

    示例代码

    python 复制代码
    import pickle
    
    # 要序列化的对象
    data = {'name': 'Alice', 'age': 30, 'is_student': False}
    
    # 序列化对象到文件
    with open('data.pkl', 'wb') as f:
        pickle.dump(data, f)
    
    # 从文件反序列化对象
    with open('data.pkl', 'rb') as f:
        loaded_data = pickle.load(f)
    
    print(loaded_data)  # 输出: {'name': 'Alice', 'age': 30, 'is_student': False}

四.总结

Python 常用功能模块内容很多,大家不用去记,只需要知道有这么一些模块可以帮我们解决什么问题!就好了!

等真的需要用的时候大家在查对于模块的详细写法,去实现我们的需求!~

编程就是这样的 全部都记得根本不可能,但是先留个印象 然后再逐步加深理解!

创作整理不易,请大家多多关注 多多点赞,有写的不对的地方欢迎大家补充,我来整理,再次感谢!

相关推荐
大鲤余3 分钟前
rust 中if let、match -》 options和Result枚举类型
开发语言·后端·rust
墨城烟柳Q6 分钟前
自动化爬虫-selenium模块万字详解
爬虫·python·selenium·自动化
raoxiaoya8 分钟前
python安装selenium,geckodriver,chromedriver
开发语言·python·selenium
小鸡脚来咯31 分钟前
java 中List 的使用
java·开发语言
南棱笑笑生37 分钟前
20241105编译Rockchip原厂的Android13并给荣品PRO-RK3566开发板刷机
java·开发语言·前端
Dxy12393102161 小时前
python使用requests发送请求ssl错误
开发语言·python·ssl
小林熬夜学编程1 小时前
【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制
linux·服务器·c语言·开发语言·c++
gxchai1 小时前
利用pythonstudio写的PDF、图片批量水印生成器,可同时为不同读者生成多组水印
python
昂子的博客1 小时前
通过mybatis和mybatis plus 实现用户注册功能和基础的增删改查
java·开发语言·mybatis
£suPerpanda1 小时前
牛客周赛 Round65 补题DEF
开发语言·数据结构·c++·算法·深度优先·动态规划·图论