python白帽子学习笔记(整合)
学习笔记目录
- python白帽子学习笔记(整合)
- 前言
- 一、基础篇
- 1.正则表达式
- 2.列表
- 3.元组带上了枷锁的列表
- 4.奇葩的内置方法
- 5.格式化字符
- 6.序列
- 7.定义函数
- 8.内嵌函数和闭包
- 9.lambda表达式
- 10.递归是什么?
- 11.汉诺塔
- 12字典
- 13.集合
- 14.打开文件
- 15.异常总结
- 二、模块篇
- 1.os模块
- 2.pickle模块
- 3.random模块
- 4.异常处理
- 5.if esle语句的连用、输入和输出
- 6.easygui模块的安装
- 7.类和对象的特点
- 7.1类的内置函数
- 8.魔术方法time模块
- 8.1定义一个计时器
- 8.2魔法方法属性访问
- 8.3魔法方法:描述方法和下划线
- 8.4 魔法方法创造序列、迭代器
- 9.导入模块
- 三、爬虫基础篇
- 1.爬取简单的数据
- 2.爬虫实战加隐藏
- 3.教学实战爬取美女图片
- 4.实战爬取小说
- 5.正则表达式
- 6.错误异常处理
- 7.安装scrapy
- 8.scrapy框架
- 9.linux下scrapy的安装和创建工程
- 10.scrapy基础框架的建立
- 11.scrapy案例介绍
- 12.初始与结束条件(初始化Item对象)
- 13.保存爬虫数据
- 四、python信安结合篇
- 1.python-htpp响应
- 2.HTTP代理
- 3.会话编程
- 4.目录扫描工具的编写
- 5.IIS PUT漏洞探测工具的编写
- 6.获取中间件信息
- 7.漏洞检测工具
- 8.站点地图的构建
- 五、Tkinter篇
- 1.利用Label建立我们第一个框框
- 2.图片的调用
- 3.插入选项多行显示
- 4.输入文本框的使用
- 总结
前言
【原始笔记在本人onenote上】Python具有清晰的语法结构,因此也被称为可执行的伪代码。并且Python开发环境默认已经附带了很多高级数据结构,如:列表、元组、字典、集合等,使编写程序变得异常简单,仅需要很少的代码就能实现你的想法。
Python也非常流行,使用广泛,具有丰富的模块库,可以大大的缩短开发周期。
基于Python以上的特性,使用Python可以避免花费太多精力在程序编写上,从而可以将精力更多的投入到处理数据的内在含义上。
Python语言的唯一不足就是性能问题,Python程序的运行效率不如Java或C,但在需要效率的地方,我们可以使用Python调用C编译的代码。
一、基础篇
1.正则表达式
2.列表
3.元组带上了枷锁的列表
4.奇葩的内置方法
4.1.内置方法运行实例截图
5.格式化字符
6.序列
7.定义函数
7.1 定义高级函数
8.内嵌函数和闭包
9.lambda表达式
10.递归是什么?
11.汉诺塔
12字典
13.集合
14.打开文件
15.异常总结
基础篇完。
二、模块篇
1.os模块
2.pickle模块
3.random模块
4.异常处理
5.if esle语句的连用、输入和输出
6.easygui模块的安装
7.类和对象的特点
7.1类的内置函数
8.魔术方法time模块
8.1定义一个计时器
8.2魔法方法属性访问
8.3魔法方法:描述方法和下划线
8.4 魔法方法创造序列、迭代器
9.导入模块
模块篇完。
三、爬虫基础篇
1.爬取简单的数据
2.爬虫实战加隐藏
3.教学实战爬取美女图片
4.实战爬取小说
5.正则表达式
6.错误异常处理
7.安装scrapy
8.scrapy框架
9.linux下scrapy的安装和创建工程
10.scrapy基础框架的建立
11.scrapy案例介绍
12.初始与结束条件(初始化Item对象)
13.保存爬虫数据
爬虫基础篇完。
四、python信安结合篇
1.python-htpp响应
2.HTTP代理
3.会话编程
4.目录扫描工具的编写
5.IIS PUT漏洞探测工具的编写
6.获取中间件信息
7.漏洞检测工具
8.站点地图的构建
五、Tkinter篇
1.利用Label建立我们第一个框框
2.图片的调用
3.插入选项多行显示
4.输入文本框的使用
总结
为什么选择Python 经常会有同学问我为什么选择Python。我很喜欢这门语言,因为它的简洁灵活,易学,易读,可移植并且功能强大。
高级
可以说,每一代编程语言的产生,我们都会达到一个新的高度。从汇编语言,到C Pascal等,伴随着C语言的诞生,产生了C++、Java这样的现代编译语言,之后有了强大的可以进行系统调用的解释性脚本语言Python、 Perl…
比如Python中就有一些高级的数据结构,列表和字典就是内建于语言本身可以直接使用的,在核心语言中提供这些重要的构建单元,可以缩短开发时间和代码量,产生可读性更好的代码。
面向对象
Python是面向对象编程
内存管理器
C 或者 C++最大的弊病在于内存管理是由开发者负责的。所以哪怕是对于一个很少访问、修改和管理内存的应用程序,程序员也必须在执行了基本任务之外履行这些职责。这些加诸在开发者身上的没有必要的负担和责任常常会分散精力。
在 Python 中,由于内存管理是由 Python 解释器负责的,所以开发人员就可以从内存事务中解放出来,全神贯注于最直接的目标,仅仅致力于开发计划中首要的应用程序。这会使错误更少、程序更健壮、开发周期更短。
解释性和编译性
Python 是一种解释型语言,这意味着开发过程中没有了编译这个环节。一般来说,由于不是以本地机器码运行,纯粹的解释型语言通常比编译型语言运行的慢。然而,类似于 Java,Python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。这不仅改善了 Python的性能,还同时使它保持了解释型语言的优点。
Python为什么运行速度相较于C语言慢
因为Python等动态语言每一个简单的操作都需要大量的指令才能完成。Python是动态语言,变量只是对象的引用,比如对于一个简单的操作:a+b,在C语言中只需要一个机器指令ADD就好,而对于Python而言,变量a和b本身没有类型,而它们的值有类型,所以在相加之前需要先判断类型,之后,读取数值,相加,生成一个新对象,将运算结果存入,返回对象,当然,可能还会考虑内存溢出等问题。