Python学习之路-认识Python
Python学习之路-认识Python
本篇文章由我归纳总结而来,为想要了解学习Python的朋友提供参考。大部分内容参考维基百科
简介
Python是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。
Python是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。
Python的起源
诞生
由于吉多·范罗苏姆(Guido van Rossum)参与设计的ABC语言没有成功,他在1989年的圣诞节决定开发一个新的解释型语言作为ABC语言的替代者。在他看来ABC语言的失败的原因是其非开放的,他决心在Python中避免这个错误,后来由于他的开放形成了庞大的Python社区。之所以取名为Python,是因为他非常喜欢BBC电视剧中的蒙提·派森的飞行马戏团(Monty Python’s Flying Circus)。
发展
1991年2月第一个Python解释器(标记为版本0.9.0)诞生。这时就已经存在了带继承的类、异常处理、函数和核心数据类型list
、dict
、str
等
1994年1月Python达到了版本1.0。这个发行版主要新特征是包括了函数式编程工具lambda
、map
、filter
和reduce
。Python 1.4增加了受Modula-3启发的关键字参数和对复数的内建支持,还包含采取名字修饰的一种基本形式[数据隐藏。
2000年10月16日Python 2.0发布。增加了列表推导式,这是从函数式编程语言SETL和Haskell中引入的。它还向垃圾收集系统增加了环检测算法,并且支持Unicode。Python 2.1支持了嵌套作用域,就像其他静态作用域语言一样。Python 2.2的重大革新是将Python的类型(用C写成)和类(用Python写成)统一入一个层级,使得Python的对象模型成为纯粹和一致的面向对象的模型;还增加了迭代器,受CLU和Icon启发的生成器,和描述器协议。Python 2.4加入了集合数据类型,和函数修饰器。Python 2.5加入了with
语句。
Python 3.0于2008年12月3日发布,它对语言做了较大修订而不能完全后向兼容。Python 3发行包括了2to3
实用工具,它(至少部分的)自动将Python 2代码转换成Python 3代码。Python 3的很多新特性后来也被移植到旧的Python 2.6/2.7版本中。
Python 2.7的产品寿命结束日期最初设定为2015年,出于对大量的现存代码不能前向移植到Python 3的关切而延期至2020年。随着Python 2的产品寿命结束,只有Python 3.8和后续版本仍被完全支持。
在2020年12月,活跃的Python核心开发者选举Barry Warsaw、Brett Cannon、Carol Willing、Pablo Galindo Salgado和Thomas Wouters为2021年度“掌控委员会”的五位成员来领导这个项目。
解释型语言与编译型语言
区别
高级语言设计的程序必须经过“翻译”成机器语言以后才能被机器执行。“翻译”的方法有两种,一种是解释,一种是编译。两种方式的区别在于“翻译”时间点不同,解释型语言编写的程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。编译型语言编写的程序在执行之前需要进行的编译,把程序编译成机器语言的文件,运行时不需要重新“翻译”,直接使用编译的结果就行了。
对比
- 速度:编译型语言比解释型语言执行速度快
- 跨平台性:解释型语言比编译型语言跨平台性好
特点
完全面向对象的语言
- 在 Python 中一切皆对象
- 完全支持继承、重载、多重继承
- 支持重载运算符,也支持泛型设计
拥有一个强大的标准库
? Python 语言的核心只包含 数字、字符串、列表、字典、文件 等常见类型和函数,而由 Python 标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML 处理 等额外的功能
Python 社区
? 社区提供了数量庞大的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统 等多个领域
为什么选择Python
Life is short, you need Python。
参考
{{< admonition tip “提示” true >}}
以下顺序不分先后
{{< /admonition >}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!