首页 新闻 会员 周边 捐助

下列哪种说法是错误的( )

0
[已关闭问题] 关闭于 2025-12-02 11:18
A
除字典类型外,所有标准对象均可以用于布尔测试
B
空字符串的布尔值是False
C
空列表对象的布尔值是False
D
值为0的任何数字对象的布尔值是False
 
 
Python中所有标准对象都可以用于布尔测试,包括字典
在Python中,布尔测试有一些规则:
1. 任何对象都可以进行布尔测试
2. 以下情况的布尔值为False:
- None
- False
- 值为0的任何数值类型(0, 0.0等)
- 空序列(空字符串、空列表、空元组、空字典等)
- 空集合
*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1220
提问于:2025-12-02 11:16
< >
分享
所有回答(1)
0

A错误

  • {} 是空字典(dict),不是空集合。
  • 空集合(set) 在 Python 中必须用 set() 来表示。
print(bool(None))        # False
print(bool(False))       # False
print(bool(0))           # False
print(bool(0.0))         # False
print(bool(0j))          # False
print(bool(''))          # False
print(bool([]))          # False
print(bool(()))          # False
print(bool({}))          # False
print(bool(set()))       # False
print(bool(range(0)))    # False

虽然上面测试都是False,

但是

bool([]) # False

[] == False # False(不是 True!)

bool(x) 是“真值测试”(truthiness),而 x == False 是“值相等比较” —— 它们是两种完全不同的操作

不同类型的对象(除了数字类型之间如 0 == 0.0)通常不相等,容器类型(如 list、dict)与布尔值 True/False 永远不相等,即使它们的布尔值是 False

*Tesla* | 园豆:1220 (小虾三级) | 2025-12-02 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册