Python基础 - 使用not简化代码

liftword1个月前 (03-18)技术文章16

Python中的 not 是一个逻辑运算符,不仅可以用于布尔值,也可以用于非布尔值,用于非布尔值时,该值会被隐式地转换为布尔值。

具体来讲,if not v 在以下几种情况会返回 True:

  • v 是 False。
  • v 是 None。
  • v 是空容器(如空字符串 ""、空列表 []、空元组 ()、空字典 {} 等)。
  • v 是数值类型中的 0 或 0.0。

基于 not 的这种用法,可以在某些时候简化代码。

例如,字符串 my_str 可能的取值有 None、""等,一般判断 my_str 是否有效的方法是:

if my_str is None or my_str == "":
    print('my_str is None or empty')

使用 not 进行判断可以写成:

if not my_str:
    print('my_str is None or empty')

如果要明确区分出变量是 None、空字符串或空容器等,就不能用 if not v 这种形式进行判断。

关于 not 更多的用法示例如下:

if __name__ == '__main__':
    v = False
    if not v:
        print("v is False")  # 会执行这一句

    v = None
    if not v:
        print("v is None")  # 会执行这一句

    v = ""
    if not v:
        print("str is empty")  # 会执行这一句

    v = []
    if not v:
        print("list is empty")  # 会执行这一句

    v = ()
    if not v:
        print("tuple is empty")  # 会执行这一句

    v = {}
    if not v:
        print("dict is empty")  # 会执行这一句

    v = 0
    if not v:
        print("v is 0")  # 会执行这一句

需要注意的是,如果 v 是自定义对象,if not v 的行为取决于该对象的 __bool__ 或 __len__ 方法。

相关文章

全网最良心的,Python零基础入门必背代码大全!赶紧码住收藏!

前言Python作为一门简洁而强大的编程语言,广泛应用于数据分析、Web开发、人工智能等领域。本文将为您整理一份Python入门必背的代码大全,帮助您掌握常用的Python代码片段,快速入门并提升编程...

从青铜到王者:Python代码注释与规范养成指南

导语:在编程世界中,优秀的代码如同优美的诗篇。今天我们将通过三个关键维度,解锁让Python代码既专业又优雅的终极密码。无论你是刚入门的开发者,还是想提升团队协作效率的工程师,这些技巧都将助你写出令人...

有哪些好玩的 Python 代码?

Python 是一门非常强大且灵活的编程语言,它不仅可以用来编写复杂的软件应用,还能用来创造一些有趣的小程序和游戏。以下是一些好玩的 Python 代码示例,涵盖了基础语法、字符串处理、图形绘制等多个...

小白起飞记之Python{0} 前言

使用 Python 学习编程Python 可以说是目前最受欢迎的专业编程语言之一,我们将使用最新版本的 Python 3 来学习编程。通过这次学习之旅,你将学到什么呢?学习 Python 编程语言的基...

python基础函数

Python 函数是代码复用的核心工具,掌握基础函数的使用是编程的关键。以下是 Python 函数的系统总结,包含 内置函数 和 自定义函数 的详细用法,以及实际应用场景。一、Python 内置函数(...

需要知道12 个 Python 单行代码1

#1.列表交集查找两个列表之间的共同元素,例如将来自不同广告系列的客户列表相交l1 = [1, 2, 3] l2 = [2, 3, 4] list(set(l1) & set(l2)) list(se...