本文的目的是尽可能地用简洁的语言介绍 Python 编程语言的所有关键技术点,以帮助初学者能够使用任何 Python 库或实现自己的 Python 包。此外,本文还将重点介绍一些 Python 使用者经常查询的热门问题。下面,让我们开始吧。
01
Python 简介
什么是 Python
-
一种面向对象的高级动态可解释型脚本语言。
-
Python 解释器一次读取一行代码,将其解释为低级机器语言 (如字节代码) 并执行它。
-
因此这种语言经常会引发运行错误。
为什么选择 Python (优势)
-
Python 是当前最流行的语言,因为它更容易编码且具有很强的可解释性。
-
Python 是一种面向对象的编程语言,也可用于编写一些功能代码。
-
Python 是能够很好地弥补业务和开发人员之间差距。
-
与其他语言 (如 C#/Java) 相比,Python 程序被推向市场的时间更短。
-
Python 自带大量的机器学习和分析包。
-
大量社区和书籍可用于支持 Python 开发人员。
-
从预测分析到UI,几乎所有类型的应用程序都可以用 Python 实现。
-
Python 程序无需声明变量类型。 因此,所构建的应用程序能有更快的运行速度。
为什么不选择 Python (劣势)
-
与其他语言 (C++,C#,Java) 相比,Python 程序的运行更慢,这是因为Python 中缺少类似 Just In Time 优化器的支持。
-
Python 语法空白约束给新手编码实现带来一些困难。
-
Python 不像 R 语言那样提供高级的统计功能。
-
Python 不适合进行低级系统和硬件交互。
Python 是如何工作
下图展示了 Python 在机器上的运行机制。这里的关键是解释器,它是负责将高级的 Python 语言编译成低级的机器语言,以便理解。
02
变量——目标类型及范围
-
可在程序中使用的变量存储信息,如保存用户输入,程序的本地状态等。
-
Python 中的变量以名字命名。
Python 中变量类型包括数字,字符串,集合,列表,元组和字典,这些都是标准的数据类型。
声明并给变量赋值
如下所示:这里首先分别为变量 myFirstVariable 分配整型数值1,字符串“Hello You”。由于 Python 中的数据类型是动态变化的,因此这种重复赋值操作是可以实现的。
Python 中变量赋值操作又称为绑定 (blinding)。
数值型
如下所示,Python 支持整型,小数,浮点型数据。
此外,也能支持长整型,以 L 为后缀表示,如999999999999L。
字符串
字符串就是字母的序列表示文本信息。
字符串的值用引号括起来,如下所示。
字符串是不可改变的,一旦创建,就不能被修改。如下所示:
当字符串变量被赋予一个新值时,Python 将创建一个新的目标来存储这个变量值。
局部变量和全局变量
局部变量
局部变量,如在一个函数内声明一个变量,则该变量只存在于该函数中。
局部变量在外部是不能被访问的,如下所示。
Python 中 if-else 和 for/while 循环模块是不能创建局部变量,如下所示在 for/while 循环中:
输出为
在 if-else 模块中:
输出为
全部变量
-
全局变量可以通过任意一个全局函数访问,它们存在于 __main__ 框架中。
-
此外,在函数之外你也可以声明一个全局变量。值得注意得是,当需要为一个全局变量分配新值时,必须使用“global”关键字,如下所示:
当移除“Global TestMode”只能在 some_function 函数中将变量设置为 False。如果你想在多个模块间共享一个全局变量,那么你需要创建一个共享模块文件。如 configuration.py,并在文件中找到你所需的变量。最后导入共享模块。
查看变量类型
-
通过 type 函数来查看变脸类型,如下所示。
整型变量中的逗号
-
逗号可视为是变量序列,如下所示。
03
操作
数值操作
Python 支持基础的加减乘除数值计算,也支持地板除法 (floor division),如下所示。
此外,Python 还支持指数运算 (**),如下所示。
同时,Python 还能进行除法取余操作,如下所示。
字符串操作
字符串拼接
字符串复制
字符串切片
字符串反序
负索引
如果你想得到字符串的最后一个字符,那需要使用负索引值,如下所示。
查看索引值