Python程序设计及应用_第1页
Python程序设计及应用_第2页
Python程序设计及应用_第3页
Python程序设计及应用_第4页
Python程序设计及应用_第5页
已阅读5页,还剩343页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python概述什么是Python?面向对象解释型程序设计语言复杂的应用程序粘合在一起尤其是C/C++“胶水”语言2018年3月更新到Python2.7.14版本2008年发布Python3.0版本2000年发布Python2.0版本1994年发布Python1.01991年发布第一个正式版本1989年Python种子被播下1989年Python种子被播下1991年发布第一个正式版本1994年发布Python1.02000年发布Python2.0版本2008年发布Python3.0版本2018年3月更新到Python2.7.14版本2018年3月更新到Python3.6.4版本2018年3月更新到Python3.6.4版本2020年官方不再提供支持2020年官方不再提供支持已过时应该选择哪个版本呢?Python都能应用在哪些领域?Web开发人工智能自动化运维开发大数据处理游戏开发云计算爬虫搭建Python开发环境需要什么开发环境?安装Python下载Python的安装包1安装Python2/测试Python是否安装成功3第一个Python程序输出“人生苦短,我用Python”实例输出学生信息管理系统的功能主菜单实例Python代码编写规范注释1缩进2命名规范3[概念]注释是指在程序代码中添加的标注性的文字。单行注释1多行注释2中文编码声明注释3C语言、Java、PHP使用//进行单行注释#注释内容

在Python中将包含在一对三引号('''……''')或者("""……""")之间,并且不属于任何语句的内容认为是多注释。[概念]'''注释内容1注释内容2……'''

"""注释内容1注释内容2……"""缩进

代码缩进是指在每一行代码左端空出一定长度的空白,从而可以更加清晰地从外观上看出程序的逻辑结构。[概念]命名编码每个import语句只导入一个模块,尽量避免一次导入多个模块。建议每行不超过80个字符。使用必要的空行可以增加代码的可读性。不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。避免在循环中使用+和+=运算符累加字符串。适当使用异常处理结构提高程序容错性运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔。Python程序基础语法主讲人:王国辉输入和输出variable=input("提示文字")print(输出内容)保留字与标识符保留字是Python语言中已经被赋予特定意义的一些单词,开发程序时,不可以作为变量、函数、类、模块和其他对象的名称来使用。[概念]andasassertbreakclasscontinuedefdelelifelseexceptfinallyforfromFalseglobalifimportinislambdanonlocalnotNoneorpassraisereturntryTruewhilewithyield

变量在程序运行过程中,值不能改变的量。[常量]基本数据类型数据类型就是数据的类型。[概念]数据类型转换4字符串类型2布尔类型3数字类型1整数1浮点数2复数3字符串类型字符串是连续的字符序列,可以是计算机所能表示的一切字符的集合。[概念]转义字符是指使用“\”对一些特殊字符进行转义。[概念]转义字符说

明\续行符\n换行符\0空\t水平制表符,用于横向跳到下一制表位\"双引号\'单引号\\一个反斜杠\f换页\0dd八进制数,dd代表的字符,如\012代表换行\xhh十六进制数,hh代表的字符,如\x0a代表换行布尔类型数据类型转换整型int()浮点型float()字符串类型str()整数转换为十六进制字符串hex()整数转换为八进制字符串oct()运算符逻辑运算符4赋值运算符2比较运算符3算术运算符1位运算符5运算符的优先级

优先级从高到底类

型运算符说

明单目运算符~、+、-取反、正号和负号算术运算符*、/、%、//乘、除、求余+、-

加、减位运算符<<、

>>左移、右移&

位与^

位异或|

位或比较运算符<、<=、>、>=、!=、==

小于、小于等于、大于、大于等于、不等于、等于流程控制语句主讲人:王国辉程序结构选择语句if语句的嵌套4if…else语句2if…elif…else语句3简单的if语句1if表达式:语句块if…else语句if表达式:语句块1else:语句块2if…elif…else语句if表达式1:语句块1else:语句块nelif表达式2:语句块2……if语句的嵌套简单的if语句if…else语句if…elif…else语句if表达式1:else:

语句块1if表达式2:

语句块2else:

语句块3条件表达式循环语句while循环1for循环2循环嵌套3while条件表达式:

循环体for循环for迭代变量in对象:

循环体range(start,end,step)起始值(包括)结束值(不包括)循环嵌套跳转语句break语句1continue语句2continue语句pass空语句[概念]pass语句,表示空语句。它不做任何事情,一般起到占位作用。列表和元组主讲人:王国辉序列[概念]

序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列,可以通过索引取值。乘法4切片2序列相加3索引1检查某个元素是否是序列的成员5计算序列的长度、最大值和最小值6列表(list)添加、修改和删除列表元素访问列表元素遍历列表列表的创建和删除对列表进行统计计算对列表进行排序列表推导式二维列表的使用使用赋值运算符直接创建列表1创建空列表2创建数值列表3访问列表元素直接使用print()函数输出1索引2切片3遍历列表直接使用for循环1使用for循环和enumerate()函数2添加、修改和删除列表元素根据索引删除1根据元素值删除2对列表进行统计计算对列表进行排序使用列表对象的sort()方法1使用内置的sorted()函数2列表推导式

列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。[概念]二维列表的使用元组(tuple)元组推导式4访问元组元素2修改元组元素3元组的创建和删除1使用赋值运算符直接创建元组1创建空元组2创建数值元组3访问元组元素直接使用print()函数输出1索引2切片3修改元组元素元组推导式

元组推导式可以快速生成一个元组,或者根据某个元组生成满足指定需求的元组。[概念]元组与列表的区别列表元组不可变序列(不能添加、修改和删除元素,可以整体替换)可变序列(随时添加、修改或者删除)支持切片的操作(只能访问元组中的元素)支持切片的操作(可以访问、修改元组中的元素)元组访问速度快列表访问速度慢元组可以作为字典键不能作为字典的键字典和集合主讲人:王国辉字典(dictionary)添加、修改和删除字典元素4通过键值对访问字典2遍历字典3字典的创建和删除1字典推导式5集合(set)可变集合set不可变集合frozenset[概念]

