python基础-格式化输出的三种主流方式

占位符

程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式

比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age is xxx.

很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接,非常之麻烦,我们来试一试。

+方法(使用场景太少-->大多数情况弟弟用法)

用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接,非常之麻烦
代码如下

age = 18
print('My name is nash,my age is '+str(age))
# 输出结果 ---> My name is xxx,my age is 18

多字符串 + 的使用方法

name = 'nash'
age = 18
print('My name is '+name+' my age is '+str(age))
# 输出结果 ---> My name is nick my age is 18

上面使用的方法越看越别扭,越看越麻烦。这就需要用到占位符,如:%s(针对所有数据类型)、%d(仅仅针对数字类型)--> 个人看法这用法时候 %s 走天下

name = 'nash'
age = 18
print('my name is %s my age is %s' % (name, age))
# my name is nash my age is 18
age = 18
print('my age is %d' % age)
# my age is 18


format格式化

讲真,很鸡肋的格式化的方法,如果你需要使用这个,遇到多参数的时候,还是需要在句子后面噼里啪啦传上一大堆参数。使用这个不如用占位符或下面的f-String格式化。
ps:以前龟叔他们推荐用,个人觉得最好用第三种了现在

name = 'nash'
age = 18
print("Hello, {}. You are {}.".format(name, age))
# Hello, nash. You are 19.
name = 'nash'
age = 18
print("Hello, {1}. You are {0} years old.".format(age, name))
# Hello, nash. You are 18 years old.
name = 'nash'
age = 18
print("Hello, {name}. You are {age} years old.".format(age=age, name=name))
# Hello, nash. You are 18 years old.


f-String格式化

比较占位符的方式,python3.6版本新增了f-String格式化的方式,比较简单易懂.推荐使用这种方式。

name = "nash"
age = 18
print(f"Hello, {name}. You are {age}.")
# Hello, nash. You are 19.

大写的F也适用。

name = "nash"
age = 18
print(F"Hello, {name}. You are {age}.")
# 输出结果
# Hello, nash. You are 18.

变量乘法后在进行格式化(即运算结束后,格式化为最后一步)

age = 18
print(f'{age*2}')
# 输出结果
# 36

秀个其他地方看到的操作(内部是不会f影响外部的,并且还可以进行浮点数的小数取值)

salary = 6.6666
print(f'{salary:.2f}')
6.67

猜你喜欢

转载自www.cnblogs.com/suren-apan/p/11374636.html