Python关键技术有哪些

发布时间:2021-10-18 11:05:54 作者:iii
来源:亿速云 阅读:162

这篇文章主要讲解了“Python关键技术有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python关键技术有哪些”吧!

01、Python 简介

什么是 Python

为什么选择 Python (优势)

为什么不选择 Python (劣势)

Python 是如何工作

下图展示了 Python 在机器上的运行机制。这里的关键是解释器,它是负责将高级的 Python 语言编译成低级的机器语言,以便理解。

02、变量——目标类型及范围

Python 中变量类型包括数字,字符串,集合,列表,元组和字典,这些都是标准的数据类型。

声明并给变量赋值

如下所示:这里首先分别为变量 myFirstVariable 分配整型数值1,字符串“Hello You”。由于 Python 中的数据类型是动态变化的,因此这种重复赋值操作是可以实现的。

Python关键技术有哪些

Python 中变量赋值操作又称为绑定 (blinding)。

数值型

如下所示,Python 支持整型,小数,浮点型数据。

Python关键技术有哪些

此外,也能支持长整型,以 L 为后缀表示,如999999999999L。

字符串

字符串就是字母的序列表示文本信息。

字符串的值用引号括起来,如下所示。

Python关键技术有哪些

字符串是不可改变的,一旦创建,就不能被修改。如下所示:

Python关键技术有哪些

当字符串变量被赋予一个新值时,Python 将创建一个新的目标来存储这个变量值。

局部变量和全局变量

局部变量

局部变量,如在一个函数内声明一个变量,则该变量只存在于该函数中。

局部变量在外部是不能被访问的,如下所示。

Python关键技术有哪些

Python 中 if-else 和 for/while 循环模块是不能创建局部变量,如下所示在 for/while 循环中:

Python关键技术有哪些

输出为:

Python关键技术有哪些

在 if-else 模块中:

Python关键技术有哪些

输出为

Python关键技术有哪些

全部变量

Python关键技术有哪些

当移除“Global TestMode”只能在 some_function() 函数中将变量设置为 False。如果你想在多个模块间共享一个全局变量,那么你需要创建一个共享模块文件。如 configuration.py,并在文件中找到你所需的变量。最后导入共享模块。

查看变量类型

Python关键技术有哪些

整型变量中的逗号

Python关键技术有哪些

03、操作

数值操作

Python 支持基础的加减乘除数值计算,也支持地板除法 (floor division),如下所示。

Python关键技术有哪些

此外,Python 还支持指数运算 (**),如下所示。

同时,Python 还能进行除法取余操作,如下所示。

Python关键技术有哪些

字符串操作

字符串拼接

Python关键技术有哪些

字符串复制

Python关键技术有哪些

字符串切片

Python关键技术有哪些

字符串反序

Python关键技术有哪些

负索引

如果你想得到字符串的最后一个字符,那需要使用负索引值,如下所示。

Python关键技术有哪些

查看索引值

Python关键技术有哪些

正则表达式

Casting

集合操作

Python关键技术有哪些

集合交集

集合差异

Python关键技术有哪些

集合并集

Python关键技术有哪些

三元运算符

Python关键技术有哪些

04、注释

单行注释

Python关键技术有哪些

多行注释

Python关键技术有哪些

05、表达式

可用于布尔运算,如:

06、Pickling

将对象转换为字符串并将字符串转储为一个文件的过程称为 pickling,反之则称为 unpickling。

07、函数

定义一个新的函数

Python关键技术有哪些

调用一个函数

Python关键技术有哪些

查看字符串的长度

可以调用函数 len(x),如下所示。

Python关键技术有哪些

参数

参数可以被添加到一个函数中,使得函数更通用。

通过参数,可以将一个变量传递给方法,如下所示。

Python关键技术有哪些

可选参数

为参数提供一个默认值来传递一个可选参数,如下所示。

Python关键技术有哪些

* 参数

如果想让函数使用任意数量的参数,那么需要在参数名前添加 *,如下所示。

Python关键技术有哪些

** 参数

** 允许传递可变数量的关键字参数给函数,同时也可以传递一个字典值作为关键字参数。

Return

函数能够返回一个值,如下所示。

Python关键技术有哪些

如果一个函数需要返回多个值的话,那么最好返回一个元组 (以逗号隔开每个值),如下所示。

