Python中格式化format()方法详解

yipeiwu_com7年前Python基础

 Python中格式化format()方法详解

Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法;

Python是完全面向对象的语言, 任何东西都是对象;

字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;

使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等;

还可以添加特定的字母, 如:

  1. 'b' - 二进制. 将数字以2为基数进行输出.
  2. 'c' - 字符. 在打印之前将整数转换成对应的Unicode字符串.
  3. 'd' - 十进制整数. 将数字以10为基数进行输出.
  4. 'o' - 八进制. 将数字以8为基数进行输出.
  5. 'x' - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.
  6. 'e' - 幂符号. 用科学计数法打印数字, 用'e'表示幂.
  7. 'g' - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印.
  8. 'n' - 数字. 当值为整数时和'd'相同, 值为浮点数时和'g'相同. 不同的是它会根据区域设置插入数字分隔符.
  9. '%' - 百分数. 将数值乘以100然后以fixed-point('f')格式打印, 值后面会有一个百分号.

数字(0, 1, ...)即代表format()里面的元素, 所以可以使用"."调用元素的方法;

参见网址: http://www.python.org/dev/peps/pep-3101/

代码如下:

# -*- coding: utf-8 -*- 
 
#==================== 
#File: abop.py 
#Author: Wendy 
#Date: 2013-12-03 
#==================== 
 
#eclipse pydev, python3.3 
 
age = 25 
name = 'Caroline' 
 
print('{0} is {1} years old. '.format(name, age)) #输出参数 
print('{0} is a girl. '.format(name)) 
print('{0:.3} is a decimal. '.format(1/3)) #小数点后三位 
print('{0:_^11} is a 11 length. '.format(name)) #使用_补齐空位 
print('{first} is as {second}. '.format(first=name, second='Wendy')) #别名替换 
print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法 
print('My name is {0:8}.'.format('Fred')) #指定宽度 

输出:

Caroline is 25 years old.  
Caroline is a girl.  
0.333 is a decimal.  
_Caroline__ is a 11 length.  
Caroline is as Wendy.  
My name is out.txt 
My name is Fred  . 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

实例讲解Python中的私有属性

在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8   class A:  &n...

给Python IDLE加上自动补全和历史功能

许多时候,我们使用Python,并不用写一个程序,一些不复杂的任务,我更喜欢在 IDLE(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利的地方,最主要...

Django数据库连接丢失问题的解决方法

问题 在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种 OperationalError: (2006, 'MySQL server has gon...

softmax及python实现过程解析

softmax及python实现过程解析

相对于自适应神经网络、感知器,softmax巧妙低使用简单的方法来实现多分类问题。 功能上,完成从N维向量到M维向量的映射 输出的结果范围是[0, 1],对于一个sample的...

tensorboard实现同时显示训练曲线和测试曲线

tensorboard实现同时显示训练曲线和测试曲线

在做网络训练实验时,有时需要同时将训练曲线和测试曲线一起显示,便于观察网络训练效果。经过很多次踩坑后,终于解决了。具体的方法是:设置两个writer,一个用于写训练的数据,一个用于写测试数...