Code Monkey home page Code Monkey logo

python-tutorial's Introduction

python_vesion License Apache 2.0 GitHub issues Wechat Group

python-tutorial

Python实用教程,包括:Python基础,Python高级特性,面向对象编程,多线程,数据库,数据科学,Flask,爬虫开发教程。

在本Python教程包含了一些范例,涵盖了大多数Python日常脚本任务,是入门Python的学习资料,也可以作为工作中编写Python脚本的参考实现。 以下所有实现均在python3环境下测试。

Guide

python-tutorial的例子清单

  • 目录说明
目录 主题 简要说明
01_base Python基础 提供了数据类型、字符串、list、条件判断、循环、函数、文件、多进程的使用例子。
02_advanced Python高级特性 提供了数据库、高阶函数、迭代器、面向对象编程的使用例子。
03_data_science 数据科学 提供了常用数据科学库(numpy、scipy、scikit-learn、pandas)的使用例子。
04_flask Flask开发 提供了Web框架Flask的使用例子。
05_spider 爬虫 提供了网络爬虫的实现例子。
06_tool 实用工具 提供了常用的实用工具,包括参数解析、日志工具等例子。
  • Notebook教程说明
Notebook Description
01_base/01_字符串类型_str.ipynb Python字符串类型 Open In Colab
01_base/02_列表类型_list.ipynb Python列表类型 Open In Colab
01_base/03_元组类型_tuple.ipynb Python元组 Open In Colab
01_base/04_字典类型_dict.ipynb Python字典 Open In Colab
01_base/05_集合类型_set.ipynb Python集合 Open In Colab
01_base/06_条件判断_if.ipynb Python条件判断 Open In Colab
01_base/07_列表推导式.ipynb Python列表推导式 Open In Colab
01_base/08_循环结构_loop.ipynb Python循环 Open In Colab
01_base/09_函数和模块.ipynb Python函数 Open In Colab
01_base/10_文件和异常.ipynb Python文件和异常 Open In Colab
01_base/11_线程和进程.ipynb Python多线程和多进程 Open In Colab
02_advanced/01_系统交互_os.ipynb Python系统交互操作 Open In Colab
02_advanced/02_数据库_sql.ipynb Python操作mysql数据库 Open In Colab
02_advanced/03_高阶函数.ipynb map、filter、lambda高阶函数 Open In Colab
02_advanced/04_迭代器与生成器.ipynb 迭代器和yield生成器 Open In Colab
02_advanced/05_上下文管理器.ipynb with语句 Open In Colab
02_advanced/06_装饰器.ipynb Decorator装饰器 Open In Colab
02_advanced/07_面向对象编程.ipynb Python类 Open In Colab
03_data_science/01_Numpy数组.ipynb Numpy array数组 Open In Colab
03_data_science/02_Numpy索引.ipynb Numpy index索引 Open In Colab
03_data_science/03_Numpy方法.ipynb Numpy 方法 Open In Colab
03_data_science/04_Matpoltlib画图.ipynb Matpoltlib画图 Open In Colab
03_data_science/05_SciPy统计分布.ipynb Scipy统计分布 Open In Colab
03_data_science/06_SciPy曲线拟合.ipynb Scipy曲线 Open In Colab
03_data_science/07_Pandas数据类型.ipynb Pandas数据类型 Open In Colab
03_data_science/08_Pandas数据操作.ipynb Pandas操作 Open In Colab
03_data_science/09_Scikit-Learn分类.ipynb Scikit-Learn数据分类 Open In Colab
03_data_science/10_Scikit-Learn聚类.ipynb Scikit-Learn聚类 Open In Colab
04_flask/01_Flask介绍.md Flask介绍
04_flask/02_Flask模板.md Flask模板
04_flask/03_静态文件.md Flask静态文件
04_flask/04_数据库.md Flask数据库
04_flask/05_模板优化.md Flask模板优化
04_flask/06_表单.md Flask表单
04_flask/07_用户认证.md 用户认证
04_flask/08_Flask应用watchlist Flask应用示例watchlist
05_spider/01_爬虫介绍.ipynb Python网络爬虫介绍 Open In Colab
05_spider/02_网页解析和存储.ipynb 网页工具requests、lxml、BeautifulSoup、Selenium Open In Colab
06_tool/argparse_demo.py Python参数解析
06_tool/profiler工具.md Python性能监测工具
06_tool/logger.py Python日志
06_tool/send_email.py Python发邮件