Python关键技术有哪些

Lambda 函数

Python关键技术有哪些

函数的语法结构为:variable = lambda arguments: expression

Lambda 函数也可以作为参数传递给其他的函数。

dir() 和 help()

08、模块

什么是模块

PYTHONPATH

如何导入模块

如果你有一个文件:MyFirstPythonFile 包含很多个函数,变量和对象,然后你可以将这些功能导入到其他类中,如下所示。

Python关键技术有哪些

Python 内部会将模块文件编译为二进制再运行模块的代码

如果想导入模块中的所有对象,可以这样:

Python关键技术有哪些

如果模块中包含的函数或对象命名为 my_object,那么你可以将其打印出来,如下所示。

Python关键技术有哪些

值得注意的是,如果你不想在加载时执行模块的话,那么你需要检查是否有 __name__ == ‘__main__’

From 导入模块

如果你只是想访问模块中的一个对象或某个部分,可以这样:

Python关键技术有哪些

这种方式导入模块允许使用者在访问模块中的对象,而无需引用模块,如下所示。

Python关键技术有哪些

可以通过 from * 来导入模块中的所有对象,如下所示。

Python关键技术有哪些

值得注意的是,模块只能在第一次 import 时导入。如果你想使用 C 模块,那么你可以使用 PyImport_ImportModule。此外,如果你想在两个不同模块中使用定义相同的对象,那么可以将 import 和 from 结合起来导入模块。

09、包 (Packages)

Python 中包是模块的目录。

如果你的 Python 代码中提供了大量功能,这些功能被分组到模块文件中,那么可以从模块中创建一个包,以便更好地分配和管理这些模块。

包能够更好地管理和组织模块,这有助于使用者更轻松地解决问题和查找模块。

可以将第三方软件包导入到代码中,如 pandas/scikit learn 和 tensorflow等等。

包可以包含大量的模块。

如果代码中的某些部分提供相似的功能,那么可以将模块分组到一个包中,如下所示。

Python关键技术有哪些

上图中 packageroot 是一个根目录 (root folder),packagefolder 是其根目录下面的一个子目录,而 my_module 是在 packagefolder 目录下的一个 python 模块文件。

此外,文件夹名可以作为命名空间,如下所示。

Python关键技术有哪些

值得注意的是,需要确保所导入的包中每个目录都包含一个 __init__.py 文件。

PIP

Python关键技术有哪些

10、条件语句

条件语句 if else,如下所示。

Python关键技术有哪些

请注意冒号和缩进在条件语句中的使用。

检查类型

Python关键技术有哪些

你也可以在 else 部分继续添加条件逻辑语句,这样构成嵌套条件结构,如下所示。

Python关键技术有哪些

11、循环

While

While 语句提供一个条件,运行循环语句直到满足该条件位置,循环终止,如下所示。

Python关键技术有哪些

For

循环一定的次数,如下所示。

Python关键技术有哪些

循环遍历整个字符串的所有字符,如下所示。

Python关键技术有哪些

单行 for 循环

语法结构为 [Variable] AggregateFunction ([Value] for [item] in [collection])

Yielding

结合条件 if 的 for 循环

通过带 if 的 for 循环来查找两个单词中的字母,如下所示。

Python关键技术有哪些

Break

如果你想终止循环,可以这样:

Python关键技术有哪些

使用 Fibonacci 函数的循环结构,如下所示。

Python关键技术有哪些

12、递归

函数调用自身的过程称为递归。

下面来演示一个阶乘递归函数:

创建一个阶乘函数,输入为 n

如果输入 n=0,则0! = 1

如果输入 n != 0,则n! = n(n-1)!

Python关键技术有哪些

此外,Fibonacci 递归函数的流程如下所示:

创建一个 Fibonacci 递归函数,输入为 n

创建前两个变量,并为其分别赋值0和1

如果输入 n = 0,则返回0;如果输入 n =1,则返回1;否则,返回 (n-1)+(n-2)

Python关键技术有哪些

值得注意的是,递归结构需要有一个退出检查,否则函数将进行无限循环。

13、框架 Frames 和栈 Stack 调用

Python 代码被加载到堆栈中的框架。

函数及其参数和变量一起被加载到框架中。

框架以正确的执行顺序被加载到堆栈中。

