preface
python 主要的应用领域:
- 自动化测试或运维
- 爬虫
- 数据分析
- 机器学习
- Web开发
推荐资料:
- Python官方文档
- awesome-python(推荐),优秀Python框架、库、软件和资源列表
- MOOC北理Python课
- Python-100-Days
站内链接
1. 算法
2. 模块
- 数据分析
- 算法常用
- 其它
3. 推荐内容
模块汇总
这里将列出一些常用的 Python 模块。
科学计算与统计 | 描述 | 文档 |
---|---|---|
numpy |
||
scipy |
||
StatsModels |
可视化 | ||
---|---|---|
matplotlib |
官网 | |
seaborn |
统计数据可视化 | 官网 |
bokeh |
creating interactive visualizations for modern web browsers. | 官网 |
pyecharts |
A Python Echarts Plotting Library. | 官网 |
Web框架 | ||
---|---|---|
flask |
||
django |
||
sanic |
官方文档 |
数据处理与分析 | ||
---|---|---|
pandas |
||
pyspark |
The most widely-used engine for scalable computing | 官网 |
机器学习 | ||
---|---|---|
sklearn |
||
keras |
||
tensorflow |
||
pytorch |
||
gym |
gym是开发和比较强化学习算法的工具包 |
自然语言处理 | ||
---|---|---|
nltk |
官网 | |
TextBlob |
||
Gensim |
||
stanfordcorenlp |
一个自然语言处理工具包,基于已经训练好的模型,操作方便,功能强大。 支持:分词,词性标注,句法成分分析等 | 官网 教程1 |
爬虫 | ||
---|---|---|
requests |
||
selenium |
||
urllib |
||
bs4 |
通用 | ||
---|---|---|
pywin32 |
win32的python接口 | github地址 |
pyautogui |
自动化控制键盘鼠标 | 官网,教程1 |
psutil |
提取内存等信息 | 教程1 |
collections |
通用数据结构 | |
timeit |
性能分析,python自带 | 官方文档 |
typing |
类型提示支持,python 是一门弱类型语言,引入后可以作为类型检查等 | |
tqdm |
进度条显示 | 参考教程 |
logging |
这个模块为应用与库实现了灵活的事件日志系统的函数与类。 | 官方文档 |
faulthandler |
当故障、超时或收到用户信号时,利用本模块内的函数可转储 Python 跟踪信息。 | 官方文档 |
面试部分
Python语法
- 基础
- 数据类型⭐
不可变数据类型
:数值,字符串,元组- 改变值,变量的地址会改变
- 值相同的两个变量,地址是一样的
a = 10 b = 10 a is b # --> True
可变数据类型
:列表,集合,字典- 改变值,变量的地址不会改变
- 值相同的两个变量,地址是不同的
- 静态方法、类方法、实例方法
- 类变量、实例变量
- 类变量,类的所有实例之间共享的值
- 实例变量,实例化之后,每个实例单独拥有的变量
- 自省函数
type()
dir()
getattr()
hasattr()
isinstance()
- 数据类型⭐
- 区别
- is, ==
is
判断的是内存地址==
判断的是值
- copy(), deepcopy()
- 浅拷贝,只拷贝父对象
- 深拷贝,拷贝父对象和子对象
- __new__, __init__
- is, ==
- 机制
- 垃圾回收机制
- 协程
- 设计模式
- 单例模式
操作系统
进程和线程之间有什么区别?
进程是运行中的程序,线程是进程内部的一个执行序列。
进程是资源分配的的那元,线程是执行单元。
进程间切换代价大,线程间切换代价小。
进程拥有资源多,线程拥有资源小。
多个线程共享进程的资源。
阅读:进程和线程的一个简单解释
进程间有哪些通信方式?
-
管道
-
消息队列通信
-
信号量
-
信号
-
共享内存通信
更多请参考:
网络协议
更多请参考:
数据库
更多请参考:
算法
other
# nums[:]=ans 和 nums=ans.copy() 相比, 第二个高效些
'' != None # -> True
not '' # -> True
- 定义函数时,带默认参数的必须出现在参数列表最右边
- 多行注释
''' '''
eval()
执行字符串表达式print(":2f".format())
del list(index)
,删除list
使用+=
可进行扩充- f’{bulls}A{cows}B’ 可用于变量的直接输出
数据持久化
json模块主要有四个比较重要的函数,分别是:
- dump - 将Python对象按照JSON格式序列化到文件中
- dumps - 将Python对象处理成JSON格式的字符串
- load - 将文件中的JSON数据反序列化成对象
- loads - 将字符串的内容反序列化成Python对象