浅谈format格式化输出
什么是format?
相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”,有点类似C#里面的占位符
1)format的基本用法
不带编号,即“{}”
带数字编号,可调换顺序,即“{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位有效数字中间对齐
演示:

3)format 数值
- "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格式化输出的更多相关文章
- Java String 函数常用操作 & format() 格式化输出,代码详解
package _String_; import java.util.*; import java.math.*; import java.lang.*; public class _Strings ...
- [转载]:fortran之format格式化输出总结
先贴一段别人总结好的: 格式化输出的控制字符非常的丰富,但常用的并不多,一般说来:" I .F.E.A.X "是最常使用的几个格式,最 好把它们都记下来. Iw[.m] 以w个字符 ...
- Docker inspect - format格式化输出 - 运维笔记
Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数. 什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller ...
- format格式化输出
python格式化输出,format print("""********** Screen: {size} Density: {dpi} Device: {device} ...
- 使用printf和String.format格式化输出
格式化输出 在哪些情况下使用格式化输出: 异常打印到日志中使用格式化输出有利于排查错误原因: printf格式化 示例: public class PrintfTest { public static ...
- string.Format格式化输出
staticstring Format (string format,object arg0):将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式 (1)格式化货币(跟系统的环境有关,中文 ...
- 转载:python的format格式化输出
https://www.cnblogs.com/chunlaipiupiupiu/p/7978669.html python中format函数 ---恢复内容开始--- python中format ...
- Python format格式化输出
http://www.jb51.net/article/63672.htm 推荐参考 >>> '{0},{1}'.format('hello','python') 'hello,py ...
- string.Format 格式化输出日期
string.Format("{0:d}",System.DateTime.Now) 结果为:2009-3-20 (月份位置不是03) string.Format("{0 ...
随机推荐
- cuda纹理内存的使用
CUDA纹理内存的访问速度比全局内存要快,因此处理图像数据时,使用纹理内存是一个提升性能的好方法. 贴一段自己写的简单的实现两幅图像加权和的代码,使用纹理内存实现. 输入:两幅图 lena, moon ...
- IOS开发之纯代码界面--基本控件使用篇 ┊
http://www.cocoachina.com/bbs/read.php?tid=131516
- HttpServletRequest cannot be resolved to a type。
问题描述:HttpServletRequest cannot be resolved to a type.Multiple markers at this line - The import java ...
- Pandas(python)数据处理:只对某一列DataFrame数据进行归一化
处理数据要用到Pandas,但是没有学过,不知道是否有直接对某一列归一化的方法调用.自己倒弄了下.感觉还是比较麻烦. 使用Pandas读取到数组之后想把其中的'MonthlyIncome'一列进行归一 ...
- Spring注解装配
Spring 自动装配的主机有 @Autowired.@Intect.@Resource @Autowired是byType的, @Resource是byName的.我们一般用@Atutowired. ...
- linux_DNS
linux其配置文件 : /etc/resolv.conf nameserver 223.5.5.5 nameserver 223.6.6.6 # 这两个解析地址为阿里云解析地址,格式也是这样 什么是 ...
- TypeError: 'encoding' is an invalid keyword argument for this function
python 2.7 问题 data_file = open("F:\\MyPro\\data.yaml", "r", encoding='utf-8') 运行 ...
- Django_xamin注册model错误
可能出现的错误: 1. xadmin.sites.AlreadyRegistered: The model UserProfile is already registered 2. error:Fie ...
- python_斐波那契数列
什么是斐波那契数列? -- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列 如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 如何用程序进行实现? -- 逻辑整 ...
- JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)
1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...