45. python %占位符格式化处理

45. %占位符格式化处理

1.课题导入

上一节我们学了for循环的嵌套。

for循环嵌套最典型的实操练习就是编写九九乘法表。

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

怎样才能输出上面的九九乘法表呢?

乍一看,找不到规律,也找不到思路。

别急,我们试着一行一行的来编写。

【目标任务】

原样输出1*1=1

x = 1
y = 1
print(x,'*',y,'=',x*y)
1 * 1 = 1

上面的代码是我们初学者能想到的最快捷的输出方法。

但我们仔细观察,发现:

终端输出是这样的:1 * 1 = 1

题目要求是这样的:1*1=1

看上去终端输出的内容似乎多了一个空格。

但大家看我编写的代码是没有空格的。

那怎样才能输出1*1=1 这样的表达式呢?

我们用Python中的格式化语法就能实现上述要求。

Python格式化语法有很多种。

今天学习最简单快捷的%占位符格式化语法

2. %占位符概念

学校的学生通常采用书本、水杯去自习室占座。

在这里插入图片描述

地铁上的不文明行为:用包占座。

在这里插入图片描述

【备注】上述图片来自书籍《看漫画学Python》。

在Python中,我们通常用%来占位,也就是生活中占座的意思。

因此我将%称为占位符。

它的作用是先在要输出的内容中占一个位置,最后再告诉程序那个被占了的位置要输出什么内容。

语法通常如下:

(要输出的内容 % 需要格式化的变量或数值)

本节我们先体验代码,最后再来讲解语法。

3. %d格式化为整数

【作用】

官方描述:%d的作用是将整数、浮点数转换成十进制表示,并将其格式化到指定位置。

【温馨提示】

我们日常用的数都是十进制数,初学者不用关注十进制表示,重点理解语法和格式化到指定位置即可。

我们可以这样理解%d的作用:

  1. %d将整数格式化到指定位置。

  2. %d将浮点数格式化为整数,并放到指定位置。

decimal[ˈdesɪml]:十进制的。

d可以理解为是decimal的首字母。

%d的意思就可以理解成格式化为十进制的整数。

3.1 %d将整数格式化到指定位置

【实操练习】

原样输出2*4=8

【语法】

(要输出的内容 % 要格式化的变量或数值)

【代码拆解】

  1. 先写要输出的内容2*4=8
print("2*4=8")
  1. 替换需要格式化的地方,即输出内容的数字部分。这里需要的替换的是参与计算的整数,因此用%d去占位。

2用一个%d取替代。

4用一个%d取替代。

8用一个%d取替代。

print("%d*%d=%d")
  1. 添加%占位符。为了语法美观,我通常在%前后都输入一个空格。
print("%d*%d=%d" % )
  1. 最后添加要格式化的数值。
print("%d*%d=%d" % (2, 4, 2*4))
2*4=8

要替换的数值有3个,两个数值之间用英文逗号分隔。

最后一个数值2*4可以直接写8,但为了让计算机自己计算,我写的是2*4

  1. 要格式化的部分也可以是变量。
x = 2
y = 4

print("%d*%d=%d" % (x, y, x*y))
2*4=8

3.2 %d将浮点数格式化为整数

1. 知识回顾:用int函数将浮点数转换为整数

将浮点数3.14和3.9转换成整数。

浮点数转换成整数,直接使用int函数即可。

print(int(3.14))
3
print(int(3.9))
3

注意int转换不会四舍五入,只保留整数部分。

2. 用%将浮点数格式化为整数
x = 3.14
y = 3.9

print('%d' % x)
print('%d' % y)
3
3

格式化也没有四舍五入,只保留整数部分。

4. %s格式化为字符串

【%s的作用】

官方描述:%s的作用是获取传入对象的str方法的返回值,并将其格式化到指定位置。

我们可以这样理解%s的作用:

s可以理解为是字符串str的开头首字母。

%s的作用是将整数格式化为字符串,并放到指定位置。

%s的作用是将浮点数格式化为字符串,并放到指定位置。

