python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python操作符%

Python通过%操作符进行取余运算与字符串格式化的深度解析

作者:鸽芷咕

在 Python 中,百分号 % 是一个多功能的操作符,主要有两种核心用法:取余运算(模运算)和字符串格式化,本文将详细介绍这两种用法及其实际应用场景,感兴趣的小伙伴可以了解下

前言

在 Python 中,百分号 % 是一个多功能的操作符,主要有两种核心用法:取余运算(模运算)和字符串格式化。本文将详细介绍这两种用法及其实际应用场景。

一、取余运算(模运算)

% 作为取余运算符时,用于计算两个数相除后的余数,语法为 a % b,表示计算 a 除以 b 后的余数。

1. 基本用法

# 正数取余
print(7 % 3)   # 输出: 1(7 = 3×2 + 1)
print(10 % 4)  # 输出: 2(10 = 4×2 + 2)
print(8 % 2)   # 输出: 0(整除时余数为0)

# 负数取余
print(-7 % 3)  # 输出: 2(-7 = 3×(-3) + 2)
print(7 % -3)  # 输出: -2(7 = (-3)×(-3) + (-2))
print(-7 % -3) # 输出: -1(-7 = (-3)×2 + (-1))

2. 关键特性

a, b = 17, 5
print((a // b) * b + (a % b) == a)  # 输出: True(3×5 + 2 = 17)

3. 实际应用场景

判断奇偶性:通过 n % 2 判断结果是 0(偶数)还是 1(奇数)。

def is_even(n):
    return n % 2 == 0

print(is_even(4))  # 输出: True
print(is_even(7))  # 输出: False

判断整除性:若 a % b == 0,则 a 能被 b 整除。

def is_divisible(a, b):
    return a % b == 0

print(is_divisible(10, 5))  # 输出: True
print(is_divisible(7, 3))   # 输出: False

循环取值:在固定范围内循环获取索引(如列表循环访问)。

colors = ["红", "绿", "蓝"]
for i in range(5):
    print(colors[i % 3])  # 循环输出: 红、绿、蓝、红、绿

时间转换:例如将总秒数转换为“分:秒”格式。

total_seconds = 135
minutes = total_seconds // 60  # 2
seconds = total_seconds % 60    # 15
print(f"{minutes}:{seconds}")   # 输出: 2:15

二、字符串格式化

% 作为格式化操作符时,用于将变量插入字符串中,语法为 格式字符串 % 变量,类似其他语言中的“占位符”功能。

1. 基本用法

格式字符串中用 % 开头的占位符表示需要替换的位置,常见占位符如下:

name = "Alice"
age = 30
print("姓名: %s, 年龄: %d" % (name, age))  # 输出: 姓名: Alice, 年龄: 30

pi = 3.1415926
print("圆周率: %.2f" % pi)  # 输出: 圆周率: 3.14(保留2位小数)

num = 255
print("十六进制: %x" % num)  # 输出: 十六进制: ff

2. 高级格式化技巧

指定宽度:通过 %Nd(整数)或 %N.Mf(浮点数)控制输出宽度和精度。

print("数字: %5d" % 3)    # 输出: 数字:     3(占5位,右对齐)
print("浮点数: %8.2f" % pi)  # 输出: 浮点数:    3.14(总宽度8,保留2位小数)

左对齐:在宽度前加 - 实现左对齐。

print("左对齐: %-5d" % 3)  # 输出: 左对齐: 3    

字典格式化:使用 %(key)s 从字典中取值,增强可读性。

user = {"name": "Bob", "score": 95}
print("姓名: %(name)s, 分数: %(score)d" % user)  # 输出: 姓名: Bob, 分数: 95

3. 注意事项

三、总结

% 操作符在 Python 中有两种核心用法:

根据场景灵活使用 % 的两种功能,能让代码更简洁、高效。在现代 Python 开发中,取余运算仍被广泛使用,而字符串格式化则可根据需求选择 %、f-字符串或 str.format()

到此这篇关于Python通过%操作符进行取余运算与字符串格式化的深度解析的文章就介绍到这了,更多相关Python操作符%内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文