当前位置: 首页 > 图灵资讯 > 行业资讯> python中的%是什么?怎么用?

python中的%是什么?怎么用?

来源:图灵python
时间: 2024-12-15 20:29:12

表面上看关于python的运算符,好像并没有什么特别的,以至于大部分人都觉得非常简单,事实真的如此嘛?大家来一探究竟吧!

python中,内置有对字符串进行格式化的操作%下面是%格式符的表达式:

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

参数解释:

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

  • flags 可选格式化操作符辅助符

  • *定义宽度或者小数点精度

  • -用做左对齐

  • +:在正数前面显示加号(+)

  • #在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")

  • 0显示的数字前面填充"0"而不是默认的空格

  • m.nm 是显示的最小总宽度,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:nameis%s,and%dyearsold!'%('Nike',18))

输出:

1:nameisNike,and18yearsold!

说明:在格式化字符串时,Python使用一个字符串作为模板,模板中有带有%的格式符,这些格式符对应后面跟着的一个元组(tuple)系列,每一个格式符对应元组中的一个元素值

下面以例子说明上面的各种符号含义:

num=100
print("%dtohexis%#x"%(num,num))

输出:

100tohexis0x64
print("%#09otohexis%#o"%(num,num))

输出:

0o0000144tohexis0o144

使用Name参数的例子(其实就是利用字典):

print("name%(name)s,%(age)dyears"%{"name":'Mike',"age":20})

输出:

nameMike,20years
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学习网教学中心

上一篇:

Python中如何安装xlwt

下一篇:

返回列表