Python快速入门(2025版):逻辑运算符详解

在编程的世界里,Python就像是一把万能钥匙,能打开各种复杂问题的大门。今天,我们就来深入了解Python中的逻辑运算符,这可是编程中非常重要的一部分哦!

一、引入

在Python里,当我们要比较数据的大小、判断是否相等时,可以直接使用比较运算符,像 <>==!=>=<= 等。但在实际应用中,很多时候不仅仅是简单的大小对比,还会涉及到 “并且”、“或者”、“不” 这样的逻辑关系。

举几个例子:

  • 成年 并且 女性
  • 本科生 或者 研究生
  • 是18周岁以下学生

为了实现这些逻辑关系,Python 提供了逻辑运算符:

  • and 实现 并且 的功能
  • or 实现 或者 的功能
  • not 实现 的功能

这里的 “并且”、“或者”、“不” 是为了方便大家理解而起的名字,在专业术语中,它们分别被称为 “与”、“或”、“非”。

二、逻辑运算符

1. 逻辑运算符有哪些

  • and
    • 实现 的功能,通俗来讲就是 并且。一般的用法是:两边都为 True,结果才为 True
      例如:
# 100 > 50结果为True ,90 < 200结果为True,就相当于 True and True 所以最后结果是True
print(100 > 50 and 90 < 200)
  • or
    • 实现 的功能,也就是 或者。一般用法是:两边只要有一个 True,结果就为 True
      例如:
# 100 > 50结果为True , 90 > 200结果为False,就相当于 True or False 所以最后结果是True
print(100 > 50 or 90 > 200)
  • not
    • 实现 的功能,即 。一般用法是:如果之前结果为 True,那么 not True 就是 False;如果之前是 False,那么 not False 就是 True
      例如:
# 本来100>50的结果是True,但前面加了not就相当于反义,所以最后结果为False
print(not (100 > 50))  # 结果为False
# 本来100<50的结果是False, 但前面加了not其反义的作用,所以最后结果是True
print(not (100 < 50))  # 结果为True

2. 逻辑运算符与比较运算符一起使用

  • demo1
    • 需求:怎样实现用户名与密码同时都相同呢?
    • 参考代码
name = input("请输入用户名:")  # 获取用户名
password = input("请输入密码:")  # 获取密码

print("用户名和密码相同吗?")

# 输出用户名与密码是否相同
print(name == "dong4716138@163.com" and password == "123456")
  • demo2
    • 需求:怎样实现老板或者领导就能开门呢?
    • 参考代码
role = "老板"  # 定义角色变量,存储职位

print("能开门吗?")
print(role == "老板" or role == "领导")  # 输出结果
  • demo3
    • 需求:怎样实现不小于18岁的判断呢?
    • 参考代码
age = 20

print("大于18岁吗?")

# 方式一:直接用比较运算符
print(age > 18)

# 方式二:用了比较运算符与逻辑运算符
print(not(age <= 18))
  • demo4
    • 需求:年龄在18~50之间的女性
    • 参考代码
age = 20
gender = "女性"

print("符合要求吗?")

# 方式1:简单的写法
print(18 <= age <= 50 and gender == "女性")

# 方式2:一般的写法
print(age >= 18 and age <= 50 and gender == "女性")
  • demo5
    • 需求:年龄在 18~50 之间的女性或者 18~60 岁之间的男性
    • 参考代码
age = 20
gender = "男性"

print("符合要求吗?")
print((18<=age<=50 and gender == "女性") or (18<=age<=60 and gender == "男性"))

三、特殊情况下的逻辑运算符

我们一般使用逻辑运算符时,左右两边的结果是 True 或者 False,最后得到一个 True 或者 False。但有时逻辑运算符的左右两边不是 True 或者 False,这种情况我们就需要特别注意。

1. and

看下面的示例,猜猜结果是多少:

print(100 and 200)  # 输出什么呢?
print(100 and 100>50)  # 输出什么呢?
print(0 and 200)  # 输出什么呢?
print(0 and 100>50)  # 输出什么呢?

运行结果:

200
True
0
0

为什么会这样呢?想要搞懂这个问题,需要明白两点:

  • 第一点:Python 中有布尔类型,即 TrueFalse,用 True 表示 ,用 False 表示 。而在一些其他编程语言(如 C 语言)中没有布尔类型,为了表示 ,C 语言规定只要数字 不是 0,无论是正数还是负数,统统表示 ,只要是 0 就表示 。后来,虽然 Python 发明了 TrueFalse,但依然保留了这种开发者习以为常的习惯,所以 Python 中也用非 0 表示 ,0 表示
  • 第二点:and 实现的是两边都是 True 最后结果才是 True,否则是 False。它还有个隐藏功能,如果左边的表达式不是 True,那么右边根本不会执行,且将左侧的值当做最后结果;如果左边的表达式是 True,那么右边才会执行,且将右侧的值当做最后的结果。这是因为 and 的功能,既然左侧已经为 了,就没必要看右边了,结果一定是 ,只不过此时把左侧的结果当做最后结果而已。

根据上述两点来看:

  • print(100 and 200),因为 100 不是 0,所以 and 左边为 ,接下来执行右边,此时将 200 当做最后的结果。
  • print(100 and 100>50),因为 100 不是 0,所以为 ,执行右边 100>50 且将它的结果当做最后的结果,所以最后为 True
  • print(0 and 200),因为 and 左侧为 0,所以为 ,不会执行右边,且将左边的结果当做最后结果,所以最后为 0。
  • print(0 and 100>50),原因与上一条一样,结果为 0。

2. or

有了前面 and 的经验,再看 or 就简单多了。or 的特殊规则如下:

  • 如果左边为 ,那么就把左边的值当做最后的结果。
  • 如果左边为 ,那么就把右边的值当做最后的结果。

or 之所以有这样的功能,是因为 or 的功能,既然左侧已经为 了,就没必要看右边了,结果一定是 ,只不过此时把左侧的结果当做最后结果而已。

来试试看,掌握了没有:

print(100 or 200)  # 输出什么呢?
print(100 or 100>50)  # 输出什么呢?
print(0 or 200)  # 输出什么呢?
print(0 or 100>50)  # 输出什么呢?

运行结果如下:

100
100
200
True

如果还不知道为什么,建议把上面的知识再好好看一遍,只有知道原因才是真正学会了。

四、总结

逻辑运算符表达式描述实例
andx and y布尔 “与”:如果 xFalsex and y 返回 False,否则它返回 y 的值True and False,返回 False
orx or y布尔 “或”:如果 xTrue,它返回 True,否则它返回 y 的值False or True,返回 True
notnot x布尔 “非”:如果 xTrue,返回 False。如果 xFalse,它返回 Truenot True 返回 Falsenot False 返回 True

更多学习内容可以参考 这里

通过今天的学习,相信大家对 Python 中的逻辑运算符有了更深入的了解。在实际编程中,合理运用逻辑运算符可以让我们的代码更加简洁、高效。大家可以多动手实践,加深对这些知识的理解和掌握。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值