Python之常见运算符(基础篇)

计算机程序最重要的工作就是执行运算,运算种类包括算术运算、赋值运算、比较运算、逻辑运算等,运算由变量和运算符构成,本文将着重介绍这几种运算符的用法及适用类型

一、算数运算符

Python支持多种算术运算,如:

运算符描述
*输出其参数的乘积
/两个对象相除
//除法,向下取整
%输出第一个参数除以第二个参数的余数
+输出参数的和,两个参数必须为数字或者类型相同的序列
-输出参数的差
**幂运算符
(1)乘法

参与运算的两个参数必须都为数字,或者一个参数为整数,而另一个参数为序列。在前一种情况下,两个数字将被转换为相同类型然后相乘;后者情况下,序列元素进行重复生成。参与计算的整数成为重复因子,如果重复因子为复数,将输出空序列。
如:

a=2
b=6
c=a*b
print("两个整数相乘:{}*{}={}".format(a,b,c))
b=[1,2,3]
c=a*b
print("整数与列表相乘:{}".format(c))

输出结果为:

两个整数相乘:2*6=12
整数与列表相乘:[1, 2, 3, 1, 2, 3]
(2)除法

运算符“ / ”和“ // ”将输出其参数的商。两个数字参数先被转换为相同类型。整数相除会输出一个float值,整数相整除的结果仍是整数;整除的结果就是使用floor函数进行算术除法的结果,简单说就是向下取整。除以零的运算将引发ZeroDivisionError异常。
如:

a=3
b=13.5
c=b/a
print("两个数字相除:{}/{}={}".format(b,a,c))
c=b//a
print("两个数字相除并向下取整:{}/{}={}".format(b,a,c))

输出结果为:

两个数字相除:13.5/3=4.5
两个数字相除并向下取整:13.5/3=4.0
(3)取模

运算符“ % ”和函数divmod将输出第一个参数除以第二个参数的余数。两个数字参数先被转换为相同类型。运算符“ % ”右边的参数为零,将引发ZeroDivisionError异常。
如:

a=3
b=13.5
c=b % a
print("两个数字相除取模:{}/{}={}".format(b,a,c))
c=divmod(b,a)
print("两个数字相除取模:divmod({},{})={}".format(b,a,c))

输出结果为:

两个数字相除取模:13.5/3=1.5
两个数字相除取模:divmod(13.5,3)=(4.0, 1.5)
(4)加法、减法

运算符“ + ”和“ - ”输出其参数的和与差,两个参数都必须为数字或者都为相同类型的序列,在加法运算中,前一种情况下两个数字将被转换为相同类型然后相加;后一种情况下,则将执行序列拼接操作。
如:

a=3
b=5
c=a+b
print("两个整数相加:{}+{}={}".format(a,b,c))
c=a-b
print("两个整数相减:{}-{}={}".format(a,b,c))
a=[1,2,3]
b=[4,5,6]
c=a+b
print("两个列表相加:{}+{}={}".format(a,b,c))

输出结果为:

两个整数相加:3+5=8
两个整数相减:3-5=-2
两个列表相加:[1, 2, 3]+[4, 5, 6]=[1, 2, 3, 4, 5, 6]
(5)幂运算

运算符“ ** ”和函数pow将输出其函数的平方值。对于int类型的操作数,结果将具有与操作数相同的类型
,除非第二个参数为负数。在那种情况下,所有参数会被转换为float类型并输出float类型的结果。对负数进行分数次幂运算将返回complex数值。
如:

a=3
b=4
c=b**a
print("幂计算:{}**{}={}".format(b,a,c))
c=pow(b,a)
print("幂计算:pow({},{})={}".format(b,a,c))

输出结果为:

幂计算:4**3=64
幂计算:pow(4,3)=64

二、比较运算符

Python支持常见的比较运算符,如:

运算符描述
>大于
>=大于等于
<小于
<=小于等于
!=不等于
==等于

以下为各比较运算符的用法以及对应的输出结果

a=2
b=4
c=a>b
print("表达式:{}>{}={}".format(a,b,c))
c=b>a
print("表达式:{}>{}={}".format(b,a,c))
c=a>=b
print("表达式:{}>={}={}".format(a,b,c))
c=a<b
print("表达式:{}<{}={}".format(a,b,c))
c=a!=b
print("表达式:{}!={}={}".format(a,b,c))
c=a==b
print("表达式:{}=={}={}".format(a,b,c))

输出结果如下:

表达式:2>4=False
表达式:4>2=True
表达式:2>=4=False
表达式:2<4=True
表达式:2!=4=True
表达式:2==4=False

可以看到比较运算符返回的结果都是True或者False。

三、位运算符

Python语言支持多种位运算符,如:

运算符描述
I按位或
^按位异或
&按位与
<<左移位运算符
>>右移位运算符
~按位取反

在执行位运算之前,Python解释器会将变量转为二进制数据,然后让相同位的数据进行计算,具体介绍如下:

a=10
print("{}二进制为:{}".format(a,format(a,'b')))
b=20
print("{}二进制为:{}".format(b,format(b,'b')))
c=a|b
print("表达式:{}|{}={}(二进制为{})".format(a,b,c,format(c,'b')))
c=a^b
print("表达式:{}^{}={}(二进制为{})".format(a,b,c,format(c,'b')))
c=a&b
print("表达式:{}&{}={}(二进制为{})".format(a,b,c,format(c,'b')))
c=a<<2
print("表达式:{}<<2={}(二进制为{})".format(a,c,format(c,'b')))
c=a>>2
print("表达式:{}>>2={}(二进制为{})".format(a,c,format(c,'b')))
c=~a
print("表达式:~a ={}(二进制为{})".format(a,c,format(c,'b')))

