Python的字符串格式化有两种方式:%格式符方式,format方式

%格式符

%[(name)][flags][width].[precision]typecode

(name) 可选,用于选择指定的key

flags 可选,可供选择的值有:

+ 右对齐;正数前加正好,负数前加负号;

- 左对齐;正数前无符号,负数前加负号;

空格 右对齐;正数前加空格,负数前加负号;

0 右对齐;正数前无符号,负数前加负号;用0填充空白处

width 可选,占有宽度

.precision 可选,小数点后保留的位数

typecode 必选

s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置

r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置

c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置

o,将整数转换成 八 进制表示,并将其格式化到指定位置

x,将整数转换成十六进制表示,并将其格式化到指定位置

d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置

e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)

E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)

f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)

F,同上

g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)

G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)

%,当字符串中存在格式化标志时,需要用 %%表示一个百分号

注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式

(name) 可选,用于选择指定的key

a = "%(name)s-----%(age)d "%{'name':'xx','age':20}

print(a)

执行结果:

xx-----20

flags 可选,可供选择的值有:

+ 右对齐;正数前加正好,负数前加负号;

- 左对齐;正数前无符号,负数前加负号;

空格 右对齐;正数前加空格,负数前加负号;

0 右对齐;正数前无符号,负数前加负号;用0填充空白处

width 可选,占有宽度

name占10位,+,右对齐,age占10位,-,左对齐

b = "%(name)+10s————————%(age)-10d————————"%{'name':'xx','age':20}

print(b)

执行结果:

xx————————20 ————————

空格,右对齐

0,用0填充空白处

c = "------%(year) d******%(age)010d "%{'year':2016,'age':-20}

print(c)

执行结果:

------ 2016******-000000020

.precision 可选,小数点后保留的位数

只保留两位小数

d = '--------%(p).2f'%{'p':1.23456}

d1 = '--------%(p)f'%{'p':1.23456}

print(d)

print(d1)

执行结果:

--------1.23

--------1.234560

typecode 必选

c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置

o,将整数转换成 八 进制表示,并将其格式化到指定位置

x,将整数转换成十六进制表示,并将其格式化到指定位置

e ='***%c***%o***%x'%(65,15,15)

print(e)

执行结果:

***A***17***f

e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)

E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)

f = '-----%(num)e------%(num)E'%{'num':1000000000}

print(f)

执行结果:

-----1.000000e+09------1.000000E+09

g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)

G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)

g = '-----%(num)g------%(num1)G'%{'num':1000000000,'num1':100}

print(g)

执行结果:

-----1e+09------100

%,当字符串中存在格式化标志时,需要用 %%表示一个百分号(类似于转意效果)

s = 'aaa %'

print(s)

s1 = 'aaa %s %%'%('bbb')

print(s1)

执行结果:

aaa %

aaa bbb %

format方式

数字格式的定义以 ':' 号开始。碰到了': '字符就知道要定义一个数字的显示格式了。格式的定义顺序为

[[fill]align][sign][#][0][width][,][.precision][type]

fill 【可选】空白处填充的字符

align 【可选】对齐方式(需配合width使用)

<,内容左对齐

>,内容右对齐(默认)

=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字

^,内容居中

sign 【可选】有无符号数字

+,正号加正,负号加负;

-,正号不变,负号加负;

空格 ,正号空格,负号加负;

# 【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示

, 【可选】为数字添加分隔符,如:1,000,000

width 【可选】格式化位所占宽度

.precision 【可选】小数位保留精度

type 【可选】格式化类型

传入” 字符串类型 “的参数

s,格式化字符串类型数据

空白,未指定类型,则默认是None,同s

传入“ 整数类型 ”的参数

b,将10进制整数自动转换成2进制表示然后格式化

c,将10进制整数自动转换为其对应的unicode字符

d,十进制整数

o,将10进制整数自动转换成8进制表示然后格式化;

x,将10进制整数自动转换成16进制表示然后格式化(小写x)

X,将10进制整数自动转换成16进制表示然后格式化(大写X)

传入“ 浮点型或小数类型 ”的参数

e, 转换为科学计数法(小写e)表示,然后格式化;

E, 转换为科学计数法(大写E)表示,然后格式化;

f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

g, 自动在e和f中切换

G, 自动在E和F中切换

%,显示百分比(默认显示小数点后6位)

fill 【可选】空白处填充的字符

align 【可选】对齐方式(需配合width使用)

<,内容左对齐

>,内容右对齐(默认)

=,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字

^,内容居中

width 【可选】格式化位所占宽度

s1 ='---{:*^20s}----'.format('welcome')

print(s1)

s2 ='---{:*>20s}----'.format('welcome')

print(s2)

s3 ='---{:*<20s}----'.format('welcome')

print(s3)

执行结果:

---******welcome*******----

---*************welcome----

---welcome*************----

# 【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示

b,将10进制整数自动转换成2进制表示然后格式化

c,将10进制整数自动转换为其对应的unicode字符

d,十进制整数

o,将10进制整数自动转换成8进制表示然后格式化;

x,将10进制整数自动转换成16进制表示然后格式化(小写x)

X,将10进制整数自动转换成16进制表示然后格式化(大写X)

三种方法表示

a1 = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{:c}".format(15, 15, 15, 15, 15, 15.87623,65)

a2 = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%},{1:c}".format(15,65)

a3 = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%},{cc:c}".format(num=15,cc=65)

print(a1)

print(a2)

print(a3)

执行结果:

numbers: 1111,17,15,f,F, 1587.623000%,A

numbers: 1111,17,15,f,F, 1500.000000%,A

numbers: 1111,17,15,f,F, 1500.000000%,A

, 【可选】为数字添加分隔符,如:1,000,000

.precision 【可选】小数位保留精度

