python里的%操作符

2020-11-04 13:58发布

用途一:%操作符作为转换说明符(字符串格式化,string formatting),说明如下:

%[(name)][flags][width].[precision]typecode1
  • (name)为命名

  • flags可以有+,-,’ ‘或0。+表示右对齐。-表示左对齐。’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充

  • width表示显示宽度

  • precision表示小数点后精度

以下是类型码:

  • %s 字符串 (采用str()的显示)

  • %r 字符串 (采用repr()的显示)

  • %c 单个字符%b 二进制整数

  • %d 十进制整数

  • %i 十进制整数

  • %o 八进制整数

  • %x 十六进制整数

  • %e 指数 (基底写为e)

  • %E 指数 (基底写为E)

  • %f 浮点数

  • %F 浮点数,与上相同

  • %g 指数(e)或浮点数 (根据显示长度)

  • %G 指数(E)或浮点数 (根据显示长度)

  • %% 字符"%"

举例:

>>> print("%6.3f" % 2.3)
 2.300  
# 第一个"%"后面的内容为显示的格式说明,6为显示宽度,3为小数点位数,f为浮点数类型 
# 第二个"%"后面为显示的内容来源,输出结果右对齐,2.300长度为5,故前面有一空格
>>> print("%+10x" % 10)
        +a
# x为表示16进制,显示宽度为10,前面有8个空格
>>>print("%-5x" % -10)
-a   
#  "%-5x" 负号为左对齐,显示宽度为5,故-a后面有3个空格

上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:

>>> print("%10.*f" % (4, 1.2))
    1.2000

具体的:
字符串中的%,是一个几乎所有语言中都通用的一类字符串操作,简单的说,这是一种将其他变量置入字符串特定位置以生成新字符串的操作,比如说:

n = "Jack"
"My name is %s" % n

说明:
这段代码首先定义了一个名为n的变量,内容为Jack。然后下方的字符串中有一个%s,他的含义是“这里将被替换成一个新的字符串”,用作替换的内容放在字符串后面的%后面,就是那个n。所以最终这个字符串会变成My name is Jack。字符串中的%后面会附带一个字母,代表着用来替换的变量的类型,比如说%d代表着你将替换到此处的变量是一个整数,而%s代表着一个字符串。

另外,这种操作可以同时将多个变量放进字符串,只需要用括号把变量们括起来。
下面是一些例子。

>>> "www.%s.com"%"zhihu"   #字符串
'www.zhihu.com'

>>> "%dkm"%1990   #整数型
'1990km'

>>> "%s %d %f"%("abc",123,3.21)  #多个值
'abc 123 3.210000'

>>> print("%.0f"%1236.8)  # %.0f表示小数点后数为0个
1237

用途二:数学运算:取余数(remainder):

>>> 7%2
1


作者:bigdata老司机

链接:https://blog.csdn.net/yawei_liu1688/article/details/105089195

来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私自转载。