在python中print()函数输出字符加变量有很多种形式,本文做一个整理!

假设我们要输出的句子是:

张三的年龄是20岁,收入为1万元每月。其中张三,20,1是变量。

name = "张三"
age = 20
money = 1

①    最基础的代码形式是:

print(name,"的年龄是",age,"岁,收入为",money,"万元每月")
#输出结果:
#张三 的年龄是 20 岁,收入为 1 万元每月

以此方式输出,原先‘,’的地方会出现空格,看起来不美观。

②    对①进行改进

采用'+'代替原来的','相当于将字符串相加,对于数字变量需要用str()转化为字符串形式。

print(name+"的年龄是"+str(age)+"岁,收入为"+str(money)+"万元每月")
#输出结果:
#张三的年龄是20岁,收入为1万元每月

可以看出②输出就没有空格了,因为只输出了一个大字符串。

③    使用format(),在""中要输出变量的地方用{}占位,在""结尾的地方在.format()加入要输出的变量。

print("{}的年龄是{}岁,收入为{}万元每月".format(name,age,money))
#输出结果:
#张三的年龄是20岁,收入为1万元每月

④    使用%,和format的形式很像

print("%s的年龄是%d岁,收入为%f万元每月"%(name,age,money))
#输出结果:
#张三的年龄是20岁,收入为1.000000万元每月

⑤    本人最推荐,最简洁的表达。在""前面加f,在字符串里面使用用花括号括起来的变量和表达式。如果需要标准化输出,在变量后加:和控制字符就行。

print(f'{name}的年龄是{age}岁,收入为{money}万元每月')
#输出结果:
#张三的年龄是20岁,收入为1.00万元每月

print(f'{name:4s}的年龄是{age:3d}岁,收入为{money:10.2f}万元每月')
#输出结果:
#张三  的年龄是 20岁,收入为      1.00万元每月

 第二段代码加了占位数的控制,“张三”与“的年龄”中间有2个空格,20的前面有1个宫格,1的前面有6个空格(1.00占了4格,总共10格)。

例如%m.nf

m表示整个变量输出要占m格,n表示小数点后的数字占n格

s——字符串输出

d——十进制输出

x——十六进制输出

o——八进制输出

f——浮点数输出,默认保留6位小数

e——指数形式输出,小数点后保留6位有效数字

部分参考网页:

python中的标准化输出_李京乐的博客-CSDN博客_python 标准化输出icon-default.png?t=M276https://blog.csdn.net/ljl6390221/article/details/79907754

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