Python中format函数

  • 补齐格式:{:*^30}

    • : 为引导符号
    • ***** 为补齐的字符可以是其他字符代替默认是空格
    • ^ 为补齐方式:^为中间对齐、>为右对齐、<为左对齐
    • 30 为字符所补齐后占的宽度
str_01 = '1234'
int_01 = 1234
# 补齐格式  30表示总长度30,*表示用*填充不足的部分 *可以使用其他字符代替
print('{0:*^30}'.format(str_01))  # 中间对齐
print('{0:*>30}'.format(str_01))  # 右对齐
print('{0:*<30}'.format(str_01))  # 左对齐
  • 进制格式:{:b}、{: o}、{:d}、{:x}、{:#x}、{:#X}

    • : 为引导符号
    • b 为进制代表:
      • 二进制{:b}
      • 八进制{: o}
      • 十进制{:d}
      • 十六进制{:x}、 {:#x}、 {:#X}
        • {:#x}:针对字母小写,补充前缀,其他进制可用
        • {:#X}:针对字母大写,补充前缀只有十六进制使用
# 进制格式  再上一个基础对内容进行转换:二进制{:b}、八进制{:o}、十进制{:d}、十六进制{:x}、不能与补齐格式连用{:#x}、{:#X}
str_01 = '1234'
int_01 = 1234
print('{:#x}'.format(int_01)) # 针对字母小写,会将前缀补充
print('{:#X}'.format(int_01)) # 针对字母大写
print('{0:*^30b}'.format(int(str_01)))  # 二进制   0b前缀
print('{0:*^30d}'.format(int(str_01)))  # 八进制   无
print('{0:*^30o}'.format(int(str_01)))  # 十进制   0o前缀
print('{0:*^30x}'.format(int(str_01)))  # 十六进制 0x前缀
  • 其他格式

# 其他格式  千分位格式、百分比格式、指数格式、小数点格式、
print('{:,}     根据千分位显示分隔符'.format(1000000))  	    # 根据千分位显示分隔符
print('{:.2%}   根据显示百分比后两位小数'.format(0.2512))	   # 根据显示百分比后两位小数
print('{:.2e}   根据指数方式显示'.format(1000000))  		 # 根据指数方式显示
print('{:.2f}   保留两位小数点'.format(3.14159))  		  	  # 保留两位小数点
print('{:+.2f}  保留带符号两位小数点'.format(3.14159))  		# 保留带符号两位小数点
  • 占位符格式

# 占位符格式
str_02 = 'str_02'
str_03 = 'str_03'
list_01 = (str_02, str_02)
tuple_01 = [str_02,str_03]
dict_01 = dict(str_02=str_02,str_03=str_03)

print('str_02:{:>30},str_03:{}'.format(str_02,str_03))              # 按顺序读取各个参数
print('str_03:{1:>30},str_02:{0}'.format(str_02,str_03))            # 按位置读取各个参数
print('str_03:{2:>{1}},str_02:{0}'.format(str_02,30,str_03))        # 占位宽度以变量形式根据参数位置加入
print('str_02:{:>{}},str_03:{}'.format(str_02,30,str_03))           # 占位宽度以变量按顺序加入
print('str_03:{1:>30},str_02:{0}'.format(*tuple_01))                # 支持元组
print('str_03:{1:>30},str_02:{0}'.format(*list_01))                 # 支持列表
print('str_03:{str_03:>30},str_02:{str_02}'.format(**dict_01))      # 通过字典关键字
print('str_02,str_03:{}'.format(tuple))                             # 直接format元组不能显示
print('s_dict:{}'.format(dict_01))                                  # 直接format字典能显示

print(f'str_02:{str_02},str_03:{str_03}')                           # 在Python3.6中加入了 f-strings 新特性

你可能感兴趣的:(python,字符串)