Python数据类型的转换及格式化输出

175 阅读2分钟

「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战

数据类型的转换

输入数据转换类型的使用

使用input操作得到的数据都是字符串str类型的

s = input("输入数据:")      如果输入123,本应该是int,但是通过input就变成str类型的
print(type(s))

计算a+b的值,要求a和b都是通过键盘输入
通过类型转换将字符串转换为数字
a = float(input("输入数字:")) 本来input输入的都是字符串,如果字符串相加算的就是字符串拼接。用float将input的字符串类型强制转换为数字类型
b = float(input("输入数字:"))
print(a + b) 结果是精确小数点后面一位

格式化输出

1.格式化字符

引号包围的都是字符串,字符串不是数值类型

可以输入变量的字符串,可以显示变量不同值的信息。

占位符:::(在字符串里占位)

1.%s 字符串

name = str(input())
print("I name is %s" %name)      #我的名字是

2.%d 有符号十进制整数,%6d表示输出的整数显示的数位,不足的部分拿空格补全

student=int(input())
print("My student is %6d" %student)       #我的学号是

3.%f 浮点数,%.2表示小数后显示两位
%f(默认保留六位小数)写成%.2f的目的:0.010000变成0.01
%5.2表示小数后显示两位,总共显示五位,不足的在前面以空格补充,多的四舍五入
%-5.2表示向左对齐
%+5.2表示显示正负

price = float(input())
weight = float(input())
money = price * weight
print("Unit price is %.2f¥/kg, Weight is %.2f/kg, Money is %.2f¥"%(price,weight,money))       #单价是    重量是     花费

4.%% 输出%

scale = 0.25 * 100
print("The data ratio is %.2f%%"  %scale)       #数据比例是

5.%c 是ASCII字符 #把十进制的数据转换为对应的ASCII码

'%c'%66  输出结果为B     #因为B 的ASCII码为66

6.%o 是八进制 逢八进一

'%o'%8  输出为10
'%o'%9  输出为11
'%o'%16 输出为20

7.%x 是十六进制

8.%e 是科学技术法

例如:

print( 数据/变量 ) print(“包含1个占位符的格式化字符串” % 变量 ) print(“包含多个占位符的格式化字符串” % (变量1,变量2,…) )

name = "张三"
a = 38000
b = 27.31
print("姓名是%s,本月销售额是%d元, 团队销售额占比百分之%.2f%%" %(name, a, b))

(%s数字串 %d整数 %%输出% %f浮点数 %%输出%%6d整数,数字用于设置位数(最小值),不足补空白)