输出结果如下:

10二进制为:1010
20二进制为:10100
表达式:10|20=30(二进制为11110)
表达式:10^20=30(二进制为11110)
表达式:10&20=0(二进制为0)
表达式:10<<2=40(二进制为101000)
表达式:10>>2=2(二进制为10)
表达式:~a =10(二进制为-11)

(1)按位或:第3行中,变量a与变量b执行按位或运算。
(2)按位异或:第4行中,变量a与变量b执行按位异或运算。
(3)按位与:第5行中,变量a与变量b执行按位与运算。
(4)左移位运算符:第6行中,变量a向左移动两位。
(5)右移位运算符:第7行中,变量a向右移动两位。
(6)按位取反:第8行中,变量a按位取反。

四、成员检测与标识号检测

Python语言使用in和not in运算符来判断某个对象是否为序列的成员,如下:

运算符描述
in判断对象是否在序列中,如果是则返回True
not in判断对象是否不在序列中,如果是则返回True

下面演示 in 和 not in 运算符的用法

tmp_list=[1,2,3,4,5,6]
result=4 in tmp_list
print("判断:数字4是否在tmp_list中,结果为:{}".format(result))
result =24 not in tmp_list
print("判断:数字24是否不在tmp_list中,结果为:{}".format(result))
result ="hello" in "hello world!"
print("判断:字符串hello是否在tmp_str中,结果为:{}".format(result))

执行结果如下,可以看到使用in运算符时,如果对象在序列中返回True;使用not in运算符时,如果对象不在序列中,则返回True。in与not in运算符可以用在序列中,也适用于字符串。

判断:数字4是否在tmp_list中,结果为:True
判断:数字24是否不在tmp_list中,结果为:True
判断:字符串hello是否在tmp_str中,结果为:True

而判断某两个对象是否相同,则是用is和not is运算符,如下:

运算符描述
is判断对象是否相同
not is判断对象是否不相同

下面演示is 和not is运算符的用法

a="hello"
b="world"
result=a is b
print("判断:对象a是否与对象b相同,结果为:{}".format(result))
result=a is not b
print("判断:对象a是否与对象b不相同,结果为:{}".format(result))
b = "hello"
result = a is b
print("对象a标识号:{}".format(id(a)))
print("对象b标识号:{}".format(id(b)))
print("判断:对象a是否与对象b相同,结果为:{}".format(result))

执行结果如下,可以看到使用is运算符时,如果两个对象相同,则返回True。在第3行和第4行输出了对象的标识号,类似于人的身份证编号,若是标识号相同,使用is运算符判断的结果就为True。

判断:对象a是否与对象b相同,结果为:False
判断:对象a是否与对象b不相同,结果为:True
对象a标识号:3184453989424
对象b标识号:3184453989424
判断:对象a是否与对象b相同,结果为:True

五、运算符优先级

如下表,对Python中运算符的优先顺序进行了总结,顺序为从最低优先级到最高优先级。相同单元格内的运算符具有相同优先级。

序号运算符描述
1lambdalambda表达式
2if…else条件表达式
3or布尔逻辑或
4and布尔逻辑与
5not布尔逻辑非
6in,not in,is,is not,<,<=,>,>=,!=,==比较运算,包括成员检测和标识号检测
7I按位或
8^按位异或
9&按位与
10<<,>>移位
11+,-加和减
12*,/,//,%乘,除,整除,取余
13~按位非
14**乘方
由于在上一篇文章我们已经给大家介绍了逻辑运算符(and,or,not),所以在这里我们就不再多介绍了,有需要的小伙伴可以在上一篇文章中去了解逻辑运算符,这篇文章就到这里了,本文主要介绍了Python中的常见运算符,希望能够给小伙伴们带来一点帮助,喜欢的小伙伴们可以点点赞或者关注一下博主!
  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Python基础.doc》是一份讲解Python编程基础的文档。Python是一种简洁、易学、高效的编程语言,因此它成为了很多人入门编程的首选语言。 这份文档应该包含了Python的基本语法、变量、数据类型、运算符、流程控制、循环语句等内容。首先,它会详细介绍Python的注释规则,以及如何定义和使用变量。变量是存储数据的容器,它可以用于存储不同类型的数据,包括整数、浮点数、字符串等。接下来,文档应该解释各种常见运算符,如算术运算符、比较运算符和逻辑运算符,以及它们的优先级和使用方法。 然后,文档应该涵盖Python中的条件语句和循环语句。条件语句如if语句和else语句,用于根据条件执行不同的代码块。循环语句如for循环和while循环,用于重复执行某些代码段。在解释这些语句时,应该给出一些实际的例子来帮助读者更好地理解。 此外,文档还应该介绍一些常用的内置函数和字符串操作方法。内置函数是Python提供的一些预先编写好的函数,可以直接使用,如print()和len()等。字符串操作方法主要是对字符串进行切片、连接、替换以及查找等操作。 最后,文档中还应该提供一些练习题或者编程示例,让读者能够通过实践来巩固所学的知识。 总之,《Python基础.doc》是一份详细讲解Python编程基础的文档,内容应该涵盖Python的基本语法、变量、数据类型、运算符、流程控制、循环语句等,并配有实例和练习题,以帮助读者更好地理解和掌握Python编程知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

8X_I

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值