1.Python是什么?——《跟老吕学Python编程》
- Python是一种什么样的语言?
- Python的优点
- Python的缺点
- Python发展历史
- Python的起源
- Python版本发展史
- Python的价值
- 学Python可以做什么职业?
- Python可以做什么应用?
Python是一种什么样的语言?
Python是一种开源
1、跨平台
2、解释性
3、编译性
3、交互式
4、支持多种编程范式
5,包括过程式
5、面向对象
6和函数式
5,拥有动态数据类型
7和垃圾回收机制
8的高级
9脚本语言
10编程语言。
涉及到的专业术语还是挺多的,建议点击术语旁边的数字查看注脚的连接解释该术语的意义。
Python的优点
- 开源:Python源代码公开,可以免费自由使用、复制、修改和再发布。
- 跨平台:Python跨操作系统可移植。
- 易于学习:Python是一种解释性编程语言,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python代码定义的更清晰。
- 易于维护:Python的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 数据库:Python提供所有主要的商业数据库的接口。
- GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 可嵌入: 可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
- 支持广泛: 支持广泛的应用程序开发,从简单的文字处理到服务器再到游戏,它都可以胜任。
Python的缺点
有优点就会有缺点,python作为一门解释型语言,拥有了解释型语言的优点(跨平台可移植性,动态变量等)也有解释型语言的缺点(效率较低)。
另外,python作为一门近乎万能的语言,就像瑞士军刀一样,他拥有很多功能,但在具体的功能上都不如一些专精的语言,当对性能有一定要求的时候,python不是好选择!
Python发展历史
Python的起源
Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中单词Python(意为大蟒蛇)作为该编程语言的名字,是因为英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是其非开放造成的。Guido决心在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响,并且结合了Unix shell和C的习惯。
Python版本发展史
自20世纪90年代初Python语言诞生至今,Python已被逐渐广泛应用于系统管理任务的处理和Web编程。
1995年,Guido van Rossum在弗吉尼亚州的国家创新研究公司(CNRI)继续他在Python上的工作,并在那里发布了该软件的多个版本。
2000年五月,Guido van Rossum和Python核心开发团队转到BeOpen.com并组建了BeOpen PythonLabs团队。同年十月,BeOpen PythonLabs团队转到Digital Creations(现为Zope Corporation)。
2001年,Python软件基金会(PSF)成立,这是一个专为拥有Python相关知识产权而创建的非营利组织。Zope Corporation是PSF的赞助成员。
Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。
Python 2于2000年10月16日发布,稳定版本是Python 2.7。
Python 3于2008年12月3日发布,不完全兼容Python 2。
2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
发布版本号 | 源自 | 年份 | 所有者 | GPL兼容 |
---|---|---|---|---|
Python 0.9.0至1.2 | n/a | 1991-1995 | CWI | 是 |
Python 1.3至1.5.2 | 1.2 | 1995-1999 | CNRI | 是 |
Python 1.6 | 1.5.2 | 2000 | CNRI | 否 |
Python 2.0 | 1.6 | 2000 | BeOpen.com | 否 |
Python 1.6.1 | 1.6 | 2001 | CNRI | 否 |
Python 2.1 | 2.0+1.6.1 | 2001 | PSF | 否 |
Python 2.0.1 | 2.0+1.6.1 | 2001 | PSF | 是 |
Python 2.1.1 | 2.1+2.0.1 | 2001 | PSF | 是 |
Python 2.1.2 | 2.1.1 | 2002 | PSF | 是 |
Python 2.1.3 | 2.1.2 | 2002 | PSF | 是 |
Python 2.2 至3.0 | 2.1.1 | 2001至今 | PSF | 是 |
Python 3.0及更高 | 2.6 | 2008至今 | PSF | 是 |
Python的价值
学Python可以做什么职业?
游戏开发工程师
网页设计师
Python开发者
全栈开发工程师
机器学习工程师
数据科学家
数据分析师
数据工程师
DevOps工程师
软件工程师
还有许多其他角色
Python可以做什么应用?
- 网站建设,以下网站应用了python进行web开发:
Youtube - 视频社交网站
Reddit - 社交分享网站
Dropbox - 文件分享服务 - Bottle - Python微Web框架
- EVE - 网络游戏EVE大量使用Python进行开发
- 测试方向- selenium和appium是功能测试的最佳伴侣,它们都支持python语言!
- Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件
- Inkscape - 一个开源的SVG矢量图形编辑器。
- 机器学习与人工智能 - TensorFlow,Keras,pytorch等机器学习库让python成为最适合机器学习的语言
- 数据分析与数据挖掘 - 各式各样的python爬虫可以帮助数据分析工程师获取数据,而丰富的python数据处理库可以处理这些数据并以可视化形式或者可调用形式展现出来
- 科学计算和算法设计 - 简单的语法让python更适合进行算法开发
- IDLE - 作为python安装时自带的IDE,这款IDE就是由 Guido van Rossum 使用python+tkinter写出来的。
- 其他 - 本文仅为培训文,大部分能想到的应用方向都写了,如果还有部分老吕未提及,您可以在评论区跟老吕说一下
如若本文能帮您, 希望您能关注Python老吕的CSDN博客 ;
您可以在本文进行评论,老吕将努力快速回复,和您近距离交流各种问题;
博主ID:Python老吕,希望大家点赞、评论、收藏。
开源是什么?——跟老吕学Python编程 ↩︎
跨平台是什么意思?——跟老吕学Python编程 ↩︎
Python是编译型还是解释型?——跟老吕学Python编程(学习Python必学得懂的基础知识)(关于Python的超级疑问问题和解答) ↩︎ ↩︎
编程开发里面说的“交互”、“交互式”是什么意思?——跟老吕学Python编程 ↩︎
编程范式是什么?——跟老吕学Python编程 ↩︎ ↩︎ ↩︎
面向对象的编程语言是什么意思?——跟老吕学Python编程 ↩︎
动态类型是什么?——跟老吕学Python编程 ↩︎
Python垃圾回收机制是什么?——跟老吕学Python编程 ↩︎
什么是高级编程语言?——跟老吕学Python编程 ↩︎
什么是脚本语言?——跟老吕学Python编程 ↩︎