Python 基础概念梳理

可变类型与不可变类型

可变类型 (Mutable)

  • 列表 (list)
  • 字典 (dict)

不可变类型 (Immutable)

  • 整型 (int)
  • 浮点型 (float)
  • 布尔型 (bool)
  • 字符串 (str)

📌 注意:可变类型可以在不创建新对象的情况下修改其内容,而不可变类型的值一旦创建就不能改变。

布尔值 (Boolean)

特点

  • 只有两个值:TrueFalse

  • False 的情况:

    • 0(数字零)
    • None
    • 空字符串 ""
    • 空列表 []
    • 空字典 {}
    • 空元组 ()
  • 其他所有值在布尔上下文中都被视为 True

逻辑运算

逻辑运算符

  1. not - 逻辑非
  2. and - 逻辑与
  3. or - 逻辑或

⚠️ 注意:运算符和紧跟其后的表达式是一个整体,不可分割。

示例代码

1. not 运算

1
2
3
4
5
6
7
print(not 0)        # True (0是False,取反后为True)
print(not 10) # False (非零数字是True,取反后为False)
print(not '') # True (空字符串是False)
print(not None) # True (None是False)
print(not 19 > 30) # True (19>30是False)
print(not True) # False
print(not False) # True

2. and 运算

1
2
3
4
print(True and False)       # False
print(True and None) # None (返回第一个假值)
print(True and 19 > 30) # False
print(13 > 30 and 30 > 13) # False

3. or 运算

1
2
3
4
print(True or 0)         # True (遇到第一个真值即返回)
print(True or 10 > 19) # True
print(False or True) # True
print(True or '') # True

运算符优先级

  1. not - 最高优先级
  2. and - 中等优先级
  3. or - 最低优先级

示例

1
print(10 > 30 and (not 0) or 10 > 943)  # False

短路求值(偷懒原则)

逻辑运算从左到右求值,一旦能确定结果就立即返回。

示例

1
print(10 > 30 and True and 10 > 9)  # False (第一个条件10>30已经是False)

总结表格

概念 说明 示例
可变类型 内容可修改 list, dict
不可变类型 值不可修改 int, float, bool, str
False情况 0/None/空容器 0, "", [], {}
not运算 取反 not True == False
and运算 返回第一个假值 True and False == False
or运算 返回第一个真值 False or True == True
优先级 not > and > or not x and y or z