当前位置:首页 > 编程技术 > 正文内容

Python 数据类型详细篇:数值

yc8882年前 (2023-02-24)编程技术550

Python 数据类型详细篇:数值

Python 的数值可以表示三种类型的数据:

  • 整数 :可以表示正数,例如 123;可以表示负数,例如 123;使用 0 表示零。

  • 浮点数:浮点数由整数部分与小数部分组成,例如 123.456。

  • 复数:复数由实数部分和虚数部分构成,例如 1 + 2j,实数部分是 1,虚数部分是 2。

整数 :可以表示正数,例如 123;可以表示负数,例如 123;使用 0 表示零。

浮点数:浮点数由整数部分与小数部分组成,例如 123.456。

复数:复数由实数部分和虚数部分构成,例如 1 + 2j,实数部分是 1,虚数部分是 2。

1. 基本运算

1.1 加法

  • 整数相加

>>> 1 + 12
  • 浮点数相加

>>> 1.2 + 2.33.5
  • 复数相加

>>> x = 1 + 2j>>> y = 2 + 3j>>> x + y
(3 + 5j)

1.2 减法

  • 整数相减

>>> 2 - 11
  • 浮点数相减

>>> 2.3 - 1.21.09999999999999

输出结果为 1.09999999999999,而不是 1.1。在计算机内部,有的浮点数无法被精确的表示,在这个例子中,只能使用近似值来表示 1.1。

  • 复数相减

>>> x = 1 + 2j>>> y = 2 + 3j>>> y - x
(1 + 1j)

1.3 乘法

  • 整数相乘

>>> 1 + 12
  • 浮点数相乘

>>> 1.1 * 1.11.21000000000002

输出结果为 1.21000000000002,而不是 1.21。在计算机内部,有的浮点数无法被精确的表示,在这个例子中,只能使用近似值来表示 1.21。

  • 复数乘法

>>> (1 + 2j) * 2(2 + 4j)

1.4 除法

  • 整数除法

>>> 5 // 22

在 Python 中,// 是整数除法运算,运算结果是商的整数部分,是一个整数。

  • 浮点数除法

>>> 5 / 22.5

在 Python 中,/ 是浮点数除法运算,运算结果是商,是一个浮点数。

  • 复数除法

>>> (2 + 2j) / 2(1 + 1j)

1.5 求模

求模运算返回除法的余数。

  • 整数求模

>>> 5 % 21
  • 浮点数求模

>>> 5.1 / 21.09999999999999

输出结果为 1.09999999999999,而不是 1.1。在计算机内部,有的浮点数无法被精确的表示,在这个例子中,只能使用近似值来表示 1.1。

1.6 幂运算

  • 整数求幂

计算 2 的 3 次方,即 2 * 2 * 2:

>>> 2 ** 38
  • 浮点数求幂

计算 1.1 的 3 次方,即 1.1 * 1.1 * 1.1:

>>> 1.1 ** 31.33100000000004

1.7 比较运算

Python 提供了 6 种比较运算用于比较数值大小,如下所示:

运算符功能描述
>大于
>=大于或者等于
==等于
!=不等于
<小于
<=小于等于

比较运算的结果返回 True 或者 False,如下所示:

>>> 2 > 1True>>> 2 < 1False>>> 2 >= 2True>>> 2 <= 2True>>> 1 == 1True>>> 1 != 1False

2. 类型转换

2.1 为什么要进行类型转换

假设希望用户输入 2 个整数,然后将用户输入的整数相加,最后打印结果。在 Python 交互模式下输入:

>> a = input()'2'>> b = input()'2'>> a + b'22'
  • 在第 1 行,使用 input 读取用户输入的一行文本(字符串)

  • 在第 2 行,用户输入字符串 ‘2’

  • 在第 3 行,使用 input 读取用户输入的一行文本(字符串)

  • 在第 4 行,用户输入字符串 ‘2’

  • 在第 4 行,将两者相加

  • 在第 5 行,得到最终结果 ‘22’,在 Python 中两个字符串相加表示把两个字符串连接起来

最终输出结果是一个字符串 ‘22’,而不是一个整数 4。程序的输出结果和我们的期望不一致,原因是 input 返回的是一个字符串而不是一个整数,我们需要将 input 返回的结果从将字符串转换为整数。

2.2 将字符串转换为整数

Python 提供函数 int 用于将字符串转换为整数。使用 int 函数重写以上程序如下:

>> a = input()'1'>> b = input()'1'>> x = int(a)>> y = int(b)>> x + y2
  • 在第 5 行,将字符串 a 转换为整数 x

  • 在第 6 行,将字符串 b 转换为整数 y

  • 在第 7 行,将整数 x 和整数 y 相加,得到结果 2

将 input 返回的结果从将字符串转换为整数后,我们得到了预期的结果。

2.3 将整数转换为字符串

Python 提供函数 str 用于将整数转换为字符串,例如:

>> a = 1>> b = 1>> x = str(a)>> y = str(b)>> x + y'11'
  • 在第 3 行,将整数 a 转换为字符串 x

  • 在第 4 行,将整数 b 转换为字符串 y

  • 在第 5 行,将字符串 x 和字符串 y 相加,得到结果 ‘11’

3. 常用的数学函数

在 Python 的 math 模块中包含如下常用的三角函数,在词条 “Python 中常用的标准库系列之 math 模块” 获取详细用法。

函数功能描述
abs(x)返回数值的绝对值
ceil(x)返回数值的上入整数
exp(x)返回 e 的 x 次幂
fabs(x)返回浮点数的绝对值
floor(x)返回浮点数的下舍整数
log(x)返回 x 的自然对数
log10(x)返回以 10 为基数的 x 的对数
max(x, y)返回给定参数的最大值
min(x, y)返回给定参数的最小值
pow(x, y)返回以 x 为底数、y 为指数的运算结果
round(x)返回浮点数 x 的四舍五入值
sqrt(x)返回数值 x 的平方根

4. 常用的三角函数

在 Python 的 math 模块中包含如下常用的三角函数,在词条 “Python 中常用的标准库系列之 math 模块” 获取详细用法。

函数功能描述
acos(x)返回 x 的反余弦弧度值
asin(x)返回 x 的反正弦弧度值
atan(x)返回 x 的反正切弧度值
cos(x)返回x的弧度的余弦值
hypot(x, y)返回欧几里德范数 sqrt(xx + yy)
sin(x)返回的x弧度的正弦值
tan(x)返回x弧度的正切值
degrees(x)将弧度转换为角度
radians(x)将角度转换为弧度

5. 小结

这节课我们讲解了 Python 基本数据类型数值的基本运算和类型转换和常用函数等。常用的函数需要大家自己多多使用,毕竟熟能生巧。


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10600.html

标签: Python
分享给朋友:

“Python 数据类型详细篇:数值” 的相关文章

【说站】laravel实现自定义404页面并给页面传值

【说站】laravel实现自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 reso...

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】vagrant实现linux虚拟机的安装并配置网络

【说站】vagrant实现linux虚拟机的安装并配置网络

一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...