Get Started

教程代码大多数为Notebook书写(文件后缀.ipynb),如下所示: notebook

  • 使用Colab学习教程:

点击各教程的Open In Colab即可在Google Colab打开Notebook并运行。

  • 使用Jupyter Notebook学习教程:
  1. 下载Python:建议使用Anaconda,Python环境和包一键装好,Python3.7 版本
  2. 下载本项目:可以使用git clone,或者下载zip文件,解压到电脑
  3. 打开Jupyter Notebook:打开终端,cd到本项目所在的文件夹,执行:jupyter notebook ,浏览器打开01_base/01_字符串类型.ipynb,跟随介绍交互使用

Contact

  • Issue(建议):GitHub issues
  • 邮件我:xuming: [email protected]
  • 微信我:加我微信号:xuming624,进Python-NLP交流群,备注:姓名-公司名-NLP

Citation

如果你在研究中使用了python-tutorial,请按如下格式引用:

@misc{python-tutorial,
  title={python-tutorial: Python3 Tutorial for Beginners},
  author={Ming Xu},
  howpublished={https://github.com/shibing624/python-tutorial},
  year={2021}
}

License

授权协议为 The Apache License 2.0,可免费用做商业用途。请在产品说明中附加python-tutorial的链接和授权协议。

Contribute

项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目,在提交之前,注意以下两点:

  • 在本地进行单元测试
  • 确保所有单测都是通过的

之后即可提交PR。

Reference

  1. 廖雪峰Python3教程
  2. PythonDataScienceHandbook
  3. Python4DataScience.CH
  4. Python-100-Days
  5. flask-tutorial

python-tutorial's People

Contributors

dependabot[bot] avatar shibing624 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-tutorial's Issues

关于爬虫板块的设计

想问一下作者目前对爬虫这块教程有打算系统的规划一下吗?刚好我自己2022年年底有整理完整的爬虫学习路径,每个模块也有对应的示例,没有直接提PR的原因是能看出来爬虫这块教程还没完善,直接提PR可能会扰乱你原本的更新计划。

1 基础学习
multiprocessing
多进程
threading
多线程
asyncio
多协程
2 程序发起请求
urllib
仅支持HTTP1.0 仅同步 语法复杂 解析链接/分析robots协议 很好用
request
仅支持HTTP1.0 仅同步
aiohttp
支持HTTP2.0 仅异步
httpx
支持HTTP1.1/2.0 同步异步双卡双待
3 模拟浏览器发起请求
Selenium
老牌模拟浏览器 仅同步
Pyppeteer
仅支持谷歌浏览器,异步
Playwright
支持三种不同浏览器,异步,微软背书,月更
4 模拟APP发起请求
mitidump
最适合Python抓包的模块
appnium
手机端模拟操作集成者
Airtest
网易的手机端模拟操作
adbutils
手机群控
Xposed
基于JAVA 反反爬手段多
Frida
会C++即可 抓的多,不易被反爬
5 数据提取
Re
程序员必会
Xpath
随手复制就能用
Beatifulsoup
支持节点、CSS选择器、文本内容等方式,缺点是速度较慢
parsel
以上模块的集成,Scrapy的底层
json
python自带,简洁好用
execjs
处理json兼容性更好,并支持js执行,缺点是速度较慢
6 数据存储
pandas
适合处理五十万条以下的个人数据、兼容多种格式:csv、xlsx、xls、json、html、spss、sql 等等...
数据库与消息队列
mysql
关系型数据库
Redis
非关系型数据库
ES
搜索引擎
kafka
消息队列
Neo4j
图数据库
7 分布式
Docker compose
容器关联工具
k8s
容器编排工具
8 自动化运维
Prometheus
可靠的监控
Grafana
好看的可视化
9 人机验证
tesserocr
部署复杂,识别一般,时代眼泪
ddddocr
需联网的可靠识别模型
opencv
最流行的计算机视觉库之一
pytorch
最流行的机器学习库之一
10 逆向
Chromium
网页逆向
Frida-RPC
APP逆向
11 学无止境
Scrape Center
常见的浏览器与APP反爬练习
cloudreve
个人网盘,用于交付数据

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.