大数据 爬虫Python AI SqlPython中文社区编程语言爱好者

Python_0基础:5.运算符

2022-05-23  本文已影响0人  liang_820

一、算数运算符

下面以a=10,b=20为例进行计算:

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数 或 一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘 或 返回一个被重复若干次的字符串 a * b 输出结果 200
/ b / a 输出结果 2
// 取整除 返回商的整数部分 9 / 2 输出结果 4 、 9.0 / 2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 指数 a ** b 为10的20次方
() 小括号 提高运算优先级,比如:(1+2)*3
a = 3
b = 2

print(a + b)    # 5
print(a - b)    # 1
print(a * b)    # 6
print(a / b)    # 1.5
print(a // b)   # 1
print(a % b)    # 1
print(a ** b)   # 9
print((5 + 1) * 2)  # 12

扩展:

字符串的加法,是进行拼接的

# a = '123'
b = '456'

print(a + b)    # 123456

在Python中,‘+’号两端都是字符串才可以进行加法运算

a = '123'
b = 456

# print(a + b)    # 123456
print(a + str(b))   # # 123456

字符串的乘法,是将字符串重复多少次

a = '我爱你 你爱我 蜜雪冰城甜蜜蜜'
print(a * 3)    # 我爱你 你爱我 蜜雪冰城甜蜜蜜我爱你 你爱我 蜜雪冰城甜蜜蜜我爱你 你爱我 蜜雪冰城甜蜜蜜

注意:混合运算时,优先级顺序为:**高于* / % //高于+ -,为了避免歧义,建议使用()来处理运算符优先级。

并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。


二、赋值运算符

运算符 描述 实例
= 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1+2*3 ,结果num的值为7
a = 10
print(a)    # 10
b = c = 20
print(b)    # 20
print(c)    # 20
d, e, f = 1, 2, 3
print(d)    # 1
print(e)    # 2
print(f)    # 3

三、复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a <==> c = c + a
-= 减法赋值运算符 c -= a <==> c = c - a
*= 乘法赋值运算符 c *= a <==> c = c * a
/= 除法赋值运算符 c /= a <==> c = c / a
//= 取整除赋值运算符 c //= a <==> c = c // a
%= 取模赋值运算符 c %= a <==> c = c % a
**= 幂赋值运算符 c * *= a <==> c = c * * a

示例:

a = 1
a += 2  # a = a + 2
print(a)    # 3
c = 2
c -= 1  # c = c -1
print(c)    # 1
b = 1
b *= 3  # b = b * 3
print(b)    # 3
d = 3
d /= 2  # d = d / 2
print(d)    # 1.5
e = 3
e //= 2     # e = e // 2
print(e)    # 1
f = 3
f %= 5  # f = f % 5
print(f)    # 3
g = 5
g **= 3  # g = g ** 3
print(g)    # 125

四、比较运算符

比较运算符返回的都是Boolean类型的数据

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于:比较对象是否相等 (a == b) 返回 False
!= 不等于:比较对象是否不相等 (a != b) 返回 True
> 大于:返回x是否大于y (a > b) 返回 False
>= 大于等于:返回x是否大于等于y (a >= b) 返回 False
< 小于:返回x是否小于y (a < b) 返回 True
<= 小于等于:返回x是否小于等于y (a <= b) 返回 True
a = 10
b = 20
print(a == b)  # False
a = 10
b = 20
print(a != b)  # True

扩展:<> python 2版本使用,python 3遗弃

print(10 > 20)  # False
print(10 > 5)   # True
print(10 >= 10)     # True
print(10 >= 20)     # False
print(10 < 20)      # True
print(10 < 5)       # False
print(10 <= 10)  # True
print(10 <= 20)  # True

五、逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 只要有一个运算数是False,结果就是False
只有所有的运算数都为True,结果才是True
做取值运算时,取第一个为False的值,如果所有的值都为True时,取最后一个值
True and True and False 结果为False
True and True True 结果为True
or x or y 只要有一个运算数是True,结果就是True
只有所有的运算数都为False时,结果才是False
做取值运算时,取第一个为True的值,如果所有的值都为False时,去最后一个值
False or False or True 结果为 True
False or False or False 结果为False
not not x 布尔“非”
如果x为True,返回False;
如果x为False,返回True
not True 结果为 False

and两边的数据,必须全都是True的时候,才会返回True;只要有一端返回的是False,那么就返回False。

# and两边都是False的时候,返回的是False
print(10 > 20 and 10 > 11)  # False

# and一端是True,一端是False,返回的是False
print(10 > 5 and 10 > 11)   # False

# and一端是False,一端是True,返回的是False
print(10 > 11 and 10 > 5)   # False

# and两端都是True,则返回的是True
print(10 > 5 and 10 > 6)    # True

or的两端只要一端是True,那么结果就是True

# or两端都是False,则返回的是False
print(10 > 20 or 10 > 21)   # False

# or两端前面是True,后面是False,那么返回的是True
print(10 > 5 or 10 > 20)    # True

# or两端前面是False,后面是True,那么返回的是True
print(10 > 20 or 10 > 5)    # True

# or两端都是True,那么返回的是True
print(10 > 5 or 10 > 6)     # True
print(not True)     # False
print(not False)    # True

print(not(10 > 20))  # True

性能提升:

面试题:以下代码的输出结果是什么,为什么会有这样的输出。

a = 34

a > 10 and print('hello world')
a < 10 and print('hello world')

a > 10 or print('你好,世界')
a < 10 or print('你好,世界')
a = 36

a > 10 and print('hello world')     # hello world

# 当and前面的结果是False的情况下,那么后面的代码就不再执行了
a < 10 and print('hello world')
# or只要有一方为True,那么结果就是True
a = 38

a > 39 or print('你好,世界')    # 你好,世界
a > 37 or print('你好,世界')
上一篇 下一篇

猜你喜欢

热点阅读