目录
前言
在Python语言中,常会遇到多种运算符的联合运算,在本文章中,将会对Py里面的几种基础运算符进行讲解便于新手可以快速上手。
一、Python运算符基础概念
Python 运算符用于对变量或值执行各种操作,比如整数间的加减乘除,逻辑上的和、或、非。比较上的 > 、<、=、>=等,运算符的出现是为了便于我们对变量进行多样化的操作。
二、Python运算符的类型
1.算数运算符
算数运算符属于最简单的一类运算符,常见的主要包括有:
+、-、*、/、//、%、**。
具体作用如下:
#加法运算符: +
a = 6+7
print(a) #输出结果为:13
#减法运算符: -
a = 9-5
print(a) #输出结果为:4
#乘法运算符: *
a = 8 * 5
print(a) #输出结果为:40
#除法运算符: /
a = 8 / 4
print(a) #输出结果为:2.0
上述是最基础的+,-,*,/,四则运算,需要注意的一点就是除法运算符在运算过程中会自动将结果变成浮点数,目的是为了保证数学计算的精准性。
#求整运算符: //
a = 13 // 3
print(a) #结果为:4
#求余运算符: %
a = 13 % 3
print(a) #结果为:1
#求幂运算符: **
a = 2**3
print(a) #结果为:8
除了四则基本运算之外,Python里面还多了三个运算符,分别为求整,求余,求幂。
求整://,由两个除法运算符组合,将计算结果保留整数部分。
求余:%,将计算结果保留小数部分。
求幂:**,由两个乘法运算符
组合,n**m即为n的m次方。
2.赋值运算符
赋值运算符种类较多,但都较好理解。
# 赋值运算符 =
#定义一个变量i 将数值10赋予变量i =就是赋值运算符 把右侧的值赋予左侧的变量
i = 10
j = 10 + 10
print(i,j)
赋值运算符与算数运算符可进行简易组合,例如:
i = 10
j = 10
j = j + 10
i += 10
print(i,j) #输出结果为:20 20
上述两种代码的效果一样,同理可知:
i = i - 5 i -= 5
i = i * 5 i *= 5
i = i / 5 i /= 5
i = i % 5 i %= 5
i = i ** 5 i **= 5
i = i //5 i //= 5
所以如果在对此运算符熟练的情况下,使用右侧写法会更简便更具有效率。
3.比较运算符
比较运算符的返回并不是数字或字符串,而是True或False。比较运算符也较为简单,分别为
大于 >
大于等于 >=
小于 <
小于等于 <=
等于 ==
不等于 !=
print(10 > 5) #结果为:True
print(10 >= 8) #结果为:True
print(10 < 5) #结果为:False
print(10 <= 2) #结果为:False
print(10 == 20) #结果为:False
print(10 != 20) #结果为:True
从上面代码可以简单明了的看清楚比较运算符的用法。
注意:
==的使用需要注意print(10=="10")的输出结果为false。==两侧的类型一致才能确保True的成立。
在Python中True相当于1,False相当于0!
print(1 == True) #输出结果:True
print(0 == False) #输出结果:True
而在连续比较中,只要有一次不成立,最终都是False。只有每一次都比较成立,最终才是True。
print(10>8>5>4>3>2>1>0>-1) #输出结果为:True
print(10>9>5>8>4>3) #输出结果为:False
4.逻辑运算符
逻辑运算符相比于前面三个,使用起来会较为绕,关键在于多个逻辑运算符的混合使用。
逻辑运算符的返回结果并不是通常说的对或错,1或0,而是左侧或右侧。
1.and 并且
and的判定是左右两侧均成立,他才成立。比如:
print(10>5 and 5>3) # 输出的结果为:True
print(10>5 and 50>100) # 输出的结果为:False
print(123>321 and 456<654) # 输出的结果为:False
print(0 and 100) # 输出的结果为:0
print(50 and 100) # 输出的结果为:100
print(True and False and True) # 输出的结果为:False
通过上面代码可以看见。有且仅有and两侧的式子均成立,才能返回True。
并且可以了解到我们输出的只有True和False两种结果。
10 > 5 ,5>3,输出均True,所以此时的输出才是True,否则就像下面两行一样,输出的只能是False。
使用and需要注意:
当左侧为假时,会直接输出左侧,因为已经有一侧不成立,所以右边将不会再进行检查,会直接输出左侧的值。
当左侧成立时,则会直接输出右侧,因为左侧已经成立,结果只在右侧上面,右侧True则式子True,右侧False则式子False。
用简单的语言来讲即:
左侧为假 返回左侧
左侧为真 返回右侧
2.or 并且
and的判定是左右两侧有一侧成立,他就成立。比如:
print(10 > 5 or 5 > 3) # 输出的结果为:True
print(10 > 50 or 10 > 5) # 输出的结果为:True
print(10 > 50 or 10 >20) # 输出的结果为:False
print(True or False) # 输出的结果为:True
print(0 or 0) # 输出的结果为:0
print(100 or 0) # 输出的结果为:100
print(50 or 60) # 输出的结果为:50
print(0 or 18 or 10)) # 输出的结果为:18
对比and,可以看见or的成立条件极为轻松,只需要两侧的其中一侧成立,则式子成立。
同样的,or的输出也是左侧和右侧的说法。
当左侧为假时,会直接输出右侧,因为左侧已经不成立,所以右边将不会再进行检查,会直接输出右侧的值。右侧True则式子True,右侧False则式子False。
当左侧为真时,则会直接输出左,因为左侧已经成立,已经不需要再检查右侧,右侧无论是什么值本式子都已经成立。
用简单的语言来讲即:
左侧为真 返回左侧
左侧为假 返回右侧
3.not 非(取反)
not的使用就非常简单了
print (not 0) # 输出的结果为:True
print (not None) # 输出的结果为:True
print (not "") # 输出的结果为:True
print (not False) # 输出的结果为:True
print (not 1) # 输出的结果为:False
print(0 and not 50) # 输出的结果为:0
print(not 0 and 10) # 输出的结果为:10
通过上面几个例子,可以清楚的看见,用上not就代表着输出的内容取反。
此时别忘了,0是False,1是True.
应该也有人发现了,在上述的各个例子中,我们就已经对各个运算符进行了优先级的分级:
赋值运算符 < 逻辑运算符 < 比较运算符 < 算数运算符
优先级越低,则越先进行计算。
5.其他运算符
新手最先接触到的还是上述几个运算符,其他的暂时接触不到,我们这就只粗略了解一下。
1.位运算
位运算符是在Python中操作二进制的运算符。
a = 10 #0b00001010
b = 20 #0b00010100
a & b #0b00000000
print(a & b) #输出为:0 0b00000000
# | 或
a | b #0b00011110
print(a|b) #输出为:30 0b00011110
# ^ 异或
a ^ b #0b00011110
print(a ^ b ) #输出为:30 0b00011110
通俗点来说就是看二进制相同位置的数字。
& 与 相同位置全为1,结果就是1
| 或 相同位置全为0,结果就是0
^ 异或 相同位置,相同为0,不同为1
2.成员 in
in的用法也很简单
print("he" in "hello") #输出为:True
该代码表示字符串"he"在"hello"里面存在。
注意字符串必须是连续显示的,比如:
print("ho" in "hello") #输出为:False
此时,输出结果为:False
另外还有几种表达形式,无论是列表,或者字典,都可以使用in:
print("ho" in "hello",100 in [100,200,300],"name" in {"name":"sss"})
# 输出结果为: True True True
其他运算符还有很多,在此就不进行过多的赘述了,新手把几种基础的运算符先运用熟悉才是重中之重。
总结
这篇教程简明扼要地讲解了Python运算符的核心用法。首先介绍运算符的基础概念,然后分类说明:算术运算符(+、-、*、/、//、%、**)实现数学运算;赋值运算符(=及复合形式如+=)用于变量赋值;比较运算符(>、<、==等)返回布尔值;逻辑运算符(and/or/not)遵循短路原则。文章通过典型代码示例展示各类运算符的具体行为,特别强调了除法转浮点、==类型匹配、and/or返回值规则等要点。