Python的格式化字符串
Python 支持格式化字符串的输出。可能会用到复杂的表达式,但是最基本的用法是将一个值插入一个有字符串格式符 %s的 字符串中。
预先设设计好一定的格式,让字符串保持原来的结构,让里面的值发生变化。
举个例子
say4 = '我有 10 个保险柜子 全部放在 家 里面 '
这个字符串我不能每次用的时候都去定义一边,
所以选择简便的方法 用格式字符串,替换掉其中的数据。
第一判断是什么类型的
这里面 一个是 整数型 一个是 字符型。其它类型的 都是大同小异了。
先要用到一个符号站位
%s = 字符串
%d = 整数
say4 = '我有 %d 个保险柜子 全部放在 %s 里面 '
定义好这个字符串,只用它单独使用的话是 毫无意义的。
1
2
<code>>>>print(say4)</code>
<code>我有 %d 个保险柜子 全部放在 %s 里面</code>
要用一个符号起化学反应
我需要向 字符串里传递 两个值 %d %s
在say4 后面 放一个 %号 然后把值 传进去,这个括号 叫做元组 = 一组数据
(传递的整数,”传递的字符串”)用逗号连接
<code>>>> say4 % (5,"学校")</code>
'我有 5 个保险柜子 全部放在 学校 里面 '
>>> print (say4 % (100,'瑞士银行'))
我有 100 个保险柜子 全部放在 瑞士银行 里面
这个好处是 事先 定义好一个字符串固定结构,中间这个这个地方获取到什么值,传过来就行了。
事先都定义好了想用什么 拿过来 就行了。
3
4
5
6
7
<code>>>> h1 = (1000,'放在日本国库')</code>
<code>>>> z1 = (1000000,'华夏玄武安全局')</code>
<code>>>> print (say4 % h1)</code>
<code>我有 1000 个保险柜子 全部放在 放在日本国库 里面</code>
<code>>>> print (say4 % z1)</code>
<code>我有 1000000 个保险柜子 全部放在 华夏玄武安全局 里面</code>
<code>>>></code>
Python后面 说 数据库的时候会用到,很多地方都会用到
语法是死的 运用是灵活的,看你实际的用处了。
字符串索引 字符串 格式 都是为了 让字符串更加灵活
附字符串格式化其它符号:
符号 描述
%c
格式化字符机器ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整数
%o
格式化无符号八进制
%x
格式化十六进制
%X
格式化无符号十六进制(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学算法格式化浮点数
%E
作用同%e,用科学算法格式浮点数
%g
%f 和 %e 的简写
%G
%f 和 %E 的简写
%p
用于十六进制格式化变量地址
格式化操作符辅助指令:
符号
功能
*
定义宽度或者小数点精度
-
用做左对齐
+
在正数前面显示加号(+)
<sp>
在正数前面显示空格
#
在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
显示的数字前面填充'0'而不是默认的空格
%
'%%'输出一个单一的'%'
(var)
映射变量(字典参数)
m.n.
M是显示的最小总宽度,n是小数点后的位数(如果可用的话)
2017年11月24号 王宇林