在我们开始正文之前,我想知道您为什么学习Python。通过评论来分享你的学习经验和学习过程。我们会在内容中逐步针对读者进行Python讲解。
什么是Python
Python编程语言是一种面向对象的语言,这意味着它可以模拟真实世界的实体。它也是动态类型的,因为它在运行时执行类型检查。这样做是为了确保构造的类型与我们期望的匹配。Python的独特之处在于它是一种解释语言。Python IDLE(集成开发环境)一次执行一行指令。这也使我们可以将其用作计算器。
除了Python提供的构造之外,您还可以使用PyPI (Python包索引)。它是第三方Python模块的存储库,您可以使用一个名为pip的程序安装它。在命令提示符中运行以下命令:
- pip install library_name
Python的历史
Python编程语言诞生于20世纪80年代末,以BBC电视节目《Monty Python’s Flying Circus》命名。1989年12月,Guido van Rossum开始在荷兰的CWI实现Python。这是ABC编程语言的继承者,它能够处理异常并与Amoeba操作系统交互。
2000年10月16日,Python 2.0发布了,它有许多主要的新特性,包括用于内存管理的循环检测垃圾收集器和对Unicode的支持。(Python 软件基金会宣布,从2020年起将不再为编程语言 Python 2.x 分支提供任何支持。这也意味着Python2.x的时代已经过去,我们将会在以后的文章中讲述2.x与3.x的区别)
Python 3.0的版本于2008年12月3日发布。
Python的架构
现在我们来谈谈Python体系结构和它的通常流程
- 解析器(Parser):它使用源代码来生成一个抽象语法树。
- 编译器(Compiler):它将抽象语法树转换为Python字节码。
- 解释器(Interpreter):它以REPL(读取(read)-评估(Evaluate)-输出(Print)-循环(Loop))的方式逐行执行代码。在Windows上,当你想在shell中运行Python解释器时,你可以输入以下内容
- $python
然后可能会出现类似下面的情况
这是由于环境变量的设置问题,我们将在以后的文章中进行讲解。
在接下来的文章中,我们将讨论一些有用的Python构造和Python的使用方法,以便让您更好地了解Python代码的结构。
Python的结构体系
(1) 函数(Function)
Python中的函数是按名称分组的语句集合。您可以在想一次执行所有这些语句时使用它。在程序中,你可以在任何地方调用它,次数不限。函数可以返回一个值。
(2) 类(Classes)
Python是一种面向对象的语言。它支持类和对象,类是一种抽象数据类型,换句话说,它是一种特定对象的蓝图,它不包含任何值,对象是真实的实体和类的实例。
(3) 模块(Modules)
Python模块是相关类和函数的集合。我们有用于数学计算、字符串操作、web编程等的模块。
(4) 库/包(Packages)
Python库/包是相关模块的集合。您可以导入一个库,也可以创建自己的库。
(5) 列表(List)
Python中列表被视为值的集合。以CSV(Comma-Separated Values)格式声明,并使用方括号分隔:
- life = ['love','wisdom','anxiety'];
- arity = [1,2,3];
注意,在这里我们并没有为列表声明类型。列表也可以包含不同类型的元素,索引从0开始:
- person = ['firstname', 21 , life];
- print(person[1])
注:你也可以切片列表;切片是从中获取一些值的一种方法。
(6) 元组(Tuple)
元组类似于列表,但它是不可变的(您不能更改它的值)。
- fruit = ('apple', 'banana', 'Cherry', 'Lemon', 'Orange', 'Pear');
- fruit[3] ='Peach'
将会得到一个TypeError
(7) 字典(Dictionary)
字典是键-值对(key-value pairs)的集合。使用大括号和逗号来分隔键-值对来声明它。另外,使用冒号(:)将值与键分开。
- student = {'Name': 'Abc', 'Age': 21}
- print(student['Name'])
- print(student['Age'])
(8) 注释和文档字符串(Comments and Docstrings)
使用“ # ”来声明注释,但是,Python不支持多行注释。另外,文档字符串是帮助解释代码的。
- # This is a comment
Python的特征
Python编程语言是最丰富的语言之一。在本文中我们将简要讲解一下Python的几个特征:
(1) 容易:Python非常容易学习和理解;任何初学者都可以理解Python的基础知识。
(2) 解释:它是逐行解释(执行)的。这使得测试和调试变得很容易。
(3) 面向对象的:Python编程语言支持类和对象。
(4) 免费和开放源码:该语言及其源代码向公众免费提供;没有必要购买昂贵的许可证。
(5) 可移植性:由于它是开源的,所以可以在Windows、Mac、Linux或任何其他平台上运行Python。
(6) GUI编程:您可以使用它来开发GUI(图形用户界面)。
(7) 大量的库:Python为您提供了一个大型的标准库。您可以使用它来实现各种函数,而不必每次都重复劳动。只需选择您需要的代码并继续。这可以让你专注于其他重要的任务。
Python的框架
(1) Django
Django是用Python编写的免费、开放源码框架,是最常用的Python框架。它允许你创建数据库驱动的网站。它遵循DRY原则。这是一种保持代码简单和雄辩的设计哲学。
(2) SciPy
SciPy是一个可以用于科学计算的Python库。它有线性代数、插值、快速傅里叶变换(FFT)、图像处理等模块。它使用来自NumPy模块的多维数组。
(3) Numpy
NumPy是Python的一个开源框架。我们用它来进行科学计算。它支持大型多维数组和矩阵,以及对它们进行操作的函数。
(4) web2py
web2py是用Python编写的另一个开源web框架。它强调快速开发并遵循MVC体系结构。MVC代表模型视图控制器。
(5) Flask
与Django一样,Flask也是一个用Python编写的web框架。它是一个微观框架,因为它不需要特定的库和工具。它也没有表单验证或数据库抽象层。但是,您可以使用扩展来添加额外的特性。
(6) Bottle
与Flask一样,它是一个Python的微框架。它用于web开发。Bottle以其速度、简单和轻便而闻名。单个文件可以同时运行Python 2.5+和3.x。
(7) Tornado
开源web框架Tornado是用Python语言编写的。它以优异的性能和可伸缩性而闻名。
(8) Pyramid
Pyramid是另一个网络框架。它既不是一个为你做决定的大框架,也不是一个不会强迫你做决定的微观框架。它为您的项目提供了最佳的自由度。
Python的延伸
() CPython:这是最广泛接受的Python实现。它是用C语言编写的,是一个解释器。
(2) Jython:Jython是用Java编写的Python实现。Jython程序可以导入任何Java类。它可以编译成Java字节码。
(3) IronPython:IronPython是用c#实现的。它可以作为.net语言编写的应用程序框架的扩展层。
(4) Brython:Brython是Python浏览器的缩写。它是在浏览器中运行的Python实现。
(5) RubyPython:它充当了Python和Ruby解释器之间的桥梁。
(6) MicroPython:这是一个在微控制器上运行的Python实现。
(7) PyPy:Python中的文件扩展名
- py—Python源文件的普通扩展名
- pyc—编译后的字节码
- pyd-一个Windows DLL文件
- pyo-通过优化创建的文件
- pyw—用于Windows的Python脚本
- pyz—Python脚本归档
Python不仅限于这些应用程序。用Python编写代码时,与Java之类的语言相比,需要的代码会更少。这种高级语言也是开源和免费的。根据TIOBE Index,它是发展最快的主要编程语言之一。这使Python成为一个不错的选择。