Skip to content
📌知识点小结
  • 函数是“打包好、可重复调用的一段逻辑”,用 def 定义。
  • 函数可接收参数(输入),用 return 返回结果(输出)。
  • 定义不会执行,调用(函数名加括号)才执行。
  • 函数让代码复用、结构清晰、便于分工和测试。
  • 安全脚本常把“检测单个目标”封装成函数,再用循环对多个目标调用。
自测一下

0.29 函数:把逻辑打包复用

第〇篇「零基础预科」免费。当一段操作要反复用,就把它做成函数。

一、定义与调用

python
def greet(name):          # 定义:参数 name
    print("你好,", name)

greet("eason")            # 调用:传入 "eason"
greet("tom")              # 再调用,复用同一段逻辑
  • def 声明函数,括号里是参数(输入)
  • 定义时不执行,只有调用(名字 + 括号)才执行缩进块。

二、返回值:return

python
def add(a, b):
    return a + b          # 把结果交回

result = add(3, 5)        # result = 8
print(result)
  • return 把函数产出的结果返回,调用处可接收;
  • 没有 return 的函数返回 None
  • 执行到 return 立即结束函数。

三、为什么要用函数

  1. 复用:写一次,到处调用;
  2. 清晰:用函数名概括一段操作(如 check_vuln(url)),主流程像在读步骤;
  3. 易维护:改逻辑只改函数一处;
  4. 易测试:给定输入、检查输出是否正确。

四、安全脚本里的函数

python
def is_vulnerable(url):
    # response = requests.get(url, timeout=5)
    # return "特征" in response.text
    return False

targets = ["http://a.com", "http://b.com"]
for url in targets:
    if is_vulnerable(url):       # 对每个目标调用检测函数
        print(url, "可能存在漏洞")

这是非常典型的结构:把"检测单个目标"写成函数,再用循环对多个目标调用。

五、常见问题

  • 定义后忘记调用 → 没反应;
  • 调用时参数个数对不上 → TypeError
  • 函数内想改外部变量需注意作用域(初学时多用参数传入、return 返回)。

六、本篇小结

  • 函数用 def 定义、可接参数、用 return 返回结果。
  • 定义不执行,调用(加括号)才执行。
  • 函数带来复用、清晰、易维护和易测试。
  • 安全脚本:检测单目标写成函数,循环批量调用。

下一篇 0.30 解释"解释型"和"编译型"语言的区别。