Python程序设计案例教程第2章 Python语法基础教学课件.pptx

上传人:春哥&#****71; 文档编号:87242974 上传时间:2023-04-16 格式:PPTX 页数:89 大小:23.75MB
返回 下载 相关 举报
Python程序设计案例教程第2章 Python语法基础教学课件.pptx_第1页
第1页 / 共89页
Python程序设计案例教程第2章 Python语法基础教学课件.pptx_第2页
第2页 / 共89页
点击查看更多>>
资源描述

《Python程序设计案例教程第2章 Python语法基础教学课件.pptx》由会员分享,可在线阅读,更多相关《Python程序设计案例教程第2章 Python语法基础教学课件.pptx(89页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Python程序设计案例教程第2章 Python语法基础主 讲 人:X X X掌握Python常用保留字。掌握变量定义的原则。掌握基础数据类型。掌握变量、常量、字面常量。掌握不同数据类型之间的转换。掌握常用运算符,以及Python中表达式的书写方式。掌握Python的输入、输出操作。01标识符与保留字标识符与保留字标识符与保留字编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。这样一种介于机器和人之间的语言,必然需要一系列人和计算机都能识别的语法对象,这些对象中最基本的就是标识符。Python语法中最基础的概念是语法中最基础的概念是标识符,其中可

2、以分为两个子概念标识符,其中可以分为两个子概念。标识符标识符 保留字保留字标识符(identifier)标识符(identifier)是指用来标识某个实体的一组符号。在计算机编程语言中,标识符是开发人员在编程时使用的名字,用于给变量、常量、语句块、函数、类、模块等命名,建立起名称与程序实体间的关系,这样在源代码中可以通过名称来使用与之对应的程序实体。标识符通常由字母和数字以及其它字符构成。生活中的有很多标识符的直观例子,如每辆上路行驶的汽车都有车牌号,车牌号就是标识符,而每辆具体的车就是对应的实体;此外,每个人都有的姓名、街道上每栋建筑都有的门牌号等,这里的姓名、门牌号就是标识符,而与之对应的

3、具体的每一个人、每一栋建筑就是实体。标识符的第一个字符必须是文字字符(汉字、英文、俄文等)或者是下划线(_)。标识符的其他部分可以由文字字符(汉字、英文、俄文等)、下划线(_)或数字(0-9)组成,不能是空格、%以及$等特殊字符。Name#全英文字符_age#下划线起始,后接英文字符车牌号#中文字符Id4Myself#中间包含数字_init_fun_#中间包含下划线错误的标识符:2peoples#这里使用了数字作为标识符的第一个字符 this is not a symbol#单一标识符中间不能使用空格隔开my-id#减号等符号在Python中作为操作符,不能用作标识符的一部分保留字保留字是编程

4、语言里事先定义的,有特别意义的标识符,也被称为“关键字”。这些特殊的字符有其特殊的作用,如函数的定义(def)、包的导入(import)等。由于已经由系统预先定义了保留字的功能,在编程中就不能再将保留字作为变量名、函数名等其他用途。作为特殊值名称作用说明False作为布尔类型(逻辑类型)的逻辑“假”值。注意,该保留字首字母为大写 True作为布尔类型(逻辑类型)的逻辑“真”值。NoneNoneType 类型的唯一值。None 经常用于表示缺少值,如当函数没有主动返回值时,默认会返回None作为函数的返回值。作为特殊值使用的保留字,主要有False,True,None三个保留字。用作逻辑运算符、

5、成员运算符、身份运算符的保留字,主要有and,or,not,in、is五个保留字。逻辑运算符、成员运算符,以及身份运算符名称作用说明and用作逻辑“与”操作符详见操作符章节or用作逻辑“或”操作符not用作逻辑“非”操作符in成员运算符is身份运算符用于指定变量作用域的保留字,主要在global、nonlocal两个。作用域运算符名称作用说明global指明变量为劝捐变量详见函数章节nonlocal 指明变量为非局部变量用于定义函数的保留字,主要在def、lambda、return、yield四个。函数定义符名称作用说明def定义函数详见函数章节lambda定义匿名函数(拉姆达表达式)retu

6、rn函数返回值yield用于创建生成器程序流程控制名称作用说明if用于选择结构详见程序结构章节elseeliffor用于循环结构whilebreakcontinuetry异常处理exceptraisefinally其他保留字名称作用说明class定义类详见面向对象章节pass定义空代码块当一个语句块中没有数据的时候,使用pass保留字,表示当前代码块为空。with创建上下文管理器 as为标识符取别名,与import、with、except等保留字联用 del删除一个标识符 其他保留字名称作用说明import载入模块(包)详见函数章节from与import配合使用assert断言02数据类型计算

7、机能够处理各式数据,当使用编程语言操作计算机进行数据处理的时候,需要明确的告诉计算机当前操作的数据是什么样的,以及在这样的数据上能进行何种操作。这样也就导出了“数据类型”在计算机领域里的定义:数据类型是一个值的集合和定义在这个值集上的一组操作的总称。Python 数据类型:1.数值型2.字符串3.布尔型数值型Python数值类型支持整数(int)、浮点数(float)、以及复数(complex)三种数值类型。整数(int)像大多数语言一样,数值类型的赋值和计算都是很直观的。整数类型的取值范围在理论上没有限制,实际上受限制于运行Python程序的计算机内存大小。整数int十进制100100十进制

8、-100-100浮点数(float)浮点数类型表示有小数点的数值。浮点数有两种表示方法:小数表示和科学计数法表示。浮点数float零值0.0正数1.0负数-1.0正数10.小数.14153.141592653589793科学表示法1.0e+6复数(complex)在Python中,使用一个数值后边加字母j/J,表示复数的虚部。复数可以看作二元有序实数对(a,b),表示a+bj,其中,a是实数部分,b为虚数部分。复数complex虚部3.14j实部+虚部0.866+0.5j实部1.0+0.0j字符串可以使用引号(单引号,双引号,三引号)作为界定符来创建字符串。Str1=单引号字符串#使用单引号创

9、建字符串Str2=双引号字符串#使用双引号创建字符串Str3=三引号字符串#使用三引号创建字符串,也可以使用三个单引号print(Str1)#输出字符串print(Str2)#输出字符串print(Str3)#输出字符串在python中,字符串支持很多不同的转义字符,具体见下表。转义字符描述在行尾时为续行符反斜杠符号。单引号,需要在字符串使用单引号,这时就需要对单引号进行转义。双引号,同上。b退格(Backspace)a响铃n换行v纵向制表符t横向制表符r回车布尔型布尔型代表真假值,通常用在条件判断和循环语句中。Python 为布尔类型定义了两个值,分别是 True代表真值、False代表假值

10、,True和False是python提供的保留字。03变 量 和 常 量常量与变量(constant and variate)是程序设计中经常用到两个概念。在程序设计中常量是指程序运行过程中值不变的对象;与之对应,变量是在程序运行过程中值不断变化的对象。常量“常量”的广义概念是:不变化的量。在编程语言中有两种类型常量,一种是“具名常量”,另一种为“字面常量”。具名常量实际上可以看成一种不能修改值的变量,具有一个符合python标识符规则的名称,在Python中不支持原生的具名常量,是通过约定命名方式,人为的提供的具名常量。字面常量是用于表达源代码中一个固定值的表示法,而且根据不同的数据类型,其

11、表示的方式有所区别,如:25、0为整型常量,6.8为实型常量,abc、xyz为字符串常量。整数字面常量整型十进制表示法使用0至9,但首字母不能为0;如15、123、100等二进制表示法使用0b/0B开始,后边紧接0、1组成的二进制值。如0b1111表示二进制的15。八进制标识法使用0o/0O开始(数字0加字母O),后边紧接07组成的八进制值。如0o17,表示八进制的15。十六进制表示法使用0 x/0X开始(数字0加字母O),后边紧接09以及a、b、c、d、e、f组成的十六进制值。如0 xf,表示十六进制的15。浮点字面常量浮点型小数表示法使用数字0至9加小数点表示,有三种情况,如下:小数点两边

12、都有数字:3.1415小数点左边没有数字:.1415小数点右边没有数字:3.科学计数法Python 为布尔类型提供了真和假两个字面常量,分别是True和False。布尔型真值True假值False在 Python 中,还有一个特殊的类型“空类型”,空类型只有一个值:“空值”,空值是一种特殊的值,表示变量中没有任何实际的值。Python为“空类型”提供的字面常量是“None”。空值主要在程序用于与变量进行比较,判断变量是否引用非空对象。往往配合选择、循环等语法结构来使用。空类型空值None变量(Variable)是一种非常常用的标识符,它能让开发者把程序中准备使用的每一段数据都赋给一个简短、易于

13、记忆的名字。变量可以看成一个小箱子,专门用来“盛装”程序中的数据。每个变量都拥有“独一无二”的名字,通过变量的名字就能找到变量中的数据。例如变量可以保存程序运行时用户输入的数据,然后把用户键入的文本保存到变量中,待后续使用;或在将特定运算的结果保存在变量中,以便后续代码使用等。简而言之,变量是程序运行过程中用于保存数据的一类标识符。Python中变量是实际对象的引用,对象才是实际保存数据的地方。为了便于理解,我们把计算机中的内存看作一个有很多格子的柜子,每个格子都可以“盛装”数据;每个格子有一个“编号”,通过这个“编号”就可以找到对应的格子,这样就可以在格子中放入或取出数据了;我们可以通过“编

14、号”直接去操作格子,也可以将这些编号告诉其他人,让其他人去指定格子寻找数据;“编号”就是对实际“格子”的引用。为了便于使用Python将编号取了一个别名就是变量名。Python作为动态类型语言,在定义变量时不需要显式的指定变量的类型,通过直接为一个没有使用过变量名赋值,就可以定义一个新的变量。语法如下:变量名=初始值通过变量名可以在后边的代码中使用保存在变量中的值;此外变量名是标识符的一种,因此变量名的命名必须符合Python的标识符命名规范。1.标识符是由字符(AZ 和 az)、下划线和数字组成,但第一个字符不能是数字。2.标识符不能和 Python 中的保留字相同。3.Python中的标识

15、符中,不能包含空格、%以及$等特殊字符。4.标识符中的字母是严格区分大小写的。初始值是在定义变量时赋予变量的值,这个值决定了变量当前的值与类型。并且变量必须先赋值(也就是定义),才可以在后边的代码中使用。下边例子展示的是Python中如何定义变量。counter=1024#为变量counter赋整数类型的值 name=John#为变量name赋字符串类型的值print(counter的值为:,counter)#输出变量counter的值print(name的值为:,name)#输出变量name的值注意,在Python中定义变量时,必须为变量赋一个初值,这和其他编程语言有点不一样。如果不赋初值直

16、接就使用变量名,Python不会认为在定义变量,而是认为在使用一个未定义的变量,将会抛出异常。#错误的变量定义unDefinedName#定义变量unDefinedName时未赋初值 运行结果:NameError:name unDefinedName is not defined如果在给变量命名时,违反了Python标识符的规范也会出现异常,如下例:#变量名不符合Python标识符规范2abc=abc#2abc变量名不符合标识符规范,标识符以数字开始运行结果:SyntaxError:invalid syntax同样的如果给变量命为Python的保留字,也会出现异常,如下例:#变量名不符合Pyt

17、hon标识符规范True=abc#True变量名不符合规范,使用了Python系统的保留字运行结果:SyntaxError:cant assign to keyword前边我们使用赋值语句来定义变量,每次只定义一个变量,实际上我们还可以一次定义多个变量,相应的语法如下:变量名1=变量名2=变量名n=初始值或者:变量名1,变量名2,变量名n=初始值1,初始值2,初始值n#一次定义多个变量var1=var2=var3=100#定义三个变量var1、var2、var3,并初始化为相同的值1print(var1的值为:,var1)#输出var1的值print(var2的值为:,var2)#输出var2

18、的值print(var3的值为:,var3)#输出var3的值这个过程如下图示。这个过程中定义了三个变量var1、var2、var3,并将整数值100赋值给了这三个变量。#一次定义多个变量strVar,intVar,floatVar=xyz,10,3.1415print(strVar的值为:,strVar)#输出strVar的值print(intVar的值为:,intVar)#输出intVar的值print(floatVar的值为:,floatVar)#输出floatVar的值在变量定义完成后,我除了能通过变量名使用变量中的值以外,还能修改变量中的值,这是通过赋值语句来实现的。当然也能改变变量

19、的类型,Python作为动态类型语言,变量的类型会根据值改变,只要我们给变量一个不同类型的值,变量的类型就会跟着改变。#修改变量的值,以及类型a=10+20#定义变量a,用于保存10+20的结果print(a中的结果为:,a,;a的类型是:,type(a)#输出变量a中的值和类型a=新的字符串值print(a中的结果为:,a,;a的类型是:,type(a)#输出变量a中的值和类型运行结果:a中的结果为:30;a的类型是:a中的结果为:新的字符串值;a的类型是:04运 算 符 和 表 达 式我们在前边的例子中已经看到了很多不同的运算符,如加法运算符(+)、赋值运算符(=)等。除此之外Python

20、语言还内置了非常有丰富的运算符,供开发者使用。主要包括以下类型的运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。正是这些运算符为Python提供了强大的表达能力,让开发者写出功能不同的表达式。运算符是按照运算符要求的操作数的数量来分类的,一般分为:单目运算符、双目运算符、和三目运算符。单目运算符是只需要一个操作数的运算符。双目运算符是需要两个操作数的运算符。三目运算符是需要三个操作数的运算符。算术运算符算术运算符是完成基本的算术运算(arithmetic operators)的符号,就是用来处理四则运算的符号。这是最简单,也最常用的符号。Python中算术运算符要求参与运算

21、的操作数都是同一类型的数据。运算符名称/含义使用形式说明实例+一元加运算符/操作数取正+表达式单目运算符右结合+100结果为100+(5-10)结果为-5-一元减运算符/操作数取负-表达式单目运算符右结合-100结果为-100-(5-10)结果为+5+加法运算符表达式+表达式双目运算符左结合10+5结果为15-减法运算符表达式-表达式双目运算符左结合10-5结果为5*乘法运算符表达式*表达式双目运算符左结合5*6结果为30运算符名称/含义使用形式说明实例/除法运算符 表达式/表达式双目运算符左结合30/5结果为622/7结果为3.14285%取模运算符/取余运算符表达式%表达式双目运算符左结合

22、22%7结果为1(余1)10%4结果为2(余2)*幂运算符表达式*表达式双目运算符左结合10*2结果为1005*3结果为125/整除运算符向下取最接近商数的整数表达式/表达式双目运算符左结合9/4结果为2-9/4结果为-3关系运算符关系运算符,也称比较运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。运算符名称/含义使用形式说明实例=等于运算符表达式=表达式双目运算符左结合10=5结果为False5=5结果为True!=不等于运算符表达式!=表达式双目运算符左结合10!=5结果为True10!=10结果为False大

23、于运算符表达式 表达式双目运算符左结合10 5结果为True5 10结果为False小于运算符表达式 表达式双目运算符左结合10 5结果为False5=大于等于运算符表达式=表达式双目运算符左结合10=5结果为True5=5结果为True运算符名称/含义使用形式说明实例=小于等于运算符 表达式=表达式双目运算符左结合10=5结果为False5 5结果为True5 10结果为False按位取反运算符 表达式单目运算符右结合10 5结果为False5 10结果为True按位左移运算符表达式=5结果为True5=5结果为True按位右移运算符 表达式 表达式双目运算符左结合10=5结果为False5

24、=5结果为True按位与运算符(&)的运算规则是:只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0。例如1&1为 1,0&0为 0,1&0也为 0,这和逻辑运算符and非常类似。可以总结为“全1为1,其他为0”。注意,对负数进行位与操作要考虑符号位,Python负数使用的是二进制补码形式表示。位与运算真值表 X&YX Y10110000按位或运算符(|)的运算规则是:两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。例如1|1为 1,0|0为0,1|0 为1,这和逻辑运算中的or非常类似。可以总结为“全0为0,其他为1”。注意,对负数进行位或操作要考虑符号位

25、,Python负数使用的是二进制补码形式表示。位或运算真值表 X|YX Y10111010按位异或运算()的运算规则是:参与运算的两个二进制位不同时,结果为 1,相同时结果为 0。例如01为 1,00为 0,11为 0。可以总结为“相同为0,向异为1”。注意,对负数进行位异或操作要考虑符号位,Python负数使用的是二进制补码形式表示。位异或运算真值表 X YX Y10101010按位取反运算符为单目运算符,右结合性,作用是对参与运算的二进制位取反。例如1为0,0为1,这和逻辑运算中的not非常类似。可以总结为“1为0,0为1”。但是要注意的是,Python中整数的二进制表示是使用的补码形式,

26、在进行位取反操作时要考虑到符号位。位反运算真值表 XX10X01赋值运算符赋值运算符用来把右侧的值传递给左侧的变量;可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。Python 中最基本的赋值运算符是等号=;结合其它运算符,=还能扩展出更强大的赋值运算符。运算符名称/含义使用形式说明等价形式=赋值运算符表达式=表达式双目运算符右结合X=Y等价于X=Y+=加赋值运算符表达式+=表达式双目运算符右结合X+=Y等价于X=X+Y-=减赋值运算符表达式-=表达式双目运算符右结合X-=Y等价于X=X-Y*=乘赋值运算符表达式*=表达式双目运算符右

27、结合X*=Y等价于X=X*Y/=除赋值运算符表达式/=表达式双目运算符右结合X/=Y等价于X=X/Y运算符名称/含义使用形式说明等价形式%=取余数赋值运算符表达式%=表达式双目运算符右结合X%=Y等价于X=X%Y*=幂赋值运算符表达式*=表达式双目运算符右结合X*=Y等价于X=X*Y/=取整数赋值运算符表达式/=表达式双目运算符右结合X/=Y等价于X=X/Y&=按位与赋值运算符表达式&=表达式双目运算符右结合X&=Y等价于X=X&Y|=按位或赋值运算符表达式|=表达式双目运算符右结合X|=Y等价于X=X|Y=按位异或赋值运算符 表达式=表达式双目运算符右结合X=Y等价于X=X Y运算符名称/含

28、义使用形式说明等价形式=左移赋值运算符表达式=表达式双目运算符右结合X=Y等价于X=X=右移赋值运算符表达式=表达式双目运算符右结合X=Y等价于X=X Y其它运算符三元运算符,有时称为“条件表达式”。表达式 x if C else y 首先是对条件 C 而非 x 求值。如果 C 为真,x 将被求值并返回其值;否则将对 y 求值并返回其值。三元运算符X if C else YC的值TrueFalse表达式的结果XY代码展示:X=输出XY=输出Yprint(X if True else Y的结果:,X if True else Y)print(X if False else Y的结果:,X if

29、False else Y)运行结果:X if True else Y的结果:输出XX if False else Y的结果:输出Y运算符优先级优先级运算符描述1()圆括号2*幂运算3、+、-按位翻转、一元加号和减号4*、/、%、/乘、除、求余数和取整除5+、-加法、减法6、右移、左移运算符7&位与8、|异或、位或运算符9=、=比较运算符10=、!=等于运算符优先级运算符描述11=、%=、/=、/=、-=、+=、*=、*=赋值运算符12is、is not标识号比较运算符13in、not in成员运算符14Not、and、or逻辑运算符所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪

30、个运算符。代码展示:print(表达式2+5*3-4*2的结果:,2+5*3-4*2)运行结果:表达式2+5*3-4*2的结果:1虽然 Python 提供了运算符的优先级关系,但是不建议过度依赖运算符的优先级,尤其是不建议写复杂的表达式,这会导致程序的可读性降低、容易出错,还会导致维护成本的增加。一种比较好的实践方式是把表达式写的简单一些,如果一个表达式过于复杂,可以尝试把它拆分,由多个表达式来实现功能。此外,应尽量使用括号()来控制表达式的执行,这样更清晰明了,也不易出错。05类型转换在程序开发过程中,处理数据是软件非常常见的功能;在处理数据过程中,需要经常的将数据在不同数据类型之间进行转换

31、。这时就需要用到类型的转换。数据类型转换就是将数据从一种类型转换为另一种类型。一个常见的例子就是用户输入的数据一般是字符串类型的,但是程序可能要求的数据是数值类型,比如网上付钱,输入的是一个只包含数字的字符串,但是后台程序需要把这个字符串转换为对应的数值,也就是对应的金额。Python作为动态强类型语言,进行数据运算时会对类型进行较为严格的检测,多数情况下不会自动进行类型转换,只在数值类型内部会将整型、浮点数、逻辑类型相互进行自动转换;以及少数逻辑判断时会将不同类型转换为逻辑值。所有当有需要进行类型转换时,开发者需要自己手动的实现。下表展示的左侧纵坐标每种类型向右侧横坐标类型转换的规则、以及需

32、要用到的函数。数值布尔型字符串数值 非零数值默认为True零值默认为False转换函数:bool()转换函数:str()布尔型True默认为1False默认为0转换函数:int()、float()、complex()转换函数:str()字符串转换函数:int()、float()、complex()非空字符串默认为True空字符串默认为False转换函数:bool()在类型转换中,比较特殊的是bool类型,Python中会隐式的将其他类型在需要的时候解析为bool类型,尤其是在逻辑运算以及选择结构的条件部分。下表是非bool类型转换到bool类型的一个说明。bool值TrueFalse其他类型值

33、非零数值;非空字符串;非空容器,如非空的列表、元组、字典、集合等;0值;空字符串;空容器,如空列表、空元组、空字典、空集合;空类型的空值None;当算术运算符中两个操作数分别是不同类型的数值时,Python进行隐式类型转换,数值类型内部隐式类型转换的规制如下表示:数值类型隐式转换操作数 操作数intfloatboolint int-floatbool-intfloatint-float bool-floatboolbool-intbool-float掌握Python常用保留字掌握变量定义的原则掌握基础数据类型掌握变量、常量、字面量掌握不同类型之间转换掌握常用运算符,以及Python中表达式的书写方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com