堆栈描述了函数的执行。在函数外声明的变量被存储在 __main__ 中。

堆栈首先执行最后一个框架。

如果遇到运行错误,可以使用回溯 (traceback) 来查找函数列表。

14、集合 Collections

列表 Lists

列表是一种能够包含任何数据类型的序列数据结构,这种结构是可变的。

列表可以进行整数索引,可以使用中括号来创建一个列表,如下所示。

Python关键技术有哪些

使用索引值来添加、更新、删除列表中的项,如下所示。

Python关键技术有哪些

此外,复制和切片同样适用于列表 (可类比字符串中的操作), 列表还支持排序操作,如下所示。

Python关键技术有哪些

元组 Tuples

在某种程度上元组和列表类似,都是可以存储任意对象序列的数据结构。

元组的运行比列表更快速。

元组可以进行整数索引

元组是不可变的,如下所示。

Python关键技术有哪些

值得注意的是,如果一个元组中的元素包含一个列表,那么可以对列表进行修改。同样,当为一个对象赋值并将该对象存储到列表中,随后如果对象发生变化的话,相应地,列表中的对象也会进行更新。

字典 Dictionaries

字典是编程语言中最重要的一种数据结构之一,它能够存储键值对 (key/value) 对象。

字典有许多优点,能够轻松地进行数据检索,如下所示。

Python关键技术有哪些

可以通过如下方式创建一个字典。

Python关键技术有哪些

打印字典中的内容,如下所示。

Python关键技术有哪些

字典中的值可以是任意类型的数据,包括字符串,数值,布尔型,列表甚至是字典,如下所示。

Python关键技术有哪些

值得注意的是,如果你想对一个列表进行向量或矩阵操作,可以调用 Numpy 包来实现。

15、编译 (Compilation) 与关联 (Linking)

编译 Compilation

允许无任何错误地进行新扩展的编译过程。

关联 Linking

一旦新的扩展编译完成,他们之间就会被关联。

16、迭代器 Iterators

Iterators

Filter

Map

Reduce

Zip

Python关键技术有哪些

17、面向对象设计——类 Classes

Python关键技术有哪些

__init__

Python关键技术有哪些

值得注意的是,self 参数将包含对象的引用,这与 C# 语言中的 this 参数类似。

__str__

当调用 print 时,返回一个对象的字符串结果,如下所示。

Python关键技术有哪些

因此,当执行 print 语句时,__str__ 将会被执行。

__cmp__

如果想要提供自定义逻辑来比较同一实例的两个对象,可以使用__cmp__ 实例函数。

__cmp__ 函数返回1 (更大), - 1 (更低) 和0 (相等),以指示两个对象的大小。

可以将 __cmp__ 想象成其他编程语言中的 Equals() 方法。

Overloading

通过将更多参数作为实例,来重载一个对象。

还可以通过为 __add__ 来实现想要的运算符,如 +。

对象的浅拷贝 (Shallow Copy) 和深拷贝 (Deep Copy)

等效对象 – 包含相同的值

相同对象 – 引用相同的对象 – 内存中指向相同的地址

如果要复制整个对象,可以使用复制模块 (copy module),如下所示。

Python关键技术有哪些

这将导致浅拷贝,因为属性的引用指针将会被复制。

如果对象的一个属性是对象引用,那么它将简单地指向与原始对象相同的引用地址。

更新源对象中的属性将导致目标对象中的属性也会更新。

浅拷贝是复制引用指针。

这种情况下可以利用深拷贝,如下所示。

Python关键技术有哪些

如果 MyClass 包含引用 MyOtherClass 对象的属性,则属性的内容将通过 deepcopy 复制到新创建的对象中。

深拷贝将对对象进行新的引用。

18、面向对象设计——继承

Python支持对象的继承,即对象可以继承其父类的功能和属性。

继承的类可以在其函数中包含不同的逻辑。

如果一个父类 ParentClass 有两个子类 SubClass1 和 SubClass2,那么你可以使用Python来创建类,如下所示。

Python关键技术有哪些

上例中两个子类都将包含 my_function() 函数

类的继承属性鼓励代码的重用性和可维护性。

此外,python 中支持多类继承,这与 C# 语言不同。

多类继承 multi-Inheritance

Python关键技术有哪些

