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方法,传入你要放入占位的变量,有多少个{}就放多少个变量。如下:
注意:{}中间不能有空格,否则会视为你使用了空字符串,程序会报错,如下:
|