Python格式化字符串(格式化输出)

目录

 

Python格式化字符串(格式化输出)

指定最小输出宽度

print()函数高级用法

print()取消换行

print()写入文件

指定对齐方式

指定小数精度


Python格式化字符串(格式化输出)

表 1 Python 转换说明符
转换说明符解释
%d、%i转换为带符号的十进制整数
%o转换为带符号的八进制整数
%x、%X转换为带符号的十六进制整数
%e转化为科学计数法表示的浮点数(e 小写)
%E转化为科学计数法表示的浮点数(E 大写)
%f、%F转化为十进制浮点数
%g智能选择使用 %f 或 %e 格式
%G智能选择使用 %F 或 %E 格式
%c格式化字符及其 ASCII 码
%r使用 repr() 函数将表达式转换为字符串
%s使用 str() 函数将表达式转换为字符串

举例:

name = "你好,我叫小明"
age = 8
address= "育才东路18号"
print("%s现在已经%d岁了,我家在%s。" % (name, age, address))
你好,我叫小明现在已经8岁了,我家在育才东路18号。

指定最小输出宽度

n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)

url = "https://blog.csdn.net/"
print("url(35):%35s." % url)
print("url(20):%20s." % url)
n(10):   1234567.
n(5):1234567.
url(35):             https://blog.csdn.net/.
url(20):https://blog.csdn.net/.

print()函数高级用法

username = 'Charlie'
userage = 8
#同时输出多个变量和字符串
print("读者名:",username,"年龄:",userage)
#同时输出多个变量和字符串,指定分隔符
print("读者名:",username,"年龄:",userage,sep='|')
读者名: Charlie 年龄: 8
读者名:|Charlie|年龄:|8

print()取消换行

在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”

#设置end 参数,指定输出之后不再换行
print(40,'\t',end="")
print(5O,'\t',end="")
print(60,'\t',end="")
40    50    60

print()写入文件

open() 函数用于打开 demo.txt 文件,接连 2 个 print 函数会将这 2 段字符串依次写入此文件,最后调用 close() 函数关闭文件

f = open("demo.txt","w")#打开文件以便写入该文件一般在文件目录上
print('沧海月明珠有泪',file=f)
print('蓝回日暖玉生烟',file=f)
f.close()

指定对齐方式

 

print() 输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。Python 允许在最小宽度之前增加一个标志来改变对齐方式,Python 支持的标志如下:
 

Python 支持的标志
标志说明
-指定左对齐
+表示输出的数字总要带着符号;正数带+,负数带-
0表示宽度不足时补充 0,而不是补充空格。

 

几点说明:

  • 对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
  • 对于小数,以上三个标志可以同时存在。
  • 对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值
n = 123456
# %09d 表示最小宽度为9,左边补0
print("n(09):%09d" % n)
# %+9d 表示最小宽度为9,带上符号
print("n(+9):%+9d" % n)
f = 140.5
# %-+010f 表示最小宽度为10,左对齐,带上符号
print("f(-+0):%-+010f" % f)
s = "Hello"
# %-10s 表示最小宽度为10,左对齐
print("s(-10):%-10s." % s)
n(09):000123456
n(+9):  +123456
f(-+0):+140.500000
s(-10):Hello   

指定小数精度

精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下:

%m.nf
%.nf

m 表示最小宽度,n 表示输出精度,.是必须存在的。

f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
   3.142
0003.142
+003.142

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萌新待开发

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值