当前位置: 首页 > news >正文

wordpress仿next主题黑帽seo是什么意思

wordpress仿next主题,黑帽seo是什么意思,网站ui设计包括哪些原则,html5响应式网站制作Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

Langchain系列文章目录

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!
07-【深度解析】从GPT-1到GPT-4:ChatGPT背后的核心原理全揭秘
08-【万字长文】MCP深度解析:打通AI与世界的“USB-C”,模型上下文协议原理、实践与未来

Python系列文章目录

PyTorch系列文章目录

机器学习系列文章目录

深度学习系列文章目录

Java系列文章目录

JavaScript系列文章目录

Python系列文章目录

01-【Python-Day 1】告别编程恐惧:轻松掌握 Python 安装与第一个程序的 6 个步骤
02-【Python-Day 2】掌握Python基石:变量、内存、标识符及int/float/bool数据类型
03-【Python-Day 3】玩转文本:字符串(String)基础操作详解 (上)
04-【Python-Day 4】玩转文本:Python 字符串常用方法深度解析 (下篇)
05-【Python-Day 5】Python 格式化输出实战:%、format()、f-string 对比与最佳实践
06- 【Python-Day 6】从零精通 Python 运算符(上):算术、赋值与比较运算全解析
07-【Python-Day 7】从零精通 Python 运算符(下):逻辑、成员、身份运算与优先级规则全解析
08-【Python-Day 8】从入门到精通:Python 条件判断 if-elif-else 语句全解析
09-【Python-Day 9】掌握循环利器:for 循环遍历序列与可迭代对象详解
10-【Python-Day 10】Python 循环控制流:while 循环详解与 for 循环对比
11-【Python-Day 11】列表入门:Python 中最灵活的数据容器 (创建、索引、切片)
12-【Python-Day 12】Python列表进阶:玩转添加、删除、排序与列表推导式
13-【Python-Day 13】Python 元组 (Tuple) 详解:从创建、操作到高级应用场景一网打尽
14-【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
15-【Python-Day 15】深入探索 Python 字典 (下):常用方法、遍历、推导式与嵌套实战
16-【Python-Day 16】代码复用基石:详解 Python 函数的定义与调用
17-【Python-Day 17】玩转函数参数(上):轻松掌握位置、关键字和默认值
18-【Python-Day 18】玩转函数参数(下):*args 与 **kwargs 终极指南
19-【Python-Day 19】函数的回响:深入理解 return 语句与返回值
20-【Python-Day 20】揭秘Python变量作用域:LEGB规则与global/nonlocal关键字详解
21-【Python-Day 21】一行搞定!Python lambda 匿名函数的妙用与实战
22-【Python-Day 22】代码的基石:模块(Module)的导入与使用详解
23-【Python-Day 23】Python 模块化编程实战:创建、导入及 sys.path 深度解析
24-【Python-Day 24】告别杂乱代码!一文掌握 Python 包(Package)的创建与使用
25-【Python-Day 25】玩转数字:精通 math 与 random 模块,从数学运算到随机抽样


文章目录

  • Langchain系列文章目录
  • Python系列文章目录
  • PyTorch系列文章目录
  • 机器学习系列文章目录
  • 深度学习系列文章目录
  • Java系列文章目录
  • JavaScript系列文章目录
  • Python系列文章目录
  • 前言
  • 一、数学家的得力助手 —— `math` 模块
  • 二、幸运的魔法师 —— `random` 模块
    • 2.1 基础随机数生成
      • 2.1.1 `random.random()`
    • 2.2 实用随机数生成函数
      • 2.2.1 生成指定范围的随机数
        • (1) 随机整数:`randint()` 和 `randrange()`
        • (2) 随机浮点数:`uniform()`
      • 2.2.2 从序列中随机选择
        • (1) 随机选择一个元素:`choice()`
        • (2) 随机打乱序列:`shuffle()`
    • 2.3 `random` 模块函数总结
  • 三、总结


前言

大家好!欢迎来到 “Python 从零到大师” 系列的第 25 篇。在前面的文章中,我们学习了如何创建自己的模块和包来组织代码。然而,Python 的强大之处不仅在于自定义,更在于其丰富的“标准库”——一系列预先编写好、可直接使用的模块。这些模块就像是 Python 给我们配备的瑞士军刀,能极大地提升开发效率。

