Python中字符串内的%作用是什么?示例代码中两处%功能解析
Python 字符串中 % 的作用及代码细节解析
一、Python 里 % 的两种核心作用
- 字符串格式化运算符:这是字符串场景下的核心用法,用来把变量值填充到字符串的指定位置,属于Python早期的格式化方案,语法类似C语言的printf。
- 算术取模运算符:在数值运算中,
a % b会返回a除以b后的余数,常用来判断整除性或做周期性计算。
二、代码中 print("drip %d" % n) 的两个%功能拆解
先看完整代码:
def leakyPipes(n): if n > 0: if n % 4 == 0: print("drip %d" % n) leakyPipes(n-3) if n % 3 == 0: print("drop %d" % n) leakyPipes(12)
这里的两个%各司其职:
- 字符串内的
%d:是格式化占位符,d代表“十进制整数”,表示这个位置需要被一个整数替换。 - 字符串后的
% n:是格式化运算符,作用是把变量n的数值代入前面字符串的占位符,完成最终的字符串拼接,生成类似drip 12的输出内容。
三、输出结果的执行逻辑
给出的终端输出:
drip 12 drop 9 drop 12
执行流程拆解:
- 初始调用
leakyPipes(12),12>0为真:- 第一个判断
12%4==0成立,打印drip 12,接着递归调用leakyPipes(9)。
- 第一个判断
- 进入
leakyPipes(9),9>0为真:9%4=1,不满足第一个判断;9%3==0成立,打印drop 9,递归结束回到上一层。
- 回到
leakyPipes(12)的第二个判断,12%3==0成立,打印drop 12,整个函数执行完毕。
内容的提问来源于stack exchange,提问作者darkhorse
相关产品推荐
相关产品推荐

