Python基础与安全

张开发
2026/6/8 2:28:41 15 分钟阅读
Python基础与安全
1. Python 基础认知1.1 Python 简介解释型、面向对象、动态数据类型的高级编程语言可读性强、简洁易学习支持高效数据结构与面向对象编程官网https://www.python.org1.2 版本选择Python 22020 年 1 月 1 日停止官方维护禁止使用Python 3推荐使用3.6 及以上版本持续更新优化2. Python 基本语法2.1 注释单行注释# 注释内容多行注释 注释内容 或 注释内容 引号必须成对2.2 变量变量是存储数据的容器值可修改语法变量名 数据a10# a 为变量名10 为变量值2.3 输入/输出函数输出print(内容)打印指定数据输入input(提示文字)获取用户输入的字符串nameinput(请输入姓名)print(你好,name)2.4 缩进规则Python 用缩进替代大括号{}划分代码块同一代码块缩进量必须一致否则报IndentationError错误3. 数据类型Python 有 6 种标准数据类型3.1 数字Numbers不可变类型用于存储数值示例var1 1、var2 3.143.2 字符串String用单/双引号包裹支持索引与切片sHello Worldprint(s[0])# 取第一个字符print(s[1:5])# 切片取第2到第5个字符3.3 列表List用[]标识元素可修改、有序、可重复lst[Python,123,3.14]print(lst[0])# 取第一个元素3.4 元组Tuple用()标识不可修改只读列表tpl(Java,456,2.23)3.5 集合Set无序、不重复用于去重与集合运算3.6 字典Dictionary用{}标识键值对存储查找速度快dic{name:张三,age:20}print(dic[name])3.7、补充「不可变」和「可变」类型特点例子不可变immutable对象本身不能改修改会新建对象数字int/float、字符串str、元组tuple可变mutable对象本身可以改修改不新建对象列表list、字典dict、集合set「不可变类」例数字数据类型用于存储数值Python 里的「数字类型」比如整数int、小数float、复数complex就是专门用来存数字的比如1、10、3.14这些。他们是不可改变的数据类型immutable「不可变」不是说变量不能改值而是说数字对象本身不能被修改。比如你创建了一个值为1的整数对象这个对象本身永远就是1没法把它改成2。改变数字数据类型会分配一个新的对象当你给变量重新赋值时比如var1 2Python 不会去修改原来的1这个对象而是新建一个值为2的整数对象再让变量var1指向这个新对象。var11print(id(var1))# 打印对象的内存地址比如 140703260883296var12print(id(var1))# 打印新的内存地址比如 140703260883328你会发现两次id不一样说明第一次var1指向的是值为1的对象第二次赋值后var1指向了全新的、值为2的对象原来的1对象没有被修改只是不再被var1引用了。「可变」例lst[1,2,3]print(id(lst))# 地址Alst.append(4)print(id(lst))# 还是地址A同一个对象被修改了为什么要设计成「不可变」这是 Python 的核心设计之一好处非常多性能优化Python 会缓存小整数比如-5到256重复使用同一个对象节省内存线程安全不可变对象不会被多线程同时修改避免数据混乱可哈希性不可变对象可以作为字典的键、集合的元素可变对象比如列表就不行4. 流程控制语句4.1 条件语句if-elsea3ifa1:print(满足条件)else:print(不满足条件)if-elif-elsenum5ifnum1:print(1)elifnum2:print(2)else:print(other)4.2 循环语句while 循环count0whilecount5:print(count)count1for 循环遍历容器/可迭代对象# 遍历字符串foriinPython:print(i)# 遍历列表forfruitin[苹果,香蕉]:print(fruit)# 范围循环foriinrange(1,10):print(i)4.3 循环控制continue跳过本次循环执行下一次break立即终止整个循环5. 函数5.1 函数定义用def关键字定义代码块需缩进语法def函数名(参数):函数说明文档函数体return返回值5.2 示例# 求和函数defsum_num(a,b):totalabreturntotal# 调用函数ressum_num(10,20)print(res)5.3 函数特点可重复使用、封装单一功能return可返回值无返回值默认返回None6. 模块与 pip 使用6.1 模块概念模块是.py结尾的 Python 文件封装函数、类、变量作用代码复用、模块化管理、避免命名冲突6.2 模块分类内置模块Python 自带无需安装os系统交互、文件操作sys解释器环境操作random随机数time时间处理自定义模块自己编写的.py文件第三方模块他人编写需用pip安装6.3 pip 常用命令# 查看已安装模块pip list# 安装模块pipinstall模块名# 国内镜像源安装提速pipinstall模块名-ihttps://pypi.tuna.tsinghua.edu.cn/simple# 卸载模块pip uninstall 模块名# 批量安装依赖requirements.txtpipinstall-rrequirements.txt-i镜像源6.4 模块导入方式完整导入import 模块名精准导入from 模块名 import 功能7. 类与对象面向对象7.1 核心概念类Class对象的模板定义属性与方法对象Object类的实例具体实体7.2 类的定义classPeople:# 构造方法实例化时自动执行def__init__(self,name):self.namename# 实例属性# 实例方法defsay_hello(self):print(我是,self.name)# 实例化对象p1People(张三)p1.say_hello()7.3 常用魔术方法__init__初始化对象__del__对象销毁时触发释放资源__str__打印对象时返回自定义字符串__getstate__/__setstate__序列化/反序列化控制8. Web 后端实战网络请求8.1 requests 库Python 最常用 HTTP 请求库模拟浏览器访问网站安装pip install requests8.2 基础请求importrequests# 请求头必须加绕过反爬headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36}# 发送 GET 请求urlhttps://movie.douban.com/top250resprequests.get(url,headersheaders)resp.encodingutf-8# 设置编码8.3 请求头关键参数User-Agent标识浏览器/设备必加Cookie携带登录状态Referer标识请求来源9. 数据解析9.1 HTML 解析XPath lxml安装pip install lxml适用网页源码数据提取fromlxmlimportetree# 解析 HTMLtreeetree.HTML(resp.text)# XPath 提取数据# // 全局匹配 属性匹配/text() 取文本titlestree.xpath(//div[classitem]//span[classtitle][1]/text())fortitleintitles:print(title)XPath 核心语法语法作用//标签全局查找标签[属性值]按属性筛选[n]取第 n 个结果/text()提取标签文本9.2 JSON 解析适用接口返回的 JSON 数据方法response.json()转为 Python 字典# 解析 JSON 接口resprequests.get(url,headersheaders)dataresp.json()# 转字典usernamedata[username]10. dirsearch10.1 dirsearch 工具作用向⽬标⽹站发送请求根据响应状态码判断隐藏⽬录/⽂件典型敏感文件web.zip、backup.rar、config.php10.2 Kali 安装与使用# 安装apt-getinstalldirsearch# 扫描目标dirsearch-uhttp://目标地址10.3 原理本质是 Python 循环遍历字典路径根据 HTTP 状态码判断路径是否存在200存在可访问301/302重定向403禁止访问404不存在11. 重要声明本文为学习笔记整理如有错误或不足欢迎大家在评论区指正交流一起进步本文所涉及的网络攻击、渗透测试、漏洞验证、流量分析等技术内容仅限在合法授权的私有靶场、实验环境、教学平台内进行学习与研究。严禁将任何攻击手段、工具、思路用于未获得明确书面授权的真实网站、服务器、网络设备及个人设备。未经许可对他人系统、网络、数据进行扫描、入侵、破坏、窃取或干扰均属于违法行为。一切测试与学习行为必须严格遵守《中华人民共和国网络安全法》《中华人民共和国刑法》《中华人民共和国数据安全法》等相关法律法规恪守网络安全职业道德与底线。坚守白帽底线维护网络空间安全做合法合规的安全从业者与学习者。

更多文章