格式化输出的几种方法 主要介绍format函数的用法

简介:

1 str自带函数格式化输出 rjust() ljust() center() zfill()


zfill是补齐零


介绍:

rjust(...)

    S.rjust(width[, fillchar]) -> string


给字符串格式化输出,对字符串本身不做处理,只是返回一个格式化过的字符串,可以指定字符串宽度,并且指定填充的字符,默认填充空格!


作用: 对齐输出


举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
In [ 26 ]: s1 = "1"        
In [ 27 ]: s2 = "1234"     
In [ 28 ]: s1
Out[ 28 ]:  '1'
In [ 29 ]: s2
Out[ 29 ]:  '1234'
In [ 30 ]:  for  in  s1,s2:
    ....:      print  i
    ....:     
1
1234
 
#左对齐输出,不满长度为4的,默认填充空格
In [ 34 ]:  for  in  s1,s2:
    ....:      print  i.rjust( 4 )
    ....:     
    1
1234


#填充其他字符

1
2
In [ 35 ]: s1.rjust( 4 , "*" )
Out[ 35 ]:  '***1'


#补齐0

1
2
In [ 38 ]: s1.zfill( 4 )
Out[ 38 ]:  '0001'

等于

1
2
In [ 40 ]: s1.rjust( 4 , '0' )
Out[ 40 ]:  '0001'

2 浮点型指定宽度输出

1
2
3
4
In [ 36 ]:  1.0 / 3
Out[ 36 ]:  0.33333333333333331
In [ 37 ]:  "%.3f"  %  ( 1.0 / 3 )
Out[ 37 ]:  '0.333'


3 format函数格式化化输出,格式有点像C语言,替换变量

也是str自带函数,可以多用多用

它通过{}和:来代替%。


通过位置

1
2
In [ 48 ]:  print  '{0} is a {1}' . format ( 'cat' , 'animal' )
cat  is  a animal


1
2
In [ 49 ]:  print  '{1} is a {0}' . format ( 'cat' , 'animal'
animal  is  a cat


解释:{}的内容,会被format()中的参数代替,可以在'{}'里填写上数字来指定format()中的位置,但如果'{}'里面是key参数其中的内容会被format()中的value值代替

通过关键字参数

1
2
In [ 50 ]:  print  '{name} is a {age}' . format (name = 'andy' , age = 20 )  
andy  is  20


通过下标

1
2
3
In [ 56 ]: l  =  [ 'andy' 'good' ]
In [ 60 ]:  '{0[0]} {0[1]} {0[0]}' . format (l) 
Out[ 60 ]:  'andy good andy'


格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

填充与对齐

填充常跟对齐一起使用

^、<、>分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

比如

1
2
3
4
5
6
In [ 15 ]:  '{:>8}' . format ( '189' )
Out[ 15 ]:  '   189'
In [ 16 ]:  '{:0>8}' . format ( '189' )
Out[ 16 ]:  '00000189'
In [ 17 ]:  '{:a>8}' . format ( '189' )
Out[ 17 ]:  'aaaaa189'

精度与类型f

精度常跟类型f一起使用

1
2
In [ 44 ]:  '{:.2f}' . format ( 321.33345 )
Out[ 44 ]:  '321.33'

其中.2表示长度为2的精度,f表示float类型。

其他类型

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

1
2
3
4
5
6
7
8
In [ 54 ]:  '{:b}' . format ( 17 )
Out[ 54 ]:  '10001'
In [ 55 ]:  '{:d}' . format ( 17 )
Out[ 55 ]:  '17'
In [ 56 ]:  '{:o}' . format ( 17 )
Out[ 56 ]:  '21'
In [ 57 ]:  '{:x}' . format ( 17 )
Out[ 57 ]:  '11'

用,号还能用来做金额的千位分隔符。

1
2
In [ 47 ]:  '{:,}' . format ( 1234567890 )
Out[ 47 ]:  '1,234,567,890'

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1770594如需转载请自行联系原作者

cuizhiliang
相关文章
|
2月前
|
数据库
19、绕过去除注释符(Get)
19、绕过去除注释符(Get)
15 0
|
5月前
|
Java
java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
|
4月前
|
关系型数据库 MySQL Java
PowerShell【实例 01】-replace替换字符串及特殊字符处理(括号+百分号%)及utf8bom格式问题处理
PowerShell【实例 01】-replace替换字符串及特殊字符处理(括号+百分号%)及utf8bom格式问题处理
47 0
|
8月前
|
Java
避免分割字符串的常见错误:正则表达式元字符未转义
在编程和文本处理中,我们经常需要将一个字符串按照特定的分隔符拆分成多个部分。为了实现这一目标,我们使用分割函数或正则表达式来定义我们所需的分隔符。 在 Java 的 String 类的 split() 函数中,如果你使用字符串参数作为分隔符,例如 split(","),它会按照每个字符作为分隔符进行字符串拆分。
58 0
|
数据采集 Java 开发工具
Java正则表达式匹配aabb、abab格式字符
我们开发过程中,经常用到正则表达式来匹配想要的字符串,或者从一段文本中提取想要的关键字,比如爬虫应用等。正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅java里面可以用,其他的语言也一样适用。
346 0
Java正则表达式匹配aabb、abab格式字符
define语句换行\后不能有空格
define语句换行\后不能有空格
108 0
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
|
数据安全/隐私保护 Python
一日一技:正则表达式同一个小括号两种意思
一日一技:正则表达式同一个小括号两种意思
158 0
一日一技:正则表达式同一个小括号两种意思
PHP正则匹配字符串只能包含数字、字符串、下划线
//列子 $string = ' abc_123@c c!'; //去除字符串所有空格(结果为'abc_123@cc!') $string = preg_replace('# #','',$string); //验证字符串是否只包含数字和字母以及下划线 $res = preg_match("/^[a-zA-Z0-9_]+$/",$string); //如果不符合正则表达式规则,则抛出异常 if (!$res){ //自定义异常类 throw new OperationException([ 'errorCode'=>999,