为啥要学python(为什么要学习Python)
为啥要学python(为什么要学习Python)Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数,Python标准库则提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等许多常用的功能:Python 语言语法足够简单,入门比较容易,天生跨平台,再加上可以找到几乎所有用途的库,这些因素是Python流行起来的重要因素。IEEE Spectrum 通过综合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八个来源 ,分析了 55 种编程语言的流行度,发布了 2020 年度编程语言排行榜。Python 连续四年夺冠!IEEE Spectrum那么Python为什么如此流行呢?
Python 现在如此火爆,已发展成为一种非常通用的语言,无论是简单的办公自动化,还是复杂的数据挖掘、科学计算、图像处理、人工智能、网络爬虫等,Python 都可以胜任。很多省市已经将Python编入小学教材,也可以从中看到Python的重要性。
根据最新的2021年10月Tiobe编程语言排行榜,Python已经成为冠军。
通过 StackOverflow 上的标签分析软件开发语言 / 工具的趋势,Python语言已经位列冠军。
Stack Overflow 上各种编程语言的标签快照
IEEE Spectrum 通过综合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八个来源 ,分析了 55 种编程语言的流行度,发布了 2020 年度编程语言排行榜。Python 连续四年夺冠!
IEEE Spectrum
那么Python为什么如此流行呢?
用途广泛Python 语言语法足够简单,入门比较容易,天生跨平台,再加上可以找到几乎所有用途的库,这些因素是Python流行起来的重要因素。
Python语言的核心只包含数值、字符串、列表、字典、文件等常见类型和函数,Python标准库则提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等许多常用的功能:
- 文本处理,包含文本格式化、正则表达式、文本差异计算与合并、Unicode支持,二进制数据处理等功能。
- 文件系统功能,包含文件和目录操作、创建临时文件、文件压缩与归档、操作配置文件等功能。
- asyncio,异步IO处理
- 操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志(logging)等功能。
- 网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能。支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架。
- W3C格式支持,包含HTML,SGML,XML的处理。
- 其它功能,包括国际化支持、数学运算、HASH、Tkinter等。
Python自带一个简陋的开发环境IDLE,不过它太简单了,建议直接忽略它。推荐使用Anaconda或者PyCharm,它们都有免费的社区版,足够个人学习和使用了。
Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda致力于简化包管理和部署。Anaconda的包使用软件包管理系统Conda进行管理。超过1200万人使用Anaconda发行版本,并且Anaconda拥有超过1400个适用于Windows、Linux和MacOS的数据科学软件包。
Anaconda官网:https://www.anaconda.com/
以我安装的2.0.3版本为例,内置了362个常见的软件包
Anaconda还内置了Jupyter Lab和Notebook,jupyter lab可以看成是jupyter notebook高级版本,建议直接使用Lab。
Jupyter Lab还可以安装各种插件,增强它的功能。
捷克JetBrains出品PyCharm可以说是目前最流行的Python IDE,支持Microsoft Windows、macOS和Linux操作系统,提供代码分析、图形化调试器,集成测试器、集成版本控制系统等功能,个人用户可以使用免费的社区版。
除此以外,还可以使用Visual Studio Code、Visual Studio 社区版等集成开发环境。
丰富的Python库Python的流行很大程度上归功于其丰富的第三方库,基本上涵盖了所有方面:
Web开发:Django、Flask、Tornado
GUI:PyQt
科学计算:
- NumPy:Python的基础性的科学计算第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案。
- Pandas:用于数据分析、数据建模、数据可视化的第三方库。
- Matplotlib:用Python实现类似MATLAB绘图功能的第三方库,用以绘制一些高质量的数学二维图形。
- SciPy:使用NumPy的多维数组作为基本数据结构,用Python实现了MATLAB所有功能的第三方库。
- SymPy:支持数学符号运算的第三方库,用于提供计算机代数系统。
数据库:SQLAlchemy、Django ORM、
人工智能/机器学习:TensorFlow、PyTorch、Keras、Sci-kit learn
爬虫:Request、Scrapy、Crawley、Beautiful Soup、urllib3
办公自动化:python-docx、xlwings、openpyxl、python-pptx、pdfplumber、pywin32
图片处理:Pillow
事件驱动网络框架:Twisted
单元测试框架:pytest
时间:Arrow 为开发者提供了「人类的时间(datetime for humans)」,提供了一种清晰的方法来创建、操作、格式化和转换日期、时间和时间戳。它可以用于替换 Python 2 和 3 的 datetime 类型,并提供了一个更友好的界面,同时加入新的功能(如 humanize)弥补了原系统的不足。
数据可视化:
Pyecharts,一个用于生成 Echarts 图表的Python类库。Echarts 是百度开源的一个数据可视化 JS 库。与此类似的还有Matplotlib和Seaborn。
Seaborn是基于matplotlib的图形可视化python包。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。Seaborn高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。
参考文档Python - 维基百科,自由的百科全书 (wikipedia.org):https://zh.wikipedia.org/wiki/Python