布尔类型和强制类型转换

[复制链接]

150

主题

445

帖子

1906

积分

审核员

Rank: 9Rank: 9Rank: 9

积分
1906
楼主
查看: 3680回复: 0 发表于 2020-7-21 13:19:04   只看该作者
1.布尔类型
布尔类型是一个真假类型,经常在判断语句中会使用到。布尔类型中包含True和False来代表真假。
Python的中的布尔值可以转化为数值,True为1,False为0.
我们在判断布尔类型对象的时候,如果值为0或者空序列或者None的时候判断为False,其他除了自定义对象的实例外,都是True对象。
看下面代码:
1
2
3
4
5
6
7
8
9
10
a = 1
b = 0
c = []
print(bool(a))
print(bool(b))
print(bool(c))
if bool(a):#如果a为True则执行下语句
     print('ok')
else:#如果a为False则执行下语句
     print('no')

输出结果:
1
2
3
4
True
False
False
ok

    2. 强制类型转换
Python是一门动态语言,在我们需要转换变量类型的时候十分方便。例如我们在输入一个浮点数,我们在输出的时候需要输出一个整数。
看下面例子:
1
2
3
4
5
test = float(input('输入一个浮点数:'))#在这里如的是一个整数
print('test变量现在的数据类型:',type(test))
test = int(test)#强制转换为整数,向下取整,舍去小数点后的数据
print('强制类型转换后的test:',test)
print('test变量现在的数据类型:',type(test))

输出结果为:
1
2
3
4
输入一个浮点数:666.666
test变量现在的数据类型:<class 'float'>
强制类型转换后的test:666
test变量现在的数据类型:<class 'int'>

我们在使用过程中可以通过float()、int()、str()、list()等直接对数据进行类型转换。
接下来列举一下常用的类型转换函数。
函数
功能
int(x)把x转换为整数
float(x)把x转换为浮点数
str(x)把x转换为字符串类型
list(x)把x转换为列表类型
chr(x)把x转换为一个字符
ord(x)把字符x转换为相应整数值
hex(x)把整数x转换为十六进制字符串
oct(x)把整数x转换为八进制字符串
1) 接下来看一个实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
a=666          #整数
b='dotcpp'        #字符串
c=['d','o','t']     #列表
d=8.8          #浮点数
print('先看一下a,b,c,d:\n',a,b,c,d)
print('字符串b的列表格式:')
print(list(b))             #转换为字符串
print('列表c的字符串格式:')
print(''.join(c))           #需要注意的是列表转换为字符串比较特殊
print('整数a的浮点格式:')
print(float(a))            #转换为浮点数
print('浮点数d的整数形式:')
print(int(d))             #转换为整数

    输出结果:
1
2
3
4
5
6
7
8
9
10
先看一下a,b,c,d:
  666 dotcpp ['d', 'o', 't'] 8.8
字符串b的列表格式:
['d', 'o', 't', 'c', 'p', 'p']
列表c的字符串格式:
dot
整数a的浮点格式:
666.0
浮点数d的整数形式:
8

2) 在编程的过程中难免要涉及到进制转换的问题,下面我们通过一个实例来了解一下Python的进制转换。
1
2
3
4
5
dec = int(input("输入数字:"))
print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))

    输出结果:
1
2
3
4
5
输入数字:22
十进制数为: 22
转换为二进制为: 0b10110
转换为八进制为: 0o26
转换为十六进制为: 0x16



快速回复 返回顶部 返回列表