python运算符优先级顺序依次如下:
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
不同类型的运算符之间也有相应的优先级顺序。
一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。
各种运算符间的优先级如下:数值运算符、字符串运算符、关系运算符、逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。
**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16\x0d\x0a一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8\x0d\x0a*如果是字符串、列表、元组与一个整数N相乘,返回一个其所有元素重复N次的同类型对象,比如"str"*3将返回字符串"strstrstr"\x0d\x0a\x0d\x0a如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中\x0d\x0a如定义以下函数\x0d\x0adef func(*args):print(args)\x0d\x0a当用func(1,2,3)调用函数时,参数args就是元组(1,2,3)\x0d\x0a定义以下函数\x0d\x0a\x0d\x0adef func(**args):print(args)\x0d\x0a当用func(a=1,b=2)调用函数时,参数args将会是字典{'a':1,'b':2}\x0d\x0a\x0d\x0a如果是在函数调用中,*args表示将可迭代对象扩展为函数的参数列表\x0d\x0aargs=(1,2,3)\x0d\x0afunc=(*args)\x0d\x0a等价于函数调用func(1,2,3)\x0d\x0a函数调用的**表示将字典扩展为关键字参数\x0d\x0aargs={'a':1,'b':2}\x0d\x0afunc(**args)\x0d\x0a等价于函数调用 func(a=1,b=2)\x0d\x0a\x0d\x0a问题能不能明确一点,一个问题已经给了八个答案了1. 打印字符串
print (“His name is %s”%(“Aviad”))
效果:
2.打印整数
print (“He is %d years old”%(25))
效果:
3.打印浮点数
print (“His height is %f m”%(1.83))
效果:
4.打印浮点数(指定保留小数点位数)
print (“His height is %.2f m”%(1.83))
效果:
5.指定占位符宽度
print (“Name:%10s Age:%8d Height:%8.2f”%(“Aviad”,25,1.83))
效果:
6.指定占位符宽度(左对齐)
print (“Name:%-10s Age:%-8d Height:%-8.2f”%(“Aviad”,25,1.83))
效果:
7.指定占位符(只能用0当占位符?)
print (“Name:%-10s Age:%08d Height:%08.2f”%(“Aviad”,25,1.83))
效果:
8.科学计数法
format(0.0015,’.2e’)
效果:
我们还可以用词典来传递真实值。如下:
print (“I’m %©s. I have %(l)d yuan.” % {‘c’:‘hungry’,‘l’:22})
调试输出:
I’m hungry. I have 22 yuan.
格式符
格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,’ ‘或0。+表示右对齐。-表示左对齐。’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度
比如:
print("%+10x" % 10)
print("%04d" % 5)
print("%6.3f" % 2.3)
上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:
print("%. f" % (4, 1.2))
Python实际上用4来替换
。所以实际的模板为"%.4f"。
总结
Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式。Python中还有其他的格式化字符串的方式,但%操作符的使用是最方便的。
参考:https://www.cnblogs.com/lovejh/p/9201219.html