A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

python基础:格式化占位符1、为什么要有占位符?

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

[Python] 纯文本查看 复制代码
a = 1
print(a)

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

[Python] 纯文本查看 复制代码
a = 1
print('这是a的值:a')

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

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

[Python] 纯文本查看 复制代码
a = 1[/size][/font][/color][/p]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方法,传入你要放入占位的变量,有多少个{}就放多少个变量。如下:

注意:{}中间不能有空格,否则会视为你使用了空字符串,程序会报错,如下:


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马