程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(4)

2023-06(3)

Python:补零操作,补充字符串,格式化输出

发布于2023-02-04 12:26     阅读(751)     评论(0)     点赞(14)     收藏(4)


python3 所有格式化输出

%占位符格式化输出

- %s   针对字符类型
- %d   针对整数类型
- %f   针对浮点数类型
foo, foo1 = 'bar', 23.5;
print("hello world, %s"%(foo))
print("hello world, %s, %f"%(foo, foo1))
指定最小输出宽度

当使用表1中的转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):
%10d 表示输出的整数宽度至少为 10;
%20s 表示输出的字符串宽度至少为 20。

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

url = "python"
print("url(10):%10s." % url)
print("url(5):%s." % url)

运行结果

n(10):   1234567.
n(5):1234567.
url(10):     python.
url(5):python.
指定小数精度

对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下

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

format格式化输出

不需要特别指定格式,

name="bai"
age=20
print("姓名:{},年龄:{}岁".format(name,age))

一般情况下,{}是按照索引选择format后面地数据。

存在位置映射和关键字映射,也是按照索引地规则

#位置映射
print("{}:{}".format(1,2))
#1:2
#关键字映射
print("{name},{},{}".format(20,'汉',name='bai'))
#bai,20,汉

f格式化输出

name="bai"
print(f"你好,我是{name}")

python 补0操作

补充字符,代码实例如下:
方法一:


i = 3.141725
// 左边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: 0>9.4f}" )

// 右边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: 0<9.4f}" )

// 右边填充x,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: x<9.4f}" )

输出结果

-- 0003.1417
-- 3.1417000
-- 3.1417xxx

方法二:
字符串使用 zfill 函数进行补零操作

str = "123"
print(str.zfill(8))
// 输出: 00000123

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

  • 对于整数,指定左对齐时,在右边补 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     .


所属网站分类: 技术文章 > 博客

作者:妖怪还我师傅

链接:https://www.pythonheidong.com/blog/article/1895638/3c9cf65d71b72bdab2e0/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)