小白学 Python(5):基础运算符(上)

人生苦短,我选Python
前文传送门
前言
前面我们讲了变量的基础操作,本文我们接着讲运算符。
运算符根据用途可以分为以下这么几类:
- 算术运算符
- 比较运算符
- 赋值运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
本篇我们先介绍前两个,算术运算符和比较运算符。
算数运算符
算术运算符顾名思义就是我们做数字计算的时候用到的运算符,当然,加减乘除肯定都有,除此之外呢,还有程序中常见的取摸、取幂和取整除。详细如下表:
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取模 - 返回除法的余数 |
| ** | 幂 - 返回x的y次幂 |
| // | 取整除 - 向下取接近除数的整数 |
我们来看几个简单的例子:
a = 5
b = 10
c = a + b
print("1. c 的值为:", c)
c = a - b
print("2. c 的值为:", c)
c = a * b
print("3. c 的值为:", c)
c = a / b
print("4. c 的值为:", c)
c = a % b
print("5. c 的值为:", c)
c = a ** b
print("6. c 的值为:", c)
# 改变 a 和 b 的值
a = 10
b = 5
c = a // b
print("7. c 的值为:", c)
计算结果如下:
1. c 的值为: 15
2. c 的值为: -5
3. c 的值为: 50
4. c 的值为: 0.5
5. c 的值为: 5
6. c 的值为: 9765625
7. c 的值为: 2
上面的栗子都整形的计算,如果是不同类型的数据运算,会发生隐式类型转换。
类型转换的规则由低等向高等转换。
bool(布尔) < int(整形) < float(浮点型) < complex(复数)
我们再看几个栗子:
a = 1
b = 1.5
c = a + b
print("8. c 的值为:", c, ",c 的类型为:", type(c))
d = True
e = c + d
print("9. e 的值为:", e, ",e 的类型为:", type(e))
f = 2 + 4j
g = e + f
print("10. g 的值为:", g, ",g 的类型为:", type(g))
计算结果如下:
8. c 的值为: 2.5 ,c 的类型为: <class 'float'>
9. e 的值为: 3.5 ,e 的类型为: <class 'float'>
10. g 的值为: (5.5+4j) ,g 的类型为: <class 'complex'>
注意: 在算术运算时,True代表1,False代表0
运算内置函数
内置的意思就是安装好就有,无需额外安装,就比如我们每次买回来的新手机都有一堆内置的软件:)
Python 提供的内置函数如下图:

