九九乘法表中format函数格式化输出的问题
for i in range(1,10):for j in range(1,i+1):
print("{0:1}*{1:1}={2:2}".format(j,i,j*i),end="")
print()
在第3行中的“{0:1}”、“{1:1}”、“{2:2}”是什么鬼?
“{2:2}”后面的2个空格有什么用?
format函数怎么用? {位置: 长度} 对应后面的 .format(位置 0,位置 1, 位置 2,...) 傻眼貓咪 发表于 2022-1-8 23:45
{位置: 长度} 对应后面的 .format(位置 0,位置 1, 位置 2,...)
为什么有的代码不是这样的
print("{0}×{1}={2:2d}".format(j,i,j*i), end = ' ')
print(f"{j}×{i}={j*i:2d}", end = ' ')
CtrlCV工程師 发表于 2022-1-9 08:59
为什么有的代码不是这样的
都可以,因为 Python 有三种字符串格式化:
1.)%占位符格式化
2.).format() 格式化
3.)f-string 格式化
a = "小甲鱼"
b = 99
c = 87.13
d = True
print("%s 今年 %d 岁,体重是 %.2f,真表示 %r"%(a, b, c, d)) # %占位符格式化
print("{} 今年 {} 岁,体重是 {},真表示 {}".format(a, b, c, d)) # .format() 格式化
print(f"{a} 今年 {b} 岁,体重是 {c},真表示 {d}") # f-string 格式化小甲鱼 今年 99 岁,体重是 87.13,真表示 True
小甲鱼 今年 99 岁,体重是 87.13,真表示 True
小甲鱼 今年 99 岁,体重是 87.13,真表示 True 傻眼貓咪 发表于 2022-1-8 23:45
{位置: 长度} 对应后面的 .format(位置 0,位置 1, 位置 2,...)
那長度為1和為2有什麼區別 CtrlCV工程師 发表于 2022-1-9 10:14
那長度為1和為2有什麼區別
因为好看arr =
print("这是没有对齐输出结果:")
for i in arr:
print(i, i*i)
# ----------------------------
print()
print("这是有对齐输出结果:")
for i in arr:
print("{:5} {:10}".format(i, i*i))这是没有对齐输出结果:
12345 152399025
36 1296
196 38416
7 49
这是有对齐输出结果:
12345152399025
36 1296
196 38416
7 49 这是两种不同的格式化字符串方法:
加 f ,print(f’{i}*{j}={i*j:2d}',end=''),可以直接将字符串里面花括号括起来的变量和表达式打印出来, 输出j*i = i*j
print('{0}*{1}={2:2d}' .format(i,j,i*j),end=''),format方法,是将接收到的位置参数和关键字系数传送到一个字段里,而这个字段在字符串中由花括号表示。在这里,{0}{1}{2}代表的是位置参数,(i,j,i*j)是关键字参数。
不知道我这样解释可曾说清楚了。
print("{0}×{1}={2:2d}".format(j,i,j*i), end = ' ')
2d中的d意思是以十进制显示,你可以把d换成x试试就明白了。
print(f"{j}×{i}={j*i:2d}", end = ' ')
是利用了print(f"{表达式}") 的用法,引用了变量j,i ,及结果。这个答案比上面那个更简洁。 傻眼貓咪 发表于 2022-1-9 10:08
都可以,因为 Python 有三种字符串格式化:
1.)%占位符格式化
為什麼您的format格式化{}裡面什麼都沒有,長度和位置都是可以省略的嗎?
還有就是%占位符的 %s%d%.2f%r是什麼意思 CtrlCV工程師 发表于 2022-1-9 10:40
為什麼您的format格式化{}裡面什麼都沒有,長度和位置都是可以省略的嗎?
還有就是%占位符的 %s%d%. ...
{:10_291:} 这个你可以查找小甲鱼的字符串格式化教学,或百度很多教学很详细的用法 CtrlCV工程師 发表于 2022-1-9 10:40
為什麼您的format格式化{}裡面什麼都沒有,長度和位置都是可以省略的嗎?
還有就是%占位符的 %s%d%. ...
長度和位置可以省略,除了长度和位置,其实还有很多很多其它参数,只是这里也被省略了。
%s%d%.2f%r 就是占位符(如上,百度搜索有很多教学)
页:
[1]