欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的逻辑运算符、条件运算符、优先级、算术运算符、赋值运算符、比较运算符

程序员文章站 2022-05-18 16:41:56
...

Python之 逻辑运算符 | 条件运算符 | 优先级 | 算术运算符 | 赋值运算符 | 比较运算符

1 运算符基础介绍

(1)定义:运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”;

2 + 3
0 + 2
3 + 0

(2)运算符的分类:
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
条件运算符(三元运算符)

2 算术运算符

  • 加法运算符(+)
x = 1 + 2
x = 'Hello'+' '+'World'
  • 减法运算符(-)
    注意:得到一个负数或者是另一个数的值 这个数是整数或者是小数或者是负数 两个字符串是不能够做减法运算的
x = 5 - 7  # 结果为-2
x = 5 - True  #结果为4
x = 'Python' - 'y'  # 无法计算,报错
  • 乘法运算符(*)
    注意:两个字符串相乘(或者和一个整数)返回一个被重复若干次数的字符串
x = 'abc' * 3  # 结果:abcabcabc
x = 'abc' * -3  # 结果:空
x = 6 * -8 # 结果:-48
x = 5 * 0.5 # 结果:2.5
x = 'abc' * 0.5 # 结果:报错
print(x)
  • 除法运算符(/)
    注意:运算结果总会返回一个浮点类型
