[python]格式化字符串的几种方式

简介: [python]格式化字符串的几种方式

目录

python中有以下几种方法可以格式化字符串

方式一:C风格%操作符

这种方法偏C语言风格,C语言中的printf选项都可以当成Python的格式说明符来用,例如%s%x%f

# 示例代码00x00:
name = 'zhangsan'
salary = 12345.67
print("name is %s, salary is %.2f" %(name,salary))
# name is zhangsan, salary is 12345.67

这种方法也可以将元组换成字典,避免%操作符两侧的顺序不匹配的问题。

# 示例代码00x01:
print("name is %(name)s, salary is %(salary).2f" %{'name':name, 'salary':salary})
# name is zhangsan, salary is 12345.67

方式二:内置的format函数与str类的format方法

python3添加了高级字符串格式化机制,其表达能力比C风格要强一些,且不需要使用%操作符。

在传给format函数的格式里,逗号表示显示千位分隔符,^表示居中对齐。

# 示例代码01x00:
print("name is "+ format(name,'^20s') + ", salary is " + format(salary,'^20,.2f'))
# name is       zhangsan      , salary is      12,345.67

也可以在{}内写冒号,把格式化说明符写在冒号右边。

# 示例代码01x01:
print("name is {:<10}, salary is {:^20.2f}".format(name,salary))
# name is zhangsan  , salary is       12345.67

调用str.format方法的时候,也可以给str{}里面写上数字,用来指代format方法在这个位置所接收到的参数值位置索引

方式三:插值格式字符串

PYthon3.6添加了一种新的特性,叫做插值格式字符串,即f-string。新语法特性要求在格式字符串的前面加上字母f作为前缀。编写和阅读都更简洁一些。

# 示例代码02x00:
print(f"name is {name}, salary is {salary}")
print(f"name is {name:^10}, salary is {salary:^13.2f}")
# name is zhangsan, salary is 12345.67
# name is  zhangsan , salary is   12345.67
相关文章
|
6月前
|
索引 Python
Python中的字符串格式化:详解与应用
Python中的字符串格式化:详解与应用
74 0
|
5月前
|
Python
Python 字符串格式化的方式有哪些?
这篇文章主要介绍了Python的字符串格式化方法,包括: 1. `%` 操作符,如 `%s`, `%d`, `%f` 用于基本的变量插入和类型转换。 2. `str.format()` 方法,利用 `{}` 占位符和位置或关键字参数。 3. f-strings (Python 3.6+),直接在字符串前加 `f` 并在花括号内嵌入变量。 4. `string.Template` 模块,使用 `$` 符号进行模板替换。 5. `str.format_map()` 方法,接受字典替换占位符。 文章强调f-strings在新代码中的推荐使用,因其简洁和可读性。
|
6月前
|
Python
Python字符串格式化
Python字符串格式化
37 0
|
6月前
|
索引 Python
Python 字符串格式化
Python 字符串格式化
41 0
Python 字符串格式化指南
本文介绍了Python中的三种字符串格式化方法:1) 使用 `%` 操作符,如 `&quot;%s %d&quot; % (var1, var2)`;2) `str.format()` 方法,如 `&quot;{} {}&quot;.format(var1, var2)`;3) Python 3.6+ 的 f-strings,如 `f&quot;{var1} {var2}&quot;`。每种方法都支持变量插入和格式控制,如指定小数位数。选择合适的方法能提升代码可读性和效率。
|
6月前
|
Python
在Python中,f格式化字符串
Python的f-string简化了字符串格式化,它嵌入变量(如`{name}`和`{age}`)并运行时替换为值。例如: ```python name = &quot;Alice&quot; age = 30 print(f&quot;My name is {name} and I am {age} years old.&quot;) ``` 输出:“My name is Alice and I am 30 years old.” 这种特性自Python 3.6起可用,之前可使用`.format()`方法。
48 0
|
Python
Python格式化字符串
Python格式化字符串
28 0
Python 字符串格式化方法
Python 字符串格式化方法
|
小程序 索引 Python
Python基础语法之格式化输出与基于Python格式化输出的实例小程序
Python基础语法之格式化输出与基于Python格式化输出的实例小程序
Python基础语法之格式化输出与基于Python格式化输出的实例小程序