如果你想调用父类函数,可以这样:

Python关键技术有哪些

19、垃圾收集——内存管理

Python 中的所有对象都存储在一个堆积空间 (heap space),而 Python 解释器可以访问此空间。

Python 有一个内置的垃圾收集机制。

这意味着 Python 可以自动为程序进行分配和取消内存,这与 C++ 或 C# 等其他语言类似。

垃圾收集机制主要是清除程序中未引用/使用的那些对象的内存空间。

由于多个对象可以共享内存引用,因此 python 使用两种机制:

在 Python 中新创建的对象,可以通过如下方式进行检查:

Python关键技术有哪些

此外,也可以通过及时或者基于事件机制来进行手动的垃圾收集。

20、 I/O

From Keyboard

使用 raw_input() 函数,如下所示。

Python关键技术有哪些

文件 Files

使用with/as语句来打开并读取文件,这与 C# 中读取文件的操作一致。

此外,with 语句还可以处理关闭连接和其他清理操作。

打开一个文件,如下所示。

Python关键技术有哪些

需要注意的是,readline() 可用于读取文件中的每一行。

打开两个文件,如下所示。

Python关键技术有哪些

文件写入,如下所示。

Python关键技术有哪些

Python 中对文件的操作通常涉及 os 和 shutil 模块。rw 表示读写模式,a代表可添加模式。

SQL

打开一个连接,如下所示。

Python关键技术有哪些

执行一个 SQL 声明,如下所示。

Python关键技术有哪些

网络服务 (Web Services)

查询一个闲置服务,如下所示:

Python关键技术有哪些

序列化和反序列化 JSON 文件

反序列化 JSON,如下所示:

Python关键技术有哪些

序列化 JSON,如下所示:

Python关键技术有哪些

21、异常处理

抛出异常

如果你想抛出异常,那么可以使用 raise 关键字,如下所示。

Python关键技术有哪些

捕获异常

可以通过如下方式捕获异常信息:

Python关键技术有哪些

如果想捕获特定的异常,可以这样:

Python关键技术有哪些

如果想使用 try/catch/finally 结构捕获异常信息,可以这样:

Python关键技术有哪些

值得注意的是,无论 finally 部分的代码是否触发,你都可以使用 finally 来关闭数据库/文件的连接。

Try/Except/Else

Python关键技术有哪些

如果想为异常信息分配一个变量,可以这样:

Python关键技术有哪些

如果想定义用于自定义的限制,可以通过 assert 关键字实现,如下所示:

Python关键技术有哪些

值得注意的是,python 中的异常同样具有继承性。

此外,你也可以创建自己的异常类,如下所示:

Python关键技术有哪些

22、多线程和 GIL

此外,GIL 会增加代码执行的计算开销。因此,运行多线程时需谨慎。

23、装饰器 Decorators

24、Python 中的单元测试

Python 中有许多单元测试和模拟库

下面以 unittest 为例

假定你的函数每次将输入值减少1,如下所示:

Python关键技术有哪些

可以通过如下方式来进行单元测试:

Python关键技术有哪些

同样地,也可以使用 doctest 来测试 docstrings 中所编写的代码。

25、一些与 Python 有关的热门话题

为什么要使用 Python

如何让 Python 运行得更快

Python 爱好者都是用哪些 IDEs?

Python 中热门的框架和包有哪些

如何托管 Python 包

对于 Unix 系统:制作脚本文件,模式为可执行且文件第一行必须是:

Python关键技术有哪些

可以使用命令行工具并执行它。也可以通过 PyPRI 和 PyPI 服务。

Python 和 R 语言能合并吗

R 语言中有着大量丰富的统计库,可以使用 Rpy2 python 包或在 Juputer 中使用 beaker 笔记本或 IR 内核,在 Python 中执行 R 代码。

在运行 Python 前有没有办法能够捕获异常?

在运行代码之前,可以使用 PyChecker 和 PyLink 来捕获异常信息。

感谢各位的阅读,以上就是“Python关键技术有哪些”的内容了,经过本文的学习后,相信大家对Python关键技术有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Go 开发关键技术指南 | Go 面向失败编程 (内含超全知识大图)
  2. Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何从底层聊下IO多路复用模型

下一篇:Dreamweaver中CSS的学习技巧有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》