从今天开始,我们将探索其中一些最常用、最实用的内建模块。本次我们将聚焦于两个与数字打交道的得力助手:math 模块和 random 模块。无论你是要进行科学计算、数据分析,还是开发游戏、进行模拟,这两个模块都是不可或缺的基础工具。本文将带你深入了解它们的核心功能,并通过丰富的实例,让你轻松掌握数学运算与随机数生成的技巧。

一、数学家的得力助手 —— math 模块

在编程中,我们经常需要进行比基础的加减乘除更复杂的数学运算,例如开方、取整、对数、三角函数等。Python 的 math 模块就是为此而生,它提供了大量用于浮点数运算的函数。

1.1 导入并初识 math 模块

要使用 math 模块中的任何功能,首先需要通过 import 语句将其导入到当前程序中。

import math

导入后,我们就可以通过 math.函数名math.常量名 的方式来调用其内部的功能。

1.2 math 模块中的核心“宝藏”

math 模块包含数学常数和各种计算函数,下面我们来探索其中最常用的一些。

1.2.1 数学常数: p i pi pi e e e

在科学计算中,圆周率 π \pi π 和自然常数 e e e 是两个极其重要的常数。math 模块直接为我们提供了它们的高精度值。

(1) 圆周率 π \pi π (math.pi)

math.pi 提供了圆周率 π \pi π 的值。

应用场景:计算圆的面积或周长。

代码示例

import math# 计算半径为 5 的圆的面积
radius = 5
area = math.pi * radius ** 2
print(f"半径为 {radius} 的圆的面积是: {area}")
# 输出: 半径为 5 的圆的面积是: 78.53981633974483
(2) 自然常数 e e e (math.e)

math.e 提供了自然常数 e e e(欧拉数)的值,约等于 2.71828。

应用场景:在涉及复利、正态分布等高级数学计算时会用到。

代码示例

import mathprint(f"自然常数 e 的值是: {math.e}")
# 输出: 自然常数 e 的值是: 2.718281828459045

1.2.2 核心函数:从取整到幂指对

math 模块的函数极大地扩展了我们的计算能力。

(1) 向上与向下取整:ceil()floor()

这两个函数用于处理浮点数的取整问题,但与 int() 直接截断小数不同。

  • math.ceil(x): “天花板”函数,返回大于或等于 x x x 的最小整数。
  • math.floor(x): “地板”函数,返回小于或等于 x x x 的最大整数。

场景驱动:假设你需要根据商品数量计算需要多少个包装箱,每个箱子最多装10个商品。即使有11个商品,也需要2个箱子,这时向上取整就派上了用场。

代码示例

import mathnum = 3.14# 向上取整
ceil_num = math.ceil(num)
print(f"{num} 向上取整的结果是: {ceil_num}") # 输出: 4# 向下取整
floor_num = math.floor(num)
print(f"{num} 向下取整的结果是: {floor_num}") # 输出: 3# 实际应用:计算包装箱数量
items = 32
items_per_box = 10
boxes_needed = math.ceil(items / items_per_box)
print(f"需要 {boxes_needed} 个包装箱来装 {items} 个商品。") # 输出: 4
(2) 平方根:sqrt()

math.sqrt(x) 用于计算一个非负数的平方根。

代码示例

import math# 计算 16 的平方根
result = math.sqrt(16)
print(f"16 的平方根是: {result}") # 输出: 4.0# 尝试计算负数的平方根会引发 ValueError
try:math.sqrt(-4)
except ValueError as e:print(f"计算负数平方根时出错: {e}")

注意math.sqrt() 只能处理非负实数。如果需要处理复数的平方根,应使用 cmath 模块。

(3) 幂运算与对数:pow(), log(), log10()
  • math.pow(x, y): 计算 x x x y y y 次方,等价于 x ∗ ∗ y x ** y xy,但返回值总是浮点数。
  • math.log(x[, base]): 计算以 base 为底的 x x x 的对数。如果省略 base,则计算自然对数(以 e e e 为底)。
  • math.log10(x): 计算以 10 为底的 x x x 的对数。

