表面上看关于
python的运算符似乎没有什么特别之处,以至于大多数人认为它很简单。真的是这样吗?让我们来了解一下!
在
python中,内置有对字符串进行格式化的操作%
,
下面是
%格式符的表达式:
%[(name)][flags][width].[precision]typecode
参数解释:
-
(name) 可选
:
用于选择指定的
key
-
flags 可选
:
格式化操作符辅助符
-
*
:
定义宽度或者小数点精度
-
-
:
用做左对齐
-
+:
在正数前面显示加号
(+)
-
#
:
在八进制数前面显示零
(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")
-
0
:
显示的数字前面填充
"0"而不是默认的空格
-
m.n
:
m 是显示的最小总宽度,n 是小数点后的位数(如果有)
-
width 可选
:
占有宽度
-
.precision 可选
:
小数点后保留的位数
-
typecode 必选
-
C
:
转换成字符(
ASCII 码值,或者长度为一的字符串)
-
R
:
优先用
repr()函数进行字符串转换
-
S
:
优先用
str()函数进行字符串转换
-
D 或i
:
转成有符号十进制数
-
U
:
转成无符号十进制数
-
O
:
转成无符号八进制数
-
x或X
:
转成无符号十六进制数(
x / X 代表转换后的十六进制字符的大小写)
-
e 或E
:
转成科学计数法(
e / E控制输出e / E)
-
f或F
:
转成浮点数(小数部分自然截断)
-
g 或G
:
%e和%f / %E和%F 的简写
-
%%
:
输出
% (格式化字符串里面包括百分号,那么必须使用%%)
下面先看一个例子:
print('1:name is %s,and %d years old!'%('Nike',18))
输出:
1:name is Nike,and 18 years old!
说明:
在格式化字符串时,
Python使用一个字符串作为模板,模板中有带有%的格式符,这些格式符对应后面跟着的一个元组(tuple)系列,每一个格式符对应元组中的一个元素值
下面以例子说明上面的各种符号含义:
num=100
print("%d to hex is %#x" %(num,num))
输出:
100 to hex is 0x64
print("%#09o to hex is %#o" %(num,num))
输出:
0o0000144 to hex is 0o144
使用
Name参数的例子(其实就是利用字典):
print("name %(name)s,%(age)d years" % {"name":'Mike',"age":20})
输出:
name Mike,20 years
students = [{"name":"Wilber", "age":27}, {"name":"Will", "age":28}, {"name":"June", "age":27}]
print( "name: %10s, age: %10d" %(students[0]["name"], students[0]["age"]))
print ("name: %-10s, age: %-10d" %(students[1]["name"], students[1]["age"]))
print ("name: %*s, age: %0*d" %(10, students[2]["name"], 10, students[2]["age"]))
输出:
name: Wilber, age: 27
name: Will , age: 28
name: June, age: 0000000027
大家
可以细细品味其中微小的差别
,
如需了解更多
python实用知识,点击进入
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何快速为python代码添加注释09/14
- ♥ python中字符串和浮点数之间的转换08/21
- ♥ 如何在python中退出帮助11/12
- ♥ 如何在python中提取矩阵的第二列09/03
- ♥ python中如何给变量赋值08/30
- ♥ python中删除dict的方法有哪些09/20
内容反馈