Python学习笔记21:进阶篇(十)常见标准库使用之math模块,random模块和statistics模块

Python 标准库一览 Python官方教程的最后一个部分就是标准库概览,在这里我们浏览一下标准库,了解一下Python标准库包含了哪些功能。操作系统和文件操作osos模块包含了当前操作系统的抽象,我们可以利用os模块对操作系统进行各种访问。下面使用os模块的几个方法和属性,访问了当前脚本路径、操作系统名以及整个环境变量。print('--------------os--------------')import os pr 阅读详情

前言

本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。

根据模块知识,一次讲解单个或者多个模块的内容。

教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html

数学

Python中还有一些模块是应用于数学方面的模块。

math

math模块。主要用于处理数学相关的计算需求,包括但不限于基本的算术运算、对数、三角函数、常数定义等

常用函数

  1. math.sqrt(x): 计算非负数x的平方根。
  2. math.pi: 提供π的值,约等于3.14159。
  3. math.sin(x): 计算弧度x的正弦值。
  4. math.cos(x): 计算弧度x的余弦值。
  5. math.tan(x): 计算弧度x的正切值。
  6. math.exp(x): 计算e的x次幂,其中e约等于2.71828。
  7. math.log(x[, base]): 计算x的自然对数(默认)或以base为底的对数。
  8. math.log10(x): 计算x的以10为底的对数。
  9. math.ceil(x): 返回不小于x的最小整数。
  10. math.floor(x): 返回不大于x的最大整数。
  11. math.fabs(x): 计算x的绝对值。
  12. math.factorial(x): 计算x的阶乘(x必须是非负整数)。
  13. math.gcd(a, b): 计算a和b的最大公约数。

示例

import math

# math.sqrt(x): 计算非负数x的平方根
sqrt_example = math.sqrt(16)
print("Square root of 16 is", sqrt_example)
print("===============分隔符==============")

# math.pi: 提供π的值
pi_example = math.pi
print("Value of pi is approximately", pi_example)
print("===============分隔符==============")

# math.sin(x), math.cos(x), math.tan(x): 计算弧度x的三角函数值
angle_degrees = 45
angle_radians = math.radians(angle_degrees)
sin_example = math.sin(angle_radians)
cos_example = math.cos(angle_radians)
tan_example = math.tan(angle_radians)
print(f"Sine of {angle_degrees} degrees is {sin_example}")
print(f"Cosine of {angle_degrees} degrees is {cos_example}")
print(f"Tangent of {angle_degrees} degrees is {tan_example}")
print("===============分隔符==============")

# math.exp(x): 计算e的x次幂
exp_example = math.exp(1)
print("e^1 is", exp_example)
print("===============分隔符==============")

# math.log(x[, base]): 计算x的对数
log_example = math.log(100)  # 自然对数
log_base_10_example = math.log(100, 10)  # 以10为底
print("Natural log of 100 is", log_example)
print("Log base 10 of 100 is", log_base_10_example)
print("===============分隔符==============")

# math.log10(x): 计算x的以10为底的对数
log10_example = math.log10(100)
print("Log base 10 of 100 is", log10_example)
print("===============分隔符==============")

# math.ceil(x), math.floor(x): 向上取整和向下取整
ceil_example = math.ceil(3.7)
floor_example = math.floor(3.7)
print("Ceiling of 3.7 is", ceil_example)
print("Floor of 3.7 is", floor_example)
print("===============分隔符==============")

# math.fabs(x): 计算x的绝对值
fabs_example = math.fabs(-42)
print("Absolute value of -42 is", fabs_example)
print("===============分隔符==============")

# math.factorial(x): 计算x的阶乘
factorial_example = math.factorial(5)
print("Factorial of 5 is", factorial_example)
print("===============分隔符==============")

# math.gcd(a, b): 计算a和b的最大公约数
gcd_example = math.gcd(48, 18)
print("GCD of 48 and 18 is", gcd_example)

在这里插入图片描述

random

random模块提供了生成随机数的功能,适用于各种用途,比如模拟、游戏开发、安全应用中的随机数需求等。它包含了一系列用于生成不同分布的随机数的函数。

常用函数

  1. random.randint(a, b): 生成一个位于a和b之间(含两端)的随机整数。
  2. random.random(): 生成一个位于[0, 1)范围内的随机浮点数。
  3. random.uniform(a, b): 生成一个位于a和b之间(含两端)的随机浮点数。
  4. random.choice(seq): 从序列seq中随机选择一个元素。
  5. random.shuffle(x): 随机地就地打乱列表x的元素顺序。
  6. random.sample(population, k): 从总体序列中无放回地选择k个随机元素。

示例

import random


