【python学习】基础篇-常用函数-format() 输出与字符串格式化操作 文字对齐、填充值、标志设置、格式化、类型转换、千位符(数字分组)等

1、语法

format spec 格式控制符可以分为文字对齐、填充值、标志设置、格式化、类型转换、千位符(数字分组)等主要应用。
format()可以对数据进行格式化处理操作,语法如下:

format(value,format_spec)

value 为要转换的数据,
fommat spec 为格式化解释,
当参数 format spec 为空时,等同于函数 str(value)的方式。

format spec 可以设置非常复杂的格式转换参数,实现比较完备的数据格式处理模板。fomat spec的编写方式如下形式:

format_spec ::=[[fill]align][sign][#][@][width][,][.precision][typel]

2、format()函数实现数据编号

对数据进行编号,也是对字符串格式化操作的一种方式,使用format()函数可以对字符串进行格式化编号。
实现时只需设置填充字符(编号通常设置0),
设置对齐方式时可以使用<、>和符号表示左对齐、右对齐和居中对齐,
对齐填充的符号在“宽度”范围内输出时填充即可。

例如:对数字1进行3 位编号靠右对齐

#向右对齐,空位补0,长度为3
print(format(1,'0>3'))
#输出结果为:001

#向左对齐,空位补0,长度为3
print(format(1,'0<3'))
#输出结果为: 100

3、十进制整数,参数"d"和"n"

#8位整数显示,不足部分整数前用空格填充
print(format(81,'8d'))

# 格式化为8位带符号整数显示,补位空格放到符号前
print(format(-81,'8d'))

# 格式化为8位正整数,用空格补位
print(format(81,'=8d'))

# 格式化为8位负整数,不足部分在负号后填充
print(format(-81,'=8d'))

# 右对齐,宽度为18个空格
print(format(81,'>10'))

# 左对齐,宽度为18个空格
print(format(81,'<10'))

# 用0填充空格,宽度为10个空格
print(format(81,'010'))

#输出结果
      81
     -81
      81
-     81
        81
81        
0000000081

4、浮点数类型,

可以提供的参数有“e”,“E”,“f”,“F”,“g”,"G“,"n”,“%”和None输出格式。
f表示浮点类型,并可以在其前边加上精度控制
用于控制输出宽度(如果输出位数大于宽度,就按实际位数输出)。

还可以为浮点数指定符号,
+表示在正数前显示 +,
负数前显示 -
(空格)表示在正数前加空格,在负数前加 -

  • 与什么都不加时一致
    .3f 表示浮点数的精度为3(小数位保留3 位),3 指定除小数点外的输出位数。

例如:

#格式化为保留1位小数的浮点数
print(format(3.14159,'.1f'))

#格式化为保留2位小数的浮点数
print(format(3.14159,'.2f'))

# 格式化为保留2位小数的10位数、默认用空格填充
print(format(-3.14159,'=10.2f'))

# 格式化为保留2位小数的10位数,空格用0填充
print(format(-3.14159,'0=10.2f'))

# 保留2位小数的10位数,居中显示,空格用0填充
print(format(-3.14159,'0^10.2f'))

#输出结果
3.1
3.14
-     3.14
-000003.14
00-3.14000

5、格式化字符串

主要包括截取字符串,字符串对齐方式显示,填充字符串等

#截取3个字符,宽度为20居中,不足用“0”填充“”
print(format("PYTHON",'0^20.3'))
#默认居左显示,不足部分用空格填充
print(format("PYTHON",'10'))

#输出
00000000PYT000000000
PYTHON 

附源码:

# -*- coding: utf-8 -*-
# @Time : 2023/8/30 9:50
# @Author : 寒山独见君

def example1():
    # 向右对齐,空位补0,长度为3
    print(format(1, '0>3'))
    # 输出结果为:001

    # 向左对齐,空位补0,长度为3
    print(format(1, '0<3'))
    # 输出结果为: 100


def example2():
    # 8位整数显示,不足部分整数前用空格填充
    print(format(81, '^8d'))

    # 格式化为8位带符号整数显示,补位空格放到符号前
    print(format(-81, '^8d'))

    # 格式化为8位正整数,用空格补位
    print(format(81, '=8d'))

    # 格式化为8位负整数,不足部分在负号后填充空格
    print(format(-81, '=8d'))

    # 右对齐,宽度为18个空格
    print(format(81, '>10'))

    # 左对齐,宽度为18个空格
    print(format(81, '<10'))

    # 用0填充空格,宽度为10个空格
    print(format(81, '010'))


def example3():
    # 格式化为保留1位小数的浮点数
    print(format(3.14159, '.1f'))

    # 格式化为保留2位小数的浮点数
    print(format(3.14159, '.2f'))

    # 格式化为保留2位小数的10位数、默认用空格填充
    print(format(-3.14159, '=10.2f'))

    # 格式化为保留2位小数的10位数,空格用0填充
    print(format(-3.14159, '0=10.2f'))

    # 保留2位小数的10位数,居中显示,空格用0填充
    print(format(-3.14159, '0^10.2f'))


def example4():
    print("长度:",len(str))





if __name__ == '__main__':
    example1()
    example2()
    example3()

# 001
# 100
#    81   
#   -81   
#       81
# -     81
#         81
# 81        
# 0000000081
# 3.1
# 3.14
# -     3.14
# -000003.14
# 00-3.14000


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值