Python:用于保存不重复元素,最好的应用是去重。集合的创建1集合的添加和删除2集合的交、并和差集运算3字符串与正则表达式主讲人:王国辉字符串常用操作分割、合并字符串计算字符串的长度截取字符串拼接字符串检索字符串字母的大小写转换去除字符串中的空格和特殊字符格式化字符串len(string)string[start:end:step]起始值(包括)结束值(不包括)listname=str.split(sep,maxsplit)空格、换行符“\n”、制表符“\t”分割次数,-1表示没有限制strnew=string.join(iterable)合并时的分隔符可迭代对象str.count(sub[,start[,end]])str.count(sub[,start[,end]])str.strip([chars])空格、制表符\t、回车符\r、换行符\nstr.lstrip([chars])空格、制表符\t、回车符\r、换行符\nstr.rstrip([chars])空格、制表符\t、回车符\r、换行符\n'%[-][+][0][m][.n]格式化字符'%exps:字符串d:十进制整数f:浮点数str.format(args){[index][:[[fill]align][sign][#][width][.precision][type]]}正则表达式[概念]正则表达式是一种用来匹配字符串的强有力的武器。设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,就认为它“匹配”,否则就不匹配。字符类元字符限定符行定位符排除字符选择字符转义字符分组.匹配除换行符以外的任意字符\w匹配字母、数字、下划线或汉字\W匹配字母、数字、下划线或汉字以外的字符\s匹配任意的空白符\b匹配单词的开始或结束\d匹配数字?匹配前面的字符零次或一次colou?r:匹配colour和color+匹配前面的字符一次或多次go+gle:匹配的范围从gogle到goo…gle*匹配前面的字符零次或多次go*gle:匹配的范围从ggle到goo…gle{n}匹配前面的字符n次go{2}gle:只匹配google{n,}匹配前面的字符最少n次go{2,}gle:匹配的范围从google到goo…gle{n,m}匹配前面的字符最少n次,最多m次employe{0,2}:匹配employ、employe和employee使用re模块实现正则表达式操作匹配字符串1替换字符串2分割字符串3re.match(pattern,string,[flags])re.I:不区分字母大小写re.A:让\w不匹配汉字re.search(pattern,string,[flags])re.I:不区分字母大小写re.A:让\w不匹配汉字re.findall(pattern,string,[flags])re.I:不区分字母大小写re.A:让\w不匹配汉字替换字符串re.sub(pattern,repl,string,count,flags)re.I:不区分字母大小写re.A:让\w不匹配汉字使用正则表达式分割字符串re.split(pattern,string,[maxsplit],[flags])re.I:不区分字母大小写re.A:让\w不匹配汉字函数主讲人:王国辉[概念]

简单理解:函数就是可以完成某项工作的代码块。函数的创建和调用创建函数1调用函数2deffunctionname([parameterlist]):['''comments'''][functionbody]不写()

returnfunctionname([parametersvalue])

()参数传递为参数设置默认值4位置参数2关键字参数3了解形式参数和实际参数1可变参数5[概念]位置参数是必须按照定义时的个数和顺序进行参数传递,也称必备参数。[概念]关键字参数是指使用形式参数的名字来确定输入的参数值。deffunctionname(…,[parameter1=defaultvalue1]):[functionbody]放在所有参数的最后返回值return[value]

None变量的作用域[概念]变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。局部变量1全局变量2匿名函数(lambda)常用Python内置函数dict()用于创建一个字典help()用于查看函数或模块用途的详细说明dir()不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。hex()用于将10进制整数转换成16进制,以字符串形式表示next()返回迭代器的下一个项目divmod()把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b,a%b)id()用于获取对象的内存地址sorted()对所有可迭代的对象进行排序操作ascii()返回一个表示对象的字符串,但是对于字符串中的非ASCII字符则返回通过repr()函数使用\x,\u或\U编码的字符oct()将一个整数转换成8进制字符串bin()返回一个整数int或者长整数longint的二进制表示open()用于打开一个文件str()将对象转化为适于人阅读的形式sum()对序列进行求和计算filter()用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表format()格式化字符串len()返回对象(字符、列表、元组等)长度或项目个数list()用于将元组转换为列表range()返回的是一个可迭代对象(类型是对象)zip()用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象compile()将一个字符串编译为字节代码map()根据提供的函数对指定序列做映射reversed()返回一个反转的迭代器round()返回浮点数x的四舍五入值模块主讲人:王国辉什么是模块可以避免函数名和变量名冲突提高代码的可重用性有选择的使用更容易查找代码自定义模块模块搜索目录4使用import语句导入模块2使用from…import语句导入模块3创建模块1importmodulename[asalias]别名frommodelnameimportmember变量、函数、类*以主程序的形式执行Python中的包Python程序的包结构1创建和使用包2创建包1使用包2引用其他模块导入和使用标准模块1第三方模块的下载与安装2标准模块第三方模块自定义模块面向对象程序设计主讲人:王国辉面向对象概述类的定义和使用创建类的成员并访问4创建类的实例2创建__init__()方法3定义类1访问限制5classClassName:'''类的帮助信息'''

statement大写字母开头的“驼峰式命名法”ClassName(parameterlist)__init__()deffunctionName(self,parameterlist):block必须instanceName.functionName(parametervalue)属性(property)创建用于计算的属性1为属性添加安全保护机制2继承继承的基本语法1方法重写2派生类中调用基类的__init__()方法3classClassName(baseclasslist):'''类的帮助信息'''

statementobject文件与文件夹操作主讲人:王国辉基本文件操作写入文件内容4关闭文件2打开文件时使用with语句3创建和打开文件1读取文件5file=open(filename[,mode[,buffering]])mode参数的参数值r以只读模式打开文件。文件的指针将会放在文件的开头rb以二进制格式打开文件,并且采用只读模式。文件的指针将会放在文件的开头。一般用于非文本文件,如图片、声音等r+打开文件后,可以读取文件内容,也可以写入新的内容覆盖原有内容(从文件开头进行覆盖)rb+以二进制格式打开文件,并且采用读写模式。文件的指针将会放在文件的开头。一般用于非文本文件,如图片、声音等w以只写模式打开文件wb以二进制格式打开文件,并且采用只写模式。一般用于非文本文件,如图片、声音等w+打开文件后,先清空原有内容,使其变为一个空的文件,对这个空文件有读写权限wb+以二进制格式打开文件,并且采用读写模式。一般用于非文本文件,如图片、声音等a以追加模式打开一个文件。如果该文件已经存在,文件指针将放在文件的末尾(即新内容会被写入到已有内容之后),否则,创建新文件用于写入ab以二进制格式打开文件,并且采用追加模式。如果该文件已经存在,文件指针将放在文件的末尾(即新内容会被写入到已有内容之后),否则,创建新文件用于写入a+以读写模式打开文件。如果该文件已经存在,文件指针将放在文件的末尾(即新内容会被写入到已有内容之后),否则,创建新文件用于读写ab+以二进制格式打开文件,并且采用追加模式。如果该文件已经存在,文件指针将放在文件的末尾(即新内容会被写入到已有内容之后),否则,创建新文件用于读写file.close()withexpressionastarget:with-bodyfile.write(string)file.read([size])r(只读)或者r+(读写)file.readline()r(只读)或者r+(读写)目录操作创建目录4路径2判断目录是否存在3os和os.path模块1删除目录5遍历目录6

os模块提供的与目录相关的函数getcwd()返回当前的工作目录listdir(path)返回指定路径下的文件和目录信息mkdir(path[,mode])创建目录makedirs(path1/path2…[,mode])创建多级目录rmdir(path)删除目录removedirs(path1/path2……)删除多级目录chdir(path)把path设置为当前工作目录walk(top[,topdown[,onerror]])遍历目录树,该方法返回一个元组,包括所有路径名、所有目录列表和文件列表3个元素

os.path模块提供的与目录相关的函数abspath(path)用于获取文件或目录的绝对路径exists(path)用于判断目录或者文件是否存在,如果存在则返回True,否则返回Falsejoin(path,name)将目录与目录或者文件名拼接起来splitext()分离文件名和扩展名basename(path)从一个目录中提取文件名dirname(path)从一个路径中提取文件路径,不包括文件名isdir(path)用于判断是否为路径os.path.abspath(path)os.path.join(path1[,path2[,……]])os.path.exists(path)os.makedirs(name,mode=0o777)os.rmdir(path)os.walk(top[,topdown][,onerror][,followlinks])(dirpath,dirnames,filenames)字符串列表列表高级文件操作删除文件1重命名文件和目录2获取文件基本信息3os.remove(path)os.rename(src,dst)os.stat(path)异常处理及程序调试主讲人:王国辉异常概述异常处理语句使用raise语句抛出异常4try…except…else语句2try…except…finally语句3try…except语句1try:block1except[ExceptionName[asalias]]:

block2raise[ExceptionName[(reason)]]程序调试使用自带的IDLE进行程序调试1使用assert语句调试程序2assertexpression[,reason]False:AssertionErrorPygame游戏开发游戏的原理安装Pygamepipinstallpygame安装Pygamepipinstall-i/simple/--trusted-hostpygame安装超时Pygame常用模块Pygame的基本使用运行效果实现步骤创建窗口添加小球移动小球检测碰撞运行效果网络爬虫主讲人:李磊初识网络爬虫[优点]快速开发1跨平台2解释性3多种网络爬虫框架4网络爬虫的常用技术网络请求1请求headers处理2网络超时3代理服务4解析HTML5Urllib模块1Urllib3模块2Requests模块3请求headers处理网络超时网络断开1网络不稳定2网络堵塞3网速过慢4代理服务解析HTML网络爬虫常用框架源码地址:/binux/pyspider/releases文档地址:/

Scrapy爬虫框架的使用搭建Scrapy爬虫框架创建Scrapy项目创建爬虫获取数据学生信息管理系统主讲人:王国辉Python项目方便、快捷地对学生信息进行统计管理呢?学生信息管理系统需求分析修改和删除学生信息添加学生及成绩信息将学生信息保存到文件按学生成绩排序统计学生的合计分数查询学生信息学生信息管理系统设计系统功能结构1系统业务流程2系统预览3录入学生信息模块查找学生信息模块删除学生信息模块模块修改学生信息模块学生成绩排名模块统计学生总人数模块显示全部学生信息模块系统业务流程系统流程图系统预览系统开发必备系统开发环境

操作系统:Windows7、Windows10。Python版本:Python3.7。

开发工具:PythonIDLE。

Python内置模块:os、re。主函数设计系统主界面主函数业务流程图系统主界面学生信息维护模块概述录入学生信息删除学生信息修改学生信息录入学生信息删除学生信息修改学生信息实现录入学生信息功能学生信息ID姓名英语成绩Python成绩C语言成绩1001明日100100981002琦琦991001001003零零9899991004依依1009796录入学生信息的业务流程图实现删除学生信息功能删除学生信息的业务流程图实现修改学生信息功能修改学生信息的业务流程图查询/统计模块概述查找学生信息显示所有学生信息统计学生总人数查找学生信息统计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论