n = '---{:,d}----'.format(10000000)

n1 = '---{:.2f}----'.format(1.2345)

print(n)

print(n1)

执行结果:

---10,000,000----

---1.23----

format常用格式化

tp1 = "i am {}, age {}, {}".format("seven", 18, 'alex')

tp2 = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])

tp3 = "i am {0}, age {1}, really {0}".format("seven", 18)

tp4 = "i am {0}, age {1}, really {0}".format(*["seven", 18])

tp5 = "i am {name}, age {age}, really {name}".format(name="seven", age=18)

tp6 = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})

tp7 = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])

tp8 = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)

tp9 = "i am {:s}, age {:d}".format(*["seven", 18])

tp10 = "i am {name:s}, age {age:d}".format(name="seven", age=18)

tp11 = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})

print(tp1)

print(tp2)

print(tp3)

print(tp4)

print(tp5)

print(tp6)

print(tp7)

print(tp8)

print(tp9)

print(tp10)

print(tp11)

执行结果:

i am seven, age 18, alex

i am seven, age 18, alex

i am seven, age 18, really seven

i am seven, age 18, really seven

i am seven, age 18, really seven

i am seven, age 18, really seven

i am 1, age 2, really 3

i am seven, age 18, money 88888.100000

i am seven, age 18

i am seven, age 18

i am seven, age 18

python字符串的美化_python字符串格式化相关推荐

  1. python字符串打印教学_python字符串格式化教你正确打印 : D

    python字符串格式化教你正确打印 : D python字符串格式化教你正确打印 : D 文章目录 用格式字符% 字符串 整数 浮点数 format格式化 print需要注意的地方 转义字符 %运算 ...

  2. python format函数实例_Python字符串格式化,format格式化函数详细使用

    Python接触比较多的是字符串,那么操作字符串也就多.Python 支持格式化字符串的输出 . 尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符的字符串中. 代码 ...

  3. python设置字符间距_python字符串处理以及字符串格式化

    一.python字符串处理 目录: 1.算长度(len),某个元素出现的次数(count) 2.切片   [ ],repr:把不可见字符显示出来 3.查找 #find,rfind从右边查找 4.字符串 ...

  4. python字符串拼接数字_python字符串和数值操作函数大全(非常全)

    字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\'的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...

  5. python字符串的表示_Python字符串方法总结

    Python字符串方法图示: (温馨提示:对图片点右键--在新标签页中打开图片) 1.index() 定义:查找并返回指定str的索引位置,如果没找到则会抛异常(查找的顺序是从左至右)可以指定范围:开 ...

  6. python字符串是什么_python字符串详解

    字符串详解 在python中引号引起来的就是字符串 字符串是用来存储少量数据 索引 索引(下标) 通过索引可以精确的定位到某个元素 name = "meat" meat 每一个字母 ...

  7. python字符串添加成员_Python - 字符串的操作方法

    字符串操作方法 生成字符串 str = 'Python string Function study' sequence类型都支持的一些通用操作: 成员检查:in.not in 'Py' in str ...

  8. python定界符有哪些_Python字符串

    第二讲 list 列表 一.列表的基本介绍 什么是列表? 列表由一系列按特定顺序排列的元素组成,使用[]作为定界符,用逗号作为元素分隔符. List的特点 有序可变,可以是任意类型数据. 列表的数据结 ...

  9. python中字符串的基本操作_python字符串的基本操作

    # 字符串是python最常用的数据类型 # 因字符串是不可变的,所以除分片赋值外的所有标准序列操作对字符串适用 # temp1='just soso' # print temp1[-1:] # o ...

最新文章

  1. ansible playbook lookups组件
  2. SAP BPC最佳实践-SAP BPC的OLAP引擎比较(MS OLAPBW OLAP)
  3. 局部变量和成员变量的初始值问题
  4. sklearn 交叉验证与参数寻优
  5. MySQL优化详解(四)——MySQL缓存设置
  6. MySQL数据库的主键和外键详解
  7. “普通高中数学课程标准(实验)”解读
  8. 小米路由器4a开发版固件_发现篇免拆刷小米路由器4a千兆版刷第三方固件的贴子!...
  9. 百融大数据自助查询_【百融云创科技股份有限公司现在大数据公司被查,百融受影响了吗】-看准网...
  10. bootstrap专栏 06.组件 06.列表组和旋转图标
  11. 郭天祥的10天学会51单片机_第十节
  12. 谢尔顿在玩科南时代,哈哈
  13. 图灵学院Java开发笔记
  14. 多个 EXCEL 文件如何合并成一个文件
  15. c语言 自动生成word文件,C#根据Word模版生成Word文件
  16. system x 常用工具链接—cuixf@DC
  17. 浅谈学术论文rebuttal
  18. axios 的 qs库
  19. 超市进销存管理系统软件(JFrame简版)
  20. Cocos2dx 集成CryptoPP

热门文章

  1. pandas使用select_dtypes函数移除dataframe中指定数据类型的数据列(exclude columns based on the data type in dataframe)
  2. R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)
  3. pandas判断日期是否是闰年(is_leap_year)实战: 数据列转化为日期(时间)格式、判断pandas的日期数据列是否是闰年
  4. Python使用sklearn构建广义线性模型:Tweedie回归(Tweedie regression)实战
  5. pandas批量为列名添加字符并重命名实战
  6. R语言基于glmnet构建分类模型并可视化特征系数(coefficient)以及L1正则化系数(lambda)实战
  7. KMeans聚类并绘制聚类后的决策边界
  8. 交叉熵损失函数、修正Huber损失、极大似然估计、负对数似然、似然与交叉熵、KL散度
  9. Windows下使用Tesseract进行OCR文字识别
  10. protobuf和socket通信简单实例