开发者学堂课程【Python 入门 2020年版:转换成为布尔值】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10247
转换成为布尔值
整数的表示
1.不同进制的数据表示方式:
①二进制-python 里的二进制使用0B 开头,0b110101
②八进制-python 里的二进制使用0o 开头,0o110101
③十六进制
④十进制
2.不同进制之间手动的转换
3. 使用内置函数实现数字在不同的进制间的转换
①Bin:将数字转换成为二进制
老师就列了一个大纲,二进制需要什么函数,八进制需要什么函数,斗自己往里面补充完整,我给大家打个样,二进制-python 里的二进制使用0B 开头;八进制-python 里的二进制使用0o 开头,就这样补充进去。
二、数据类型的转换
1.转换成为整数
①使用 int 内置类将数据转换成为整数 int(‘123’)
②带进制的转换-int(‘1a2b,16b’)
③如果不能被转换为数字-会报错 int(‘hello’)
2.转换成为浮点数-使用 Float 内置类
3.转换成为字符串-使用 str 内置类
4.转换成为布尔值
08-转换成为布尔值
使用 bool 内置类可以将其它数据类型转换成为布尔值,
使用 bool 内置类可以实现这个功能
#使用 bool 内置类可以将其它数据类型转换成为布尔值
我们来看看是怎么转换的:
比方说:来个100,
Print(bool(100)) #将数字100转换成为布尔值
(运行结果是 True,就是说这个100这个数字运行的结果是 True)
Print(bool(-1)) #-1转换成为布尔值也是 True
那那个数字转换才是 False 呢?那就是0,运行试试看
Print(bool(0)) #False
#数字里,只有数字0被转换成为布尔值是 False,其它数字转换成为布尔值都是 True
(除了数字能转换成为布尔值之外还有很多东西,比方说除了数字之外还有字符串,下面来看下字符串怎么转换成为布尔值)
来看一下字字符串转换的结果
Print(bool(
‘
hello
’
)#True
Print(bool(
‘
False
’
)#True
(运行一下,结果还是 True。
提一个问题:有一个字符串叫 False,把这个字符串 False 转换成为布尔值,它的结果是什么,很明显 False 转换成为布尔值,结果还是 True)
(到底那个字符串才能转换成 False 呢,如果字符串是空字符串呢,转换成布尔值会怎么样,结果是 False)
Print(bool(‘ ’)) 我问一下,这是字符串吗,是的,他是空字符串,运行一下
Print(bool(
‘
’
)) #False
#字符串里,只有空字符串’ ’/” “可以转换成为 False,其它字符串都转换为 True
(除此之外还有什么能转换成为布尔值是 False)(来看一下 None 转换成为布尔值是怎么样的,给大家写一个,None,None表示没有,我们看 None 转换成为布尔值的结果是什么)
# None 转换成为布尔值是 False
Print(bool(None))#False
(如果 None 加引号呢,结果会不会变,如果这样写就是字符串了,所以结果就是 True ,因为字符串里,只有空字符串’ ’/” “可以转换成为 False,其它字符串都转换为 True)
Print(bool(‘None’)) #True
除此之外,还有什么转换成布尔值也是呢 False,一起来看一下:
【’zhangsan’,’lisi’,’wangwu’] 这是个列表,
列表【】空列表,转换成布尔值呢?
Print(bool(【】)) #False
来看这样写(1,2,3,4,5),这是什么还记得吗?元组,对。
如果把里面的东西都删掉呢
bool(),这是个空元组啊,转换成布尔值结果也是 False
Print(bool(()) #False
除此之外还有 空字典{ },转换成布尔值也是 False
Print(bool({|}) #False
这就是概念,写完这个就可以总结了:在 python中,只有空字符串“”,‘’,数字0,空列表【】,空字典{},空元组(),和数据 none会被转换成 False,其他都会被转换成 True。
# 集合
集合的表现方式
我们来写一个 name
# {‘name’:zhangsan’,’age’:18} 问大家,这是集合还是字典,这是字典啊。
# (1,2,3,4)
注意,集合的表现方式和字典不同,{} 是空字典,不是空集合
# {} # 空字典
空集合怎么来呢
S=set() # 空集合
Print(bool(s))
空集合转换成布尔值也是 False
# 数字0,空字符串’ ‘/“ ”,空列表【】,空元组(),空字典{},空集合 set(),空数据 None 会被转换成 false,其他都会被转换成 True
在计算机里面怎么保存 False,True呢
# 在计算机里, False 和 True 其实就是使用数字1和数字0来保存的
也就是什么意思呢,也就是+1
Print(Ture+1) #2
Print(False+1) #1
也就是 Ture 当数字1来用,False当数字0来用,这就是转换成为布尔值, True 其实就是使用数字1, False 就是使用数字0来保存的,这就是概念。
接下来看几个场景
#隐式类型转换
简单讲一下
If 3>2:
Print(“hello”)
hello会不会被输出,肯定会,因为3>2.
写一个
If 3:
Print(“GOOD
”)
大家觉得 good会不会输出? 会输出成 True.
If 0:
Print(“GOOD”)
这样会被输出吗,这是不会的。