Skip to content
📌知识点小结
  • 一段代码由若干基本零件组成:变量、数据类型、运算、条件、循环、函数。
  • 语句是一条完整指令;代码通常从上到下顺序执行。
  • 注释是写给人看的说明,计算机会忽略(Python 用
  • 缩进在 Python 里有实际含义,表示代码归属的层级。
  • 先认识这些零件,后面逐个深入,就能看懂大多数脚本的骨架。
✅自测一下

0.24 代码的基本结构:一段程序由什么组成 ​

第〇篇【零基础预科】免费。这一篇像认识"零件清单"一样,先看清代码由什么构成,后面再逐个展开。

一、六大基本零件 ​

几乎所有程序都由这些零件组合而成:

零件作用Python 例子
变量给数据起名字、存起来name = "eason"
数据类型数据是什么种类字符串、数字、布尔、列表
运算对数据做计算/比较+ - * /、== > <
条件按情况走不同分支if ... else
循环让一段代码重复执行for、while
函数把一段逻辑打包复用def check():

后面 0.25–0.29 会逐个讲,这里先建立整体印象。

别被这张表吓到。这六样东西看着多,其实你每天用手机 App 时背后都在跑它们:把你的搜索词存进一个变量(变量)、判断它是不是空(条件)、对搜出来的结果一条条展示(循环)、把"发请求"这段逻辑打包成一个函数(函数)。你以后读任何 Python 脚本,从头到尾扫一遍,能认出这六样零件各在哪,就算入门了。

你可能会问:这六样是所有语言都通用的吗? 概念是通用的,写法不同。JavaScript、Java、Go 也有变量、条件、循环、函数,只是语法外壳不一样。就像普通话和方言说同一件事用词不同,但"谁是主语、谁做什么"的逻辑是一样的。你在 Python 里把这套逻辑搞透,换语言时只需查"这个写法在新语言里长什么样",不用重新学思考方式。

二、语句与顺序执行 ​

语句(statement) 是一条完整的指令,通常占一行。程序默认从上到下顺序执行:

python
print("第一步")
print("第二步")
print("第三步")

运行后屏幕上会依次出现"第一步""第二步""第三步",中间没有停顿、不会乱序。你可以亲手试一下:把第二行删掉,再跑,就只剩第一步和第三步——这说明程序是真的在逐行执行你写的内容,而不是背好了答案。这种"改一行、跑一次、立刻看到变化"的反馈循环,是学编程最快的方式。

顺序执行这个听着理所当然,但它是理解一切程序的基础。计算机没有"抢着做"的概念,你写在上面的先做,写在下面的后做。你以后写脚本时出 bug,八成是某一步"还没做完就跑到下一步了"——比如还没等服务器返回结果,就先去读它了。记住"从上到下"这条主线,再去理解条件怎么让它跳着走、循环怎么让它重复走,就清楚了。

三、注释:写给人看的话 ​

python
# 这是一行注释,解释器会忽略
print("会执行")   # 行尾也可以写注释

写注释是好习惯:解释"为什么这么做",方便几天后的自己和别人看懂。

注释有个常见误区:不是复述代码在做什么,而是解释"为什么这么做"。# 把 target 存进变量 这种注释等于废话——代码本身已经说了;但 # 这里必须加 timeout,否则靶机不响应时会一直卡住 就很有价值,它把你踩过的坑记下来了。安全脚本尤其需要注释,因为 PoC 经常改一个参数就能打不同的版本,过两个月自己回来看,不记得当时为什么这么写,又得重新研究一遍。

还有一类注释叫"暂时不用但先留着"——把一段代码用 # 注释掉而不是删掉,因为你不确定以后还需不需要。这是临时调试的常用手段,但发出去之前要清理掉,别把一堆废注释留在正式脚本里,那会让读的人分不清哪些是活代码、哪些是垃圾。

四、缩进:Python 的规矩 ​

很多语言用花括号 { } 表示代码块,Python 用缩进:

python
age = 20
if age >= 18:
    print("成年")      # 这行前面有缩进,属于 if
print("总是执行")       # 没缩进,不属于 if
  • 同一代码块缩进必须一致(惯例 4 个空格);
  • 缩进混乱会报 IndentationError;
  • 复制代码时尤其要注意缩进别被破坏。

缩进报错是新手第一个会碰到的"看不懂"的错误。典型场景:你从网上复制一段脚本,粘到自己编辑器里,跑起来报错 IndentationError: unexpected indent。这行字的意思就是"这行代码前面的空格对不上"——可能是复制时多了一个空格、也可能是 Tab 和空格混用了。解决办法很简单:找到报错那一行,把它前面的缩进删干净,按统一的 4 个空格重新对齐。别慌,这不是什么逻辑错误,就是格式没对齐。

你可能会问:为什么 Python 不用花括号,非要用缩进? 这是 Python 故意的设计选择——它逼着你把代码排版整齐。用花括号的语言,你可以把好几行挤在一行、缩进乱七八糟,机器也能读懂;Python 则要求你人也看着舒服。刚开始会觉得别扭,习惯之后你会发现 Python 代码读起来最像伪代码,几乎不用猜哪段属于哪个 if。

五、一个完整小例子(先混个眼熟) ​

python
# 判断目标是否可疑
status_code = 200                       # 变量
if status_code == 200:                  # 条件
    print("页面正常")                    # 缩进:属于 if
else:
    print("需要检查")
for i in range(3):                      # 循环
    print("第", i, "次")

现在不必全懂,等学完后面几篇,回头看会非常轻松。

把这段代码逐行"念"给你听:先给 status_code 赋值 200;然后判断"如果它等于 200",就打印"页面正常",否则打印"需要检查";再然后,对 0、1、2 这三个数字各打印一行"第几次"。你看,变量、条件、循环全用上了,加起来才几行——这就是真实脚本的骨架。你以后看到的任何探测脚本、PoC,拆到底都是这几样东西的排列组合,只是变量更多、条件更复杂、循环套循环而已。

六、本篇小结 ​

  • 六大零件:变量、数据类型、运算、条件、循环、函数。
  • 语句默认从上到下执行;注释(#)给人看、机器忽略。
  • Python 用缩进表示代码块,缩进要一致。
  • 先有整体零件图,再逐个深入。

下一篇 0.25 讲最基础的零件——变量。