random_integer = random.randint(1, 100)
print("Random integer between 1 and 100 is", random_integer)
print("===============分隔符==============")
random_float = random.random()
print("Random float between 0 and 1 is", random_float)
print("===============分隔符==============")
random_uniform = random.uniform(1, 10)
print("Random uniform float between 1 and 10 is", random_uniform)
print("===============分隔符==============")
my_list = [1, 2, 3, 4, 5]
random_selection = random.choice(my_list)
print("Randomly selected item from list is", random_selection)
print("===============分隔符==============")
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print("List after shuffling is", my_list)
print("===============分隔符==============")
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sample = random.sample(my_list, 3)

在这里插入图片描述

statistics

statistics模块提供了用于计算一系列数值数据的基本统计信息的函数,如平均数、中位数、众数等。它适用于数据分析、数学计算等领域。

常用函数

  1. statistics.mean(data): 计算数据集的算术平均值。
  2. statistics.median(data): 找到数据集的中位数。
  3. statistics.mode(data): 返回数据集的众数,如果有多个众数,则会引发StatisticsError或返回其中一个。
  4. statistics.stdev(data[, xbar]): 计算样本标准差,可选参数xbar用于指定平均值。
  5. statistics.variance(data[, xbar]): 计算样本方差,可选参数xbar用于指定平均值。
  6. statistics.quantiles(data, n): 计算数据集的分位数,n表示分位数的数量或具体的分位数值。

实例

import statistics


data = [1, 2, 3, 4, 5]
mean_value = statistics.mean(data)
print("Mean of data is", mean_value)
print("===============分隔符==============")
data = [1, 2, 3, 4, 5]
median_value = statistics.median(data)
print("Median of data is", median_value)
print("===============分隔符==============")
data = [1, 2, 2, 3, 4, 4, 4, 5]
try:
    mode_value = statistics.mode(data)
    print("Mode of data is", mode_value)
except statistics.StatisticsError as e:
    print("Data has multiple modes or no mode:", e)
print("===============分隔符==============")
data = [10, 12, 23, 23, 16, 23, 21, 16]
stdev_value = statistics.stdev(data)
print("Sample standard deviation of data is", stdev_value)
print("===============分隔符==============")
data = [1.5, 2.5, 2.5, 2.75, 3.25, 4.75]
variance_value = statistics.variance(data)
print("Sample variance of data is", variance_value)
print("===============分隔符==============")
data = [1, 2, 3, 4, 5, 6, 7, 8, 9]
quantiles = statistics.quantiles(data, n=4)  # 计算四个分位数
print("Quantiles of data are", quantiles)

在这里插入图片描述

结尾

关于Python中数学的相关模块,按教程中就讲这三个模块。由于都是一些函数调用,也没有特别的知识点要讲。不过也要熟悉常用的数学函数的使用,项目中是很容易用到的。

作业

  1. 使用math模块的常用函数。
  2. 使用random中的常用函数。
  3. 使用statistics中的常用函数,
Python标准库简介 os模块提供了许多与操作系统交互的函数:>>>0一定要使用import os而不是。这将避免内建的open()函数被os.open()隐式替换掉,因为它们的使用方式大不相同。内置的dir()和help()函数可用作交互式辅助工具,用于处理大型模块,如os>>>对于日常文件和目录管理任务,shutil模块提供了更易于使用的更高级别的接口:>>> 阅读详情

相关推荐

基于cat12搞定SBM的ROI的统计分析——vertex水平和ROI水平的双样本T检验

前言 一、Atlas皮层图谱介绍 二、SBM分析——主要以皮层四种常用指标中的厚度(thickness)和沟深(depth)为主

Sophia2023的博客 8753

python中的math,random,statistic

python中math,random,statistic

wugou2014的博客 188

ExpressLRS 915MHz vs 2.4GHz:实测对比与TX12遥控器的最佳搭配方案

本文深入对比了ExpressLRS 915MHz与2.4GHz两种频段在穿透能力、延迟、抗干扰等方面的实测表现,并结合RadioMaster TX12遥控器的硬件特性,提供了从微型花飞到极限远航等不同场景下的最佳搭配方案与EdgeTX系统配置指南,帮助FPV玩家根据核心飞行需求做出精准选择。

milk8的博客 446

python标准库一览_Python 标准库一览

Python官方教程的最后一个部分就是标准库概览,在这里我们浏览一下标准库,了解一下Python标准库包含了哪些功能。操作系统和文件操作osos模块包含了当前操作系统的抽象,我们可以利用os模块对操作系统进行各种访问。下面使用os模块的几个方法和属性,访问了当前脚本路径、操作系统名以及整个环境变量。print('--------------os--------------')import ospr...