代码示例

import math# 幂运算
print(f"2 的 10 次方是: {math.pow(2, 10)}") # 输出: 1024.0# 自然对数
print(f"e 的自然对数是: {math.log(math.e)}") # 输出: 1.0# 以 2 为底的对数
print(f"8 以 2 为底的对数是: {math.log(8, 2)}") # 输出: 3.0# 以 10 为底的对数
print(f"1000 以 10 为底的对数是: {math.log10(1000)}") # 输出: 3.0

1.2.3 三角函数

math 模块还提供了一整套三角函数,如 sin(), cos(), tan() 等。需要特别注意的是,这些函数的参数都以弧度(radians)为单位,而不是角度(degrees)。模块也提供了 math.radians()math.degrees() 用于转换。

代码示例

import mathangle_degrees = 90# 1. 将角度转换为弧度
angle_radians = math.radians(angle_degrees)
print(f"{angle_degrees} 度等于 {angle_radians:.4f} 弧度。")# 2. 计算正弦值
sin_value = math.sin(angle_radians)
# 由于浮点数精度问题,结果可能是一个非常接近 1 的数
print(f"sin(90度) 的值是: {sin_value}") # 输出: 1.0# 3. 将弧度转回角度
print(f"{math.pi/2} 弧度等于 {math.degrees(math.pi/2)} 度。")

二、幸运的魔法师 —— random 模块

random 模块用于生成伪随机数,这在模拟、游戏、密码学、数据抽样等领域至关重要。“伪随机”意味着这些数是通过一个确定的算法生成的,但看起来是随机的。对于大多数应用来说,这种随机性已经足够了。

2.1 基础随机数生成

random 模块的核心是生成 0 到 1 之间的随机浮点数。

2.1.1 random.random()

这是最基础的函数,它返回一个 [0.0, 1.0) 区间内的随机浮点数(即包含 0.0,但不包含 1.0)。

代码示例

import random# 生成一个随机浮点数
rand_float = random.random()
print(f"生成一个 0 到 1 之间的随机数: {rand_float}")

2.2 实用随机数生成函数

基于 random()random 模块提供了更多便捷的函数。

2.2.1 生成指定范围的随机数

(1) 随机整数:randint()randrange()
  • random.randint(a, b): 返回一个 [a, b] 闭区间内的随机整数,包含 ab
  • random.randrange(start, stop[, step]): 更灵活的版本,类似于 range() 函数。它返回从 startstop-1 范围内,按 step 递增的集合中随机选取的一个数。

场景驱动:模拟掷一个六面骰子,结果是 1 到 6 之间的整数,randint(1, 6) 是完美的选择。

代码示例

import random# 模拟掷骰子 (1到6)
dice_roll = random.randint(1, 6)
print(f"掷骰子的结果是: {dice_roll}")# 生成一个 0 到 99 之间的随机偶数
even_num = random.randrange(0, 100, 2)
print(f"一个随机偶数: {even_num}")
(2) 随机浮点数:uniform()

random.uniform(a, b) 返回一个 [a, b][b, a] 区间内的随机浮点数,端点是否包含取决于浮点数的舍入。

代码示例

import random# 生成一个 1.5 到 5.5 之间的随机身高(米)
height = random.uniform(1.5, 5.5)
print(f"随机生成的身高是: {height:.2f} 米")

2.2.2 从序列中随机选择

当我们需要从一个列表、元组或字符串中随机挑选元素时,以下函数非常有用。

(1) 随机选择一个元素:choice()

random.choice(sequence) 从一个非空序列中随机返回一个元素。

场景驱动:抽奖程序,从参与者名单(列表)中随机抽取一名幸运儿。

代码示例

import randomparticipants = ["张三", "李四", "王五", "赵六"]
winner = random.choice(participants)
print(f"恭喜 {winner} 中奖了!")
(2) 随机打乱序列:shuffle()

random.shuffle(x) 会就地打乱序列 x 的元素顺序,它不返回任何值(返回 None)。这意味着它会直接修改原始列表。

场景驱动:洗牌。一副扑克牌列表,通过 shuffle 可以模拟洗牌的过程。

