• Python之字符串格式化


    Python之字符串格式化

    格式化

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

    C风格printf-style

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

    format函数

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

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

    日期格式化

    import datetime
    # 导入datetime模块
    
    • 1
    • 2
    d1 = datetime.datetime.now()
    # 将当前时间,写入到一个变量d1中
    
    • 1
    • 2
    d1
    # 返回结果:datetime.datetime(2023, 10, 6, 17, 23, 10, 479510)
    
    • 1
    • 2
    "{}".format(d1)
    # 返回结果:'2023-10-06 17:23:10.479510'
    
    • 1
    • 2
    "{:%Y/%m/%d %H:%M:%S}".format(d1)
    # Y(年)m(月)d(日)H(时)M(分)S(秒) 注意区分大小写。
    # 返回结果:'2023/10/06 17:23:10'
    
    • 1
    • 2
    • 3
  • 相关阅读:
    分享下我的tmux配置
    除静电离子风嘴的工作原理及应用
    React.createRef
    Linux: Error: EACCES: permission denied Linux 解决方法
    图片文字识别的方法有什么?哪种方法比较好用?
    如何安装不同版本的go
    爬虫与云服务器云数据库
    动态代理-JDK
    uniapp中easycom用法详解
    kingbase 创建用户报错
  • 原文地址:https://blog.csdn.net/weixin_41224474/article/details/133614421