我们这里选取一些和计算相关的常用的内置函数做一些简单的讲解和演示(个人觉得演示更加的重要):
| 函数 | 含义 |
|---|---|
| abs(x) | 返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模。 |
| complex([real[, imag]]) | 返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。 |
| divmod(a, b) | 它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。 |
| float([x]) | 返回从数字或字符串 x 生成的浮点数。 |
| pow(x, y[, z]) | 返回 x 的 y 次幂;如果 z 存在,则对 z 取余(比直接 pow(x, y) % z 计算更高效)。两个参数形式的 pow(x, y) 等价于幂运算符: x**y。 |
| round(number[, ndigits]) | 返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。 |
| sum(iterable[, start]) | 从 start 开始自左向右对 iterable 中的项求和并返回总计值。 start 默认为 0。 iterable 的项通常为数字,开始值则不允许为字符串。 |
| bin(x) | 将一个整数转变为一个前缀为“0b”的二进制字符串。 |
| oct(x) | 将一个整数转变为一个前缀为“0o”的八进制字符串。 |
| hex(x) | 将整数转换为以“0x”为前缀的小写十六进制字符串。 |
| chr(i) | 返回 Unicode 码位为整数 i 的字符的字符串格式。 |
| ord(c) | 对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。 |
| bool([x]) | 返回一个布尔值,True 或者 False。 |
测试示例如下:
print("11. -1 的绝对值为:", abs(-1))
print("12. 创建的复数为:", complex(1, -2))
print("13. 商和余数为:", divmod(10, 3))
print("14. 浮点型转换:", float(1))
print("15. 10的3次幂为:", pow(10, 3))
print("16. 四舍五入为:", round(5.5))
print("17. 集合求和结果为:", sum({1, 2, 3 ,4}))
print("18. 整数20的二进制为:", bin(20))
print("19. 整数20的八进制为:", oct(20))
print("20. 整数20的十六进制为:", hex(20))
print("21. Unicode 为 97 的字符串:", chr(97))
print("22. 字符串 a 的 Unicode 码:", ord('a'))
print("23. 123 的 boolean 值为:", bool(123))
print("24. 空字符串的 boolean 的值为:", bool(''))
测试结果如下:
11. -1 的绝对值为: 1
12. 创建的复数为: (1-2j)
13. 商和余数为: (3, 1)
14. 浮点型转换: 1.0
15. 10的3次幂为: 1000
16. 四舍五入为: 6
17. 集合求和结果为: 10
18. 整数20的二进制为: 0b10100
19. 整数20的八进制为: 0o24
20. 整数20的十六进制为: 0x14
21. Unicode 为 97 的字符串: a
22. 字符串 a 的 Unicode 码: 97
23. 123 的 boolean 值为: True
24. 空字符串的 boolean 的值为: False
比较运算符
从字面意思来理解,比较运算符就是比较两个数值或者字符串类型的数据,返回一个布尔值。
比较运算符有以下几种:
| 运算符 | 描述 |
|---|---|
| == | 等于 - 比较对象是否相等 |
| != | 不等于 - 比较两个对象是否不相等 |
| > | 大于 - 返回x是否大于y |
| < | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
| >= | 大于等于 - 返回x是否大于等于y。 |
| <= | 小于等于 - 返回x是否小于等于y。 |
下面我们举几个栗子:
a = 5
b = 10
if (a == b):
print("25. a 等于 b")
else:
print("25. a 不等于 b")
if (a != b):
print("26. a 不等于 b")
else:
print("26. a 等于 b")
if (a < b):
print("27. a 小于 b")
else:
print("27. a 大于等于 b")
if (a > b):
print("28. a 大于 b")
else:
print("28. a 小于等于 b")
if (a <= b):
print("29. a 小于等于 b")
else:
print("29. a 大于 b")
if (b >= a):
print("30. b 大于等于 a")
else:
print("30. b 小于 a")
结果如下:
25. a 不等于 b
26. a 不等于 b
27. a 小于 b
28. a 小于等于 b
29. a 小于等于 b
30. b 大于等于 a
示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
小白学 Python(5):基础运算符(上)的更多相关文章
- 小白学 Python(6):基础运算符(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(7):基础流程控制(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(14):基础数据结构(集合)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- 小白学 Python(3):基础数据类型(下)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...
随机推荐
- 从零开始入门 K8s| 详解 Pod 及容器设计模式
作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 一.为什么需要 Pod 容器的基本概念 我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单 ...
- 基于python-django框架的支付宝支付案例
目录 @ 一. 开发前的准备 1. 必须了解的知识 SDK:软件开发工具包,可以为开发者提供快速开发的工具 沙箱环境:也就是测试环境 支付宝支付金额的精度:小数点后两位(面试) 支付宝用的什么加密方式 ...
- MySQL设计表规范
规范总结 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字[设计表后逐一排查] 所有表必须使用 Innodb 存储引擎,数据库和表的字符集统一使用 ...
- nfs 存储服务
今日内容: NFS 1.什么是nfs? network file system 网络文件系统 nfs共享存储 2.nfs能干什么? nfs 能为 不同主机系统之间 实现 文件的共享 3.为什么要使用n ...
- 【C/C++】qsort函数的使用方法和细节
函数概述 qsort 为quick_sort的简写,意为快速排序,主要用于对各种数组的排序. 因为数组的元素可能是任何类型的,甚至是结构或者联合,所以必须高数函数qsort如何确定两个数组元素哪一个& ...
- [VB.NET Tips]再谈字符串连接之内置池
CLR自动维护一个称为"内置池"(暂存池)(intern pool)的表,在编译时此表包含程序中声明的每个唯一的字符串常量的单个实例,以及以编程方式创建的String类的任何唯一实 ...
- [C++] 重载运算符与类型转换(1)
1.形式:返回值 operator符号(参数列表){} 2.不能被重载的运算符::: 作用域运算符 .* . 成员访问运算符 ?: 条件运算符:某些运算符(逗号,,取地址&, ...
- Linux 伪终端(pty)
通过<Linux 终端(TTY)>一文我们了解到:我们常说的终端分为终端 tty1-6 和伪终端.使用 tty1-6 的情况一般为 Linux 系统直接连了键盘和显示器,或者是使用了 vS ...
- 讨论c/c++计算小数的精度问题
求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差 除非使用非常精确的类型或限制浮点的位数 比如 #include <iostream> int m ...
- 阿里云短信服务开发报错Java.lang.NoClassDefFoundError:com/aliyuncs/exceptions/ClientException
手机app获取短信验证码功能时候,遇到的问题.使用的是阿里云的短信服务,下载平台demo时运行不报错,但是在service层调用的时候报错 Java.lang.NoClassDefFoundError ...