数据类型之间的转换
mindmap
(本课知识点)
数据类型转换
隐式转换
显式转换
eval["eval()内置函数"]
隐式类型转换
进行数字加法运算时,Boolean 类型变量,隐式转换为数字 1 进行运算。
显式转换
函数 |
描述 |
int(p) |
将参数 p 转换为整数类型 |
float(p) |
将参数 p 转换为浮点数类型 |
str(p) |
将参数 p 转换为字符串类型 |
chr(p) |
将参数(整数)p 转换为一个字符 |
ord(p) |
将参数 p 转换为对应的整数值 |
hex(p) |
将参数 p 转换为十六进制字符串 |
oct(p) |
将参数 p 转换为八进制字符串 |
bin(p) |
将参数 p 转换为二进制字符串 |
int(parameter)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
pi = 3.1415926 temperature = -93.2 price = 99.9 print('float 类型转 int 类型:', int(pi)) print('float 类型转 int 类型:', int(temperature)) print('float 类型转 int 类型:', int(price)) string_int = '99' string_float = '9.9' string_num = '1E2' string_bit = '1000' print('str 类型转 int 类型:', int(string_int)) print('二进制字符串转换为十进制:', int(string_bit, 2))
|
float(parameter)
1 2 3 4
|
print('int 类型转换为 float 类型:', float(20), type(float(20))) print('str 类型转换为 float 类型:', float('20'), type(float('20')))
|
str(parameter)
1 2 3 4 5 6 7
|
int_str = 10 print('int 类型转 str 类型:', str(int_str), type(str(int_str)))
float_str = '3.1415926' print('float 类型转 str 类型:', str(float_str), type(str(float_str)))
|
+ 的使用
1 2
| print('100' + '200') print(int('100')+int('200'))
|
chr(parameter)
1 2 3
| int_ascII_str = 33 chr(int_ascII_str)
|
进制转换
1 2 3 4 5 6
| print('33 转换为二进制:', bin(33))
print('33 转换为八进制:', oct(33))
print('33 转换为十六进制:', hex(33))
|
思考:
- 与 0xf2 值相等的是(342,242,0b11010010,0o362)
算法:$ 2 * 16^0 + 15*16^1 = 2 + 240 = 242$
eval(parameter) 函数的使用
Python 内置函数,用于去掉字符串最外侧的引号,并按照 Python 语句方式执行去掉引号后的语句
语法格式:variable=eval(string)
1 2 3 4 5
| str_equation = '1.1 * 3'
equation = eval(str_equation) print(equation, type(equation))
|
eval() 函数经常与 input() 函数一起使用
N 个路灯间
1 2 3 4 5 6 7
| input_distance = input('请输入两个路灯之间的距离(单位:m):') input_num=input('请输入路灯的数量:') total_distance=eval(input_distance)*(eval(input_num)-1)
print(type(input_num), type(input_distance)) print(input_num+'个路灯之间的距离是:', total_distance , 'm') print('%s个路灯之间的距离是%d米'%(input_num, total_distance))
|
print 中的占位符
%s 字符串占位符
%d 数字占位符
改造以上案例
1 2
| ... print('%s个路灯之间的距离是%d米'%(input_num, total_distance))
|