• Stars
    star
    1,983
  • Rank 23,367 (Top 0.5 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

pycorrector

pycorrector is a toolkit for text error correction. 文本纠错,实现了Kenlm,T5,MacBERT,ChatGLM3,Qwen2.5等模型应用在纠错场景,开箱即用。
Python
5,536
star
2

text2vec

text2vec, text to vector. 文本向量表征工具,把文本转化为向量矩阵,实现了Word2Vec、RankBM25、Sentence-BERT、CoSENT等文本表征、文本相似度计算模型,开箱即用。
Python
4,441
star
3

MedicalGPT

MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练(PT)、有监督微调(SFT)、RLHF、DPO、ORPO。
Python
3,282
star
4

similarity

similarity: Text similarity calculation Toolkit for Java. 文本相似度计算工具包,java编写,可用于文本相似度计算、情感分析等任务,开箱即用。
Java
1,424
star
5

textgen

TextGen: Implementation of Text Generation models, include LLaMA, BLOOM, GPT2, BART, T5, SongNet and so on. 文本生成模型,实现了包括LLaMA,ChatGLM,BLOOM,GPT2,Seq2Seq,BART,T5,UDA等模型的训练和预测,开箱即用。
Python
929
star
6

similarities

Similarities: a toolkit for similarity calculation and semantic search. 相似度计算、匹配搜索工具包,支持亿级数据文搜文、文搜图、图搜图,python3开发,开箱即用。
Python
762
star
7

ChatPDF

RAG for Local LLM, chat with PDF/doc/txt files, ChatPDF. 纯原生实现RAG功能,基于本地LLM、embedding模型、reranker模型实现,无须安装任何第三方agent库。
Python
593
star
8

ChatPilot

ChatPilot: Chat Agent Web UI,实现Chat对话前端,支持Google搜索、文件网址对话(RAG)、代码解释器功能,复现了Kimi Chat(文件,拖进来;网址,发出来)。
Svelte
493
star
9

pytextclassifier

pytextclassifier is a toolkit for text classification. 文本分类,LR,Xgboost,TextCNN,FastText,TextRNN,BERT等分类模型实现,开箱即用。
Python
488
star
10

parrots

Automatic Speech Recognition(ASR), Text-To-Speech(TTS) engine. 中英语音识别、多角色语音合成,支持多语言,准确率高
Python
464
star
11

nlp-tutorial

自然语言处理(NLP)教程,包括:词向量,词法分析,预训练语言模型,文本分类,文本语义匹配,信息抽取,翻译,对话。
Jupyter Notebook
390
star
12

dialogbot

dialogbot, provide search-based dialogue, task-based dialogue and generative dialogue model. 对话机器人,基于问答型对话、任务型对话、聊天型对话等模型实现,支持网络检索问答,领域知识问答,任务引导问答,闲聊问答,开箱即用。
Python
327
star
13

pke_zh

pke_zh, python keyphrase extraction for chinese(zh). 中文关键词或关键句提取工具,实现了KeyBert、PositionRank、TopicRank、TextRank等算法,开箱即用。
Python
188
star
14

lmft

ChatGLM-6B fine-tuning.
Python
135
star
15

nerpy

🌈 NERpy: Implementation of Named Entity Recognition using Python. 命名实体识别工具,支持BertSoftmax、BertSpan等模型,开箱即用。
Python
111
star
16

chatgpt-webui

ChatGPT WebUI using gradio. 给 LLM 对话和检索知识问答RAG提供一个简单好用的Web UI界面
Python
89
star
17

pysenti

Chinese Sentiment Classification Tool. 情感极性分类,基于知网、清华、BosonNLP情感词典,易扩展,基准方法,开箱即用。
Python
85
star
18

companynameparser

company name parser, extract company name brand. 中文公司名称分词工具,支持公司名称中的地名,品牌名(主词),行业词,公司名后缀提取。
Python
82
star
19

agentica

Agentica: Build Multi-Agent Workflow with 3 lines code. 三行代码打造个人助手智能体。
Python
75
star
20

open-o1

open-o1: Using GPT-4o with CoT to Create o1-like Reasoning Chains
Python
61
star
21

CodeAssist

CodeAssist is an advanced code completion tool that provides high-quality code completions for Python, Java, C++ and so on. CodeAssist 是一个高级代码补全工具,高质量为 Python、Java 和 C++ 补全代码。
Python
54
star
22

judger

自动作文评分工具,支持中文、英文作文智能评分,支持评分模型自训练,支持WEKA处理模型数据,支持自定义评分算法。java开发。
Roff
52
star
23

relext

RelExt: A Tool for Relation Extraction from Text. 文本实体关系抽取工具。
Python
48
star
24

github-hot

Tracking the hot Github repos and update daily 每天自动追踪Github热门项目
Python
41
star
25

rater

rater, recommender systems. 推荐模型,包括:DeepFM,Wide&Deep,DIN,DeepWalk,Node2Vec等模型实现,开箱即用。
Python
40
star
26

text-feature

文本特征提取,适用于小说,论文,议论文等文本,提取词语、句子、依存关系等特征。python开发。
Python
39
star
27

pinyin-tokenizer

pinyintokenizer, 拼音分词器,将连续的拼音切分为单字拼音列表。
Python
26
star
28

labelit

labelit, label tool with active learning, for classification task. 自动标注,基于主动学习,边标注边学习,减少人工标注量。
Python
26
star
29

title-generator

Automatic Text Summarization and Title Generation.
Python
25
star
30

case-analysis

NLP之病历分析:从病历文本之中提取关键信息,便于后续分析处理。
Java
19
star
31

EssaySocring

英文作文自动评分系统,支持评分模型自训练,支持WEKA处理模型数据,支持自定义评分算法。Java开发。
Roff
16
star
32

crf-seg

crf-seg:用于生产环境的中文分词处理工具,可自定义语料、可自定义模型、架构清晰,分词效果好。java编写。
Java
13
star
33

text2vec-service

Service for Bert model to Vector. 高效的文本转向量(Text-To-Vector)服务,支持GPU多卡、多worker、多客户端调用,开箱即用。
Python
10
star
34

weibo-roast

一个微博毒舌AI,疯狂 diss 微博博主
Python
10
star
35

authorship-identification

【今日头条】文本作者身份识别比赛
Jupyter Notebook
9
star
36

fake-news-detector

Fake News Detection Competition
Python
8
star
37

zh-normalization

Chinese(zh) sentence NSW(Non-Standard-Word) Normalization
Python
8
star
38

ChatGPT-API-server

build a python server for ChatGPT API.
Python
7
star
39

cpp-tutorial

C++开发实例教程,基础,开源库进阶,高级技巧。
C++
5
star
40

nlpcommon

NLP common tools.
Python
5
star
41

cvnet

have fun with image AI
Jupyter Notebook
4
star
42

text2vec-encoder

**Text2vecEncoder** wraps the text2vec model with jina. It encodes text data into dense vectors.
Python
4
star
43

BlogDemo

我的csdn博客中使用的代码,主要是算法。
Java
3
star
44

sbert

sbert, sentence bert.
Python
2
star
45

shibing624

2
star
46

Diffusion-Tuning

Diffusion-Tuning: Training Your Own Diffusion model with custom dataset.
Python
2
star
47

tools

tools
JavaScript
2
star
48

pyweb

Web server use tornado.
Python
1
star
49

html5-demos

Use the html5 to show funny web demos
JavaScript
1
star
50

little-spring

理解spring核心代码,自己仿写spring,实现简化功能。
Java
1
star
51

phrase-search

短语搜索,支持公司名称、地址名称等短语的搜索,支持自定义排序、拼音处理,内置jetty提供web接口。java编写。
Java
1
star