Python中的布尔值(bool)与空值(None)

空值

python中一种特殊的值,用None表示,空值的类型也是一种特殊数据类型

None不能理解为0,因为0是有意义的,而None是一个特殊值。

空值通常用作默认值使用

创建一个空值

a = None

print(a)

print(type(a))

图1

布尔:
用来存储一个真或假的数值,只有真 True或者假 False两种值
True 和 False 是 Python 中的关键字,当作为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错
布尔值可以当作一个整数来对待,即 True 相当于整数值 1,False 相当于整数值 0
下方运算是可以执行的,只用于示例,实际运用中是不可以这样去用的
print(False + 1)
print(True + 1)

图2
推荐一个Python学习交流的裙,大家学习Python的过程中遇到什么问题都可以进来一起交流讨论,共同进步。群里禁广告哦!610 380 249

创建一个布尔值
boo = True
print(boo)
print(type(boo))
boo1 = False
print(boo1)
print(type(boo1))

图3

布尔值的使用

布尔值一般存在于if判断语句、while循环、for循环中,用于判断条件真或假

布尔值使用场景:流程控制,逻辑分支

两个数值在比较时会产生布尔值

a == b

a>=b

……

布尔数据类型转换

布尔转换为其它数据类型

布尔转换为int

True转换为int是:1,False转换为int是:0

b = True

c = False

b1 = int(b)

print(b1)

print(type(b1))

c1 = int©

print(c1)

print(type(c1))

布尔转换为str

c2 = str©

print (c2)

print(type(c2))

图4

其它类型转换为布尔

空值转换为布尔

d = None

print(bool(d))

int转换为布尔

数字转换布尔,只有0转换为False,其余数字都是True

f = -100

print(bool(f))

f1 = 0

print(bool(f1))

图5

str转换为布尔,任意有数据的字符串转换为布尔值都为True

c3 = “Hello”

e5 = bool(c3)

print (e5)

print(type(e5))

r = 123

e6 = bool®

print(e6)

print(type(e6))

只有字符串为空字符串时转换为布尔值为False,双引号中什么数据都没有

t = “”

e7 = bool(t)

print(e7)

print(type(e7))

图6

list转换为布尔:空列表转换为False,有数据的列表转换为True

g = []

print(bool(g))

g1 = [“12”,“23”]

print(bool(g1))

tuple转换为布尔

h = (1,2,3)

print(bool(h))

h1 = ()

print(bool(h1))

dict转换为布尔

j = {“we”:“123”,“fd”:234}

print(bool(j))

j1 = {}

print(bool(j1))

set转换为布尔

k = (“123”)

print(bool(k))

k1 = set()

print(bool(k1))

图7

list,tuple,dict,set中如果存在数据,转换为布尔都是True,空的就是False

特殊值False和None、各种类型(整数,浮点数等)的数值0、空序列(空列表,空元组,空字符串)、空字典都视为假,其他各种值都为真,包括特殊值True.

逻辑运算符,布尔值的运算

and 逻辑与

or 逻辑或

not 逻辑非

x = True

x1 = False

x2 = not x

print(x)

print(x2)

x3 = not x1

print(x1)

print(x3)

x4 = x and x1

print(x4)

x5 = x or x1

print(x5)

图8

and 与 所有条件为真,结果为真,有一个为假,结果为假

or 或 所有条件假,结果为假,有一个为真,结果为真

not 非 相反

### 如何在Python中检查空值 在处理数据时,检查空值是一项常见的操作。以下是几种方法来检测 `None` 或者其他形式的缺失值。 #### 使用 Pandas 库 Pandas 提供了多种工具用于识别和管理缺失的数据。可以通过函数 `.isnull()` 和 `.notnull()` 来分别判断哪些单元格为空或者不为空[^2]。 ```python import pandas as pd df = pd.DataFrame({ 'A': [1, 2, None], 'B': ['foo', None, 'bar'] }) print(df.isnull()) ``` 上述代码会返回一个布尔 DataFrame,其中每个位置表示对应原始 DataFrame 中是否存在空值。 如果希望统计每列中的空值数量,则可以使用如下方式: ```python missing_values_count_per_column = df.isnull().sum() print(missing_values_count_per_column) ``` 对于整个 DataFrame 的任何地方是否有空值,也可以通过简单的一行命令完成: ```python any_missing_value_in_dataframe = df.isnull().values.any() print(any_missing_value_in_dataframe) ``` #### 原生 Python 方法 除了依赖外部库外,在纯 Python 环境下同样能够有效地查找列表或其他可迭代对象内的空项。比如: - 判断单个变量是否为 `None` 类型可以直接比较; - 对于字符串来说,“空”的定义可能还包括长度为零的情况;因此需要额外考虑这些情形。 下面展示了一些基本的例子: ```python value = None if value is None: print("Value is null") string_val = "" if not string_val.strip(): print("String is empty or contains only whitespace") ``` 当面对更复杂的数据结构如字典或集合时,可以根据具体需求调整逻辑。例如移除特定键对应的值如果是 `None` 就将其删除的操作可以用到自定义的方法[^1]: ```python class CustomSet(set): def discard(self, value): super(CustomSet, self).discard(value) custom_set_instance = CustomSet([1, 2, None]) custom_set_instance.discard(None) print(custom_set_instance) # Output should be {1, 2} ``` 另外需要注意的是,在某些场景下我们可能会遇到返回值类型固定的需求,即使内部实际并无有效载荷也需给出占位符响应——这通常涉及到 C 扩展编写期间如何适配 Python 层面接口设计的问题[^3]。 最后提及的一个例子来源于异步框架下的 API 实现片段[^4],它展示了基于分页查询博客文章摘要信息的同时兼顾无记录情况下的优雅降级策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值