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 |
下一节我们来学习Python的输入和输出。
1055 | 二级C语言-进制转换 |
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程