【Python基础教程】5. 数

在这里插入图片描述

🎈个人主页:豌豆射手^
🎉欢迎 👍点赞✍评论⭐收藏
🤗收录专栏:python基础教程
🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!

专栏往期文章:

【Python基础教程】5. 数与表达式

  • 一 数的概念
    • 1.1 概念
    • 1.2 类比
  • 二、数的类型
    • 2.1 整型(int)
    • 2.2 浮点型(float)
    • 2.3 复数(complex)
  • 三、数值运算
    • 3.1算术运算符
        • 加(+)
        • 减(-)
        • 乘(*)
        • 除(/)
        • 取模(%)
        • 幂运算(**)
        • 整除(//)
    • 3.2 运算符优先级与结合性
        • 优先级顺序
        • 结合性
  • 四、类型转换
    • 4.1 隐式类型转换
    • 4.2 显式类型转换
  • 总结

在这里插入图片描述

引言:

在Python编程的世界里,数是最基础、也是最重要的概念之一。

无论是进行简单的数学计算,还是构建复杂的算法,都离不开对数的操作和处理。

在本篇博客中,我们将深入探讨Python中数的概念、类型、运算以及类型转换,帮助大家更好地理解和运用Python中的数值处理。

首先,我们会介绍数的概念,并通过一些生动的类比来帮助大家理解。接着,我们将详细解析Python中的三种主要数的类型:整型、浮点型和复数,以及它们各自的特点和用法。

掌握了数的类型之后,我们将进入数值运算的讲解。我们将介绍Python中的基本算术运算符,包括加、减、乘、除、取模、幂运算和整除等,并解释它们的用法和运算规则。同时,我们还将讨论运算符的优先级和结合性,帮助大家避免常见的运算错误。

最后,我们将探讨类型转换的概念。在Python中,有时我们需要将一种类型的数转换为另一种类型,以便进行特定的运算或操作。我们将介绍隐式类型转换和显式类型转换的概念和用法,并举例说明它们在实际编程中的应用。

通过本篇博客的学习,相信大家对Python中的数值处理会有更深入的理解,为后续的编程学习打下坚实的基础

一 数的概念

1.1 概念

在Python中,数(Numbers)是基本的数据类型,用于表示数值。Python支持多种数值类型,每种类型都有其特定的用途和特性。

数据类型(DataType)

它是计算机科学中的一个基本概念,它指的是在程序设计中用于定义变量或函数参数等所能存储数据的种类。在编程语言中,每种数据类型都有其特定的存储方式、取值范围以及可进行的操作

数据类型的作用在于帮助程序员明确数据的性质,以便正确地使用这些数据,并优化数据的存储和运算效率。

在Python中,变量的数据类型是动态的,可以在程序运行过程中改变。这意味着程序员无需在声明变量时指定其数据类型,Python解释器会根据赋给变量的值自动推断其数据类型。这种动态类型系统使得Python编程更加灵活和便捷。

在现实生活中,我们可以将数据类型比作不同类型的容器,用于存储和表示不同类型的物品。这些容器具有不同的特性,决定了它们能装什么、不能装什么,以及如何使用和处理其中的物品

Python中的数可以参与各种数学运算,如加法、减法、乘法、除法、取模等,并遵循一定的运算优先级和结合性

Python还提供了丰富的数学函数和操作符来处理这些数,使得数值计算变得简单而高效。

在Python中,数值不仅可以用于基本的数学运算,还可以作为条件判断、循环控制、列表和元组等复合数据类型的元素,以及作为函数和方法的参数或返回值。因此,理解Python中数的概念对于掌握Python编程基础是非常重要的。

1.2 类比

在现实生活中,我们可以将Python中的数类比为日常生活中的各种“量”或“数值”。这些数值可以是整数、小数或表示某种特殊关系的数值(如复数),它们都有各自的实际意义和用途。

以一家超市为例:

  1. 整型:在超市中,我们经常会遇到整数,比如购买的商品数量、库存数量、货架编号等。这些整数都是精确且没有小数部分的,就像Python中的整型一样,用于表示完整、确切的数值。

  2. 浮点型:当涉及到商品的价格、重量或顾客的消费总额时,我们通常会使用带有小数点的数值。这些浮点数值能够更精确地表示实际情况,就像Python中的浮点型一样,用于处理需要小数精度的计算。

  3. 复数:虽然在日常超市购物中不太可能直接遇到复数,但我们可以将其类比为某种特殊情境下的数值表示。比如,在某些科学计算或工程应用中,可能需要用到复数以表示某种周期性变化或波动。这就像超市中某些特殊商品的促销策略,可能涉及复杂的计算模式,需要用到类似复数的概念来理解和处理。

通过这个类比,我们可以理解Python中的数是如何与现实世界中的数值相对应的。在Python编程中,我们可以使用这些数值类型来进行各种计算和操作,就像在现实生活中我们使用不同的数值来表示和处理各种情况一样。掌握这些数值类型的概念和用法,对于编写准确、高效的Python程序至关重要。

二、数的类型

具体介绍Python中数的类型如下:

2.1 整型(int)

定义与示例

整型用于表示整数,即没有小数部分的数字

在Python中,整型的范围取决于计算机的内存大小和使用的Python解释器。

示例:

# 创建一个整型变量
num_int = 10
print(num_int)  # 输出: 10
print(type(num_int))  # 输出: <class 'int'>

进制转换(二进制、八进制、十六进制)

Python中整型支持多种进制数的表示。除了默认的十进制外,还可以使用前缀来表示其他进制:

  • 二进制:以0b0B开头
  • 八进制:以0o0O开头
  • 十六进制:以0x0X开头

示例:

# 二进制数
binary_num = 0b1010  # 等价于十进制的10
print(binary_num)  # 输出: 10# 八进制数
octal_num = 0o12  # 等价于十进制的10
print(octal_num)  # 输出: 10# 十六进制数
hex_num = 0xA  # 等价于十进制的10
print(hex_num)  # 输出: 10

此外,还可以使用内置函数bin(), oct(), 和 hex() 将十进制数转换为相应的二进制、八进制和十六进制字符串表示形式。

函数

在Python中,函数是一段可重用的代码块,它执行特定的任务并可能返回结果。函数通过定义名称、参数和代码体来创建,可以多次调用以执行相同的操作,从而提高代码的可读性、可维护性和效率。

可以将Python中的函数想象成一家餐厅中的菜单项。每个菜单项(即函数)都对应着一道特定的菜品(即任务),有自己的名称(函数名)、所需的原料(参数)以及制作步骤(代码体)。

当顾客(即程序)想要品尝这道菜品时,只需向服务员(即代码调用者)点单,服务员便会按照菜单上的制作步骤为顾客准备这道菜。同样地,在程序中,我们可以通过调用函数来执行特定的任务,而无需每次都重新编写相同的代码。这样,不仅提高了代码的可读性和可维护性,还使得代码更加高效和简洁。

print函数

它是Python中的一个内置函数,它的主要功能是输出指定的信息到控制台,使得程序员能够直观地看到程序运行过程中的数据和结果

2.2 浮点型(float)

定义与示例

浮点型用于表示带有小数点的实数。在Python中,浮点数是双精度浮点数,使用64位来存储。

示例:

# 创建一个浮点型变量
num_float = 3.14
print(num_float)  # 输出: 3.14
print(type(num_float))  # 输出: <class 'float'>

精度问题

由于计算机内部表示浮点数的限制,有些浮点数可能不能精确表示,这会导致一些看似简单的数学运算产生不精确的结果。例如:

print(0.1 + 0.2)  # 输出: 0.30000000000000004,而不是期望的0.3

这种精度问题在财务计算或需要高精度计算的场合尤为重要,通常需要使用专门的库(如decimal模块)来处理。

2.3 复数(complex)

定义与示例

复数由实部和虚部组成,可以表示为a + bj,其中a是实部,b是虚部,j(或J)是虚数单位,满足j^2 = -1

示例:

# 创建一个复数变量
num_complex = 3 + 4j
print(num_complex)  # 输出: (3+4j)
print(type(num_complex))  # 输出: <class 'complex'>

type()函数

type函数在Python中扮演着重要角色,它的主要功能是用于获取对象的数据类型,帮助程序员了解对象的具体类型,以便在编程过程中进行更准确的类型判断和操作。在这里,num_complex就是一个对象。

实部与虚部

可以通过realimag属性分别访问复数的实部和虚部。

属性

在Python中,属性是对象的特性或数据,它描述了对象的某种状态或特征。属性可以通过点(.)操作符来访问和修改,是面向对象编程中不可或缺的一部分,使得对象能够具有更加丰富的描述和行为。

示例:

# 访问复数的实部和虚部
real_part = num_complex.real  # 实部为3
imag_part = num_complex.imag  # 虚部为4
print(real_part)  # 输出: 3.0
print(imag_part)  # 输出: 4.0

复数在Python中主要用于科学计算、信号处理、工程应用等领域,其中涉及到需要表示和处理波动、旋转等复杂数学概念的场合。通过内置的复数类型,Python可以方便地执行复数的算术运算。

三、数值运算

在Python中,数值运算主要通过算术运算符进行。这些运算符允许我们对数值类型的变量进行加法、减法、乘法、除法、取模、幂运算和整除等操作。下面是对这些运算符的具体介绍:

3.1算术运算符

加(+)

用于将两个数值相加。

a = 5
b = 3
result = a + b  # 结果为 8
减(-)

用于从一个数值中减去另一个数值。

a = 5
b = 3
result = a - b  # 结果为 2
乘(*)

用于将两个数值相乘。

a = 5
b = 3
result = a * b  # 结果为 15
除(/)

用于将第一个数值除以第二个数值,返回浮点数结果

a = 5
b = 2
result = a / b  # 结果为 2.5
取模(%)

返回两数相除的余数。

a = 5
b = 2
result = a % b  # 结果为 1
幂运算(**)

用于计算第一个数值的第二个数值次方。

a = 2
b = 3
result = a ** b  # 结果为 8
整除(//)

返回商的整数部分,忽略小数部分

a = 5
b = 2
result = a // b  # 结果为 2

3.2 运算符优先级与结合性

优先级顺序

Python中的算术运算符具有不同的优先级,优先级从高到低如下:

  1. 括号
  2. 幂运算(**)
  3. 乘(*)、除(/)、整除(//)、取模(%)
  4. 加(+)、减(-)

优先级决定了在没有括号的情况下,算术表达式中各个部分如何计算

例如,乘法和除法会先于加法和减法执行。

结合性

结合性是指当多个相同优先级的运算符出现在表达式中时,它们如何结合。在Python中,除了幂运算外,大多数算术运算符都是左结合的,这意味着它们从左到右进行计算。例如:

a = 2
b = 3
c = 4
result = a - b - c  # 等价于 (a - b) - c,结果为 -5

然而,幂运算具有右结合性,意味着它会从右向左计算

a = 2
b = 3
c = 2
result = a ** b ** c  # 等价于 a ** (b ** c),结果为 512

理解运算符的优先级和结合性对于编写清晰且高效的代码至关重要,可以避免由于计算顺序错误而导致的逻辑问题。在复杂的表达式中,使用括号来明确指定计算顺序通常是一个好的编程习惯。

四、类型转换

在Python中,类型转换是一个重要的概念,它允许我们在不同的数据类型之间进行转换。下面将详细解释隐式类型转换和显式类型转换,并给出相应的示例。

4.1 隐式类型转换

隐式类型转换是Python在运行时自动进行的数据类型转换,程序员通常不需要显式地指定。Python会根据上下文的需要自动进行这种转换。

示例说明

当我们进行数学运算时,Python会尝试自动转换数据类型以确保运算可以正确进行。

# 整数与浮点数相加,整数自动转换为浮点数
a = 5
b = 3.0
result = a + b  # result的值为8.0,整数a自动转换为浮点数# 字符串与整数相加,引发TypeError,因为字符串和整数之间不能自动转换
c = "5"
d = 3
# e = c + d  # 这行会报错,TypeError: can only concatenate str (not "int") to str# 正确的方式是将整数转换为字符串
e = c + str(d)  # e的值为"53"

在这个例子中,当整数a与浮点数b相加时,Python自动将整数a转换为浮点数以完成运算。然而,字符串与整数相加时,由于它们之间不存在自然的隐式转换规则,所以Python会抛出一个TypeError异常。

4.2 显式类型转换

显式类型转换是指程序员通过调用内置函数(如int()float()complex()等)来明确地将一个数据类型转换为另一个数据类型。

函数的使用

  • int(): 将一个数值或字符串转换为整数。
  • float(): 将一个数值或字符串转换为浮点数。
  • complex(): 创建一个复数。

示例

# 将浮点数转换为整数
x = 3.14
int_x = int(x)  # int_x的值为3,小数部分被丢弃# 将字符串转换为整数
str_y = "42"
int_y = int(str_y)  # int_y的值为整数42# 将整数转换为浮点数
z = 7
float_z = float(z)  # float_z的值为7.0# 将字符串转换为浮点数
str_w = "3.14"
float_w = float(str_w)  # float_w的值为浮点数3.14# 创建复数
complex_num = complex(3, 4)  # complex_num的值为3+4j

注意事项

  • 当使用int()函数转换浮点数时,小数部分会被丢弃,不进行四舍五入。
  • 使用int()float()转换字符串时,字符串必须表示一个有效的数字,否则会抛出ValueError
  • complex()函数接收两个参数,第一个参数为实部,第二个参数为虚部。

错误处理的示例

try:# 尝试将一个非数字字符串转换为整数invalid_str = "abc"int_invalid = int(invalid_str)  # 这会抛出ValueError
except ValueError as e:print(f"转换错误: {e}")  # 输出错误信息

在这个错误处理的示例中,我们尝试将一个非数字字符串"abc"转换为整数,这会引发ValueError异常。我们使用try-except块来捕获这个异常,并打印出错误信息。

总结

通过本篇博客的学习,我们全面了解了Python中数的概念、类型、运算以及类型转换。我们深入探讨了整型、浮点型和复数这三种主要的数的类型,并学习了如何使用它们进行各种数值运算。同时,我们也掌握了运算符的优先级和结合性,以避免在复杂的运算中出现错误。

此外,我们还介绍了类型转换的概念和用法,包括隐式类型转换和显式类型转换。了解这些转换方法可以帮助我们在编程中更加灵活地处理各种数值类型,实现更复杂的逻辑和功能。

总的来说,本篇博客为大家提供了一个全面而深入的Python数值处理教程,希望能够帮助大家更好地掌握Python编程中的数值处理技巧,为后续的编程学习和实践打下坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/593872.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第33关 使用gin开发webhook转发服务,实现prometheus和falco的钉钉、企业微信、飞书报警发送

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维。 出这期视频&#xff0c;也是为了给第30关的falco公开课补一个坑&#xff0c;关于falco报警这块这期将补上&#xff0c;同时&#xff0c;对于这个gin开发的webhook服务源码这块&#xff0c;计划…

leetcode刷题-代码训练营-第7章-回溯算法1

回溯法模板 void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&#xff08;树中节点孩子的数量就是集合的大小&#xff09;) {处理节点;backtracking(路径&#xff0c;选择列表); // 递归回溯&#xff0c;撤销处理结果} }理解 从…

力扣108. 将有序数组转换为二叉搜索树

Problem: 108. 将有序数组转换为二叉搜索树 文章目录 题目描述思路复杂度Code 题目描述 思路 根据二叉搜索树中序遍历为一个有序序列的特点得到&#xff1a; 1.定义左右下标left&#xff0c;right分别指向有序序列的头尾&#xff1b; 2.每次取出left和right的中间节点mid&…

Lafida多目数据集实测

Lafida 数据集 paper&#xff1a;J. Imaging | Free Full-Text | LaFiDa—A Laserscanner Multi-Fisheye Camera Dataset 官网数据&#xff1a;https://www.ipf.kit.edu/english/projekt_cv_szenen.php 官网&#xff1a;KIT-IPF-Software and Datasets - LaFiDa 标定数据下载&…

位运算-191. 位1的个数- 136. 只出现一次的数字

位1的个数 已解答 简单 相关标签 相关企业 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中 设置位 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 11 输…

【Unity每日一记】如何从0到1将特效图集制作成一个特效

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

HTTPS跟HTTP有区别吗?

HTTPS和HTTP的区别&#xff0c;白话一点说就是&#xff1a; 1. 安全程度&#xff1a; - HTTP&#xff1a;就像是你和朋友面对面聊天&#xff0c;说的话大家都能听见&#xff08;信息明文传输&#xff0c;容易被偷听&#xff09;。 - HTTPS&#xff1a;就像是你们俩戴着加密耳机…

Google视觉机器人超级汇总:从RT、RT-2到AutoRT、SARA-RT、RT-Trajectory

前言 随着对视觉语言机器人研究的深入&#xff0c;发现Google的工作很值得深挖&#xff0c;比如RT-2 ​想到很多工作都是站在Google的肩上做产品和应用&#xff0c;​Google真是科技进步的核心推动力&#xff0c;做了大量大模型的基础设施&#xff0c;服 故有了本文&#xf…

【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}

文章目录 1.网络常识1.0DHCP协议1. 1IP地址/MAC地址/ARP协议是什么&#xff1f;IP/MACARP&#xff1a;IP ⇒ MAC 1.2手机连接wifi的原理 SSID与BSSID手机连接wifiSSID与BSSID 1.3手机如何通过“数据/流量”上网&#xff1f;1.4电脑连接wifi的原理&#xff1f;电脑通过热点上网…

数据结构和算法:十大排序

排序算法 排序算法用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更高效地查找、分析和处理。 排序算法中的数据类型可以是整数、浮点数、字符或字符串等。排序的判断规则可根据需求设定&#xff0c;如数字大小、字符 ASCII…

Docker 容器编排技术解析与实践

探索了容器编排技术的核心概念、工具和高级应用&#xff0c;包括 Docker Compose、Kubernetes 等主要平台及其高级功能如网络和存储管理、监控、安全等。此外&#xff0c;文章还探讨了这些技术在实际应用中的案例&#xff0c;提供了对未来趋势的洞见。 一、容器编排介绍 容器编…

基于Python的微博舆论分析,微博评论情感分析可视化系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…