python笔记之%

本文介绍了Python中的%操作符的两种主要用途:作为算术运算符用于取模,以及在字符串格式化中的使用,包括%s、%f、%d等格式化字符的解释和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从Hello word开始认识python,对print中的%产生疑惑,整理如下:
%在python中主要用途:
1、算术运算符
% 取模 - 返回除法的余数

x=21 % (-5)   #对21除以-5取余数,返回结果x=-4

2、格式化字符打印输出(划重点)
%为格式符号,后面跟不同的字母作类型说明。一般用法为将一个值插入到一个有字符串格式符 %的字符串中,常见用法如下:

>>>print("string=%s**" %('hello') )  #字符串中的%s占位被%后面的值替代
string=hello
>>>print ("My name is %s and weight is %d kg!" % ('Zara', 21) )  #同步赋值
My name is Zara and weight is 21 kg!
符 号描 述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f/F格式化浮点数字,可指定小数点后的精度
%e/E用科学计数法格式化浮点数
%g/G%f 和 %e/E 的简写(根据显示长度)
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符 号描 述
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.nm 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

应用实例:
字符串 %s

string="hello"
# 字符串长度为7,当字符串长度超过7时按原长度打印,字符串长度小于7时在左侧添加空格补齐(右对齐)
print("string=%7s!" % string)  #输出string=  hello!

# 使用辅助指令'-',即当字符串长度小于7时,在右侧添加空格补齐(左对齐)
print("string=%-7s!" % string)  #输出string=hello  !

# %.4s意思是截取字符串的前4个字符,当原字符串长度小于4时,即是字符串本身
print("string=%.4s!" % string)  #输出string=hell!

# %m.ns是上面两种格式的综合,首先根据小数点后面的数n截取字符串,当截取的字符串长度小于m时,还需要在其左侧补空格,使用'-'则在右侧补空格
print("string=%7.4s!" % string)  #输出string=   hell!

# 使用*表示精度或宽度,其值由字符串后面%()前两位数指定
print("string=%*.*s!" %(7,4,string))  #输出string=   hell!

浮点数 %f

from math import pi
# %m.nf,m表示浮点数的打印长度(小数点也占一位),n表示浮点数小数点后面的精度(自动四舍五入),n为空是表示输出整数。%f表示原值,默认是小数点后6位数。
# 若保留小数点后n位后总长度大于m,则按原长打印,若小于m,则在左侧补空格,使用左对齐'-'同理。
print("PI=%fF" %pi)    #输出PI=3.141593F
print("PI=%3.fF" %pi)  #输出PI=003F
print("PI=%4.3fF" %pi) #输出PI=3.142F
print("PI=%5.3fF" %pi) #输出PI=3.142F
print("PI=%6.3fF" %pi) #输出PI= 3.142F

# %9f表示打印总长度为9位,不够则左侧补空格。其中默认小数点后至少6位,设置总长度>=9才生效。
print("PI=%9fF" %pi)    #输出PI= 3.141593F
print("PI=%3fF" %pi)    #输出PI=3.141593F

整形及科学计数法 %d,%o,%x,%e…

# %5d意思是打印结果为5位整数,当整数的位数不够5位时,在整数左侧补空格,%05d在整数不够5位时左侧补0,超过5位时显示原整数长度。
print("num=%5dD" % 256)  #输出num=  256D
print("num=%05dD" % 256) #输出num=00256D

# %.4d与%.004d表达相同,打印结果为4位整数,不够4位时左侧补0
print("num=%.04dD" % 256) #输出num=0256D

# %m.nd是两种补齐方式的综合,当整数的位数不够n时,先在左侧补0,还是不够m位时,再在左侧补空格
print("num=%5.4dD" % 256)  #输出num= 0256D
print("num=%05.4dD" % 256) #输出num=00256D

#其他整形及科学计数法
print("num=%3dD" % 2.56)  #输出num=  2D
print("num=0o%03o!" % 25)   #输出num=0o031!八进制
print("num=0x%-3x!" % 25)   #输出num=0x19 !十六进制
print("num=%#x!" % 44)    #输出num=0x2c!#对八进制和十六进制自动添加0o和0x前缀
print("num=%+e" % 1500)    #输出num=+1.500000e+03 ,默认小数点后6位
print("num=%.2e" % 1500)    #输出num=1.50e+03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值