什么是format?

相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”,有点类似C#里面的占位符

1format的基本用法

不带编号,即“{}”

带数字编号,可调换顺序,即“{1}",“{2}”

带关键字,即“{a}","{tom}"

例如:

name = "Sandy"

gender = "女"

age = 18

print("姓名:%s, 性别:%s 年龄:%d" %(name, gender, age))

print("姓名:{}, 性别:{} 年龄:{}" .format(name, gender, age))

# 有了数字编号可以反复调用

print("姓名:{0}, 性别:{1} 年龄:{2} 学生姓名:{0}" .format(name, gender, age))

# 标识名称更容易读懂

print("姓名:{name}, 性别:{gender} 年龄:{age} 学生姓名:{name}" .format(name=name, gender=gender, age=age))

演示:

2)format的进阶用法

<(默认)左对齐,> 右对齐,^ 中间对齐

取位数“{:4s}","{:.2f}"等

如:

print("姓名:{:10}" .format(name)) #默认左对齐

print("姓名:{:<10}" .format(name)) #标识左对齐

print("姓名:{:>10}" .format(name)) #右对齐

print("姓名:{:^10}" .format(name)) #中间对齐

print("{:.2f}" .format(3.1415926)) #保留2位有效数字

print("{:10.2f}" .format(3.1415926)) #保留2位有效数字默认右对齐

print("{:>10.2f}" .format(3.1415926)) #保留2位有效数字指明右对齐

print("{:<10.2f}" .format(3.1415926)) #保留2位有效数字指明左对齐

print("{:^10.2f}" .format(3.1415926)) #保留2位有效数字中间对齐

演示:

3format 数值

  • "b" 二进制,数字以2位基数进行输出
  • "c" 字符,在打印之前将整数转换成对应的unicode字符串
  • "d" 十进制数,数字以10为基数进行输出
  • "o" 八进制数,数字以8为基数进行输出
  • "x" 十六进制数,数字以16为基数进行输出,9位以上用a-f表示
  • "e" 幂符号,用科学计数法打印数字。用"e"表示幂
  • "g" 一般格式,数字以fixed-point进行输出,当数值特别大的时候,用幂形式打印
  • "n" 数字,当值为整数时和"d"相同,值为浮点数是和"g"相同,不同的是他会根据区域设置插入数字分隔符。
  • "%" 百分数,数值乘以100打印,保留6位小数,值后面会有一个百分号
  • "," 千位分隔符,货币表示或者大数据值经常用到

如:

num01,num02=200,300

print("十六进制打印:{0:x} {1:x}" .format(num01, num02))

print("八进制打印:{0:o} {1:o}" .format(num01, num02))

print("二进制打印:{0:b} {1:b}" .format(num01, num02))

print("{0:c}" .format(76)) #可以把编码转换为特定的字符,参考ASCll

print("{:e}" .format(123456.77544)) #默认小数点后面保留6位

print("{:0.2e}" .format(123456.77544)) #小数点后面保留2位

print("{:g}" .format(123456.77544)) #保留6位

print("{:g}" .format(123456789.77544)) #超过6位用科学计数法表示

print("{:%}" .format(34)) #默认小数点后面保留6位

print("{:0.2%}" .format(34))

print("{:,}" .format(1234567890))

演示:

浅谈format格式化输出的更多相关文章

  1. Java String 函数常用操作 & format() 格式化输出,代码详解

    package _String_; import java.util.*; import java.math.*; import java.lang.*; public class _Strings ...

  2. [转载]:fortran之format格式化输出总结

    先贴一段别人总结好的: 格式化输出的控制字符非常的丰富,但常用的并不多,一般说来:" I .F.E.A.X "是最常使用的几个格式,最 好把它们都记下来. Iw[.m] 以w个字符 ...

  3. Docker inspect - format格式化输出 - 运维笔记

    Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数. 什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller ...

  4. format格式化输出

    python格式化输出,format print("""********** Screen: {size} Density: {dpi} Device: {device} ...

  5. 使用printf和String.format格式化输出

    格式化输出 在哪些情况下使用格式化输出: 异常打印到日志中使用格式化输出有利于排查错误原因: printf格式化 示例: public class PrintfTest { public static ...

  6. string.Format格式化输出

    staticstring Format (string format,object arg0):将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式 (1)格式化货币(跟系统的环境有关,中文 ...

  7. 转载:python的format格式化输出

    https://www.cnblogs.com/chunlaipiupiupiu/p/7978669.html python中format函数   ---恢复内容开始--- python中format ...

  8. Python format格式化输出

    http://www.jb51.net/article/63672.htm 推荐参考 >>> '{0},{1}'.format('hello','python') 'hello,py ...

  9. string.Format 格式化输出日期

    string.Format("{0:d}",System.DateTime.Now) 结果为:2009-3-20 (月份位置不是03) string.Format("{0 ...

随机推荐

  1. Python实现简易Web服务器

     1.请自行了解HTTP协议 http://www.cnblogs.com/reboot51/p/8358129.html(点击跳转) 2.创建Socket服务,监听指定IP和端口 3.以阻塞方式等待 ...

  2. sql语句添加删除外键及其约束

    --删除外键 ALTER TABLE t_base_role_module DROP CONSTRAINT fk_t_base_role_module_t_base_defined_url; --增加 ...

  3. js计算元素距离顶部的高度及元素是否在可视区判断

    前言: 在业务当中,我们经常要计算元素的大小和元素在页面的位置信息.比如说,在一个滚动区域内,我要知道元素A是在可视区内,还是在隐藏内容区(滚动到外边看不到了).有时还要进一步知道,元素是全部都显示在 ...

  4. Mysql覆盖索引 covering index 或者 index coverage

    组合索引 提到组合索引,大家都知道"最左前缀"原则.例如,创建索引 idx_name_age (name,age) ,通常情况下,where age=50 或者 where age ...

  5. strman--java8字符串工具类

    strman-java 是Java8的字符串处理库,它的灵感来自 dleitee/strman . Strmen-java 是一个字符串处理工具,你可以通过 maven 将它引入到项目中.除了 Jav ...

  6. javascript对象的标签

    [[proto]]标签 [[class]]标签 [[class]] 标签,代表这对象是哪个类型的.在js中不能直接访问到.可以通过Object.prototype.toString.call(obj) ...

  7. Xpath语法学习

    贴几个我学习Xpath的参考 1 基本使用的参考 XPath学习:基本语法(一) 2 较为详细且清晰例子参考,推荐 XPath 详解,总结 3 详细语法参考 Xpath语法格式整理 4 官方参考 XP ...

  8. Servlet开篇

    Servlet开篇 前面我已经说过好多遍了,如何学习好一个东西其实就是2个问题: 1,这个东西是干嘛的?为什么要玩这个东西? 2,怎么样就玩好这个东西了?具体的应该玩这个东西的什么? 其实现在对于我来 ...

  9. linkin大话设计模式--观察者模式

    linkin大话设计模式--观察者模式 观察者模式定义了对象间的一对多依赖关系,让一个或者多个观察者观察一个对象主题.当主题对象的状态发生改变的时候,系统能通知所有的依赖于此对象的观察者对象,从而能自 ...

  10. 【转】 C++易混知识点4: 自己编写一个智能指针(Reference Counting)学习auto_ptr和reference counting

    这篇文章建大的介绍了如何编写一个智能指针. 介绍: 什么是智能指针?答案想必大家都知道,智能指针的目的就是更好的管理好内存和动态分配的资源,智能指针是一个智能的指针,顾名思义,他可以帮助我们管理内存. ...