代码示例

import randomcards = ["A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3", "2"]
print(f"洗牌前: {cards}")
random.shuffle(cards)
print(f"洗牌后: {cards}")

注意shuffle() 不能作用于不可变序列,如元组或字符串。

2.3 random 模块函数总结

为了方便查阅,下表总结了 random 模块的关键函数:

函数功能描述示例
random()返回 [0.0, 1.0) 之间的随机浮点数random.random()
randint(a, b)返回 [a, b] 之间的随机整数random.randint(1, 100)
randrange(start, stop[, step])返回 range(start, stop, step) 中的随机数random.randrange(0, 10, 2)
uniform(a, b)返回 [a, b] 之间的随机浮点数random.uniform(1.0, 5.0)
choice(seq)从非空序列 seq 中随机选择一个元素random.choice(['a', 'b', 'c'])
shuffle(x)就地打乱序列 xitems=[1,2,3]; random.shuffle(items)
sample(population, k)population 中随机选择 k 个不重复的元素random.sample(range(100), 10)

三、总结

恭喜你,完成了对 mathrandom 这两个强大内建模块的学习!它们是 Python 工具箱中的基础,却能解决无数实际问题。

今天我们学习的核心要点如下:

  • math 模块是科学计算的基石:它提供了精确的数学常数(如 math.pi)和丰富的数学函数(如 ceil, floor, sqrt, log, 三角函数等),让我们能轻松处理复杂的数值计算。
  • 使用三角函数时注意单位math 模块的三角函数默认使用弧度,需要时应使用 math.radians() 进行转换。
  • random 模块是模拟与随机化的核心:它能生成各种类型的伪随机数,从简单的浮点数 (random()) 到指定范围的整数 (randint()),再到对序列的操作。
  • 根据需求选择合适的 random 函数choice() 用于单项选择,shuffle() 用于就地打乱,sample() 用于无重复抽样,应根据具体场景灵活选用。
  • 模块化编程思想:通过 import 关键字,我们可以方便地引入并使用 Python 标准库提供的强大功能,这正是 Python “自带电池”(batteries included)理念的体现。

在接下来的文章中,我们将继续探索更多实用的内建模块,比如用于处理日期和时间的 datetimetime 模块。不断充实你的 Python 工具箱,编程世界将变得更加精彩!继续加油!

http://www.cadmedia.cn/news/11315.html

相关文章:

  • 优化大师电脑版官网推广优化网站排名教程
  • 大连企业网站建站网站维护费用
  • 临沂在线上网站建设百度指数下载app
  • 网站建设响应式识图搜索在线 照片识别
  • 商业网站缩写搜索引擎广告推广
  • 公司logo设计图片素材微软优化大师
  • 做网站 赚钱多吗无线网络优化是做什么的
  • php开发手机端网站开发免费域名申请网站大全
  • 深圳龙岗今天新闻头条seo系统是什么意思
  • 高端手机网站建设需要多少钱今天的头条新闻
  • 徐州睢宁网站建设国内搜索引擎大全
  • 武汉 网站建设关键词搜索工具好站网
  • 网站建设 主机托管百度导航2023年最新版
  • 周口网络推广公司关键词优化的方法有哪些
  • 建设行政主管部门网站网站搜索优化方法
  • 安康微信公众平台win10最强性能优化设置
  • 中小企业加盟网站建设青岛百度快速优化排名
  • 网站建设一般都有什么项目东莞关键词排名快速优化
  • 上高县建设局网站百度网盘下载安装
  • 如何查看一个网站是用什么cms做的湖州网站建设制作
  • 浦口网站建设百度爱采购怎么优化排名
  • 电子商务网站开发的基本流程百度引擎搜索
  • 四平市城乡建设局网站百度搜索引擎排行榜
  • 广西住房建设厅网站首页徐州seo推广
  • 淄博建设局官方网站电商网站对比表格
  • 个人网站建设方案书范文域名注册 万网
  • 国内建站平台排名站长工具免费
  • 深圳网站建设厂家哪家好理发培训专业学校
  • 湘潭网站建设方案案例seo搜索优化公司
  • 建设公司网站征集信息的通知网页推广方案