青少年编程与数学 02-008 Pyhon语言编程基础 07课题、数字

青少年编程与数学 02-008 Pyhon语言编程基础 07课题、数字

  • 一、数字
      • 数学中的数字
      • 计算机科学中的数字
      • 编程语言中的数字
      • 哲学和逻辑中的数字
  • 二、数字类型
      • 1. 整数(Integers)
      • 2. 浮点数(Floating Point Numbers)
      • 3. 复数(Complex Numbers)
      • 4. 布尔数(Booleans)
      • 5. 特殊数值
      • 6. 二进制数(Binary)
      • 7. 八进制数(Octal)
      • 8. 十六进制数(Hexadecimal)
  • 三、数字运算符
      • 1. 加法运算符(`+`)
      • 2. 减法运算符(`-`)
      • 3. 乘法运算符(`*`)
      • 4. 除法运算符(`/`)
      • 5. 整数除法运算符(`//`)
      • 6. 取模运算符(`%`)
      • 7. 幂运算符(`**`)
      • 8. 一元正号运算符(`+`)
      • 9. 一元负号运算符(`-`)
      • 10. 比较运算符
      • 11. 位运算符
  • 四、数字运算符的优先级
  • 五、改变运算顺序
      • 1. 括号
      • 2. 运算符优先级
      • 3. 复合赋值运算符
      • 4. 函数调用
      • 5. 列表/元组推导式
      • 6. 生成器表达式
      • 7. lambda 表达式

课题摘要:本文介绍了Python中数字的概念、类型、运算符及其优先级。数字在数学中包括自然数、整数、有理数、实数和复数,在计算机科学中以二进制形式存储,涉及整数类型、浮点数和复数型。Python中的数字类型包括整数(int)、浮点数(float)、复数(complex)和布尔数(bool)。文章详细解释了Python中的数字运算符,如加法、减法、乘法、除法、取模、幂运算等,以及一元正号和负号运算符。同时,讨论了运算符优先级和如何通过括号、运算符优先级、复合赋值运算符等改变运算顺序。这些知识对于编写和理解Python代码至关重要。


一、数字

数字是数学中的基本概念之一,用于计数、排序和测量。在不同的上下文中,数字可以有不同的含义和表现形式:

数学中的数字

  1. 自然数:通常指正整数,包括1, 2, 3, 4, …等。
  2. 整数:包括自然数和它们的负数,即…-3, -2, -1, 0, 1, 2, 3,…
  3. 有理数:可以表示为两个整数的比(分数)的数,例如1/2, 3/4, -2/3等。
  4. 实数:包括所有有理数和无理数,如圆周率π、自然对数的底e等。
  5. 复数:由实部和虚部组成的数,形式为a + bi,其中a和b是实数,i是虚数单位,满足i² = -1。

计算机科学中的数字

在计算机科学中,数字的表示和处理与数学中有所不同:

  1. 二进制表示:计算机使用二进制系统,所有数字都以0和1的形式存储。
  2. 整数类型:根据不同的位宽(如8位、16位、32位、64位)来存储整数。
  3. 浮点数:遵循IEEE 754标准,用于表示实数。
  4. 定点数:在某些系统中,用于表示固定小数点的数。
  5. 数值范围和精度:由于存储限制,计算机中的数字有特定的范围和精度。

编程语言中的数字

在不同的编程语言中,数字的处理也有所不同:

  1. 整型:用于表示整数,如Python中的int,Java中的int
  2. 浮点型:用于表示实数,如Python中的float,Java中的floatdouble
  3. 复数型:一些语言(如Python)支持复数类型。
  4. 数值运算:语言提供了基本的算术运算符和函数来处理数字。

哲学和逻辑中的数字

在哲学和逻辑中,数字有时被看作是抽象概念,与具体的物理对象相对。

数字是人类理解世界的基础工具之一,它们在科学、工程、金融和日常生活中扮演着重要角色。随着数学和计算机科学的发展,数字的概念和应用也在不断扩展。

二、数字类型

Python中的数字类型主要分为以下几种:

1. 整数(Integers)

  • int:用于表示整数值,不受固定位数限制,Python会自动选择合适的大小来存储整数。
  • 例如:123, -456, 0, 1024

2. 浮点数(Floating Point Numbers)

  • float:用于表示带有小数点的实数,遵循IEEE 754标准。
  • 例如:3.14, -0.01, 2.5e3(科学记数法表示2500)

3. 复数(Complex Numbers)

  • complex:用于表示复数,由实部和虚部组成。
  • 例如:3+4j(实部为3,虚部为4),1.0-2.0j(实部为1.0,虚部为-2.0)

4. 布尔数(Booleans)

  • bool:表示逻辑值,只有两个值:TrueFalse
  • 虽然布尔数是数字类型的一种,但在Python中它们被特殊对待,主要用于逻辑运算。

