七、python基础:格式化占位符

七、python基础:格式化占位符

1、为什么要有占位符?

我们先看没有占位符的情况

a = 1
print(a)

这个可以正常输出:1
但是,假如我们要让它输出的结果带上说明文字呢?例如这样:“这是a的值:1”
你如果像下面这么写可以吗?

a = 1
print('这是a的值:a')

答案是不可以的,它的输出结果会是:“这是a的值:a”

那么为了让它最终输出的结果是:”这是a的值:1“
我们需要先给它一个占位符,告诉解释器,这个位置我先用一个变量占了位置了,到时你把这个变量给我替换进去就行了,所以正确的写法:

a = 1
print('这是a的值:%d'%a)

%d是指先占了一个位置,用来放整数型数据的。%a是告诉程序,要放进去的是变量a对应的值。

2、%占位符

%d:数值类型的占位符
在这里插入图片描述
%f:浮点数类型的占位符
在这里插入图片描述
%.3f:浮点数占位符,精确到小数点后3位,这个3可以自定义,改成2就是精确到小数点后2位
在这里插入图片描述
%s:字符串类型的占位符
在这里插入图片描述
看这几个打印输出,是不是有个疑问,怎么数值类型和字符串类型的输出结果都是一样的。

原因不是它们本质一样,而是因为我们在print()方法内部,使用了一个’’,这已经代表我们要把它作为字符串进行打印输出了,所以输出的结果都是字符串。

有几个比较细节的点(稍微了解即可):

当变量是整数时,它虽然属于数值类型数据,但占位符还是可以使用%s或者%f的,只不过%f会导致程序自动把整数先按保留小数点后6位数的格式转成小数,再输出。
在这里插入图片描述
当变量是浮点数时,它虽然属于数值类型数据,但占位符还是可以使用%s或者%d的,%s会直接将浮点数转字符串输出,%d会直接取浮点数的整数部分,其他去掉。
在这里插入图片描述
而当变量是字符串的时候,占位符是无法使用%d和%f的,程序会报错。
报错内容:”类型错误:必须是一个数字,而不是字符串。“
在这里插入图片描述

3、format()格式化占位符

用法:在需要占位的地方,先使用{}占位,跟着通过.format()调用format方法,传入你要放入占位的变量,有多少个{}就放多少个变量。如下:
在这里插入图片描述
注意:{}中间不能有空格,否则会视为你使用了空字符串,程序会报错,如下:
在这里插入图片描述

发布了47 篇原创文章 · 获赞 74 · 访问量 7885

猜你喜欢

转载自blog.csdn.net/Jacky_kplin/article/details/104779532