应用领域:
每个对象都有自己的属性和方法
内置对象类型:
. 整数、浮点数
. 字符串
. 列表
. 元组
. 字典
. 集合
变量与对象:
字符串:
定义、序列及其基本操作、索引和切片
索引:每个序列都有两个索引,从左边和从右边
步长:切片的时候有正负之分,为负就从右边开始
内置函数:print、input
元组:如果元组只有一个元素的话,需要在后面加上逗号。
字典:键值,键不能是可变的,值可以是变化的。键不能是列表,可以使字符串、元组。值可以是列表。字典不是序列,只能通过键来获取值。
字典和列表:1.字典不是序列 2. 两者都是容器类对象 3. 两者都是可变对象 4. python3.6开始,字典也有顺序。
容器类:存储的值的改变不影响整个容器存储的位置的改变。
集合:集合是一个无序的,不重复元素序列,集合不是键值对,字典是键值对。两者都是花括号。不能用可变对象作为集合的元素,比如序列等。
浅拷贝:拷贝的只是容器的第一层,里面的新的容器和前面的是同一个对象。
and、or比较逻辑运算符
赋值语句:
*b代表一个序列来表示。
可迭代对象:都可以用for i in "hello"
来取出元素。如果在dir(str)中含有_dir_就是可迭代对象。
for循环几个常用的函数:range()、zip()、enumerate()
使用定义range时并没有占用内存空间,只有在使用的时候才会使用内存。
enumerate:返回的是每个元素及其对应的索引,组装成的元组。
列表解析:
not、and、or:优先级为not>and>or
数学函数:
随机数函数:
三角函数:
三角函数:
ascii码
return:return语句可以返回多个值,比如return1, 2, 4等等。
参数中有一个“*”代表可以用元组来表示,两个“**”表示可以用字典来表示。
嵌套函数:
装饰器:
类型属于对象,变量是没有类型的。
self:引用当前实例
类方法:
静态方法:跟实例无关。
初始化方法,__init__不能返回不是none的对象。
普通方法:第一个参数必须是self,指向一个实例。
当子类继承父类的时候,覆盖掉__init__方法的时候,还需要调用父类的__init__方法是可以使用:
只适用于单继承。
多继承:会使用到一个继承顺序,算法是mro算法。尽量使用单继承。
多态和封装:
多态是天然存在的,不对参数的类型进行校验。
封装:对相应的名字进行私有化,用两个下划线将属性进行封装。不能再类的使用范围进行调用。
类也就是类型,特殊方法都是以下划线结尾和以下划线开头。str对人友好,repr对解释器友好。
表示分数,用fractions库里面的Fraction模块来进行表示:Python有强大的第三方库。
控制属性访问:
所有与类相关的属性都放在这个字典里面:
当使用__slots__时,属性只读,并且不可添加其他的属性。
优化内存:生成的元素并没有读入到内存,只有在使用的时候才会读入到内存中,可以降低内存的损耗。
如何判断一个方法是否可迭代,用:hasattr这个内置函数来判断:
生成一个迭代器:列表里面的元素并没有读入到内存。
可以利用__next__将元素读入到内存。每使用一次,读指针就会往后面移一位。
创建一个无限迭代器:
获取当前迭代器指针的值:
生成器:是迭代器对象,用yield来返回元素,并在当前位置进行挂起。
生成器解析:与列表解析差异于元组解析。
安装指定的某个版本:pip3 install requests==2.0
对当前安装的第三方包更新:pip install --upgrade request
查看安装的第三方包:pip list
删除第三方包:pip uninstall request
利用PYPI来使用国内的源,pypi镜像帮助。
临时利用国内的镜像源来进行安装第三方包:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
注意:simple不能少,是https而不是http
设为默认:
模块其实就是py文件
利用if __name__ == "__main__"
来屏蔽掉后面的方法,比如调试的时候使用到,然后后面作为模块的时候就可以屏蔽掉了。
搜索模块的路径:
添加自己写的模块:
文件写完之后会返回写入的字符串长度
利用上下文管理器,可以不用close也可以来保存写入的内容, 预定义的清理行为:
利用seek将文件指针移动到文件的开头。
OS模块提供了非常丰富的方法用来处理文件和目录,常用的方法如下:
首先import csv
不管是读还是写都需要先创建读、写对象。然后循环操作读、写对象。
利用xpath来筛选出符合内容的数据:
lxml可以解析html代码
利用正则表达式来获取爬虫数据,可以过滤掉不使用的数据:regexp
安装requests:pip install requests
用来处理html文件
工具使用:selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户操作一样
流程:
很多复杂的网站,其返回数据的形式通过Chrome的开发者工具比较难分析,此时可以借助抓包工具。
原理:通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
主要功能:1. 截取Http和Https的网络封包 2. 支持重发网络请求,方便后端调试 3. 支持修改网络请求参数 4. 支持网络请求的截获并动态修改 5. 支持模拟慢速网络
利用连接池来解决
urllib3:用来请求http的库,requests就是基于urllib3来做的
利用adapter来定义线程池:
步骤:
arxiv.org
查找paper首先需要对待分析数据有整体的把握,掌握数据特征与维度。