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