weixin_39555179的博客 305

手把手教你用AFL挖掘C程序漏洞:从安装到实战(附常见错误排查)

本文详细介绍了如何使用American Fuzzy Lop (AFL)对C/C++程序进行模糊测试,从环境准备、目标程序插桩编译、初始语料库构建到实战运行与结果分析。重点讲解了AFL的安装、常见错误排查(如核心转储配置、执行速度优化)以及提升测试效率的高级策略(如持久模式、并行化),帮助开发者和安全工程师高效挖掘程序漏洞。

weixin_29014237的博客 408

APB Timer验证环境搭建——学习笔记(1)

以下为个人学习笔记,如有疏漏,请大家指正补充~~APB Timer是一个简单的下行计数器,包括一个32位计数器和一组比较器,可以实现多种计时功能。包括生成一次性中断或者定时中断。

qq_41651535的博客 1579

python标准库说明_Python入门:标准库的简单介绍

操作系统接口os 模块提供了许多与操作系统交互的函数:>>>import os >>> os.getcwd() # Return the current working directory'C:\Python37'os.chdir('/server/accesslogs') # Change current working directoryos.system('mkdir toda...

weixin_39882589的博客 153

【教程4>第7章>第6节】基于FPGA的Viterbi维特比译码verilog实现——ACS加比选单元1

本文介绍了ACS加比选单元模块在FPGA中的实现过程,重点讲解了维特比译码中的ACS单元功能及其在硬件实现中的关键问题。文章首先概述了ACS单元在维特比译码中的作用,即通过计算和比较分支度量值来选择最优路径。接着,详细描述了FPGA实现中的分支度量值归一化处理策略,并指出了其存在的弊端。随后,文章提供了基于Verilog的ACS加比选单元模块代码,解释了其输入输出端口及工作流程。最后,总结了本小节内容,并预告了下一章节将涉及ACS顶层模块的开发与仿真测试。

FPGA/MATLAB学习教程/源码/项目合作开发 569

Python入门:标准库的简单介绍

操作系统接口 os 模块提供了许多与操作系统交互的函数: >>> >>> import os >>> os.getcwd() # Return the current working directory 'C:\\Python37' >>> os.chdir('/server/accesslogs') # Cha...

python_doris的博客 140

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 662

优化相机姿态和三维点云的Bundle Adjustment算法及其编程实现

重投影误差是指将优化后的相机姿态和三维点云投影到图像平面上,与对应的图像特征点之间的距离。Bundle Adjustment(捆绑调整)是一种用于同时优化相机姿态和三维点云的算法,它可以提高三维重建和相机定位的精度。下面是一个简单的Python示例代码,演示了如何使用Bundle Adjustment算法优化相机姿态和三维点云的参数。通过以上步骤,Bundle Adjustment算法可以不断地优化相机姿态和三维点云的参数,从而提高重建和定位的精度。Bundle Adjustment算法的编程实现。

CyberXZ的博客 741

《python无师自通》第八章 模块

导入模块 import math print(math.pow(2,3)) import random print(random.randint(0,100)) import statistics nums = [1,5,3,6,4,5] print(statistics.mean(nums)) 检查是不是模块 >>> import keyword >&...

qq_43169516的博客 309

rk3588主板PDM接口接数字MIC录音

本文介绍了Rockchip 3588平台上6麦克风PDM接口的硬件连接与软件调试过程。硬件方面展示了PDM0_CLK0_M0时钟脚和三组数据脚的连接方案。软件配置包括设备树修改,生成声卡节点,并提供了6通道录音命令示例。文章重点分析了两个常见问题:录音无声(需检查供电、接线和波形)和通道数据缺失(需正确配置rockchip,path-map寄存器映射)。最后通过Audition工具验证录音文件,确认各通道工作正常。调试过程完整展现了从硬件连接到软件配置的完整流程。

m0_60805802的博客 1014

Python 标准库:强大的编程利器

在 Python 的编程领域中,标准库宛如一座熠熠生辉的宝藏,散发着无尽的价值。它是 Python 安装时自带的一系列模块与包,功能范围广泛,从基础的数据处理,到复杂的系统交互,无所不包。标准库为开发者提供了丰富且高效的工具,如同得力助手,大大提高了编程效率。接下来,让我们结合具体示例,深入探索这些强大的标准库。os模块是 Python 与操作系统沟通的桥梁。通过os.getcwd() ,我们可以轻松获取当前工作目录,就像在文件管理器中查看当前所在文件夹一样直观。若要改变工作目录,os.chdir() 就能

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 1002

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

6.Python3标准库--数学运算

