Python之字符串格式化

Python之字符串格式化

格式化

  • 简单的使用+或者join也可以拼接字符串,但是需要先转换数据到字符串后才能拼接。

C风格printf-style

  • 占位符:使用%和格式字符,例如%s、%d
  • 修饰符:在占位符中还可以插入修饰符,例如%03d
  • format % values
    • format是格式字符串,values是被格式的值
    • 格式字符串和被格式的值之间使用%
    • values只能是一个对象,可以是一个值,可以是一个元素个数和占位符数目相等的元组,也可 以是一个字典
"%d" % 10
# C风格
# 返回结果:'10'
"***[%d" % 10
# d = digit 数字
# f = float 浮点数
# 返回结果:'***[10'
"***[%d %d" % (100, 20)
# 返回结果:'***[100 20'
"***[%d %f" % (100, 1.2)
# f 默认精度6位
# 返回结果:'***[100 1.200000'
"***[%d %.1f" % (100, 1.2)
# f 指定精度
# 返回结果:'***[100 1.2'
"I'm %d" % 10
# 返回结果:"I'm 10"
"I'm %3d" % 20
# 右对齐
# 返回结果:"I'm  20"
"I'm %-3d" % 20
# 左对齐
# 返回结果:"I'm 20 "
"%d*%d=%d" % (3, 3, 9)
# 返回结果:'3*3=9'
"My name is %(name)s, I'm %(age)d" % {'age':20, 'name':'Jerry'}
# 返回结果:"My name is Jerry, I'm 20"

format函数

Python2.5之后,字符串类型提供了format函数,功能更加强大。
“{} {xxx}”.format(*args, **kwargs) -> str

  • args是可变的位置参数
  • kwargs是可变关键字参数,写作a=100
  • 使用花括号作为占位符
  • {}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
  • {xxx}表示在关键字参数中搜索名称一致的
  • {{}} 表示打印花括号
age = 20; name="Tom"
# 定义变量,这样的方式不推荐使用。
f'{age} {name}'
# f字符串
# 返回结果:'20 Tom'
"{} {} {} {a} {b}".format(1, 2, 3, a=100, b=200)
# format函数,1,2,3按顺序对应, a,b按位置对应
# 返回结果:'1 2 3 100 200'
"{0[0]} --- {0[1]}".format((1,22))
# ((1,22),) 不推荐这样写
# 返回结果:'1 --- 22'
"{} +++ {}".format(*(1, 22))
# *解构
# 返回结果:'1 +++ 22'
"{} +++ {}".format(*(1, 22))
# *解构
# 返回结果:'1 +++ 22'

日期格式化

import datetime
# 导入datetime模块
d1 = datetime.datetime.now()
# 将当前时间,写入到一个变量d1中
d1
# 返回结果:datetime.datetime(2023, 10, 6, 17, 23, 10, 479510)
"{}".format(d1)
# 返回结果:'2023-10-06 17:23:10.479510'
"{:%Y/%m/%d %H:%M:%S}".format(d1)
# Y(年)m(月)d(日)H(时)M(分)S(秒) 注意区分大小写。
# 返回结果:'2023/10/06 17:23:10'

你可能感兴趣的:(Python,python,开发语言)