format函数_自学pythonD4:字符串格式化,format函数,进制转化

7b4f22b5e908c66ddfa8c91ce6915ddb.png
amount=12618.98
interestrate=0.0013
interest=amount*interestrate
print("interest is",interest)
#运行结果interest is 16.404674;因为利息是货币,我们一般只需要精确到分
print("interest is",round(interest,2))
#运行结果nterest is 16.4,小数点后面应该有两位小数,就像是16.40
print("interest is",format(interest,".2f"))
#运行结果interest is 16.40

format(item,format-specifier)

#这里的item是数字或者字符串,格式说明符号format-specifier指定条目item的格式,此函数返回一个字符串

格式化浮点数

正常情况下

print(1.12345,9.87,5.5)
print(1.1234,9.876,5.555)
print(1.123,9.8765,5.5)
print(1.12,9.87654,5.5555)
#运行结果
1.12345 9.87 5.5
1.1234 9.876 5.555
1.123 9.8765 5.5
1.12 9.87654 5.5555

10.2f;将数字格式化成宽度为10,包括小数点以及小数点后两位小数的字符串。这个数字被四舍五入到两位小数。这样,在小数点前分配7个数字。如果在小数点前的数字小于7,则在这个数字前插入空格。如果小数点前的数字大于7,则数字的宽度将会自动增加。

8a2e5c87214521bcb00ee8eaa5c8964b.png

案例:10宽度统一为10(小数点前面对齐)小数点后面5位(小数点后面对齐)

10.5f TIPS:这是是 “.” 不是“ ,”

print(format(1234.12345,"10.5f"),9.87,5.5)
print(format(123.1234,"10.5f"),9.876,5.555)
print(format(12.123,"10.5f"),9.8765,5.5)
print(format(1.12,"10.5f"),9.87654,5.5555)

#运行结果
1234.12345 9.87 5.5
  123.12340 9.876 5.555
    12.12300 9.8765 5.5
      1.12000 9.87654 5.5555

#对比分析,没有小于号右对齐,有小于号左对齐

print(format(1234.12345,"<10.5f"),9.87,5.5)
print(format(123.1234,"<10.5f"),9.876,5.555)
print(format(12.123,"<10.5f"),9.8765,5.5)
print(format(1.12,"<10.5f"),9.87654,5.5555)
#运行结果
1234.12345 9.87 5.5
123.12340   9.876 5.555
12.12300     9.8765 5.5
1.12000       9.87654 5.5555

也可以不写宽度符。这样就是默认为0,宽度就会根据格式化这个数所需的宽度自动设置。

print(format(1234.12345,".5f"),9.87,5.5)
print(format(123.1234,".5f"),9.876,5.555)
print(format(12.123,".5f"),9.8765,5.5)
print(format(1.12,".5f"),9.87654,5.5555)
#运行结果
1234.12345 9.87 5.5
123.12340 9.876 5.555
12.12300 9.8765 5.5
1.12000 9.87654 5.5555

用科学记数法格式化:如果将转化码f变成e,数字将被格式化为科学记数法

3ceef44bced6557f3bf9f001ee0e81d6.png

格式化成百分数:使用%作为转化码

4cb667dd49bdc1e38474d037287024de.png

格式化字符串:使用s作为转换码

9aa9b28ac3b7f2425ed09552773a4775.png

常用的说明符

d4d55fc4e59ed78f694696d624659917.png

[1]python最常见的是16进制

123=100+20+3=1*10^2+2*10 ^1+3*10 ^0=123

1010在2进制下计算=1*2^3+0*2^2+1*2^1+0*2^0=10

123在8进制下计算=1*8^2+2*8^1+3*8^0=83(8进制里面不能出现8)

num= 0x10    TIPS:这里是英文字母小写x不是乘号✖️
print(num)
#运行结果16,16进制

num=10    
print(num)
#运行结果10,10进制

num= 0b10
print(num)
#运行结果2,小写英文字母b代表2进制

num= 0o10
print(num)
#运行结果8,小写英文字母o代表8进制

参考

  1. ^编程计算器小知识10这个数字 HEX=A (hexadecimal 十六进制) DEC=10 (decimal 十进制) OCT=12 (octal 八进制的) BIN2=1010(binary 二进制 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值