''' 作为一种通用的变成语言,Python经常用来解决数学问题。它包含一些用于管理整数和浮点数的内置类型,这很适合完成一般应用中可能出现的基本数学运算。 而标准库中包含一些用于满足更高级需求的模块。 Python的内置浮点数在底层C语言中是double类型,对于大多数数学运算需求的程序来说,这已经足够精确。 但是如果需要非整数值更为精确的表示,那么decimal和fract...

CWG2017的博客 812

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python语言基础:31_ 标准库 新手完全指南

Python3标准库是安装Python后自带的实用工具集合,涵盖文件操作、网络通信、数据处理等常见需求。摘要如下: 文件系统操作 os模块:处理文件/文件夹操作(mkdir/listdir等) pathlib(推荐):面向对象的路径操作(Path/join等) shutil:高级文件操作(copy/move/压缩等) 数据处理 json:JSON序列化与解析 csv:读写CSV表格数据 pickle:Python对象序列化(需注意安全性) 日期与数学 datetime:日期时间处理(now/strftime

zhanghaha1314的博客 537

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2024年最全Python入门:标准库的简单介绍(1)

对于日常文件和目录管理任务, shutil 模块提供了更易于使用的更高级别的接口:glob 模块提供了一个在目录中使用通配符搜索创建文件列表的函数:通用实用程序脚本通常需要处理命令行参数。这些参数作为列表存储在 sys 模块的 argv 属性中。小编整理一套Python资料和PDF,有需要Python学习资料可以加学习群:631441315 ,反正闲着也是闲着呢,不如学点东西啦~~例如,以下输出来自在命令行运行 python demo.py one two threeimport sys。

2401_84584873的博客 948

python标准库(一)

python提供的一系列接口,用来实现对操作系统的访问。

while(True): print('adorable') 448

Python内置数学模块实战指南:从math到decimal的精准应用

在Python编程中,数学运算是数据处理和科学计算的基础。理解数学模块的核心原理,能帮助开发者高效解决数值计算问题。Python标准库提供了多个内置数学模块,每个模块针对特定场景设计,掌握它们的技术价值在于能根据需求选择最合适的工具,避免常见陷阱。例如,math模块专注于实数运算,提供三角函数、对数等高性能函数;cmath模块则处理复数运算,适用于信号处理等工程领域。random模块生成伪随机数,用于模拟和抽样;statistics模块提供基础的统计分析功能;而decimal和fractions模块分别解决

weixin_30279671的博客 365

Python内置数学模块全解析:从math到decimal的实战指南

在Python编程中,数学计算是数据处理和科学计算的基础。其原理在于通过标准库提供的高效数学函数,实现从基础运算到高级统计的各类计算。这些内置模块的技术价值在于无需额外依赖即可完成常见数学任务,极大提升了开发效率。应用场景广泛,包括数据分析、算法建模、金融计算和科学仿真等。本文聚焦于math、random、statistics、decimal等核心模块,通过实际代码示例,深入讲解函数用法与避坑技巧,并融入**伪随机数**生成和**浮点数精度**处理等热词,帮助开发者构建系统的数学计算知识体系,实现快速查用与

weixin_34087307的博客 442

Python 3 标准库深度指南:从入门到精通

Python 被誉为“带着电池(batteries included)”的语言,这背后所指的正是其强大而全面的标准库(Standard Library)。它是一组随 Python 解释器一同安装的模块和包的集合,无需任何额外安装步骤(如),即可在您的代码中通过import关键字直接使用。从最简单的字符串操作到复杂的网络服务、从基础的数据结构到高级的并发编程,标准库提供了几乎所有通用编程场景的解决方案。核心优势零依赖部署。

浩瀚之水的专栏 502

Python入门教程丨3.2 再见Excel!用Python这5个模块,我把3天工作压缩到3分钟

⭐还在用Excel手动算均值方差?还在为海量数据统计熬夜加班?用Python这5把「数据手术刀」写一次代码,就能直接复用,专业报告自动生成!math数学计算几何、物理模拟random生成随机数据游戏、抽样测试statistics统计分析回归分析、市场调研numpy数组与矩阵运算图像处理、机器学习pandas表格数据处理与分析金融分析、数据清洗math是 Python标准库中基础的数学模块,几乎所有科学计算库都依赖于它。它主要提供精确的数学计算工具,涵盖几何、数论、对数等多个领域。

凌小添的博客 744
上一篇: Python学习笔记20:进阶篇(九)常见标准库使用之sys模块和re模块
下一篇: Python学习笔记22:进阶篇(十一)常见标准库使用之访问互联网功能urllib模块的学习使用,requests库和aiohttp库了解
明月望秋思
博客等级 码龄6年 1931粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值