python%d, %f,%s占位符的使用

在处理一些字符串中,有时需要传入一些数据,,而数据也是可变的,例如:网址(url),这时可以使用占位符来传递数值,格式化输出。(例子中的url地址是随手输入的,仅用作举例说明)

%d 代表有符号十进制整数

url = 'https://www.123.com/user=70%d' % 12
print(url)
#输出结果 https://www.123.com/user=7012

%xd,x代表任意整数,表示占的位数为x位,%5d 代表占据的位数为五位,例如:

url = 'https://www.123.com/user=70%5d' % 1
print(url)
#输出结果 https://www.123.com/user=70    1
#空位为4位,加上末尾的1,一共五位

%0xd,代表占的位数为x,空位用0补全,例如:

url = 'https://www.123.com/user=70%05d' % 1
print(url)
#输出结果 https://www.123.com/user=7000001

%f 代表浮点数

与%d用法一样,%10f表示占的位数为10位(包含小数点以及小数点后面的位数),不足的用空格补全,%010f同理,不足的用0补全。例如:
#传入整数默认保留小数点后六位
url = 'https://www.123.com/user=70%f' % 1
print(url)
#输出结果 https://www.123.com/user=701.000000

#%10f示例
url = 'https://www.123.com/user=70%10f' % 1
print(url)
#输出结果 https://www.123.com/user=70  1.000000

#需要注意的是当整数位数和小数点以及小数点后的位数总和为n时,
#在0到n,%nf格式化输出的结果都是一样的
a = 'https://www.123.com/user=70%6f' % 1
b = 'https://www.123.com/user=70%7f' % 1
print(a)
print(b)
#输出的结果都为 https://www.123.com/user=701.000000 

从上面的例子,需要注意的是当整数位数和小数点以及小数点后的位数总和为n时,
在0到n,%nf格式化输出的结果都是一样的

%.xf 表示小数点后显示x位
url = 'https://www.123.com/user=70%.3f' % 1
print(url)
#输出结果 https://www.123.com/user=701.000

%s 表示字符串占位

name = '张三'
print('姓名:%s' % name)
#输出结果 姓名:张三

占位符可一次传入多个值,例如:

a = '一%S苹果,一%s铅笔,一%s桌子' % ('颗', '支', '张')
b = '1+1=%d,1+2=%d' % (2, 3)
c = '1+1=%f,1+2=%f' % (2, 3)
print(a)
print(b)
print(c)
#输出结果 
一课苹果,一支铅笔,一张桌子
1+1=2,1+2=3
1+1=2.000000,1+2=3.000000

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。