Python机器学习算法与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 Python快速入门

Python作为一种被广泛使用的解释型、高级编程、通用型编程语言,其设计哲学强调代码的可读性和简洁性,使用空格缩进划分代码块,而非使用大括号或者关键词。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型程序还是大型程序,Python都试图让程序的结构清晰明了。

本节简要介绍Python的相关基础知识,帮助读者快速了解Python,如使用Python中的列表、元组和字典等数据结构,以及条件判断、循环及函数等内容。

1.3.1 列表、元组和字典

首先介绍Python的列表、元组和字典等数据类型,这些是Python的基础数据类型,它们可以帮助用户快速进行数据分析、机器学习等任务。

1.列表

列表是Python的基础数据类型之一,列表中的每个元素都会有一个数字作为它的索引,第一个索引是0,第二个索引是1,依此类推。列表可以通过索引获取列表中的元素。

Python生成一个列表可以通过list()函数或者中括号“[ ]”来完成,例如,生成包含5个元素的列表A的程序如下:

列表的长度可以使用len()函数进行计算,如下面的程序计算出列表A的长度为5。

生成一个列表后,用户可以通过索引获取列表中的元素,其中从前往后的索引从0开始,而从后往前的索引从-1开始。例如下面的程序:

如想获取列表中的一个范围内的元素,可以通过切片索引来完成,例如,使用切片“0:3”,表示要获取索引从0开始,到达索引位置为3的元素结束,并且不包含索引位置为3的元素。例如,使用下面的程序可以获取列表中多个元素:

针对一个已经生成的列表,可以通过append()方法在其后面添加新的元素,并且元素的数据形式可以多种多样,数字、字符串甚至新的列表都是可以的。例如下面的程序在列表A的末尾添加了新的数字和字符串。

在列表的指定位置插入新的内容可以使用insert()方法,该方法的第一个参数为要插入内容的位置,第二个参数为要插入的内容。例如,在列表A的索引为5的位置插入一个字符串的程序如下:

剔除列表中的末尾元素可以通过列表的pop()方法,该方法会每次剔除列表中的最后一个元素,例如,剔除列表A的末尾元素可以使用下面的程序:

针对列表,还可以通过del命令剔除列表中指定位置的元素,例如剔除A中索引位置为2的元素:

针对列表,其中的元素可以使用Python中的任何数据类型,例如下面生成的列表B中,包含字符串和列表。

针对列表,可以通过加号“+”将多个列表进行组合,通过乘号“*”将列表的内容进行重复,生成新的列表,程序如下:

列表的逆序可以通过列表的reverse()方法获取;列表的count()方法可以计算相应元素出现的次数;对列表中的元素进行排序,可以使用列表的sort()方法;同时可以通过min()函数和max()函数,计算出列表中的最小值和最大值。相关程序如下:

2.元组

元组(tuple)和列表非常相似,但是元组一旦初始化就不能修改。其中建立元组可以使用小括号“( )”或者tuple()函数。并且在使用小括号时,只有1个元素的元组在定义时必须在第一个元素后面加一个逗号。

和列表一样,针对元组中的元素,同样可以使用索引对元素进行获取,通过len()函数可计算元组的长度,程序如下:

元组也可以通过加号“+”将多个元组进行拼接,列入拼接元组C和("A","B","C"),可获得新元组D。

Del命令可以剔除指定的元组,例如,在剔除元组C1后,变量环境中将不再存在C1,自然也无法输出C1的内容。

获取重复的元组,可以使用乘号“*”来完成,例如将元组(1,2,"A","B")重复两次,可使用(1,2,"A","B")*2,同时min()函数和max()函数可以分别获取元组中的最小值和最大值。相关程序如下:

3.字典

字典是Python最重要的数据类型之一,其中字典的每个元素的键值(key=>value)对都使用冒号“:”分隔,键值对之间用逗号“,”分隔,整个字典包括在花括号“{}”中。例如,初始化字典D可使用下面的方式。

在字典D中,可以通过字典的keys()方法查看字典中的键,通过values()方法查看字典中的值,并且可以通过字典中的键获取对应的值。

获取字典中的内容,还可以使用字典的get()方法,该方法通过字典中的键获取对应的元素,如果没有对应的键值对则输出None。

字典的pop()方法可以利用字典中的键,剔除对应的键值对。并且针对字典中的键值对,可以将相应键赋予新的值。计算字典中键值对的数量可以使用len()函数。

1.3.2 条件判断、循环和函数

Python中重要且常用的语法结构,主要有条件判断、循环和函数。本小节将会对相关的常用内容进行介绍,帮助读者快速了解Python的语法结构。

1.条件判断

条件判断语句是通过一条或多条语句的执行结果是否为真(True或False),来决定执行的代码块,是Python的基础内容之一。常用的判断语句是if语句,例如判断一个数字A是不是偶数,可以使用下面的程序:

针对if else语句,其常用的结构为:

即如果满足判断条件,则执行语句1,否则执行语句2。如判断A是偶数,就输出“A是偶数”,否则输出“A是奇数”,程序如下:

在Python的条件判断中,可以通过elif语句,进行多次条件判断,并输出对应的内容,例如,判断一个数能否同时被2和3整除,可以使用if判断能否被2整除,使用elif判断不能被2整除后能否被3整除,程序如下:

2.循环

循环语句也是Python中常用的语法之一,下面分别介绍利用for循环和while循环的示例。其中for循环是要重复执行语句,while循环则是在给定的判断条件为真时执行循环,否则退出循环。例如使用for循环计算1~100的累加和,可以使用下面的程序,在程序中则会依次从1~100中取出一个数进行相加。

针对计算1~100的累加和的问题,还可以使用while循环来完成,例如在下面的程序中,从100开始相加,当A的大小不大于0时,则会跳出相加的程序语句。

在循环语句中,还可以通过break语句跳出当前的循环,例如在下面的累加while循环语句中,使用了条件判断,如果累加和大于2000则会使用break语句,跳出当前的while循环。

Python中还可以在列表中使用循环和判断等语句,称为列表表达式。例如下面的程序中,生成列表B时,第一个列表表达式是通过for循环只保留了A中的偶数;第二个列表表达式则是获取对应偶数的幂次方。

3.函数

函数也是在编程过程中经常用到的内容,其是已经组织好的、可重复使用的、实现单一功能的代码段。函数能提高应用程序的模块性,增强代码的重复利用率。Python提供了许多内建函数,比如print()、len()等。在Python中可以自己定义新的函数,其中定义函数的结构如下:

下面定义一个计算1~x的累加和的函数,程序如下:

上面定义的函数中,sumx是函数名,x是使用函数时需要输入的参数,调用函数可使用sumx(x)来完成。

Python中的lambda函数也叫匿名函数,即没有具体名称的函数,它可以快速定义单行函数,完成一些简单的计算功能。可以使用下面的方式定义lambda函数:

在lambda函数中,冒号前面是参数,可以有多个,用逗号分隔,冒号右边是函数的计算主体,并会返回其计算结果。