【网安学习】python知识点笔记与心得
一、学习背景与目标
学习背景:0基础python
目标:掌握基本python知识
二、核心知识点笔记
2.1 基础概念
官方定义:Python 是⼀种解释型、面向对象、动态数据类型的高级编程语言。
通俗化解释(人话版):就像是windows系统一样操作比较简单,边解释边运行,把现实事物封装成 “对象”,变量类型灵活的一门高级编程语言。
核心特征 / 判定条件:它被设计为可读性强、 简洁且易于学习,具有⾼效的⾼级数据结构,并且支持简单有效的⾯向对象编程。
与php核心区别:
| 特性 | PHP | Python | 适用场景 |
|---|---|---|---|
| 语法块 | 大括号 {} | 缩进 | PHP 更接近 C 系语言,Python 更简洁 |
| 变量 | 必须带 $ | 直接命名 | Python 学习门槛更低 |
| 应用领域 | 专注 Web 后端 | 全领域(Web、AI、数据分析等) | 建网站优先 PHP,复杂系统考虑 Python |
| 字符串连接 | 点号 . | 加号 + 或 f-string | Python 的字符串处理更直观 |
2.2 原理拆解
关键技术点:必掌握的核心细节
Python基础语法:
1. Python 变量与数据类型
变量
变量是⽤于存储数据的容器,其值可以在程序运行期间被改变。变量通常包括名称和值,名称⽤于标识变量,值则是变量存储的数据。
Python 最大的特点是无需声明变量类型,直接赋值即可。单⾏注释: #
类型转换
Python f-string:是在字符串前加f或F修饰符,Python会自动将其值转换为字符串插入。
(1)允许在字符串中直接嵌入变量、表达式或函数调用的一种字符串格式化方法。
(2)语法:字符串前添加f,使用花括号{}包裹内容。
(3)另一种方式:+号拼接。
(4)注意:必须使用 str()将数字转换为字符串后,才能进行字符串连接
列表
概念:列表是 Python 中最常用的可变、有序的数据集合,用方括号 [] 定义。
元组
概念:元组是不可变、有序的数据集合,用圆括号 () 定义(内部元素⽤逗号隔开)。
字典
概念:字典是可变、无序(Python3.7 + 有序)、键值对形式的数据集合,用花括号 {} 定义,核心是「通过键找值」
2. 流程控制
Python 的简洁性,在它的流程控制结构中体现得淋漓尽致,但这背后有一个必须遵守的核心规则:缩进
Python 不使用大括号 {} ,而是依赖包含相同的缩进空⽩数量(通常是 4 个空格)来定义代码块。
在 python 中,命令语句的执⾏顺序是从上往下的,遇到命令运⾏错误时会终⽌。
条件判断( if , elif , else )
循环 ( for 和 while )
3. 面相对象
函数的语法
1、函数是组织好的,可重复使⽤的,⽤来实现单⼀,或相关联功能的代码段。
2、函数使⽤ def 关键字开头,后接函数标识符名称和圆括号()。
3、任何传⼊参数和变量必须放在圆括号中间。圆括号之间可以⽤于定义参数。
4、函数主体内容以冒号开始,函数中的代码块必须缩进
5、return [表达式] 结束函数,选择性地返回⼀个值给调⽤⽅。不带表达式的 return 相当于 返回 None
类与方法
类是⼀个模板或蓝图,它定义了对象的结构和⾏为。类包含了属性和⽅法,这些属性和⽅法定义了对象
将拥有的数据(状态)以及可以执⾏的操作(⾏为)。
- 属性:类的属性可以是数据属性或类属性。数据属性⽤于存储对象的特定信息(如实例变量),⽽ 类属性则是类级别的变量,被该类的所有实例共享。
- ⽅法:类的⽅法定义了对象的⾏为。它们是绑定到类的函数,可以通过对象来调⽤。⽅法中的第⼀ 个参数通常是self,它代表调⽤该⽅法的对象本身。
- 魔术方法:也被称为双下划线方法或特殊方法,这些方法的名称前后都带有两个下划线,例如 init、str等。
Python模块及工具:
1.python模块
python模块特点
1.封装性:模块可以将相关的函数、类和变量封装在⼀起,形成⼀个独⽴的代码单元。这有助于保持代
码的整洁和组织性。
2. 重⽤性:⼀旦⼀个模块被编写和测试完毕,它就可以被多个程序重复使⽤,⽽⽆需重复编写相同的
代码。
3. 可维护性:模块化的代码更容易维护和更新。如果需要修改某个功能,只需要修改相应的模块,⽽
不需要修改整个程序。
4. 命名空间管理:每个模块都有⼀个独⽴的命名空间,这有助于避免命名冲突。当两个模块包含相同
名称的函数或变量时,它们不会相互⼲扰,因为它们是在不同的命名空间中定义的
系统内置模块
是Python自带的标准库,它们提供了丰富的功能和工具,用于执行各种常见的任务。系统内置模块包
括:os模块、sys模块、random模块、time模块。
自定义模块
⾃定义模块是开发者⾃⼰编写的模块,⽤于封装特定的功能或逻辑。⾃定义模块可以是任何有效的
Python⽂件(以“.py”为后缀名),⾥⾯可以包含全局变量、函数、类等。
2.第三方工具oneforall
2.3 python实操复现
环境准备:python、Trae、浏览器
关键配置:Trae安装Python和Python Debugger两个插件。
1. Python 变量与数据类型实操复现
变量
类型转换
列表
元组
字典
2. 流程控制实操复现
条件判断( if , elif , else )
循环 ( for 和 while )
3. 面相对象
函数的语法
类与方法
4.python模块
系统内置模块
自定义模块
通过python的pip命令来下载第三方模块
三、个人学习心得
3.1 学习过程复盘
投入时长 & 节奏:每日学习时长、难点耗时
学习方法:记笔记、实操、刷题、交流的组合方式
3.2 收获与成长
知识收获:掌握的原理、技术、工具
能力提升:实操能力、排错能力、攻防思维
认知改变:对网安行业 / 技术的新理解
3.3 不足与改进计划
不足
未掌握的难点:卡壳的知识点、未复现的场景
学习短板:基础薄弱、实操不足、思维局限
时间问题:学习效率
改进计划
针对短板的弥补方案:补基础、刷靶场、看源码
下一阶段学习目标:具体可落地的任务
学习方法优化:调整节奏、更换资料
四、总结
Python是解释型、面向对象的高级编程语言,可读性强、简洁易学,推荐使用Python 3版本。支持变量直接赋值,有列表、元组、字典等数据类型,通过缩进控制流程,有函数和类等面向对象特性,可通过模块扩展功能,应用领域广泛。