今天介绍的Python3备忘单由法国国家科学研究中心(CNRS)法国机械工程和信息技术实验室(LIMSI)的工程师LaurentPointal总结。这个简单的备忘单着重于从算法/编程开始所必需的语言部分,提供了学生入门所需的一般信息。注意:它不包括面向对象的编程。Python3CheatSheet由两页组成,分为多个框图,涉及基本的Python数据结构、数学运算、条件和循环语句、文件读写和异常值处理。在每个框图中,右上角是类型名称,蓝色和红色字体是类型中包含的关键字,绿色字体是示例,黑色斜体提供更详细的信息。pdf地址:https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf项目地址:https://perso.limsi.fr/pointal/python:mementoPython3基本数据类型和数据结构type:数据类型:整型(int)、浮点型(float)、布尔型(bool)、字符串(str)、二进制字节序号(包括二进制数、八进制数、十六进制数、bytes)等数据结构类型包括有序序列和键值容器。有序序列包括列表、元组和字符串。列表和元组之间的重要区别在于前者是可变的而后者是不可变的。列表主要用于存储同构数据,元组主要用于存储异构数据;键值容器没有预设顺序,通过访问键可以快速找到值,包括字典、集合等。标识符:用于表示变量、函数、模块、类等的名称。注意避免使用尽可能使用变音符号,不要在Python3中使用关键字。Python3标识符区分大小写,框图中列出了允许和不允许的标识符示例。变量赋值:赋值就是给一个变量赋一个特定的值。等号左边是变量名,右边是值。如果右边有一个变量,就可以认为是一个函数;同一个值可以赋给多个变量;多个值可以赋给多个变量;两个变量的值可以交换;可以用来表示循环语句等。类型转换:将数据从一种数据类型转换为另一种数据类型,或将一种数据结构转换为另一种数据结构。表达式可以概括为type(expression),其中type是目标转换类型,expression是要转换的数据或数据结构。此外,还可以用更具体的句型转换列表的格式,或者同时转换列表中每条数据的数据类型。序列容器索引:用于列表、元组、字符串、字节的数据排序。您可以使用正指数或负指数。定义好索引后,就可以方便的对容器中的数据进行访问和赋值(变量)。数据存取/赋值可用于单条数据或多条数据,可以指定区间、顺序/倒序等。***页的其余部分还包括:布尔逻辑、声明的模块结构、模块导入操作、数学运算、条件声明语句结构和异常情况处理语句。循环语句是编程语言中的核心语句之一。如第二页所示,Python中主要有while循环和for循环。其中While循环需要一个“循环条件”,如果为真,则继续迭代。对于For循环,我们可以将变量“var”应用到需要循环的代码块上,“for”语句会迭代地从seqence中提取出来。请注意,这两个循环也会有控制语句,即立即跳出循环体的break命令和跳过当前循环的剩余语句并进入下一个循环的continue语句。请注意,for循环需要可迭代的目标,即列表、元组、字符串等,以便从中提取元素。另外,for...inrange()语句可以遍历值,比如从0递增到9等。上图还展示了print()函数和input()函数,其中print()函数可以打印字符串、变量和表达式。Python提供了很多内置的操作函数,包括对数值变量的操作和对各种数据结构的操作。下面展示如何对列表、字典、集合和一般数据结构进行操作,继续展示对字符串或元组的操作。比如在一般数据结构的操作中,len()函数可能是最常用的方法,可以用来统计不同数据结构中元素的个数。例如,如果所有神经元的输出值存储在一个列表中,那么我们可以使用len()来统计神经元的个数,并使用for循环依次访问不同的神经元。下面的列表、字典、集合操作非常重要,在机器学习和通用编程中很常见。例如,在列表操作中,append()方法会在列表末尾添加一个新元素,extend()方法会在列表末尾添加另一个序列,pop()方法会删除一个元素从列表中(默认***一个元素),并返回该元素的值。列表数据结构还有许多其他方法,包括remove()、sort()和count()。除了列表之外,字典是另一个非常重要的数据结构。如果我们需要对神经网络不同层级的参数进行迭代命名,那么我们可能需要用到字典数据结构。对于字典,我们可以使用数字、字符或其他类型的索引。字典的每个键值(key=>value)对由冒号(:)分隔,每对由逗号(,)分隔,整个字典括在大括号({})中。字典也有很多方法,如上图删除字典中所有元素的clear()方法,返回列表中可遍历(key,value)元组的items()方法,以及字典的键/值对字典d2更新到d中的update(d2)方法。下面的备忘录中最重要的是函数的定义和调用,这是大多数编程语言中非常核心的模块。函数的定义和调用非常简单,这张表只展示了基本的概念。另外,在这个备忘录中,并没有介绍类、实例等面向对象的编程方法。***是文件读写、字符串操作和字符串格式化操作。其中,文件读写在数据的读写中是非常常用的。当然,我们也可以借助Pandas等库来实现更高效的读写方式。在文件处理过程中,open()方法用于打开一个文件并返回一个文件对象。如果无法打开文件,将抛出OSError。在打开一个文件并进行一些操作后,我们一般需要使用write()方法向文件中写入一个字符串。每次我们打开一个文件并完成读写时,我们必须使用close()关闭该文件。***,两页完整的Python3备忘录如下所示。如需更清晰的PDF版本,读者可点击“阅读原文”查看。
