在上一节课我们学习了变量的定义和基础数据类型,本节课我们来学习python的运算符。
算术运算符
算术运算符,顾名思义就是数学中我们用过的加减乘除,除此之外还有取整、求余、求幂等等。
加法运算
定义两个变量,求他们两个数字的和,例如:
a = 10 b = 20 print(a+b)
加法运算符还有另一种用法,可以连接两个字符串,例如:
s1 = "hello" s2 = "world" print(s1+s2)
a = 10
b = 20
print(a+b)
s1 = "hello"
s2 = "world"
print(s1+s2)
减法运算
两个数字相减,求它们的差,例如:
print(a-b),结果为-10
a = 10
b =20
print(a-b)
乘法运算
两个数字相乘,求它们的积,例如:
print(a*b),结果为200
乘法运算还有另一种用法,可以乘以一个字符串,得到多个相同的字符。例如:我要输出10个hello,可以写成print(s1*10)
a = 10
b = 20
s1 = "hello"
print(a*b)
print(s1*10)
除法运算
一个数字除以另一个数字,注意它的值为浮点数,例如:
print(b/a),结果为2.0
print(a/b),结果为0.5
如果要得到整数,需要使用整除,只会取整数部分,例如:
print(b//a),结果为2
print(10//3),结果为3
在除法运算中,如果一个数除不尽,那么我们获取这个结果的余数,例如:
print(10%3),结果为1
我们还可以使用round函数对一个小数进行四舍五入运算,第一个参数为小数,第二个参数为保留几位小数,例如:
print(round(10/3,2)),结果为3.33
a = 10
b = 20
print(b/a)
print(a/b)
print(b//a)
print(10//3)
print(10%3)
print(round(10/3,2))
需要注意的是,除数不能为0,否则会程序会报错。
求幂运算
如2的3次方等于8,3的3次方等于27,用代码表示为
print(2**3),结果为8
print(3**3),结果为27
print(2**3)
print(3**3)
算术优先级
同样遵循数学中的,先乘除后加减,有小括号优先计算小括号内的,例如:
print(2+3/2),结果为3.5
print((2+3)/2),结果为2.5
print(2+3/2)
print((2+3)/2)
赋值运算符
之前我们将变量定义的时候,给一个变量赋值,用等于号就可以了。例如:
name = “张三”,如果要给多个变量同时赋值,我们还可以这样操作,name,age,weight = "张三",18,55.5,这样可以同时给3个变量赋不同的值。如果要给多个变量赋相同的值,可以这样操作,如:student1_age = student2_age = student3_age = 18。
赋值运算还可以用来交换两个变量的值,例如我们要将上面a,b两个值交换,可以这样写,a,b = b,a
name,age,weight = "张三",18,55.5
print(name,age,weight)
student1_age = student2_age = student3_age = 18
print(student1_age,student2_age,student3_age)
a = 10
b = 20
a,b = b,a
print(a,b)
复合运算符
复合运算符,指的是把上述加减乘除和赋值运算符合并起来,给变量赋值。例如:a = 10
a+=1,可以拆解成a = a+1,结果为11
a-=1,可以拆解为a = a -1,.结果为10
a*=2,可以拆解成a = a*2,结果为20
a//=2。可以拆解为a = a/2,结果为10
a+=1
print(a)
a-=1
print(a)
a*=2
print(a)
a//=2
print(a)
比较运算符
比较运算符也叫做关系运算符,通常用来比较两个数值的大小或者判断两个值是否相等,一般用在条件判断语句中,结果是布尔值,True或False。
例如a = 19 ,b = 20 ,print(a>b),结果为False,print(a>=b),结果为False,print(a<b),结果为True,print(a<=b),结果为True,print(a==b)结果为Flase,print(a!=b),结果为True
print(a>b)
print(a>=b)
print(a<b)
print(a<=b)
print(a==b) #判断a是否等于b
print(a!=b) #判断是否a不等于b
逻辑运算符
逻辑运算符,也就是and、or、not,通常用来连接左右两个表达式,返回值是布尔型
and,多个条件同时满足,结果才为True,例如:print(a>0 and b>0),结果为True
or,只要有一个条件满足,结果就为True,如果两个条件都不满足,结果都为False,例如:print(a>10 or b>10),结果为True
print(a>100 or b >100),结果为False
not 取相反的值,例如:print(not a >b),结果为True,print(not b>a),结果False