作用相当于函数str( )。

4.1 %s将整数格式化为字符串

【实操练习】

原样输出:我的体重是50公斤。

50是整数,是不能和字符串进行拼接输出的。

我们可以使用str函数将其转换成字符串类型。

或者使用%占位符将其格式化为字符串。

【str方法】

print("我的体重是"+str(50)+"公斤。")
我的体重是50公斤。

【%s占位符方法】

【语法】

(要输出的内容 % 要格式化的变量或数值)

【代码拆解】

  1. 先写要输出的内容我的体重是50公斤。
print("我的体重是50公斤。")
  1. 替换需要格式化的地方,即输出内容的数字部分。这里需要替换的是50,50前后都是中文字符,因此用%s去占位。

%s去替换50

print("我的体重是%s公斤。")
  1. 添加%占位符。为了语法美观,我通常在%前后都输入一个空格。
print("我的体重是%s公斤。" % )
  1. 最后添加要格式化的数值。
print("我的体重是%s公斤。" % 50 )
我的体重是50公斤。

这里要替换的数值只有1个,因此数值不需要用英文圆括号。

4.2 %s将浮点数格式化为字符串

【实操练习】

原样输出我的身高是1.68米。

【语法】

(要输出的内容 % 要格式化的变量或数值)

【代码拆解】

  1. 先写要输出的内容我的身高是1.68米。
print("我的身高是1.68米。")
  1. 替换需要格式化的地方,即输出内容的数字部分。这里需要替换的是1.68,1.68前后都是字符串,因此需要用%s去占位。

%s替换1.68

print("我的身高是%s米。"  )
  1. 添加%占位符。为了语法美观,我通常在%前后都输入一个空格。
print("我的身高是%s米。" % )
  1. 最后添加要格式化的数值。
print("我的身高是%s米。" % 1.68)
我的身高是1.68米。

5. 知识拓展

%占位符有很多种用法:

%s:获取传入对象的str方法的返回值,并将其格式化到指定位置。

%o:将整数转换成八进制表示,并将其格式化到指定位置。

%x:将整数转换成十六进制表示,并将其格式化到指定位置。

%d:将整数、浮点数转换成十进制表示,并将其格式化到指定位置。

%f:将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)。

除了上面这些,还有其他的语法。

因为上述语法不常用,因此这里仅介绍%s%d两种常用格式化语法。

6. 课后练习

计算半径为5米的圆的面积。

原样输出半径为5米的圆的面积为?平方米。(?的值需要计算机自己计算)

圆的面积计算公式:s = π*r**2

【平方知识点回顾】

3**2表示2的平方。

print(3**2)
9

2**3表示2的3次方。

print(2**3)
8

2**4表示2的4次方。

print(2**4)
16

【语法】

(要输出的内容 % 要格式化的变量或数值)

【代码拆解】

  1. 先写要输出的内容半径为5米的圆的面积为?平方米。
print("半径为5米的圆的面积为?平方米。")
半径为5米的圆的面积为?平方米。
  1. 替换要格式化的地方,即输出内容的数字部分。因为是跟中文字符一起输出,这里需要替换成字符串类型,因此用%s去替换。

%s替换5

%s替换

print("半径为%s米的圆的面积为%s平方米。")
  1. 添加格式化占位符%。为了美观%前后可以敲一个空格。
print("半径为%s米的圆的面积为%s平方米。" % )
  1. 最后添加要格式化的变量,注意多个变量要用圆括号括起来。这里一共需要格式化2个变量,一个是半径r,一个是面积s。
print("半径为%s米的圆的面积为%s平方米。" % (r,s))

【完整代码】

# 新建变量存储圆的半径
r = 5
π = 3.14
# 圆的面积
s = π*r**2

print("半径为%s米的圆的面积为%s平方米。" % (r,s))
半径为5米的圆的面积为78.5平方米。

7. %占位符格式化语法

(要输出的内容 % 要格式化的变量或数值)

在这里插入图片描述

8. 总结

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值