Python中%的用法

一、运算符

在算术运算环境中,作为取余的运算符使用。

A%B:返回A除以B的余数。

print(7%3) #输出结果为1

二、占位符

1、%%

C语言中%%表示转义生成字符%

Python中当有类似%d、%f、%s等格式转换符时,如果需要在后面添加百分号,就需要在格式转换符后加双百分号%%。

print('%%')# 输出结果为%%
 
print('%d%%' % 100)# 输出结果为100%

2、%s,%r

%s使用str()方法处理对象,输出引号中的字符串。

%r使用rper()方法处理对象,输出带引号的字符串。

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

s="python"
print('输出:%s'%s)# 输出结果为输出:python
print('输出:%r'%s)# 输出结果为输出:"python"

3、%c

格式化字符及其ASCII码(a = 97),用于将ASCII码或Unicode值转换为字符。

num=90
print('ASCII码90对应的字符为:%c'%num)# 输出结果为ASCII码90对用的字符为:Z

4、%d

%d表示十进制整数,其它变形有%10d、%-10d、%010d、%.10d和%10.5d。

num1=20241106143021
num2=1234
#%d在输出中表示十进制整数
print("一个整数:%d"%num1)#输出结果为一个整数:20241106143021

#%10d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补空格;宽度超过10,按原长度输出。
print("num1:%10d"%num1)
print("num2:%10d"%num2)
#输出结果为
#num1:20241106143021
#num2:      1234

#%-10d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在右边补齐空格;宽度超过10,按原长度输出。
print("num1:%-10d"%num1+"AAA")
print("num2:%-10d"%num2+"AAA")
#输出结果为
#num1:20241106143021AAA
#num2:1234      AAA

#%010d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补0;宽度超过10,按原长度输出。
print("num1:%010d"%num1)
print("num2:%010d"%num2)
#输出结果为
#num1:20241106143021
#num2:0000001234

#%.10代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补0;宽度超过10,按原长度输出。效果%010d实际上没什么区别,还有%.010d、%.0010d等类似的形式。
print("num1:%.10d"%num1)
print("num2:%.10d"%num2)
print("num2:%.010d"%num2)
print("num2:%.0010d"%num2)
#输出结果为
#num1:20241106143021
#num2:0000001234
#num2:0000001234
#num2:0000001234

#%10.5代表输出宽度为10个字符,宽度超过10,按原长度输出;如果宽度不超过5,则在左边补0,补0后宽度不超过10,则在左边补空格,即先补0,再补空格。
print("num1:%10.5d"%num1)
print("num2:%10.5d"%num2)
print("num2:%10.3d"%num2)
print("num2:%4.5d"%num2)
print("num2:%4.3d"%num2)
#输出结果为
#num1:20241106143021
#num2:     01234
#num2:      1234
#num2:01234
#num2:1234

5、%o

%o表示八进制整数。

#为换算进制的转换说明符,会在开头显示进制前缀。

num=15
print('八进制对应的字符为:%o'%num)# 输出结果为八进制对应的字符为:17
print('八进制对应的字符为:%#o'%num)# 输出结果为八进制对应的字符为:0o17

6、%x,%X

%x表示十六进制整数(字符a-f小写)

%X表示十六进制整数(字符A-F大写)

#为换算进制的转换说明符,会在开头显示进制前缀。

num=15
print('八进制对应的字符为:%x'%num)# 输出结果为八进制对应的字符为:f
print('八进制对应的字符为:%#x'%num)# 输出结果为八进制对应的字符为:0xf
print('八进制对应的字符为:%X'%num)# 输出结果为八进制对应的字符为:F
print('八进制对应的字符为:%#X'%num)# 输出结果为八进制对应的字符为:0XF

7、%e,%E

%e表示指数型浮点数 (e小写),如:2.9e+10

%E表示指数型浮点数 (E小写),如:2.9E+10

num=15
print('小写科学计数法数据:%e'%num)# 输出结果为小写科学计数法数据:1.500000e+01
print('大写科学计数法数据:%.1e'%num)# 输出结果为小写科学计数法数据:1.5E+01

8、%f,%F

%f,%F表示浮点十进制形式,精确到小数点后六位

num=15
print('浮点数数据:%f'%num)# 输出结果为浮点数数据:15.000000
print('浮点数数据:%.1F'%num)# 输出结果为浮点数数据:15.0

9、%g,%G

表示十进制形式浮点或指数浮点自动转换

%g,根据值的大小决定使用%f或%e

%G,根据值的大小决定使用%f或%E,作用与%g相同

num1=15
num2=15.55
num3=15.66666666666666666
num4=0.00000000006
print('数据:%g'%num1)# 输出结果为数据:15
print('数据:%G'%num2)# 输出结果为数据:15.55
print('数据:%g'%num3)# 输出结果为数据:15.667
print('数据:%G'%num4)# 输出结果为数据:6E-11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武当豆豆

为国家GDP快速增长做贡献

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值