5. 特殊数值

  • None:表示空值或无值,是NoneType类型,但在数字运算中通常不涉及。

6. 二进制数(Binary)

  • bin:用于将整数转换为二进制字符串表示。
  • 例如:bin(10) 返回 '0b1010'

7. 八进制数(Octal)

  • oct:用于将整数转换为八进制字符串表示。
  • 例如:oct(10) 返回 '0o12'

8. 十六进制数(Hexadecimal)

  • hex:用于将整数转换为十六进制字符串表示。
  • 例如:hex(255) 返回 '0xff'

Python中的数字类型支持多种运算,包括基本的算术运算(加、减、乘、除、取模、幂运算等),以及比较运算(大于、小于、等于等)。Python的动态类型系统使得在不同数字类型之间进行运算时,会自动进行类型转换,例如将整数和浮点数相加会得到浮点数结果。这种灵活性使得Python在处理数字时非常方便,但也需要注意类型转换可能带来的精度问题。

三、数字运算符

在Python中,数字运算符用于对数字进行算术运算。以下是一些基本的数字运算符:

1. 加法运算符(+

将两个数字相加。

result = 5 + 3  # 结果为 8

2. 减法运算符(-

从第一个数字中减去第二个数字。

result = 5 - 3  # 结果为 2

3. 乘法运算符(*

将两个数字相乘。

result = 5 * 3  # 结果为 15

4. 除法运算符(/

将第一个数字除以第二个数字,结果总是浮点数。

result = 10 / 3  # 结果为 3.3333333333333335

5. 整数除法运算符(//

将第一个数字除以第二个数字,结果是整数(向下取整)。

result = 10 // 3  # 结果为 3

6. 取模运算符(%

返回第一个数字除以第二个数字的余数。

result = 10 % 3  # 结果为 1

7. 幂运算符(**

将第一个数字提升到第二个数字的幂。

result = 2 ** 3  # 结果为 8

8. 一元正号运算符(+

返回数字的正值(通常没有实际效果)。

result = +5  # 结果为 5

9. 一元负号运算符(-

返回数字的负值。

result = -5  # 结果为 -5

10. 比较运算符

比较两个数字的大小。

result = 5 > 3  # 结果为 True
result = 5 < 3  # 结果为 False
result = 5 == 3  # 结果为 False
result = 5 != 3  # 结果为 True
result = 5 >= 3  # 结果为 True
result = 5 <= 3  # 结果为 False

11. 位运算符

对数字的二进制表示进行位运算。

result = 5 & 3  # 位与,结果为 1
result = 5 | 3  # 位或,结果为 7
result = 5 ^ 3  # 位异或,结果为 6
result = 5 << 1  # 左移,结果为 10
result = 5 >> 1  # 右移,结果为 2
result = ~5  # 位取反,结果为 -6

这些运算符在Python中用于处理各种数字运算,包括算术运算、比较运算和位运算。了解这些运算符对于编写有效的Python代码至关重要。

四、数字运算符的优先级

在Python中,数字运算符的优先级决定了表达式中运算的顺序。以下是Python中数字运算符的优先级列表,从高到低:

  1. 指数运算符 **
    • 指数运算符的优先级最高,它用于计算幂。
2 ** 3 ** 2  # 等于 2 ** (3 ** 2) = 2 ** 9 = 512
  1. 一元正号和负号运算符 + -
    • 一元正号和负号运算符优先级次之,它们用于返回数字的正值或负值。
- -5  # 等于 5
+ +3  # 等于 3
  1. 乘法、除法和取模运算符 * / %
    • 乘法、除法和取模运算符具有相同的优先级,它们从左到右依次计算。
5 * 3 / 2  # 等于 (5 * 3) / 2 = 15 / 2 = 7.5
  1. 加法和减法运算符 + -
    • 加法和减法运算符具有相同的优先级,它们从左到右依次计算。
5 + 3 - 2  # 等于 (5 + 3) - 2 = 8 - 2 = 6
  1. 位运算符 & | ^ << >>
    • 位运算符的优先级低于上述所有算术运算符,位运算符之间也具有相同的优先级,从左到右依次计算。
5 | 3 & 2  # 等于 (5 | 3) & 2 = 7 & 2 = 2
  1. 比较运算符 < > <= >= == !=
    • 比较运算符用于比较两个值,并返回布尔值。它们具有相同的优先级,从左到右依次计算。
5 < 3 < 2  # 等于 (5 < 3) < 2 = False < 2 = False
  1. 赋值运算符 =
    • 赋值运算符的优先级最低,它用于将值赋给变量。
x = 5 + 3  # 首先计算 5 + 3,然后将结果 8 赋值给 x

当表达式中包含多个具有相同优先级的运算符时,它们会从左到右依次计算。如果需要改变运算顺序,可以使用括号()来明确指定优先级。

(5 + 3) * 2  # 首先计算括号内的加法,然后将结果乘以 2

了解运算符的优先级对于编写正确的表达式和理解代码的行为非常重要。在复杂的表达式中,合理使用括号可以避免歧义,并确保表达式按照预期的顺序执行。

五、改变运算顺序

在Python中,可以通过以下几种方式改变运算顺序:

1. 括号

使用括号()是改变运算顺序的最直接方法。括号内的表达式会优先计算。

# 正常运算顺序
result = 5 + 3 * 2  # 先乘法后加法,结果为 11# 使用括号改变运算顺序
result = 5 + (3 * 2)  # 明确先计算括号内的乘法,结果仍为 11
result = (5 + 3) * 2  # 明确先计算括号内的加法,结果为 16

2. 运算符优先级

记住并利用不同运算符的优先级。例如,乘法和除法的优先级高于加法和减法。

# 乘法和除法优先于加法和减法
result = 5 + 3 * 2  # 先计算 3 * 2,结果为 11

3. 复合赋值运算符

复合赋值运算符(如+=-=等)可以结合括号使用,以在赋值的同时改变运算顺序。

x = 5
x += 3 * 2  # 等同于 x = x + (3 * 2),结果为 11

4. 函数调用

在函数内部进行计算可以改变运算顺序,因为函数内的表达式会首先被计算。

def calculate(a, b):return a + b * 2result = calculate(5, 3)  # 先计算 b * 2,结果为 11

5. 列表/元组推导式

在列表或元组推导式中,内部的表达式会首先被计算。

result = [5 + 3 * i for i in range(4)]  # 先计算 3 * i,结果为 [11, 14, 17, 20]

6. 生成器表达式

与列表推导式类似,生成器表达式也会首先计算内部的表达式。

result = (5 + 3 * i for i in range(4))  # 先计算 3 * i

7. lambda 表达式

在lambda表达式中定义的匿名函数可以改变运算顺序。

add_then_multiply = lambda a, b, c: (a + b) * c
result = add_then_multiply(5, 3, 2)  # 先计算 5 + 3,结果为 16

通常情况下,使用括号是最简单和最直接的方式,它可以帮助开发者明确表达式的计算顺序,避免因默认优先级导致的错误。

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

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

相关文章

ARM嵌入式学习--第十天(UART)

--UART介绍 UART(Universal Asynchonous Receiver and Transmitter)通用异步接收器&#xff0c;是一种通用串行数据总线&#xff0c;用于异步通信。该总线双向通信&#xff0c;可以实现全双工传输和接收。在嵌入式设计中&#xff0c;UART用来与PC进行通信&#xff0c;包括与监控…

解锁微服务:五大进阶业务场景深度剖析

目录 医疗行业&#xff1a;智能诊疗的加速引擎 电商领域&#xff1a;数据依赖的破局之道 金融行业&#xff1a;运维可观测性的提升之路 物流行业&#xff1a;智慧物流的创新架构 综合业务&#xff1a;服务依赖的优化策略 医疗行业&#xff1a;智能诊疗的加速引擎 在医疗行业迈…

基于Flask的旅游系统的设计与实现

【Flask】基于Flask的旅游系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为后端开发语言&#xff0c;结合前端Bootstrap框架&#xff0c;为用户提供了丰富…

《HelloGitHub》第 106 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 Python、…

一文讲解Java中的BIO、NIO、AIO之间的区别

BIO、NIO、AIO是Java中常见的三种IO模型 BIO&#xff1a;采用阻塞式I/O模型&#xff0c;线程在执行I/O操作时被阻塞&#xff0c;无法处理其他任务&#xff0c;适用于连接数比较少的场景&#xff1b;NIO&#xff1a;采用非阻塞 I/O 模型&#xff0c;线程在等待 I/O 时可执行其…

Linux——网络(tcp)

文章目录 目录 文章目录 前言 一、TCP逻辑 1. 面向连接 三次握手&#xff08;建立连接&#xff09; 四次挥手&#xff08;关闭连接&#xff09; 2. 可靠性 3. 流量控制 4. 拥塞控制 5. 基于字节流 6. 全双工通信 7. 状态机 8. TCP头部结构 9. TCP的应用场景 二、编写tcp代码函数…

Flutter使用Flavor实现切换环境和多渠道打包

在Android开发中通常我们使用flavor进行多渠道打包&#xff0c;flutter开发中同样有这种方式&#xff0c;不过需要在原生中配置 具体方案其实flutter官网个了相关示例&#xff08;https://docs.flutter.dev/deployment/flavors&#xff09;,我这里记录一下自己的操作 Android …

MySQL备忘录

MySQL 的一些基础知识记录&#xff0c;包括一些配置文件&#xff0c;cmd命令等 前言 这里使用的MySQL版本是8.0.25 MySQL安装&#xff0c;包括相关配置文件文本内容&#xff0c;相关cmd命令 通过安装包配置环境变量使用cmd管理员权限通过命令安装MySQL 8.0.25 一、安装配置 …

Prompt提示词完整案例:让chatGPT成为“书单推荐”的高手

大家好&#xff0c;我是老六哥&#xff0c;我正在共享使用AI提高工作效率的技巧。欢迎关注我&#xff0c;共同提高使用AI的技能&#xff0c;让AI成功你的个人助理。 许多人可能会跟老六哥一样&#xff0c;有过这样的体验&#xff1a;当我们遇到一个能力出众或对事物有独到见解的…

Maui学习笔记- SQLite简单使用案例02添加详情页

我们继续上一个案例&#xff0c;实现一个可以修改当前用户信息功能。 当用户点击某个信息时&#xff0c;跳转到信息详情页&#xff0c;然后可以点击编辑按钮导航到编辑页面。 创建项目 我们首先在ViewModels目录下创建UserDetailViewModel。 实现从详情信息页面导航到编辑页面…

Linux文件原生操作

Linux 中一切皆文件&#xff0c;那么 Linux 文件是什么&#xff1f; 在 Linux 中的文件 可以是&#xff1a;传统意义上的有序数据集合&#xff0c;即&#xff1a;文件系统中的物理文件 也可以是&#xff1a;设备&#xff0c;管道&#xff0c;内存。。。(Linux 管理的一切对象…

HttpClient学习

目录 一、概述 二、HttpClient依赖介绍 1.导入HttpClient4依赖 2.或者导入HttpClient5依赖 3.二者区别 三、HttpClient发送Get请求和Post请求测试 (一)通过HttpClient发送Get请求 (二)通过HttpClient发送Post请求 一、概述 HttpClient是 Apache 软件基金会提供的一…

【重生之我在学习C语言指针详解】

目录 ​编辑 --------------------------------------begin---------------------------------------- 引言 一、指针基础 1.1 内存地址 1.2 指针变量 1.3 指针声明 1.4 取地址运算符 & 1.5 解引用运算符 *** 二、指针运算 2.1 指针加减运算 2.2 指针关系运算 三…

< OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)

目标&#xff1a; 使用 日本阿里云的 VPM 传输文件。 暂时方案&#xff1a; 使用 主机JPN 下载 https://huggingface.co/ 上模型从 JPN 放到 度狗上在家里从狗度下载 为了减少编程&#xff0c;尽量使用现在软件 &#xff0c;就找到 GitHub - qjfoidnh/BaiduPCS-Go: iikira…

98.1 AI量化开发:长文本AI金融智能体(Qwen-Long)对金融研报大批量处理与智能分析的实战应用

目录 0. 承前1. 简介1.1 通义千问(Qwen-Long)的长文本处理能力 2. 基础功能实现2.1 文件上传2.2 单文件分析2.3 多文件分析 3. 汇总代码&运行3.1 封装的工具函数3.2 主要功能特点3.3 使用示例3.4 首次运行3.5 运行结果展示 4. 注意事项4.1 文件要求4.2 错误处理机制4.3 最佳…

Linux环境基础开发工具的使用(apt, vim, gcc, g++, gbd, make/Makefile)

目录 什么是软件包 Linux 软件包管理器 apt 认识apt 查找软件包 安装软件 如何实现本地机器和云服务器之间的文件互传 卸载软件 Linux编辑器 - vim vim的基本概念 vim下各模式的切换 vim命令模式下各指令汇总 vim底行模式个指令汇总 Linux编译器 - gcc/g gcc/g的作…

deepseek R1的确不错,特别是深度思考模式

deepseek R1的确不错&#xff0c;特别是深度思考模式&#xff0c;每次都能自我反省改进。比如我让 它写文案&#xff1a; 【赛博朋克版程序员新春密码——2025我们来破局】 亲爱的代码骑士们&#xff1a; 当CtrlS的肌肉记忆遇上抢票插件&#xff0c;当Spring Boot的…

SpringBoot源码解析(八):Bean工厂接口体系

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…

基于Django的个人博客系统的设计与实现

【Django】基于Django的个人博客系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统采用Python作为主要开发语言&#xff0c;结合Django框架构建后端逻辑&#xff0c;并运用J…

Vue-day2

7.Vue的生命周期 mounted函数&#xff1a;在页面加载完毕时&#xff0c;发送异步请求&#xff0c;加载数据&#xff0c;渲染页面 createApp({date(){},methods:{},mounted:function(){console.log(Vue挂载完毕&#xff0c;发送请求获取数据)} }).mount(#{app}) 8.ajax函数库…