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 立即结束函数。
三、为什么要用函数
- 复用:写一次,到处调用;
- 清晰:用函数名概括一段操作(如
check_vuln(url)),主流程像在读步骤; - 易维护:改逻辑只改函数一处;
- 易测试:给定输入、检查输出是否正确。
四、安全脚本里的函数
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 解释"解释型"和"编译型"语言的区别。