写点什么

3. Python3 运算符

作者:Hivan
  • 2023-08-06
    上海
  • 本文字数:1491 字

    阅读完需:约 5 分钟

Hi,大家好。我是茶桁。


前两节我们学习了基本的 Python 特性和语法,并且认识了一些基本的 Python 脚本。今天,我们来学习一下 Python 的运算符,而我们选择的版本为 Python3。


什么是运算符

为了能让我们的学习顺利进行下去,首先我们需要先弄明白:什么是运算符


这里举一个简单的栗子:, 在这个简单的数学计算栗子中,4 和 5 倍称为操作数,+就被成为是运算符, 最后 9 就是它的运算结果。


到这里,我们对于运算符应该有了一个基本的认知,那么 Python 语言都支持哪些运算符呢?如下列表:


  • 算术运算符

  • 比较(关系)运算符

  • 赋值运算符

  • 逻辑运算符

  • 位运算符

  • 成员运算符

  • 身份运算符

  • 运算符优先级


接下来,就让我们来一个个的学习 Python 的运算符

算术运算符


# 算术运算符a = 10b = 21print("a+b=", a+b)print("a-b=", a-b)print("a*b=", a*b)print("b/a=", b/a)print("b%a=", b%a)print("a**b=", a**b)print(9//2)print(-9//2)
复制代码


输出结果:


a+b= 31a-b= -11a*b= 210b/a= 2.1b%a= 1a**b= 10000000000000000000004-5
复制代码

比较运算符


# 比较运算符print("a==b:", a==b)print("a!=b:", a!=b)print("a>b:", a>b)print("a<b:", a<b)print("a>=b:", a>=b)print("a<=b:", a<=b)
复制代码


输出结果:


a==b: Falsea!=b: Truea>b: Falsea<b: Truea>=b: Falsea<=b: True
复制代码

赋值运算符


# 赋值运算符c = a+bprint(c)c+=aprint(c)c-=aprint(c)c*=aprint(c)c/=aprint(c)c%=aprint(c)c=aprint(c)c//=aprint(c)
复制代码


输出结果:


31413131031.01.0101
复制代码

位运算符

按位运算符是把数字看作二进制来进行计算的。bin()函数可以把数字转为二进制。


Python 中的按位运算法则如下:


下表中变量 a 为 60,b 为 13 二进制格式如下:


a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
复制代码



# 位运算符print(bin(20))a = 60b = 13print("a = ", bin(a), ", b = ", bin(b))print("a&b =",bin(a&b))print("a|b =",bin(a|b))print("a^b =",bin(a^b))print("~a =",bin(~a))print("a<<2 = ",bin(a<<2))print("a>>2 = ",bin(a>>2))
复制代码


输出结果:


0b10100a =  0b111100 , b =  0b1101a&b = 0b1100a|b = 0b111101a^b = 0b110001~a = -0b111101a<<2 =  0b11110000a>>2 =  0b1111
复制代码

逻辑运算符

Python 语言支持逻辑运算符,以下假设变量 a 为 10, b 为 20:



# 逻辑运算符a = 10b = 20print("a and b = ", a and b)print("a or b = ", a or b)print("not(a and b) = ", not(a and b))
复制代码


输出结果:


a and b =  20a or b =  10not(a and b) =  False
复制代码

成员运算符

除了以上的一些运算符之外,Python 还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。



# 成员运算符x = [0, 1, 2, 3, 4, 5, 6, 7]y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]print("x in y :", x in y)print("x not in y :", x not in y)
复制代码


输出结果:


x in y : Falsex not in y : True
复制代码

身份运算符

身份运算符用于比较两个对象的存储单元



注: id() 函数用于获取对象内存地址。


# 身份运算符x = 10y = xprint("x is y:", x is y)
x = 10y = 10print("x is y:", x is y)print("id(x) == id(y)", id(x) == id(y))print("x is not y:", x is not y)id(x)
复制代码


输出结果:


x is y: Truex is y: Trueid(x) == id(y) Truex is not y: False
4312793616
复制代码


is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:



注意:Pyhton3 已不支持 <> 运算符,可以使用 != 代替


本教程相关代码可在此查看


发布于: 刚刚阅读数: 4
用户头像

Hivan

关注

还未添加个人签名 2020-10-20 加入

还未添加个人简介

评论

发布
暂无评论
3. Python3 运算符_Python_Hivan_InfoQ写作社区