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

2021/5/3 14:25:08

本文主要是介绍[python]格式化字符串的几种方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 方式一:C风格%操作符
  • 方式二:内置的format函数与str类的format方法
  • 方式三:插值格式字符串

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 


这篇关于[python]格式化字符串的几种方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程