




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
备课日期:年月日授课时间课时(理论+实验)周次星期:节次:授课课题Python编程教学目标掌握Python语言基本编程方法与技巧。教学重点1.列表、字典、元组等Python语言特有类型;2.函数与面向对象。教学准备PPT、点名册等。教学方法指导阅读、案例法。教学过程设计备注课题引入【思考】不同计算机语言特点、适于数据处理与分析的计算机语言。【关键】Python语言特点:简单易入门、三方库丰富等。【时间】分钟。教学步骤及主要内容【主板书】§2.1Python编程概述【主板书】概述1.Python语言的发展历程。2.Python语言的特点。【强化与拓展】解释型、面向对象、丰富的三方库(科学计算、数据可视化等)。【强化与拓展】集成开发环境:Pycharm、Spyder。【思政】华为推出的编程语言是仓颉(Cangjie)。该语言由华为在2021年正式发布,旨在提升软件开发的效率和性能,特别是在华为的生态系统内。高效性:仓颉专注于高性能计算,适合处理大规模数据和复杂计算任务;主要特点包括:(1)易用性:语法设计简洁,降低开发者的学习成本。(2)跨平台支持:支持多种操作系统和硬件架构,尤其在华为设备上表现优异。(3)安全性:内置安全机制,防止常见漏洞,提升代码安全性。(4)生态集成:与华为的硬件和软件生态深度整合,如鸿蒙操作系统和昇腾AI处理器。仓颉是华为为应对现代计算需求而设计的高效、安全编程语言,特别适合其生态系统内的开发。随着华为技术的推进,仓颉的应用范围有望进一步扩大。【时间】分钟。【提问】。二、基本语法【主板书】基本语法1.变量:变量在内存中创建以用来保存和表示数据。Python中的变量赋值不需要类型声明。每个变量在使用前都必须赋值,变量赋值以后才被创建。2.标识符:标识符由字母、数字、下划线组成且不能以数字开头。标识符区分大小写。以下划线开头的标识符具有特殊意义。【强化与拓展】小驼峰式命名法(lowercamelcase):第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog等;(2)大驼峰式命名法(uppercamelcase):每一个单字的首字母都采用大写字母,例如:FirstName、LastName等;(3)用下划线“_”来连接所有的单词,比如send_buf。【副板书】举例3.行与缩进:采用“缩进”表示代码(不需要使用大括号{})。4.多行语句:Python以新行作为语句的结束符,但是可以使用斜杠(\)将一行的语句分为多行显示。5.引号:采用单引号('),双引号("),三引号('''或""")表示字符串。6.注释与空行:单行注释采用#开头,多行注释使用三个单引号(''')或三个双引号(""")。函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。7.代码组:缩进相同的一组语句构成一个代码组。8.Print语句:用于输出结果,默认输出是换行的。〖PPT〗基本语法。【时间】分钟。【提问】。三、数据类型【主板书】数据类型1.数值型:整型、浮点型。【强化与拓展】采用round(x,d)对浮点数x四舍五入,其中d是小数截取位数。2.字符串:字符串是以''或""括起来的任意文本。例1:"a"、"123"。【强化与拓展】如果'本身也是字符,要用""括起来,如"I'mOK";如果字符串内部既包含'又包含"则要用转义字符\来标识(如'I\'m\"OK\"!')。转义字符\可以转义多类字符(如\n表示换行、\t表示制表符、\\表示的字符就是\、\"表示双引号、\r表示换行回车等),还可以使用r''表示''内部的字符串默认不转义(如print(r'\\abcd\\')=>\\abcd\\)。【强化与拓展】字符串格式化的输出(1)百分号法:利用%s格式符表示字符串。①tuple形式:print('hello!I%sand%s'%('am','astudent!'))②字典形式:print('hello!I%(v1)sand%(v2)s'%{'v1':'am','v2':'astudent!'})(2)Format法:括号{}代替%s,利用format()函数指定字符串,如:print('hello!I{}and{}'.format('am','astudent!'))【强化与拓展】字符串是字符的有序集合,可以通过其位置来获得具体的元素。字符串中字符通过索引提取,索引从0开始,取负值时表示从末尾提取(最后一个为-1,倒数第二个为-2,…,即程序认为可以从结束处反向计数)。如:字符串m_name的值为"student",则m_name[3]与m_name[-4]均为'd'。s t u d e n t0 1 2 3 4 5 6-7 -6 -5 -4 -3 -2 -13.列表:列表由0个或多个数据组成的有序序列,支持字符、数值、字符串甚至可以包含列表(即嵌套)。列表用[]创建,采用逗号分隔元素,是Python最通用的复合数据类型,列表创建后可以被修改。(1)定义方法。(2)元素访问、元素删除、元素添加、列表嵌套、列表连接。4.元组:类似于List(列表),元组用"()"标识,内部元素用逗号隔开;元组不能二次赋值,相当于只读列表,下标索引从0开始。(1)定义方法。(2)元素访问、元组删除、元素添加、与列表互换、与字符串互换。5.字典:列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。使用花括号{}来创建字典,键和值用冒号分隔,键/值对用逗号分隔,即:(<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>)。(1)定义方法。(2)元素访问、元素添加、元素删除、元素存在判断、返回所有值。6.集合:集合是一个无序不重复元素的序列,集合的基本功能是进行成员关系测试和删除重复元素。(1)定义方法。(2)基本操作:删除、增加、差集、并集、交集等。7.数据类型之间的转换。(1)int(x[,base]):将x转换为一个整数。(2)long(x[,base]):将x转换为一个长整数。(3)float(x):将x转换到一个浮点数。(4)tuple(s):将序列s转换为一个元组。(5)list(s):将序列s转换为一个列表。(6)set(s):转换为可变集合。(7)dict(d):创建一个字典,d必须是一个序列(key,value)元组。(8)chr(x):将一个整数转换为一个字符。(9)ord(x):将一个字符转换为整数值。〖PPT〗数据类型操作实例。【时间】分钟。【提问】。四、运算符【主板书】数据类型1.算术运算符。表1.算术运算符(a=10,b=2)运算符描述实例+加:两个对象相加a+b=>12-减:得到负数或两数差值a-b=>8*乘:两个数相乘或是字符串重复表示a*b=>20/除:两数相除b/a=>5%取模:两数相除的余数b%a=>0**幂:次幂运算a**b=>100//取整除:返回商的整数部分(向下取整)9//2输出4,9.0//2.0输出4.02.比较运算符。表2.比较运算符(a=10,b=2)运算符描述实例==等于:比较对象是否相等(a==b)=>False!=或<>不等于:比较两个对象是否不相等(a!=b)=>True>大于:返回a是否大于b(a>b)=>True<小于:返回a是否小于b(a<b)=>False>=大于等于:返回a是否大于等于b(a>=b)=>True<=小于等于:返回a是否小于等于b(a<=b)=>False3.赋值运算符。表3.赋值运算符运算符描述实例=简单的赋值运算符c=a+b将a+b的运算结果赋值为c+=加法赋值运算符c+=a=>c=c+a-=减法赋值运算符c-=a=>c=c-a*=乘法赋值运算符c*=a=>c=c*a/=除法赋值运算符c/=a=>c=c/a%=取模赋值运算符c%=a=>c=c%a**=幂赋值运算符c**=a=>c=c**a//=取整除赋值运算符c//=a=>c=c//a4.逻辑运算符。表4.逻辑运算符(a=10,b=2)运算符逻辑表达式描述实例andxandy"与":如果x为False,xandy返回False,否则返回y的计算值。(aandb)=>2。orxory"或":如果x是非0,它返回x的值,否则返回y的计算值。(aorb)=>10。notnotx"非":如果x为True,返回False;否则返回True。not(aandb)=>False5.位运算符。表5.位运算符(a=1,b=2)运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a&b)=>0|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a|b)=>3^按位异或运算符:当两对应的二进位相异时,结果为1(a^b)=>3~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1(~a)=>-2<<左移动运算符:运算数的各二进位全部左移若干位,由
<<
右边的数字指定了移动的位数,高位丢弃,低位补0。a<<2=>4>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>>
右边的数字指定了移动的位数a>>2=>06.成员运算符:表6.成员运算符(a=’abc’,b=’abcdef’)运算符描述实例in如果在指定的序列中找到值返回True,否则返回False。ainb=>Truenotin如果在指定的序列中没有找到值返回True,否则返回False。anotinb=>False7.标识运算符:表7.标识运算符(a=’abc’,b=’abcdef’)运算符描述实例isis是判断两个标识符是不是引用自一个对象aisb=>Falseisnotisnot是判断两个标识符是不是引用自不同对象aisnotb=>True〖PPT〗运算符。【时间】分钟。【提问】。五、控制语句【主板书】控制语句1.IF、IF-ELSE等分支语句。2.WHILE、FOR等循环语句。【强化与拓展】BREAK、CONTINE。〖PPT〗语句结构。【时间】分钟。【提问】。六、函数函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段能够提高应用的模块化和代码的重复利用率。【主板书】函数1.定义规则。def函数名(参数列表):“函数_文档字符串”函数体return表达式【强化与拓展】(1)函数代码块必须以def开头,后面紧跟的是函数名和圆括号()。(2)函数命名规则与变量名一样,即只能是字母数字下划线的任何组合,但是不能以数字开头,并且不能跟关键字重名。(3)函数的参数必须放在圆括号中。(4)函数的第一行语句可以选择性的使用文档字符串来存放函数说明。(5)函数内容以冒号起始,并且缩进。(6)return表达式结束函数,选择性地返回一个值给调用方。2.函数调用。3.参数传递:可变类型与不可变类型。4.参数要求:必需参数、关键字参数、默认参数。5.匿名函数:lambda[arg1[,arg2,.....argn]]:表达式。6.递归函数:如果函数在内部调用自身,称为递归函数。7.Return语句:用于退出函数并选择性地返回指定值或None。〖PPT〗函数定义、调用等操作实例。【时间】分钟。【提问】。七、面向对象【主板书】面向对象1.基本概念:类、对象、方法、继承、封装等。2.定义方法:Class类名:类的属性类的方法3.类与对象的使用:(1)属性引用:对象.属性名称。(2)实例化:通过“类名+()”实现。4.构造函数:名称为__init__()的特殊方法(构造函数)。5.SELF:在类中定义函数的关键在于其第一参数是类实例变量SELF。〖PPT〗类的定义、实例化、属性引用等操作。【时间】分钟。【提问】。八、输入与输出【主板书】输入与输出1.INPUT函数:从标准输入读入一行文本,默认的标准输入是键盘。2.OPEN函数:open(filename,mode)。【强化与拓展】(1)r:以只读的方式打开文件。(2)w:打开一个文件用于写入,如果该文件已存在则将会覆盖文件,如果不存在则创建新文件。(3)a:打开一个文件用于追加内容,如果文件已存在,文件指针会放在文件的结尾,如果不存在则创建新文件进行写入。3.READ函数:调用f.read(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论