Python中%的用法

该文章已生成可运行项目,

一、运算符

在算术运算环境中,作为取余的运算符使用。

A%B:返回A除以B的余数。

print(7%3) #输出结果为1

二、占位符

1、%%

C语言中%%表示转义生成字符%

Python中当有类似%d、%f、%s等格式转换符时,如果需要在后面添加百分号,就需要在格式转换符后加双百分号%%。

print('%%')# 输出结果为%%
 
print('%d%%' % 100)# 输出结果为100%

2、%s,%r

%s使用str()方法处理对象,输出引号中的字符串。

%r使用rper()方法处理对象,输出带引号的字符串。

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

s="python"
print('输出:%s'%s)# 输出结果为输出:python
print('输出:%r'%s)# 输出结果为输出:"python"

3、%c

格式化字符及其ASCII码(a = 97),用于将ASCII码或Unicode值转换为字符。

num=90
print('ASCII码90对应的字符为:%c'%num)# 输出结果为ASCII码90对用的字符为:Z

4、%d

%d表示十进制整数,其它变形有%10d、%-10d、%010d、%.10d和%10.5d。

num1=20241106143021
num2=1234
#%d在输出中表示十进制整数
print("一个整数:%d"%num1)#输出结果为一个整数:20241106143021

#%10d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补空格;宽度超过10,按原长度输出。
print("num1:%10d"%num1)
print("num2:%10d"%num2)
#输出结果为
#num1:20241106143021
#num2:      1234

#%-10d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在右边补齐空格;宽度超过10,按原长度输出。
print("num1:%-10d"%num1+"AAA")
print("num2:%-10d"%num2+"AAA")
#输出结果为
#num1:20241106143021AAA
#num2:1234      AAA

#%010d代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补0;宽度超过10,按原长度输出。
print("num1:%010d"%num1)
print("num2:%010d"%num2)
#输出结果为
#num1:20241106143021
#num2:0000001234

#%.10代表输出宽度为10个字符,如果输出的数字宽度不超过10,则在左边补0;宽度超过10,按原长度输出。效果%010d实际上没什么区别,还有%.010d、%.0010d等类似的形式。
print("num1:%.10d"%num1)
print("num2:%.10d"%num2)
print("num2:%.010d"%num2)
print("num2:%.0010d"%num2)
#输出结果为
#num1:20241106143021
#num2:0000001234
#num2:0000001234
#num2:0000001234

#%10.5代表输出宽度为10个字符,宽度超过10,按原长度输出;如果宽度不超过5,则在左边补0,补0后宽度不超过10,则在左边补空格,即先补0,再补空格。
print("num1:%10.5d"%num1)
print("num2:%10.5d"%num2)
print("num2:%10.3d"%num2)
print("num2:%4.5d"%num2)
print("num2:%4.3d"%num2)
#输出结果为
#num1:20241106143021
#num2:     01234
#num2:      1234
#num2:01234
#num2:1234

5、%o

%o表示八进制整数。

#为换算进制的转换说明符,会在开头显示进制前缀。

num=15
print('八进制对应的字符为:%o'%num)# 输出结果为八进制对应的字符为:17
print('八进制对应的字符为:%#o'%num)# 输出结果为八进制对应的字符为:0o17

6、%x,%X

%x表示十六进制整数(字符a-f小写)

%X表示十六进制整数(字符A-F大写)

#为换算进制的转换说明符,会在开头显示进制前缀。

num=15
print('八进制对应的字符为:%x'%num)# 输出结果为八进制对应的字符为:f
print('八进制对应的字符为:%#x'%num)# 输出结果为八进制对应的字符为:0xf
print('八进制对应的字符为:%X'%num)# 输出结果为八进制对应的字符为:F
print('八进制对应的字符为:%#X'%num)# 输出结果为八进制对应的字符为:0XF

7、%e,%E

%e表示指数型浮点数 (e小写),如:2.9e+10

%E表示指数型浮点数 (E小写),如:2.9E+10

num=15
print('小写科学计数法数据:%e'%num)# 输出结果为小写科学计数法数据:1.500000e+01
print('大写科学计数法数据:%.1e'%num)# 输出结果为小写科学计数法数据:1.5E+01

8、%f,%F

%f,%F表示浮点十进制形式,精确到小数点后六位

num=15
print('浮点数数据:%f'%num)# 输出结果为浮点数数据:15.000000
print('浮点数数据:%.1F'%num)# 输出结果为浮点数数据:15.0

9、%g,%G

表示十进制形式浮点或指数浮点自动转换

%g,根据值的大小决定使用%f或%e

%G,根据值的大小决定使用%f或%E,作用与%g相同

num1=15
num2=15.55
num3=15.66666666666666666
num4=0.00000000006
print('数据:%g'%num1)# 输出结果为数据:15
print('数据:%G'%num2)# 输出结果为数据:15.55
print('数据:%g'%num3)# 输出结果为数据:15.667
print('数据:%G'%num4)# 输出结果为数据:6E-11

本文章已经生成可运行项目
### Python 中 `%` 运算符的使用方法 在 Python 中,`%` 运算符具有多种功能,主要可以分为 **取模运算** 和 **字符串格式化**。 #### 取模运算 当 `%` 被用作数值之间的运算时,它表示的是取模(求余数)操作。具体来说,对于两个整数 `a` 和 `b`,表达式 `a % b` 的结果是 `a` 除以 `b` 后得到的余数[^1]。例如: ```python result = 10 % 3 # 结果为 1,因为 10 除以 3 商为 3,余数为 1 ``` 需要注意的是,在 Python 3.x 版本中,由于引入了专门的整除运算符 `//`,因此 `%` 更加专注于提供精确的余数计算[^2]。 #### 字符串格式化 除了作为数学运算符外,`%` 在 Python 中还被广泛应用于字符串格式化的场景下。这种形式通常被称为“旧式的字符串格式化”,尽管现代开发更推荐使用 f-string 或 `.format()` 方法,但在许多遗留代码中仍然可以看到它的身影[^3]。 基本语法如下所示: - 占位符由 `%` 开始,后面跟随指定的数据类型字符。 - 常见占位符包括但不限于:`%d` 表示十进制整数;`%f` 浮点数;`%s` 字符串等。 下面是一些具体的实例演示如何利用 `%` 实现不同类型的变量嵌入到字符串之中: ```python name = "Alice" age = 25 height = 1.75 # 插入字符串 greeting = 'Hello, my name is %s.' % name # 输出: Hello, my name is Alice. # 多个参数需放入元组内 info = 'I am %d years old and %.2fm tall.' % (age, height) # 输出: I am 25 years old and 1.75m tall. ``` 此外还可以控制输出宽度、精度等内容布局特性,比如右对齐填充空白区域或者限定显示的小数位数等等。 #### 综合应用案例 这里给出一段综合运用上述知识点的实际程序片段来加深理解: ```python number = 42 remainder = number % 5 # 计算 42 对于基数 5 的剩余部分 formatted_output = 'The remainder of dividing %d by 5 is %d.' % (number, remainder) print(formatted_output) # The remainder of dividing 42 by 5 is 2. ``` 以上展示了 `%` 不仅能单独完成简单的数学逻辑判断任务同时也支持复杂数据呈现需求的功能特点[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武当豆豆

为国家GDP快速增长做贡献

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值