x = 6 / 2  #结果:3.05
x = 3 / 2  #结果:1.5
x = 5 / 0 # 报错:ZeroDivisionError: division by zero
print(x)
  • 整除运算符(//)
    注意:得到计算后的整数位,得到的是整数
x = 3 // 2
print(x)  # 结果:1
  • 取余运算符(%)
    注意:取余得到的是整数
x = 6 % 4 # 结果: 2 
x = 6 % 3 # 结果:0
  • 幂运算(**)
    注意:求一个值的几次幂
x = 2 ** 3  # 结果为 8
# 这是一种可以开平方的操作
x = 25 ** 0.5  # 结果为 6
print('x =',x)

3 赋值运算符

定义:就是赋一个值给一个变量

a = 10  # 将10赋值给a
a = 40
50 = a  # 报错,命名不能为50,且a为字符串

简化的赋值写法:

x += 3  # 相当于 x = x + 3
x -= 3  # 相当于 x = x - 3
x *= 3  # 相当于 x = x*3
x **=2  # 相当于 x = x**3
x /= 3  # 相当于 x = x/3 
x //= 3 # 相当于 x = x//3 
print('x =',x)

4 比较运算符

(1)定义:比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False。
(2)常用运算符:

  1. > : 比较左侧值是否大于右侧值
  2. >= : 比较左侧的值是否大于或等于右侧的值
  3. <: 比较左侧值是否小于右侧值
  4. <=: 比较左侧的值是否小于或等于右侧的值

数字间的比较

r = 10 > 20  # False
r = 30 > 20  # True
r = 30 < 20  # False
r = 10 >= 10 # True
r = 2 > True # True
r = 2 > '1'  # 报错
r = '2' > '1' # True,比较的是ASCII码

字符间比较
字符间比较的是ASCII码,两个对象的比较是第一个字符串,相等则递进比较下去

a = 'Jerry Python'
max(a)  # 结果:y
min(b)  #结果为 " " ,即空格
r = 'a' > 'b'  # False
r = 'c' < 'd'  # True
# 如果出现多个字符那么我们比较的方式是对外比较,比较的是字符串的第一个字符
r = '2' > '11' # True
r = 'ab' > 'b' # False

(3)特殊运算符:

  • == 比较两个对象的值是否相等
  • != 比较两个对象的值是否不相等
  • is 比较两个对象是否是同一个对象,比较的是对象的id
  • is not 比较两个对象是否不是同一个对象,比较的是对象的id
    注意:一个对象包括了id、数值、标签
    一篇通俗易懂介绍python中的对象:link

r = 3 == 3 # True
r = 'hello' == 'hello' # True
r = 'abc' == 'bcd' # False  比较的是a和b
r = 'abc' != 'bcd' # True
r = 1 == True # True

5 逻辑运算符

5.1 not 逻辑非

(1)定义:not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True

a = 1 # True
a = not a # Fasle
r = None # 0 空串 None ---> False
r = not r # True

5.2 and 逻辑与

  • and可以对符号两侧的值进行与运算。
  • 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
  • 与运算是找False的,如果第一个值为False,则不再看第二个值
r = True and True # True
r = True and False # False
r = False and True # False
r = False and False # False
r = False and print('Hello') #  输出为False,不执行后面语句
r = True and print('Hello') #  输出为Hello,执行后面语句
print('r =',r)  

5.3 or 逻辑或

  • 或运算两个值中只要有一个True,就会返回True
  • 或运算是找True的
# or 逻辑或 找 True
r = True or True # True
r = True or False # True
r = False or True # True
r = False or False # False
r = True or print('Hello') # 结束为True
  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
  • 非布尔值与运算的规则
    **与运算是找False的,如果第一个值是False,则不看第二个值。**如果第一个值是False,则直接返回第一个值,否则返回第二个值
# 非布尔值类型的与运算
#  True and True
r = 1 and 2 # 2 找False
r = 1 and 0 # 0
r = 0 and 1 # 0
r = 0 and None # 0
r = 2 and 1 # 1
  • 非布尔值或运算的规则
    **或运算是找True的,如果第一个值是True,则不看第二个值。**如果第一个值是True,则直接返回第一个值,否则返回第二个值
# 非布尔值类型的或运算 找True
# True or True
r = 1 or 2 # 1
r = 1 or 0 # 1
r = 0 or 1 # 1
r = 0 or None # None
r = 1 < 2 < 3 # True 1 < 2 and 2 < 3 两边都是True

6 条件运算符

(1)原理:条件运算符在执行时,会先对条件表达式进行求值判断:

  • 如果判断结果为True,则执行语句1,并返回执行结果
  • 如果判断结果为False,则执行语句2,并返回执行结果
    语法: 语句1 if 条件表达式 else 语句2
    python中的逻辑运算符、条件运算符、优先级、算术运算符、赋值运算符、比较运算符
    (2)应用
  • 比较大小值
# 两个值的比较
a = 30
b = 50
print('a的值比较大!') if a > b else print('b的值比较大!')
# 获取a和b之间的较大值
max = a if a > b else b 
print(max)
# 三个值的比较
a = 4
b = 8
c = 9
max_1 = a if a > b  else b 
max = max_1 if max_1 > c else c
print(max)
  • 编程实现用户登录
'''
提示登录的用户输入用户名和密码;
如果用户名和密码都输入正确, 则提示“欢迎登录”
如果用户名或密码输入错误,则提示“用户名或密码输入错误”
假定用户名是:steven,密码是:123456
'''
username = input("请输入用户名:")
password = input("请输入密码:")
result = "欢迎登录!"ifusername == "steven" and password == "123456"else"用户名或密码输入错误!"
print(result)

总结 :Python中的条件表达式如:c = a if a>b else b 先执行中间的if,执行完如果是True,就返回左边的结果,如果是False就返回右边的结果。

7 运算符的优先级

优先级关系为:( ) > not > and > or
运算符的优先级参考链接:link

python中的逻辑运算符、条件运算符、优先级、算术运算符、赋值运算符、比较运算符

a = 2 + 3 * 4  # 结果为14
a = 2 or 3 and 4 # 结果为2
print(a)
# 优先级关系为:( ) > not > and > or

a = not 4 > 2 and 5 > 6 or 3 < 4 # True ,首先 not 4 > 2 为False,然后 and 5 > 6 为False ,接着 or 3 < 4 为True。or为找True,所以是True
a = not( 4 > 2 and 5 > 6 or 3 < 4) # False,括号内为True, not True,即为False
print(a)
相关标签: python