《13周元哲-Python语言贯穿的系列教材教学方法与实践.pdf》由会员分享,可在线阅读,更多相关《13周元哲-Python语言贯穿的系列教材教学方法与实践.pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、主讲人:周元哲西安邮电大学 Email:2023年5月Python语言贯穿的系列教材教学方法与实践 当今时代,人工智能和大数据的崛起带红了Python。Python由于自身语言的优势,如简洁的语法,众多的第三方开源库,在数据科学上广泛应用,备受学习者的青睐,成为目前最火的网红编程语言。各个高校纷纷开设Python课程教学实践以Python3程序设计基础为例1、强调为什么,是什么,怎么办?2、强调 语言的对比,如Python 和 C 的异同点3、强调知识点的应用场合4、强调知识点在本课程内以及课程相互之间的衔接关系Python3程序设计基础Python3程序设计基础,包括Python编程概述、P
2、ython编程基础、序列、流程控制、函数和模块。重点介绍Python语言序列、三大流程控制等,重在 培养学生掌握编程的思想及其编程方法,意在提高学生的编程开发能力。Python二级考试https:/ 新手一起学Pythonhttps:/ if(x y)x=1;y=2;if x y:x=1 y=2python使用缩进表示代码块。C语言使用大括号表示缩进,认为缩进是代码书写风格“有了更好”,而不是“没有不行”。但是,Python将缩进作为语法要求,必须缩进,否则会出现语法错误,这样使得代码不但具有层次性,而且可读性大为改善。python使用代码块的缩进来体现代码之间的逻辑关系,行首的空白称为缩进,
3、缩进结束就表示一个代码块结束了。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。注意:要么都是空格,要是么都tab制表符,千万别混用。Python的缩进算术运算符:如除法(/),整除(/),求余数(%)应用场合【解析】水仙花数是指一个三位数,若每位的数字的立方和等于该数字本身。一个三位正整数,例如,153=1*1*1+5*5*5+3*3*3,故153是水仙花数。x=int(input(输入一个三位正整数:)#从键盘上输入一个三位的正整数bai=x/100#百位shi=(x-100*a)/10#十位ge=x-100*a-10*b#个位 运算符-应用场合方法一:使用“+”将一
4、个新列表附加在原列表的尾部;a_list=1 a_list=a_list+a,2.0 a_list1,a,2.0 方法二:使用append()方法向列表尾部添加一个新元素;a_list=1,a,2.0 a_list.append(True)a_list1,a,2.0,True 方法三:使用extend()方法将一个列表添加在原列表的尾部;a_list=1,a,2.0,True a_list.extend(x,4)a_list1,a,2.0,True,x,4 方法四:使用insert()方法将一个元素插入到列表的任意位置。a_list=1,a,2.0,True,x,4 a_list.insert
5、(0,x)a_listx,1,a,2.0,True,x,4 列表添加元素的对比 列表与元组的区别:不同点在于列表是可变序列与列表相比,元组具有以下优点。(1)元组的处理速度和访问速度比列表快。如果定义了一系列常量值,主要对其进行遍历或者类似用途,而不需要对其元素进行修改,这种情况一般使用元组。可以认为元组对不需要修改的数据进行了“写保护”,可以使代码更安全。(2)作为不可变序列,元组(包含数值、字符串和其他元组的不可变数据)可用作字典的键,而列表不可以充当字典的键,因为列表是可变的。元组的实质子串查找str.find(substr,start,end)s1=beijing xian tianj
6、in beijing chongqing s1.find(beijing)0 s1.find(beijing,3)22 s1.find(beijing,3,20)-1思考:【1】正则表达式,python的re模块 【2】引申到数据结构的KMP算法字符串字符串思考:【1】应用场合,网页数据结构JSON 【2】引申到数据结构的哈希算法等字典(dict)在其他程序设计语言中称为映射(map),通过键值对(key-value)存储数据,键和值之间用冒号间隔,元素项之间用逗号间隔,整体用一对大括号“”和“”括起来。字典语法结构如下所示:dict_name=key:value,key:value字典有如下
7、特性:(1)字典的值可以是任意数据类型,包括字符串、整数、对象,甚至字典。(2)键/值对用冒号分割,而键值队用逗号分隔,所有这些都包括在花括号中(3)键/值没有顺序。(4)键必须是唯一,不允许同一个键重复出现字典字典【例】从键盘上输入两个正整数x和y,升序输出.t=y y=x x=t t=x x=y y=t等价 x,y=y,x等价if xy:#如果x大于y条件成立,则引入t交换x和y思考:【1】python的语法与C语言的语法区别 【2】引申题意,如果是三个数,需要多少条if语句三大流程控制:选择结构三大流程控制:选择结构 方法一方法二if的单分支语句if语句的多分支hour=int(inpu
8、t(hour)if hour12)and(hour=18:print(Good Evening)hour=int(input(hour)if hour=12:print(Good morning)elif hour 18:print(Good afternoon)else:print(Good Evening)程序执行按照三个if语句的顺序依次执行。例如,hour小于12,则第1个if语句的判断条件hour=12为真,执行“Good morning”;之后还要对第2个和第3个if语句的判断条件进行执行。而在这种情况下,第2个和第3个if语句已经没有必要执行了。程序执行按照if语句的多分支执行。
9、例如,hour小于12,则第1个if语句的判断条件hour=90:print(优秀)elif mark=80:print(良好)elif mark=70:print(中等)elif mark=60:print(及格)else:print(不及格)mark=int(input(输入x值)if mark=60:print(不及格)elif mark=70:print(及格)elif mark=80:print(中等)elif mark=60:print(及格)elif mark=70:print(中等)elif mark=80:print(良好)elif mark=90:print(优秀)else
10、:print(不及格)语义分析,加强上课互动数据结构与算法(Python)数据结构与算法(Python)(周元哲)机械工业出版社 2020.9(蓝桥云课)每章视频讲解网址:https:/ 本书具有如下特点:1、代码详解:传统的数据结构教材“重理论轻代码”,往往只是给出伪代码。而本书的代码都是采用Python实现。2、图文并茂:本书通过Python语言的特性,例如使用Python的deque讲解栈、networkX讲解图论,使得数据结构算法可视化,从而便于学生更快地掌握数据结构的思想,提高学生的编程应用开发能力。3、突出实用性。本书每章都有一个或几个Python实现该章内容的案例。数据结构与算法
11、(Python)第一趟匹配第一趟匹配a b a b c a b c a c b a ba b c a c第二趟匹配第二趟匹配a b a b c a b c a c b a ba b c a c第三趟匹配第三趟匹配a b a b c a b c a c b a ba b c a c第四趟匹配第四趟匹配a b a b c a b c a c b a ba b c a c第五趟匹配第五趟匹配a b a b c a b c a c b a ba b c a c第六趟匹配第六趟匹配a b a b c a b c a c b a ba b c a c串BF匹配算法注意要点根据BF算法思想,需要将搜索词整个
12、后移一位,再从头逐个比较。搜索词需要把搜索位置移到已经比较过的位置,重新再比一遍。这就是BF 算法速度较慢的原因所在进行了没有必要的回溯行为。第一趟匹配第一趟匹配第二趟匹配第二趟匹配第三趟匹配第三趟匹配a b a b c a b c a c b a ba b a b c a b c a c b a ba b a b c a b c a c b a ba b c a ca b c a c(a)b c a cKMP改进后的匹配情况:1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 字符串匹配,回顾PYthon3的数据类型注意要点串KMP匹配
13、算法KMP算法不把搜索位置移回已经比较过的位置,而是继续向后移。KMP算法需要用到部分匹配表(Partial Match Table),部分匹配值就是前缀和后缀的最长的共有元素的长度。移动位数=已匹配的字符数-对应的部分匹配值 ABCD的前缀为A,AB,ABC,后缀为BCD,CD,D,共有元素的长度为0;ABCDA的前缀为A,AB,ABC,ABCD,后缀为BCDA,CDA,DA,A,共有元素为A,长度为1;ABCDAB的前缀为A,AB,ABC,A B C D,A B C D A ,后 缀 为BCDAB,CDAB,DAB,AB,B,共有元素为AB,长度为2;NetworkX库NetworkX在2
14、002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,networkx支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作,功能丰富,简单易用。Networkx的制图功能,需要安装matplotlib和numpyPython在图论中的应用graph editor是一个在线画图软件输入网址:https:/ collections模块namedtuple、deque、Counter、OrderedDict和defaultdict等Python测试技术Pyt
15、hon测试技术,讲述了与Python语言相关的测试,包括单元测试unittest,web自动化测试selenium和移动app自动化测试。具体章节包括软件测试基础、自动测试技术、python测试框架、Python与unittest单元测试、python与DDT数据驱动测试、python与 selenium 网络测试、Android UI测试、Python与Appium移动测试等相关内容。PYthon数据分析与机器学习 PYthon数据分析与机器学习(周元哲)机械工业出版社机器学习入门基于SKlearn机器学习入门基于SKlearn,与Python语言相关的机器学习内容,包括数据预处理、特征工程、指标评价、K近邻算法、决策树、线性模型、朴素贝叶斯、支持向量机、Kmeans算法。Python自然语言处理 Python自然语言处理(周元哲)清华大学出版社 2021年11月本教材包括自然语言处理概述、Sklearn和NLTK、语料清洗、特征工程、中文分词、文本分类、文本聚类、指标评价、信息提取和情感分析。谢谢 谢谢 主讲人:周元哲西安邮电大学Email: