0 python介绍
0.1 简介
python是一门高级编程语言,简单易学,特别容易上手实战,能收获满满成就感。只要学会基础知识,你就可以在各个领域大展拳脚,主要就是因为python的朋友圈(生态)热闹。
python的生态十分强大,不仅有强大的内置库,还有各种各样的第三方库(伸手党的福利 :p),如
- • 视觉相关:OpenCV、Face Recognition、EasyOCR、Open3D、kornia、moviepy
- • 人工智能:pytorch、tensorflow、xgboost、gym、statsmodels
- • web相关:flask、Django、Tornado、Selenium、BeautifulSoup、Scrapy、gunicorn
- • 数据相关:numpy、pandas、pyspark、scipy、Matplotlib、Seaborn
- • 数据库相关:PyMySQL、sqlite3、redis-py
- • 工业相关:micropython、PythonRobotics
- • 声音相关:dejavu、librosa、pyAudioAnalysis、pydub
- • 界面开发:Tkinter、PySimpleGUI、PyQt、DearPyGui
- • 日志:loguru
python能有这么良好的生态,和python的设计宗旨是密不可分的。python的语言设计遵循着一定的哲理,这里我从个人角度选取感兴趣的地方翻译一下:
- • 丑拒
- • 请说人话
- • 不要把事情搞得那么复杂
- • 不要和我弯弯绕
- • 读不懂可不行
- • 特殊情况刚开始不考虑
- • 千里之堤,溃于bug
- • 不要让我猜
- • 行得通即可
最后,得和别的语言比较下(从流行程度角度) :p
如下图是编程语言近20年的变化趋势图,图片源于TIOBE网站:
image-20220513232355452
以及下图所示,荣获5次年度编程语言:
image-20220513232519582
! > 流行这个词的意思是别人都在学,你还在等啥子呦?!说的就是你
0.2 发展历史
Guido van Rossum在1980s开始构想python语言,于1989年着手开始设计。
2000年10月16号,python 2的第一个版本python 2.0正式发布,其后python 2不断发布。
2008年12月3号,python 3的第一个版本python 3.0正式发布,其后python 3不断发布。
2015年原本计划终止python 2的最后一个版本python 2.7,但是考虑到还有大量代码不容易迁移到python 3,又“续命”到了2020年。
目前,python 3版本不断发布,目前(2022年5月13日)已经发布到3.10。
0.3 个人python学习建议
俗话说得好“万丈高楼平地起”,刚开始你应该学习python的基础知识,包括本教程的基础知识如编程环境搭建、变量类型和运算符,列表和字典,字符串,流程控制,函数和类,python模块和包。
当你学完基础知识后,洗把脸进入下一步:实践。python是一门编程语言,就像外语一样,你得用起来,才能让你掌握这门语言,在那里抱着语法书吭哧吭哧的学,我个人觉得效率比较低下。那么,你可能会问:我怎么把python用起来呢?我给大家提出如下建议:
- 1. 兴趣是最好的老师,用在你感兴趣的领域;
- 2. 假如1中的情况,你满足不了(心疼你0.018s),那么建议聚焦于你正在做的领域;
估计你现在应该正在思考自己领域的相关应用场景,但是又想不出来(我喜欢看着你生气又没有办法的样子 :p),所以,我就个人经验给你展开一下:
视觉领域:艺术创作、图片分类、目标检测、图像分割、超分图像、人迹分析、深度估计、动作识别、时序动作定位、图像拼接、图像匹配、缺陷检测、目标跟踪、点云分割、点云配准、点云检测和跟踪、位姿姿态估计、三维重建、OCR、图像预处理、人脸识别及活体检测、步态识别、人像抠图、人体姿态估计、人体姿态识别、人体姿态生成、人体重建、Nerf
办公领域:合同自动生成、密码随机生成、鼠标操作自动化等
视频编辑领域:视频剪辑、视频声音提取、视频局部区域裁剪等
控制领域:ardunio、树莓派等
网络领域:某网站登录自动化、网页视频解析下载等
语音领域:中文语音识别、中文语音生成等
0.4 参考资料
- • https://en.wikipedia.org/wiki/Python_(programming_language)
- • http://www.cvtutorials.com
- • https://www.tiobe.com/tiobe-index/