首页 新闻 会员 周边 捐助

python print格式化中用format还是%,还是f,什么时候用数字来 这些格式化数字{}中有时候有数字,有时候没有数字

0
[已关闭问题] 关闭于 2025-09-11 07:23

python print格式化中用format还是%,还是f,什么时候用数字来 这些格式化数字{}中有时候有数字,有时候没有数字

_java_python的主页 _java_python | 小虾三级 | 园豆:1024
提问于:2025-09-11 07:20
< >
分享
所有回答(1)
0
写法状态建议
% 已停止新特性,仅老代码/极简日志保留 新代码别碰
str.format() 功能完整,但语法啰嗦 只在“模板字符串运行时才知道”或“要兼容 ≤3.5”时才用
f-string f'{expr}' 最快、可读、表达式任意 默认选它
  • f-string

大括号里就是 Python 表达式,永远不会写 {0}{1}
想复用就先把值绑给局部变量即可:

total = 19.5
      print(f'总价:{total}元,含税:{total*1.13:.2f}元')

 

  • str.format()
两种模式——“自动位” 与 “手动位”:
模式写法何时用
自动位(大括号空着) "{} + {} = {}".format(a,b,a+b) 参数只出现一次,顺序与槽位一致即可,省键盘
手动位(填数字或关键字) "{0} + {1} = {0}".format(a,b) 或 "{x} + {y} = {x}".format(x=a,y=b) ① 某个值要重复/复用

 
# 复用同一变量
tpl = "{0:>6} | {0:*<10} | {0:.2f}"
print(tpl.format(price))          # price 被用 3 次

# 关键字版
tpl = "{name}:{name:-^20}"
print(tpl.format(name="Python"))

空 {} → 按参数顺序一次性用完
出现数字/关键字 → 按号找参,可复用、可乱序

 其实就是在.format()中定义变量,0=value,1=value...或者name=value然后.号前面引用变量

如果是f“”就是将变量定义放在外面name=value,print(f"{name}")

_java_python | 园豆:1024 (小虾三级) | 2025-09-11 07:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册