一. 简介

前面学习了 Python3中字符串格式化。文章如下:

python3的基本数据类型:字符串格式化,连接与转换_python3 字符串格式化-CSDN博客

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

二. python3 中字符串的格式化

Python提供了多种方式来格式化字符串,包括旧式的 % 格式化、str.format() 方法以及 f-string(Python 3.6+),使用 string.Template 类等不同方法。前面文章已经介绍过。这里不再介绍。

1. 字符串格式化符号

符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号

功能

*

定义宽度或者小数点精度

-

用做左对齐

+

在正数前面显示加号( + )

<sp>

在正数前面显示空格

#

在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

0

显示的数字前面填充'0'而不是默认的空格

%

'%%'输出一个单一的'%'

(var)

映射变量(字典参数)

m.n.

m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

在Python中,* 可以用在格式化字符串时作为占位符,用来动态地指定宽度或精度。这种方式允许你在格式化字符串时通过变量来控制字段的宽度或小数点后的位数,举例如下:

#!/usr/bin/env python3

width = 10
value = 7

# 使用 * 指定宽度
formatted_string = "{:*<{}d}".format(value, width)
print(formatted_string)  # 输出: '7********' (左边对齐)

formatted_string = "{:*>{}d}".format(value, width)
print(formatted_string)  # 输出: '*********7' (右边对齐)

formatted_string = "{:*^{}d}".format(value, width)
print(formatted_string)  # 输出: '****7*****' (居中对齐)

在 Python2 中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

在 Python3 中,所有的字符串都是Unicode字符串。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