《Python基础导学》由会员分享,可在线阅读,更多相关《Python基础导学(102页珍藏版)》请在金锄头文库上搜索。
1、Python基础导学学习内容:第一单元Python变量和基本数据类型第二第二单元单元 Python数据结构(容器):列表、元组、字典与集合第三单元Python流程控制语句第四单元函数与模块第五单元类和对象第六单元文件初步第一单元Python变量和基本数据类型一、变量和基本数据类型1、基本数据类型整型int浮点型float字符串str布尔型boolPython里所有数据布尔值、整数、浮点数、字符串,甚至大型数据结构、函数以及程序都是以对象(object)的形式存在的。第一单元Python变量和基本数据类型2、变量的命名变量名只能包含以下字符:小写字母(az)大写字母(AZ)数字(09)下划线(_
2、)名字不允许以数字开头。此外,Python中以下划线开头的名字有特殊的含义。第一单元Python变量和基本数据类型3、变量的赋值=可以在一条赋值语句中同时对多个变量赋值。如:a,b,c=6,8,154、注释语句:以#开头第一单元Python变量和基本数据类型二、整型Int与浮点型float与其它语言不同,Python3中int类型能表示的数值非常大。1、运算+加法(自增+=)-减法(自减-=)*乘法(自乘*=)/浮点除法(/=)/整数除法(/=)%求余数(%=)*求幂(*=)abs()绝对值sqrt(表达式)求表达式的平方根#要先执行importmath第一单元Python变量和基本数据类型2
3、、运算的优先级与数学中的规定一致()*求幂*乘法,/浮点除法,/整数除法,%求余数+加法,-减法第一单元Python变量和基本数据类型三、字符串str1、单引号、双引号、三引号n用单引号或双引号建立一个简单的字符串时效果是一样的。如果在字符串中还包括引号就要使用双引号或三引号。n三引号还可以用来建立多行字符串。第一单元Python变量和基本数据类型2、使用转义nt3、字符串拼接:+4、字符串复制*如:“This”*3第一单元Python变量和基本数据类型5、对字符串使用下标提取字符第1个字符的下标为06、对字符串使用切片操作字符串start:stop:step#截取从start到stop-1之
4、间的、间隔为step的字符串#只能对字符串从左至右进行切片操作(stop不能在start的左边)#下标从右至左:使用“-”号第一单元Python变量和基本数据类型7、使用len()函数计算字符串包含的字符数8、使用split()分割字符串,生成列表如a=hjk,gd,jgha.split(,)9、使用join()合并列表中的字符元素分隔字符.join(列表名)第一单元Python变量和基本数据类型10、常用的字符串函数字符串首字母变成大写:字符串.capitalize()所有单词的首字母变成大写:字符串.title()所有字母都变成大写:字符串.upper()将所有字母转换成小写:字符串.lo
5、wer()所有字母的大小写转换:字符串.swapcase()在n个字符位居中:字符串.center(n)第一单元Python变量和基本数据类型10、常用的字符串函数左对齐:字符串.ljust(n)#n为总占位宽度右对齐:字符串.rjust(n)删除右侧空格:字符串.rstrip()删除左侧空格:字符串.lstrip()是否以某个子字符串开始:字符串.startswith(子字符串)是否以某个子字符串结束:字符串.endswith(子字符串)第一次出现某个子字符串的位置:字符串.find(子字符串)出现某个子字符串的次数:字符串.count(子字符串)第一单元Python变量和基本数据类型四、布
6、尔型boolTrueFalse#除False外,下面的情况也会被认为是Falsenull类型None整型0浮点型0.0空字符串空列表空元组()空字典空集合set()除上述情况外,其它的都认为True。第一单元Python变量和基本数据类型五、类型转换int()float()str()bool()第一单元Python变量和基本数据类型六、输入和输出1、输出 print()函数:print(输出项表)#输出项可以是常数、变量、表达式。#在输出项中可以使用转义字符:n,t,#默认情况下,一条print语句中所有输出项输出后自动换行。#如果不要在输出后换行,Python3需要在print()函数中增加
7、参数end=。如print(x,end=)第一单元Python变量和基本数据类型六、输入和输出2、输入(1)input()函数:input(提示字符串)变量名=input(提示字符串)(2)也可以用一条输入语句给多个变量输入赋值。变量名表=input(提示字符串).split()#输入的两个数据之间用空格分开(3)输入的数据都作为字符串类型保存。如果要输入数值,需要进行类型转换。这种情况只能使用第一种输入语句逐一输入并赋值。*或用eval(input(提示字符串)直接将输入的内容转换为数字型数据。第一单元Python变量和基本数据类型七、Anaconda中的Spyder使用简介第二单元第二单元
8、 Python数据结构(容器):列表、元组、字典与集合一、列表list列表可以由零个或多个元素组成,元素之间用逗号分开,整个列表被方括号括起。1、列表的创建b=空列表weekdays=Monday,Tuesday,Wednesday,Thursday,Friday一个列表中的元素类型可以不同,如:a=1,fsd,True,hg用list()创建空列表:c=list()第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合2、使用len()获取长度len(列表名)3、通过下标访问列表元素,并可以重新赋值修改。列表变量名下标下标从0开始;负数下标从右边开始,-1表示最后一位元素。4
9、、使用切片获取元素列表名start:stop:step#截取从“start”下标开始到“stop-1”下标、间隔“step”的元素第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合5、添加元素(1)使用append()添加元素至列表尾部。列表名.append(新增元素)如:weekdays.append(Sunday)(2)插入元素列表名.insert(下标,新增元素)第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合6、删除元素(1)删除指定位置的元素del列表名下标(2)删除具有指定值的元素列表名.remove(指定值)(3)获取并删除指定位置的元素
10、列表名.pop(下标)#如果下标缺省,则默认是“-1“。第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合7、对列表重新排序(1)通用函数sorted()返回排好序的列表副本,原列表内容不变。副本名=sorted(列表名)(2)列表方法sort()对列表进行排序,改变原列表内容。列表名.sort()默认的排序是升序的,通过参数reverse=True可以改变为降序排列。列表名.sort(reverse=True)第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合8、列表反转将整个列表元素顺序倒置列表名.reverse()另外:列表名:-1#只是逆序输出,
11、并不改变原列表,但可将逆序的值赋值给新列表第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合9、查询指定值的元素下标位置列表名.index(元素值)10、使用in判断指定元素是否存在(返回布尔值)指定值in列表名11、统计指定值出现的次数列表名.count(指定值)第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合12、获取列表中的最大值Max(列表名)13、获取列表中的最小值Min(列表名)14、获取列表中所有元素的和sum(列表名)第二单元第二单元 Python数据结构(容器):列表、元组、字典与集合15、合并列表(1)列表A+=列表B#将列表B合并
12、到列表A中(2)列表C=列表A+列表B#将列表A和列表B合并到新的列表C中第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合16、赋值与复制(1)列表赋值如果将一个列表赋值给了多个变量,改变其中的任何一处会造成其他变量对应的值也被修改。(2)列表复制copy函数法:新列表名=列表名.copy()列表切片法:新列表名=列表名:第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合17、将列表转换为字符串分隔符.join(列表名)18、包含列表的列表被包含的子列表只是外面列表的一个元素19、将字符串转换成列表列表名=list(字符串)20、列表的遍历(迭代)
13、For变量in列表名:执行语句第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合二、元组tuple用圆括号括起的任意类型的元素序列。元组不可改变。1、元组的创建创建空元组:如a=()创建只有一个元素的元组时,这个元素的后面应有一个逗号。如b=(hk,)创建有多个元素的元组时,每两个元素之间有逗号,最后一个元素后面的逗号可以省略。如c=(gdf,ter,yre)第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合二、元组tuple2、用下标访问元素元组名下标3、元组解包用赋值语句将元组中的元素的值一次赋给多个变量。如a,b,c=(gdsf,rer,tre
14、w)第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合二、元组tuple4、元组类型与列表类型转换用list()函数将元组类型转换为列表类型;用tuple()函数将列表类型转换为元组类型。5、元组的遍历(迭代)for变量in元组名:执行语句第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dictn用大括号将一系列以逗号隔开的键-值对(key:value)(数据项)括起来。n字典(dictionary)与列表类似,但其中元素的顺序无关紧要,每个元素拥有与之对应的互不相同的键(key),键与值用冒号分隔。需要通过键来访问元素,而不能通过下标访问
15、元素。n字典与列表一样,是可以改变的。第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict1、字典的创建(1)建立空字典:如a=(2)一般情况:如stud=1001:zhangsang,1002:lisi字典元素的值可以是任何Python数据类型的值。如:stud=1001:zhangsang,92,87,90,1002:lisi,88,93,86(3)用dict()将包含双值子序列的序列转换成字典。如:studlist=(1001,zhangsang),(1002,lisi)studdict=dict(studlist)第二单元第二单元 Python数据结
16、构(容器): 列表、元组、字典与集合三、字典dict2、对字典元素值的访问字典名键#键类似于列表中的元素下标,不能重复#如果字典中不包含指定的键,会产生一个异常。3、判断键是否存在键in字典名第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict4、添加或修改元素字典名键=值#说明:键必须用方括号;如果字典中键已存在,则修改相应的值;如果字典中键不存在,则添加新的键值。5、删除元素(1)删除指定键的元素del字典名键(2)删除所有元素字典名.clear()第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict6、获取所有的键字
17、典名.keys()7、获取所有的值字典名.values()8、获取所有键对值字典名.items()第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict9、赋值与复制(1)赋值:=#与列表一样,共用同一片内存(2)复制:新建字典名=原字典名.copy()10、合并字典字典名1.update(字典名2)#将字典2添加到字典1中。如果两个字典中有相同的键,则合并后的字典中仅保留字典2中的键值对。第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict11、字典的遍历(迭代)(1)对字典键的遍历for变量in字典名.keys():执行
18、语句#说明:不使用keys()时,默认对键的遍历。(2)对字典值的遍历for变量in字典名.values():执行语句第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合三、字典dict11、字典的遍历(迭代)(3)对字典的键和值同时遍历for变量1,变量2in字典名.items():执行语句#(说明:变量1键; 变量2值)(4)对字典遍历生成键值对的元组for变量in字典名.items():执行语句第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合在一个集合中,没有相同的元素,元素的次序也不影响集合的值。1、创建集合创建空集合: 变量名=se
19、t()创建非空集合: 例如 变量名=1,3,5,7,92、判断集合中是否有某元素某值in集合名第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合3、集合元素的遍历(迭代)for变量名in集合名:处理语句4、集合的交运算运算符:&语句:集合A&集合B说明:&运算符的结果是一个集合,它包含同时出现在集合A和集合B中的元素。如果没有相同元素,就返回一个空集。第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合5、集合的并运算运算符:|语句:集合A|集合B|运算符的结果是一个集合,它包含两个集合中的所有元素。6、集合的差运算运算符:-语句:集合
20、A-集合B-运算符的结果是一个集合,它包含出现在集合A中、但不出现在集合B中的元素。第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合7、集合的异或运算运算符:语句:集合A集合B异或运算的结果是一个集合,它包含仅在两个集合中出现一次的元素。第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合8、判断是否子集运算符:=语句:集合A=语句:集合A=集合B#判断集合A是否是集合B的超集(集合B的所有元素都出现在集合A中)第二单元第二单元 Python数据结构(容器): 列表、元组、字典与集合四、集合10、将其它的数据结构转换成集合类型集合变量
21、名=set(其它数据结构)#特例:当字典作为参数传入set()函数时,只有键会被使用。第三单元 Python流程控制语句一、if语句1、比较运算等于=不等于!=小于不大于不小于=(容器)属于in.(容器)不属于notin(对象)是is(对象)不是isnot#如果对同一个变量做多个and比较操作,Python允许下面的用法:5x10这个表达式与5xandx10是一样的第三单元 Python流程控制语句一、if语句2、布尔运算andornot3、简单条件语句if布尔表达式:执行语句第三单元 Python流程控制语句一、if语句4、两路分支语句if布尔表达式:执行语句1else:执行语句2第三单元
22、Python流程控制语句一、if语句5、多路分支语句if布尔表达式1:执行语句1elif布尔表达式2:执行语句2elif布尔表达式3:执行语句3.else:执行语句n+1第三单元 Python流程控制语句二、while循环1、while循环语句while布尔表达式:执行语句#循环体2、break跳出循环while布尔表达式:执行语句if布尔表达式1:break第三单元 Python流程控制语句二、while循环3、continue回到循环开始while布尔表达式:执行语句if布尔表达式1:breakif布尔表达式2:continue第三单元 Python流程控制语句三、for语句1、格式1fo
23、r变量in容器:执行语句#循环体2、格式2:(计数循环)for变量inrange(start,stop,step)执行语句#循环体#实际的终值是“stop”-1#初值”start”和步长”step”都可以省略。如省略初值,则默认初值是0;如省略步长,则默认步长是1。3、在for循环体语句中,可以使用break跳出循环,continue回到循环开始语句继续。第四单元 函数与模块一、函数1、函数的定义def函数名(形式参数表):语句序列#函数体2、函数的调用函数名(实在参数表)#(1)位置实参:调用函数时,实参与形参一一对应(顺序、类型)。#(2)关键字实参:调用函数时,向Python明确指出各个
24、实参对应的形参名。函数名(形参名1=实参1,形参名2=实参2,)第四单元 函数与模块2、函数的调用#(3)给形参指定默认值:在定义函数时给形参指定默认值。例如:def函数名(形参1,形参2,形参n=默认值):调用函数时,如果给该参数指定了新的值,则使用新值作为实参;否则就使用默认值。#(4)传递任意数量的实参def函数名(*形式参数):语句序列#函数体#Python创建了一个元组,实际调用函数时将所有实参作为元素封装到这个元组中,在函数体中可以通过for语句访问这些元素。第四单元 函数与模块2、函数的调用#(5)可以将位置实参与传递任意数量的实参结合起来。3、函数返回值在定义函数的语句序列中,
25、用“return表达式表”返回表达式的值。可以返回多个值。返回值的类型可以是Python中所有的数据类型。第四单元 函数与模块二、模块Python可以将函数存储在被称为模块的独立文件中,需要时再将模块导入到主程序中。模块是扩展名为.py的文件。1、导入整个模块import模块文件名#在主程序中使用模块中的函数:模块文件名.函数名(实参表)第四单元 函数与模块二、模块2、导入指定函数from模块文件名 import函数名#在主程序中调用函数时不用写“模块文件名.”而直接写函数名。3、给导入的函数指定别名from模块文件名 import函数名as别名#在主程序中调用函数时可以用别名代替函数名。第四
26、单元 函数与模块二、模块4、给模块指定别名import模块文件名as别名5、从模块中导入所有函数from模块文件名 import*#在主程序中调用函数时不用写”模块文件名.”而直接写函数名。(编写大型程序时不推荐此方法)第五单元 类和对象一、创建类和对象1、理解类和对象可以将类理解为一种更复杂数据结构的数据类型。对象就是类的实例化(相当于数据类型和变量的关系)。类在没有实例化前是不占内存的。对象既包含数据(变量,常称之为属性),也包含代码(函数,常称为方法)。第五单元 类和对象一、创建类和对象2、类的定义class类名():def_init_(self,形参表):初始化语句序列其它方法定义第五
27、单元 类和对象一、创建类和对象2、类的定义#说明:(1)在类的定义中,_init_方法是一个很重要且必不可少的方法。当根据这个类实例化创建对象时它将完成两个重要工作:一是接受主程序传递给它的实参,二是根据传递给它的参数对对象进行初始化。(在“class类名():” 一行中的括号里一般是不需要有参数的。)初始化语句通常是一些赋值语句。self.参数名1=形参名1self.参数名2=形参名2第五单元 类和对象一、创建类和对象2、类的定义(2)在类定义的其它方法定义中,如果要引用_init_方法中的形参,则第一个参数必须是self(为避免错误,一般都加上self)。在其它方法中引用_init_方法中
28、的形参的格式是:self.参数名(3)给属性指定默认值方法一、可以在方法_init_()内的语句序列中用赋值语句指定初始值,在形参中就无需再包含这个属性。方法二、在形参表中给某形参指定默认值。例如:def_init_(self,name,high=1.78):第五单元 类和对象一、创建类和对象3、在主程序中创建对象对象名=类名(实参表)#说明:(1)利用同一个类可以创建多个对象。(2)传递_init_方法中除self以外的实参。(3)创建对象后,可以把它当作列表、元组、字典或集合中的元素;也可以把它当作参数传递给函数;或者把它做为函数的返回结果。第五单元 类和对象二、对象的使用1、访问对象中的
29、属性对象名.属性名#在主程序中可以对对象的属性用赋值语句进行修改(包括对有默认值的属性的修改)。2、调用对象中的方法对象名.方法名(实参表)第五单元 类和对象三、类的继承1、创建子类class子类名(父类名):#说明:(1)创建子类时,父类必须包含在当前文件中,且位于子类前面。(2)如果子类完全继承父类中的属性和方法,则只要包含一个子类的_init_方法(在这个方法中包含一条初始化父类的_init_语句:super()._init_(参数表));(3)如果子类中有不同于父类的属性和方法,则在子类的定义中需要添加相应的新属性(在类的说明语句中添加,而不在参数表中增加)和新方法说明。第五单元 类和
30、对象三、类的继承1、创建子类(4)在子类中调用父类的方法super().父类方法名(形式参数表)(5)重写父类的方法对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个与要重写的父类方法同名的方法。第五单元 类和对象四、导入类Python允许将类存储在模块中,然后在主程序中导入所需的模块。(1)从模块中导入一个类from模块名import类名(2)从模块中导入多个类from模块名import类名列表第五单元 类和对象四、导入类(3)导入整个模块import模块名#引用模块中的类:模块名.类名(4)导入模块中的所有类from模块名import*第六单元 文
31、件初步一、文本文件读写1、从文本文件中读取数据(1)读取整个文本文件withopen(路径和文件名)as别名:变量名=别名.read()#读取文件全部内容存入到变量中处理变量(如打印输出)第六单元 文件初步1、从文本文件中读取数据(1)读取整个文本文件例如:with open(e:/python练习练习/Doyou.txt) as doyou: txt=doyou.read( )for ch in txt: print(ch,end=)第六单元 文件初步1、从文本文件中读取数据(2)逐行读取文本文件方法一、利用循环withopen(路径和文件名)as别名:for变量名 in别名:#将文本文件看
32、作是由换行符分割的数据序列,每行相当于一个元素,进行迭代处理处理变量(如打印输出)#读取文件时相当于有一个指针在记录读取的位置,数据读到哪,这个指针就指到哪,继续读取数据时会从该位置继续读取。第六单元 文件初步1、从文本文件中读取数据(2)逐行读取文本文件方法一:利用循环例如:withopen(e:/python练习/Doyou.txt)asdoyou:forchindoyou:print(ch,end=)第六单元 文件初步1、从文本文件中读取数据(2)逐行读取文本文件方法二、利用readlines()方法withopen(路径和文件名)as别名:变量=别名.readlines() #读取文本
33、中所有内容,并保存在一个列表中,列表中每一个元素对应一行数据。处理变量(如打印输出)#思考:如何处理每行中的每个字符?第六单元 文件初步(2)逐行读取文本文件方法二、利用readlines()方法例如:withopen(e:/python练习/Doyou.txt)asdoyou:txt=doyou.readlines()forchintxt:print(ch,end=)#另一方法readline()只读入一行文本第六单元 文件初步2、写数据到文件(1)清除原有文本后写入withopen(路径和文件名,w)as别名:别名.write(新文本)(2)追加新文本到文件中withopen(路径和文件名
34、,a)as别名:别名.write(新文本)第六单元 文件初步2、写数据到文件例如:withopen(e:/python练习/Doyou.txt,a)asdoyou:doyou.write(TheEnd)withopen(e:/python练习/Doyou.txt)asdoyou:txt=doyou.readlines()forchintxt:print(ch,end=)二、JSON数据格式的读写Python中的列表和字典等数据可以用json模块存取。数据的存取都要首先调入json模块。1、写入数据importjsonwithopen(路径和文件名,w)as文件别名:json.dump(数据,文
35、件别名)#将数据存入文件中二、JSON数据格式的读写2、读取数据importjsonwithopen(路径和文件名)as文件别名:变量名=json.load(文件别名)#将从文件读出的数据赋给变量。二、JSON数据格式的读写例如:importjsona=1,2,3,4,5,6,7,8withopen(e:/python练习/jsonex1.json,w)asjex:json.dump(a,jex)withopen(e:/python练习/jsonex1.json)asje:txt=json.load(je)foriintxt:print(i)三、CSV文件读写CSV文件存储的是以逗号分隔的数据
36、。其文件以纯文本形式存储表格数据(数字和文本),CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是逗号或制表符。通常,所有记录都有完全相同的字段序列.三、CSV文件读写特点n读取出的数据一般为字符类型,如果需要的是参与运算的数字,必需人为转换为数字类型。n以行为单位读取数据n列之间以半角逗号或制表符为分隔,一般为半角逗号n第一行是属性列,数据列之间以间隔符为间隔无空格,行之间无空行。n行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错.三、CSV文件读写1、CSV文件的读取importcsvwithopen(路径和文件名)as
37、文件别名:阅读器变量=csv.reader(文件别名)#创建一个文件阅读器对象(变量),存入读出的csv文件全部内容。#按行处理,需使用next()函数。行变量=next(阅读器变量)#首次调用next()获取第一行,并作为一个列表存入行变量中#如对每个数据处理,可使用迭代的方法。每一行数据作为一个列表。#对读入的数据处理均需在withopen语句结构中进行。三、CSV文件读写1、CSV文件的读取例1:importcsvwithopen(e:/python练习/stud.csv)asstd:cstd=csv.reader(std)first=next(cstd)#阅读器指针指向第一行之后for
38、iincstd:#从第二行开始print(i)三、CSV文件读写1、CSV文件的读取例2:先将从csv文件中读取的数据存入列表中,然后再处理。importcsvwithopen(e:/python练习/stud.csv)asstd:cstd=csv.reader(std)clist=first=next(cstd)#阅读器指针指向第一行之后forrowincstd:#从第二行开始clist.append(row)foriinclist:print(i)三、CSV文件读写2、CSV文件的写入importcsvwithopen(路径和文件名,w,newline=)as文件别名:#newline=参
39、数可以去除空行书写器变量=csv.writer(文件别名,dialect=excel)#设置写入格式为EXCEL类型。书写器变量.writerow(列表类型数据)#将列表类型数据写入CSV文件第一行,每个子列表占一个字段。 书写器变量.writerows(列表类型数据)#将列表类型数据分多行写入CSV文件,每个子列表中的一个元素占一个字段。三、CSV文件读写例如:a=1,2,3,4,5,6,7,8importcsvwithopen(e:/python练习/stud1.csv,w,newline=)asstd:cstd=csv.writer(std)cstd.writerows(a)withop
40、en(e:/python练习/stud1.csv)asstd:cstd=csv.reader(std)foriincstd:print(i)第七单元 异常处理一、异常处理的语法try:可能引起异常的语句except异常种类:处理异常的语句else:没有异常时的后续语句第七单元 异常处理二、常见异常种类FloatingPointError浮点计算错误OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零(所有数据类型)FileNotFoundError文件未找到AttributeError对象没有这个属性IOError输入/输出操作失败ImportErro
41、r导入模块/对象失败第七单元 异常处理二、常见异常种类IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误(对于Python解释器不是致命的)NameError未声明/初始化对象(没有属性)TypeError对类型无效的操作ValueError传入无效的参数UnicodeErrorUnicode相关的错误第八单元 matplotlib 图表入门一、标准Python中matplotlib的安装1、下载matplotlib模块文件(1)进入https:/pypi.org/project/matplotlib/网站选择合适版本的matp
42、lotlib文件下载。如Python3.7软件选择matplotlib-3.0.2-cp37-cp37m-win_amd64.whl。(2)将下载的文件存放入Python3.7安装路径的Scripts文件夹中。第八单元 matplotlib 图表入门一、标准Python中matplotlib的安装2、安装matplotlib(1)在“计算机”的“高级系统设置”中,将Scripts文件夹的路径添加到环境变量值中。(2)在DOS命令方式下,进入Scripts文件夹,如: cdc:python3.7Scripts输入命令:pipinstall“matplotlib-3.0.2-cp37-cp37m-
43、win_amd64.whl”(#在spyder中可以直接使用matplotlib,无需安装。)第八单元 matplotlib 图表入门二、matplotlib的一般使用方法importmatplotlib.pyplotasplt#导入画图语句plt.xlabel(x坐标标签)#为X轴设置标签plt.ylabel(y坐标标签)#为Y轴设置标签plt.title(标题)#为图表设置标题plt.legend()#生成默认的图例plt.show()第八单元 matplotlib 图表入门三、画折线图plt.plot(x坐标列表,y坐标列表,label=图例说明文字 ,color=颜色参数)#可以在一个
44、图表中用多条该语句画多条折线#颜色参数默认代码蓝色-b绿色 -g红色 -r青色 -c品红 -m黄色 -y黑色 -k白色 -w 还可以使用十六进制颜色代码,如 #191970。第八单元 matplotlib 图表入门三、画折线图例如:importmatplotlib.pyplotaspltplt.plot(10,30,50,60,150,90,label=example,color=b,linewidth=6)plt.legend()plt.show()第八单元 matplotlib 图表入门例如:画曲线:importmatplotlib.pyplotaspltimportmathx1=rang
45、e(0,70)x=forjinx1:x.append(j/10)y=foriinx:y1=math.sin(i)y.append(y1)plt.plot(x,y,label=example,color=b,linewidth=6)plt.legend()plt.show()#此题如果使用numpy将较简单。第八单元 matplotlib 图表入门四、画柱状图plt.bar(x坐标列表,y坐标列表,label=图例说明文字,color=颜色参数)第八单元 matplotlib 图表入门四、画柱状图例如:importmatplotlib.pyplotaspltplt.bar(10,30,50,60
46、,150,90,label=example,color=b,width=10)plt.legend()plt.show()第八单元 matplotlib 图表入门五、画散点图plt.scatter(x坐标列表,y坐标列表,label=图例说明文字,color=颜色参数,s=大小,marker=o)#s=大小,单位为磅。#marker标记类型,默认为o(圆圈)。*星号+加号x字母x第八单元 matplotlib 图表入门六、画饼图plt.pie(各部分的份额列表,各部分的标签列表,各部分的颜色参数列表,起始位置角度,shadow=True,explode=指定抽出部分元组,autopct=%1.
47、1f%)#autopct设置将百分比显示在图表中。#shadow=True设置阴影#explode指定抽出哪一部分,如果不抽出,则元组元素为0,如果抽出第二部分,则第二个元素为0.1。第八单元 matplotlib 图表入门六、画饼图例如:importmatplotlib.pyplotaspltalist=30,25,40,55,36astr=zhengzhi,dili,lishi,wuli,huaxuecolo=c,r,b,g,mplt.title(Selectcoursechart)plt.pie(alist,labels=astr,colors=colo,startangle=0,shadow=True,explode=(0,0,0.1,0,0),autopct=%1.1f%)plt.legend()plt.show()第八单元 matplotlib 图表入门六、画饼图