Python3新手教程 —— 基本类型的运算

基本类型的运算

基本类型是指intfloatbool这三种类型,它们之间的运算是最基础且最直接的,需要读者熟练掌握。在计算机语言中,所谓的运算并不局限于数学中的运算,而是广义的通过运算符连接多个变量来表示某种变量计算的表达式。在Python中运算符可能连接两个变量,也可能只作用于单个变量,前者称为双元运算符,后者称为单元运算符。同时,运算符可能由不只一个字符构成,注意字符之间不可以有空格,必须紧密相连。但是运算符和连接的变量之间可以有任意多个空格,或者没有空格。个人习惯上单元运算符紧连变量,而双元运算符会和连接的两个变量都有一个空格间隔。

整型间的运算

  • 数学运算类:+-*///**分别表示加、减、乘、除、扫地除、幂次。
  • 二进制操作类:<<>>&|^~分别表示左移、右移、按位取与、按位取非、按位取异或、按位取非。该类本文不作讲解,在大部分场景下都用不到,在基础教程更新结束后再介绍。
  • 比较逻辑类:>>=<<===!=分别表示严格大于、大于等于、严格小于、小于等于、相等、不等。
  • 取负:-(注意与减运算-的区别,这里是单元运算符)

除与扫地除

在Python中整型的除法会得到浮点型,而扫地除实际上就是除完后再进行下取整,例如3 // 2的结果是1,类型是整型。

比较逻辑类

这一类比较直观,就是判断两数的大小关系,注意其结果类型是布尔型。

特别注意,新手经常犯的错误,老手也可能会犯,就是比较两个变量相等的运算符是==,而不是=,因为=用作了赋值,要避免歧义。

取负

虽然说在数学上和减区别不大,但对于Python来说一个是单元运算符,一个是多元运算符,是有一定区别的,建议读者加以区分,保持严谨。

代码示例

python 复制代码
print(2 + 3, 2 - 3, 2 * 3, 2 / 3, 2 // 3, 2 ** 3)
print(2 >> 3, 2 << 3, 2 & 3, 2 | 3, 2 ^ 3, ~2, ~3)
print(2 > 3, 2 >= 3, 2 < 3, 2 <= 3, 2 == 3, 2 != 3)
print(-2, -3)

会得到运行结果:

plain 复制代码
5 -1 6 0.6666666666666666 0 8
0 16 2 3 1 -3 -4
False False True True False True
-2 -3

浮点型间的运算

浮点型的运算和整型十分类似,这里列出几个区别:

  • 没有二进制类运算
  • 除了逻辑类其他结果类型都是浮点型,包括扫地除

代码示例

python 复制代码
print(2.1 + 3.2, 2.1 - 3.2, 2.1 * 3.2, 2.1 / 3.2, 2.1 // 3.2, 2.1 ** 3.2)
print(2.1 > 3.2, 2.1 >= 3.2, 2.1 < 3.2, 2.1 <= 3.2, 2.1 == 3.2, 2.1 != 3.2)
print(-2.1, -3.2)

会得到运行结果:

plain 复制代码
5.300000000000001 -1.1 6.720000000000001 0.65625 0.0 10.74241047739471
False False True True False True
-2.1 -3.2

整型与浮点型间的运算

大家只需要看作先将整型转化为浮点型再进行浮点型间的运算即可。

布尔型间的运算

布尔型间的运算和整数间的二进制类运算一样,有与、或、异或、非四种。与、或、异或的运算符都是一致的,即&|^,而非的运算符是!(因为如果将True视作1False视作0,那么前三个运算就是整数的运算,但是~1会得到-2,因此要专门用!表示非)。

如果读者不知道与、或、异或是什么意思,可以参照如下表格

变量1 变量2 与运算 或运算 异或运算
False False False False False
False True False True True
True True True True False

当然非运算是单元运算,把False变为TrueTrue变为False

比较特别的是,Python为常用的逻辑运算设置了对应的等价的关键字:

关键字 运算符
and &
or `
not !

通常我们会使用关键字来表示逻辑关系。

转化为布尔型

为了方便检验一个变量是否为空,Python为每个内置类型都可以转换为布尔型,并且只有在转化的变量在其类型的意义上是空的或者零才会变为False,其他情况下都是True。例如:

python 复制代码
print(bool(0), bool(10))
print(bool(0.0), bool(10.0))
print(bool(''), bool('Hello World!'))

每一条语句输出的都是False True

赋值运算

除了比较类运算外和单元运算外,其余的运算都将两个同类型的变量计算为一个同类型的结果。有时候我们希望立刻用这个结果赋给参与计算的两个变量中的一个,此时就可以使用赋值运算。赋值运算符就是原本的运算符紧跟一个=,例如:

python 复制代码
x = 2
x += 1
print(x)

会得到输出3。也就是说,x += y等价于x = x + y。同理,还有-=/=&=>>=等等赋值运算。

严格来说,赋值运算并不是运算,因为其构成一条语句,并没有运算结果。

本文复习

  • 运算是什么

    • 什么是单元运算和双元运算
  • 整型间的运算有哪些

    • 扫地除是什么
    • 判断两变量是否相等的运算符是什么
  • 浮点型间的运算有哪些

    • 浮点型和整型运算的规则是什么
  • 布尔型间的运算有哪些

    • 哪些运算有对应的关键字替代
  • 什么是赋值运算

相关推荐
数据智能老司机4 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机5 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机5 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机5 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i5 小时前
drf初步梳理
python·django
每日AI新事件5 小时前
python的异步函数
python
这里有鱼汤6 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook16 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室16 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三17 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试