• [python学习笔记] String格式化


    格式化

    S % (args...) 方式

    • 特点
      str里的占位符同java里的占位符。

    • 优势
      这种方式可以限定格式化的时候接受的数据类型。

    • 常见占位符

      • %d 接收数字,格式化为 十进制
      • %x 接收数字,格式化为 十六进制
      • %f 接受数字。格式化为浮点数
        • %.nf的方式可以指定 小数点有效位
        • %.2f 保留两位小数点
      • %s 接受任意类型,格式化为字符串。
    • 范例

      msg = '%s 回家吃饭,外边一碗面%.2f块钱,还有%x钱'
      print(msg%('旺财',10,255))
      

      输出

      旺财 回家吃饭,外边一碗面10.00块钱,还有0xff钱
      

    S.format(args...)

    • 位置参数
      使用 {} 或者 {xx} 做占位符。
      大括号的内容相当于占位符。
      参数可以是索引,从0开始。 也可以是关键字

      注意,可以不加索引或关键字,但是不能混用。三种方式不能混用下边代码也正常运行

      print('姓名 {},体重 {}'.format('狗蛋',120))
      # 通过索引 可以使用多次
      print('姓名 {0},体重 {1},再次体重{1}'.format('狗蛋',120))
      # 通过关键字也可以使用多次
      print('姓名{name} 体重{weight}, 再次体重{weight}'.format(name='狗蛋',weight=120))
      
      # 混用报错
      print('姓名 {0},体重 {}'.format('狗蛋',120)) # 错误
      
    • 填充与对齐:这个超级炸

      • 格式:
      位置或关键字参数 : 补齐符号  对齐方式符号 字符个数
      eg: {1:*^8}  
          位置或关键字参数: 1 代表位置。  
          分隔符: :
          补齐符号:  * 表示不足用*补齐。  如果没有,使用空格
          对齐方式符号:^ 代表
          字符个数: 8 格式化为8位
      
      • 对齐符号

        • ^ 居中对齐. 两侧补足
        • < 左对齐。右侧补足
        • > 右对齐。 左侧补足
      • 示例

      print('姓名 {:^4},体重 {}'.format('狗蛋',120))#姓名  狗蛋 ,体重 120
      print('姓名 {0:-<4},体重 {1:_>8}'.format('狗蛋',120))#姓名 狗蛋--,体重 _____120
      print('姓名 {name:*^4},体重 {age:#^8}'.format(name='狗蛋',age=120))#姓名 *狗蛋*,体重 ##120###
      
    • 浮点数精度

      • 格式
      {位置或关键字:.nf}
      
      • 范例
      print('{0:.2f}'.format(12)) #12.0
      print('{0:-<8.2f}'.format(12)) #对齐混合使用 12.00---
      
    • 进制

      • b 二进制
      • o 八进制
      • d 十进制
      • x 十六进制
      • 范例
      print('{0:d}'.format(12)) #12
      print('{:x}'.format(12)) #c
      print('{:#^8x}'.format(12)) #余对齐混合使用 ###c####
      
    • 千分位

      • 格式
      {xx:,}
      
      • 范例
      print('{:,}'.format(1024567.3)) # 1,024,567.3
      print('{:,.3f}'.format(1024567.3)) # 与精度混用: 1,024,567.300
      print('{:+>16,.3f}'.format(1024567.3)) #与对齐混用: +++1,024,567.300
      
  • 相关阅读:
    HTML 特殊符号编码对照表
    C#删除字符串最后一个字符的几种方法
    c# 获取相对路径
    垂直滚动条代码
    Android微信分享功能实例+demo
    android之Itent.ACTION_PICK Intent.ACTION_GET_CONTENT妙用
    Android Camera 使用小结
    onSaveInstanceState和onRestoreInstanceState
    Android中的PopupWindow详解
    Unable to execute dex: java.nio.BufferOverflowException.解决办法
  • 原文地址:https://www.cnblogs.com/boliu/p/7486855.html
Copyright © 2020-2023  润新知