You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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)

这里的两个%各司其职:

  1. 字符串内的 %d:是格式化占位符,d代表“十进制整数”,表示这个位置需要被一个整数替换。
  2. 字符串后的 % n:是格式化运算符,作用是把变量n的数值代入前面字符串的占位符,完成最终的字符串拼接,生成类似drip 12的输出内容。

三、输出结果的执行逻辑

给出的终端输出:

drip 12
drop 9
drop 12

执行流程拆解:

  1. 初始调用leakyPipes(12),12>0为真:
    • 第一个判断12%4==0成立,打印drip 12,接着递归调用leakyPipes(9)。
  2. 进入leakyPipes(9),9>0为真:
    • 9%4=1,不满足第一个判断;9%3==0成立,打印drop 9,递归结束回到上一层。
  3. 回到leakyPipes(12)的第二个判断,12%3==0成立,打印drop 12,整个函数执行完毕。

内容的提问来源于stack exchange,提问作者darkhorse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 04:24:17