Python基础8笔记

1、if ... else ... 函数 判断

前面学习了if ... else ... 表达式,要知道Python会对条件进行判断,条件表达式的结果只能是True和False,结果是一个布尔值,也就是布尔表达式。

rent = 3500

print(rent <= 3000)

结果是False

money = 13000
price = 7500

# 小贝的存款够买一个新手机吗?
enough = money >= price
print(enough)
# 输出:True

注意 enough = money >= price 这行代码,出现的第一个等号 = 是赋值的意思,后面跟的条件表达式 money >= price 作为一个整体被赋值给变量 enough

变量 money 的值是 13000,显然比 price 的值 7500 更大,所以,money >= price 的值是 True,最终布尔值 True 就被赋值给了变量 enough

2、布尔类型转换

Python 中所有的数据类型,包括讲过的和没讲过的,都可以用 bool() 函数转换为布尔值。具体的转换规则如何呢?我们从整数和浮点数开始,看几个简单的例子:

print(bool(0))
# 输出:False

print(bool(0.0))
# 输出:False

print(bool(1))
# 输出:True

print(bool(123))
# 输出:True

print(bool(-1))
# 输出:True

print(bool(-123.0))
# 输出:True
print(bool(''))
# 输出:False

print(bool(' '))
# 输出:True

print(bool('0'))
# 输出:True

print(bool('ab'))
# 输出:True

上面展示了整数 0, 1, 123, -1 和浮点数 0.0, -123.0 的转换结果,可以发现,除了 bool(0) 和 bool(0.0) 的转换结果是 False 之外,其他数字的转换结果都是 True

True 和 False 用于表示数据的  和 。0 和 0.0 都代表着“什么都没有哦”,所以,它俩会被转换成 False,而其他不等于 0 的数据,无论是正数还是负数转换结果都是 True

提示:注意 '' 和 ' ' 的区别。前者是空字符串,后者引号里有一个空格。

每种数据类型中,各自都有且 只有一个 能被转换成 False 的值,表示“什么也没有”,在字符串中,是空字符串 '',在整数中,是 0 ,在浮点数中,是 0.0。它们会被 bool() 函数转换成 False,而其它的所有数据的转化结果都是 True

另外,无 return 函数会默认返回一个 None,它也会被转化为 False

利用 数据可以转换成布尔类型 这个特点,我们可以用 if 语句很方便地检查某个数据是否为 0 或为空,具体做法是,把这个数据接在 if 后面作为判断条件,举个例子:

data = ''

if data:
  print(data)
else:
  print('这是个空字符串哦')
# 输出:这是个空字符串哦

if 会强制对其后的数据执行布尔类型转换,我们完全可以把 if data: 理解成 if bool(data):

不管 data 的内容是什么,经过转换后只有两个结果:True 或 False,这样 if 就能“拿到”True 或 False 作为执行代码的判断依据啦。

如果 data 中的数据不为 0 也不为空,那转换后的结果就是 True,Python 就会执行 if 分支的代码,否则就执行 else 分支的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值