Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础_第1页
Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础_第2页
Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础_第3页
Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础_第4页
Python程序设计基础教程(微课版) 课件 第2章 - Python语法基础_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

Python程序设计第2章Python语法基础学习目标识记Python语言格式框架识记基本要素语法规则理解动态类型与模块知识目标能够编写符合Python风格的简单程序能够使用变量、表达式、基本输入输出进行简单交互能力目标编程规范意识团队协作的重要性日积月累的重要性情感态度与价值观Python语言格式框架01020403运算符与表达式基本输入输出模块的使用目

录Python语言格式框架01020403运算符与表达式基本输入输出模块的使用目

录注释、代码块与缩进保留关键字变量和常量数据类型解释源代码变量、函数等的作用复杂的算法逻辑提高可读性、可维护性两种注释单行注释多行注释2.1.1注释23独占一行,或代码之后1.单行注释23#单行注释文本#以下为矩形的参数rect_width=10#矩形的宽rect_height=15#矩形的高示例2-12.多行注释24三个单引号对以上三种情况之外、解释代码用三个双号对文档字符串放在函数、类内部,或文件开头解释函数、类、文件的用法或作用"""

注释文本

注释文本"""'''

注释文本

注释文本'''2.多行注释24"""第二章的源代码示例包括:注释常量与变量运算符与表达式数据类型"""defsay_hello(name):"""作用:和传入的对象说Hello参数:name-打招呼的对象的名字"""print('Hello,',name)示例2-22.多行注释24'''以下是可执行语句,首先定义了一个变量n,存放了一个名字“张三”,然后调用了函数say_hello(),并将n作为打招呼的对象传给了参数name'''n='张三'say_hello(n)示例2-2代码块:也称“复合语句”作为单元执行的代码段,由一条或多条语句组成冒号+缩进:表示代码块的所属关系2.1.2代码块与缩进24score=92ifscore>=90:print('优秀')print('再接再厉,勇攀高峰!')print('程序结束')示例2-3冒号:属于某结构的代码块从下一行开始相同缩进量的语句组成代码块缩进量变化的语句脱离if代码块常用于选择结构、循环结构函数体、类体空行不会影响代码块的所属关系缩进可使用4个空格(推荐),或tab键(不推荐)2.1.2代码块与缩进24缩进可以嵌套2.1.2代码块与缩进25weather='sunny'temperature=25

ifweather=='sunny':iftemperature>30:

print('今天很热,记得带伞和防晒霜。')else:

print('今天很适合外出,享受阳光吧!')

示例2-42.1.3保留关键字25Python保留关键字andasassertbreakclasscontinuedefdelelifelseexceptFalsefinallyforfromglobalifimportinislambdaNonenonlocalnotorpassraisereturnTruetrywhilewithyieldasyncawait程序的本质:加工数据(算法+数据)Python对象:数据的载体类型值100:整数类型的一个对象'Hello':字符串类型的一个对象3.14:浮点数类型的一个对象2.1.4变量26Python变量:对象的引用(对象的“别名”)Python变量先定义、再使用某个变量名第一次出现时即为定义个新变量定义时要赋予初始值2.1.4变量26变量名=初始值name='张三'age=18apple_price=8.50示例2-5已定义的变量通过“=”可引用其他对象同一个变量可以引用不同类型的对象2.1.4变量26apple_price=8.50#高速优惠,运输成本降低,苹果降价了apple_price=7.99示例2-6已定义的变量=新对象标识符:用来命名变量、函数、类、模块和其他程序元素的名称必须以字母(a-z,A-Z)或下划线(_)开头,后面可跟任意个数字、字母或下划线大小写敏感Python的保留关键字不能用作标识符避免与内置或已导入的模块名、函数名、对象名、类型名等重名变量命名遵循标识符命名规则2.1.4变量26Q:请判断下列标识符的命名是否符合Python语法要求测一测var_Rabbit_car_no4logwhile推荐的命名方式以下划线开头的标识符在Python中有特殊含义不推荐使用汉字命名变量推荐使用有意义的单词给标识符命名,多个单词之间用下划线连接is_enough、bottle_nums2.1.4变量26Python是强类型语言类型确定后,只能进行符合该类型约束的行为Python是动态类型语言无需显式指定类型解释器根据值自行判断数据类型2.1.5数据类型27张三25岁2.5元/瓶4+2j2.1.5数据类型27数值类型int:表示整数数值,-100,0,2,99float:表示带有小数部分的数值,-0.3,10.2complex:表示复数(实部和虚部),1+4jage=18temperature=36.4x=1+4j2.1.5数据类型27布尔类型(bool)表示逻辑值,有两个取值:True:陈述成立,结果为真False:陈述不成立,结果为假用于选择结构、循环结构a=int(input('请输入一个整数:')result=(a%2==0)result=(a>100)2.1.5数据类型27数据容器包含一个或多个元素,每个元素都是独立的数据提供对元素的各种操作,如增加元素、删除元素、查找指定元素、排序等a='hello!'#a是一个字符串b=(1,-5,7)#b是一个元组c=[1,2,6]#c是一个列表d={'a','b','c'}#d是一个集合e={'right':4,'wrong':1}#e是一个字典、

2.1.5数据类型27空类型(NoneType)只有一个取值:None变量不指向任何值函数没有明确的返回值#定义变量时但没给它赋值,Python不会设置其值为Nonevarvar=None#错误!定义变量时必须给初始值!#但可以明确给变量赋值为None2.1.5数据类型27type():返回变量的实际类型type(变量)x=10print(type(x))#打印结果:<class'int'>示例2-72.1.5数据类型27Python中,通过内置函数将一种类型的数据,转换成另一种类型的数据int():转换为整数float():转换为浮点数str():转换为字符串bool():转换为布尔值变量=转换函数(变量)转换数据类型2.1.5数据类型28#默认转换为十进制,如需转换为其他进制,可使用第2个参数指定#如int('F10',16)将字符串'F10'转换为十六进制整数x=int('10')x=x+2s=str(x)

示例2-82.1.5数据类型28isinstance():测试对象是否为指定类型的实例,是返回True,不是则返回Falseisinstance(变量,类型名)x=10ifisinstance(x,str):print('是字符串')else:print('不是字符串')#打印结果:不是字符串示例2-92.1.6对象共享28变量B=变量A为变量A引用的对象创建了一个新的别名BA和B引用的是同一个对象a='Hello'b=ax=[1,2,3]y=xx[0]=0print(y)#打印结果:[0,2,3]示例2-10可变数据类型:通过一个变量所作的修改会反映在所有引用该对象的变量上2.1.6对象共享28id():返回一个对象的唯一标识符,是一个整数,通常代表着该对象的地址id(变量或字面量)x=10y=10print('10的地址:',id(10))print('x的地址:',id(x))print('y的地址:',id(y))示例2-112.1.6对象共享29不可变对象:int、float、str、tuple等,存储会进行优化,两个变量被赋予相同的值时,可能会让它们引用同一个对象t1=(2,4,6)t2=(2,4,6)print('t1的地址:',id(t1))print('t2的地址:',id(t2))示例2-112.1.6对象共享(补充)Python提供小数据池对一些数据进行缓存,当程序引用这些数据时,不会创建新对象,而是引用小数据池里的对象,例如整数将缓存[-5,256]的整数避免频繁创建和销毁对象,提升效率2.1.6对象共享29可变对象:list、set、dict等,每个对象在内存中都有独立的存储空间l1=[1,3,5]l2=[1,3,5]print('l1的地址:',id(l1))print('l2的地址:',id(l2))示例2-11下列代码片段中,x和y地址一样的是?测一测x=145y=145

x=145y=120.0

x={1,2,3}y={1,2,3}

x=y={1,2,3}

A.B.C.D.Python语言格式框架01020403运算符与表达式基本输入输出模块的使用目

录运算符与表达式020403基本输入输出模块的使用目

录Python语言格式框架01运算符表达式2.2.1运算符292.2.1运算符29%:求余数10%4:10除以4的余数,结果为2**:幂运算10**4:10的4次方,结果为10000/和///:真实除,返回实际的结果,为浮点数//:整除,将商向下取整后返回,如果两个操作数都是整数则返回整数部分,否则返回实数301.算术运算符/和///:真实除,返回实际的结果,为浮点数//:整除,将商向下取整后返回,如果两个操作数都是整数则返回整数部分,否则返回实数301.算术运算符10.5/2.110/210/2.010.0/25.05.05.05.010.4/210.4//211/211//25.255.55.0Q:整型变量x中存放了一个两位数,如果要将其个位数与十位数互换,如“13”变成“31”,下列语句正确的是?测一测A:(x%10)//10+x//10

B:(x%10)*10+x//10

C:(x/10)%10+x//10

D:(x%10)*10+x%10

测一测A:c*d/(2*a*b)

B:c/2*d/a/bC:c*d/2*a*bD:c*d/2/a/b2.2.1运算符302.2.1运算符30对常量、变量或表达式的值进行比较比较成立返回True比较不成立返回False常用于选择结构、循环结构的控制条件302.比较运算符a=int(input('请输入第一个整数:')b=int(input('请输入第二个整数:')print(a!=b)#由a和b的值,“a不等于b”成立吗?302.比较运算符2.2.1运算符302.2.1运算符逻辑运算符对布尔值进行运算303.逻辑运算符运算符操作数取值not逻辑非1个notTrue:FalsenotFalse:Trueand逻辑与2个TrueandTrue:True其他:Falseor逻辑或2个FalseorFalse:False其他:True优先级:not>and>or操作数通常是一个bool表达式或bool变量常用于将多个条件组合在一起以形成更复杂的条件303.逻辑运算符a=int(input('请输入第一个整数:')b=int(input('请输入第二个整数:')ifb!=0anda>b:print(a/b)Q:右方代码的执行结果是?x=Truey=Falsez=Falseprint(xoryandz)测一测A:true

B:TrueC:falseD:False2.2.1运算符302.2.1运算符30赋值运算符=:将右操作数的值赋予左操作数4.赋值运算符变量=字面量/变量/表达式/函数返回值a=100b=int(input('请输入第二个整数:')c=a+bd=c复合赋值运算第一步:先计算“变量

其他运算符

右操作数”的值第二步:将第一步的结果赋值给变量314.赋值运算符变量

其他运算符=右操作数a=100a+=100a=a+100复合赋值运算的左操作数必须先定义Python不允许在if、while语句中赋值Python不提供++、--运算符,用+=、-=替代完成x+=1x-=14.赋值运算符31序列赋值:=右边的值依次赋值给左边的变量4.赋值运算符31变量1,

变量2,

...,

变量N=初值1,

初值2,

...,

初值Na,b=10,5#定义变量a、b并赋值:a=10,b=5print(a,b)#打印结果:105a,b=b,a#序列赋值完成值交换:a=b,b=aprint(a,b)#打印结果:510示例2-122.2.1运算符312.2.1运算符31in:检查一个数据是否存在于某个数据容器中存在:结果为True不存在:结果为False5.成员运算符in31fruits=['apple','banana','cherry']#列表print('apple'infruits)

#Trueprint('mange'infruits)

#False示例2-13notin:检查一个数据是否不存在于某个数据容器中不存在:结果为True存在:结果为False5.成员运算符in31fruits=['apple','banana','cherry']#列表print('apple'notinfruits)

#Falseprint('mange'notinfruits)

#True示例2-132.2.1运算符312.2.1运算符31is:比较两个操作数是否为同一个对象is比较的是对象的内存地址==比较两个对象的值是否相等326.身份运算符isa=1000b=ac=1000print(aisb)print(aisc)

a=[1,3,5]b=aprint(aisb)

a=[1,3,5]b=[1,3,5]print(aisb)print(a==b)

不可变类型若进行了优化,相同值的变量引用的是同一个对象可变类型空间独立——a、b不同对象a和b的值确实是一样的a赋值给b,相当于a引用对象取新别名——a和b引用同一个对象2.2.1运算符322.2.1运算符32a=10327.位运算符运算符示例结果按位与&a&22按位或|a|210按位异或^a^28按位取反~a~2-11左移<<a<<240右移>>a>>22表达式:使用运算符将操作数组合在一起以形成值的计算过程算术表达式逻辑表达式比较表达式……用于实现各种计算和逻辑,包括但不限于数学计算、字符串处理、选择结构、循环结构等2.2.2表达式332.2.2表达式33x=10#这是一个条件表达式,如果x大于5,则执行if块内的代码ifx>5:print('x大于5')示例2-17Q:数学关系式2<x≤10,Python表达式写作?测一测A:2<x&&x<=10B:2<xandx<=10C:2<x<=10D:x>2orx<=10Python支持链式比较,隐式地按照逻辑与(and)评估该条件每天进步5‰一年后能达到什么状态?每天退步5‰一年后还剩下多少?33不积跬步,无以至千里;不积小流,无以成江海。——《荀子·劝学》实战2-1:跬步千里变量的使用:变量代替字面量数据使用更加灵活33实战2-1:跬步千里#初始化变量power=1growth_rate=0.005#每天进步千分之五decline_rate=0.01#每天退步百分之一days=365#变化的天数参考代码

33实战2-1:跬步千里#计算进步情况final_growth=power*(1+growth_rate)**days#计算退步情况final_decline=power*(1-decline_rate)**days参考代码输出信息:print()33实战2-1:跬步千里#输出结果print('每天进步5‰一年后:',final_growth)print('每天退步1%一年后:',

final_decline)参考代码Python语言格式框架01020403运算符与表达式基本输入输出模块的使用目

录基本输入输出0304模块的使用目

录Python语言格式框架0102运算符与表达式input()print()input():接收用户输入的数据程序暂停在input()这一行,等待用户输入用户输入数据、按下回车后,程序继续执行input()将输入数据作为“字符串”返回,通过“=”存在变量中后续可通过该变量使用输入数据“提示字符串”可选,用于提示需要输入什么数据342.3.1input()变量=input([提示字符串])342.3.1input()s=input('请输入一个整数:')#假设输入数据:12

num=int(s)ifnum%2==0:print('偶数')else:print('奇数')示例2-17print():将数据打印在终端显示打印字符串打印多个数据格式化输出352.3.2print()打印字符串352.3.2print()print('Hello,Python!')#打印结果:Hello,Python!a='Good'b='day!'int(a+b)#打印结果:Goodday!示例2-18打印多个数据352.3.2print()name='张三'age=18print('我的名字是',name,age,'岁')示例2-19格式化输出:处理待输出字符串中不确定的数据时使用格式化字符串:显示在终端的字符串,包含占位符占位符:特殊的格式化代码,指定如何显示数据%d:用于格式化整数类型的数据%f:用于格式化浮点数类型的数据%s:用于格式化字符串类型的数据352.3.2print()print(格式化字符串%格式化变量)格式化输出352.3.2print()price=float(input('请输入蛋糕单价:'))num=int(input('请输入蛋糕个数:'))payable=price*num#单价*个数:计算应付金额print('蛋糕%.2f/个,共%d个'%(price,num))print('应支付:%.2f元'%payable)示例2-20设置特殊参数,改变print()默认行为end:改变末尾自动输出的结束符362.3.2print()print('Hello')print('World')print('Hello',end='')print('World')示例2-21设置特殊参数,改变print()默认行为sep:改变打印多个数据时,默认添加的分隔符362.3.2print()name='张三'print('我的名字是',name)print('我的名字是',name,sep=':')示例2-22input()和print()的使用if语句的简单应用36实战2-2:文字西游欢迎界面input()和print()的使用37实战2-2:文字西游欢迎界面#输出欢迎信息和游戏介绍print("欢迎来到文字西游!")print("版本:1.0")print("这是一个用文字描述的西游冒险游戏,你将扮演一位英雄踏上西行之旅。")#提供开始游戏选项choice=input("请输入'start'开始游戏,或输入其他内容退出:")参考代码if语句的简单应用37实战2-2:文字西游欢迎界面#判断玩家输入ifchoice=='start':#获取角色名字role_name=input('请输入你的角色名字:')print('欢迎%s加入西游冒险!'%role_name)print('游戏正式开始!')else:print("感谢你的关注,期待下次与你相遇!")参考代码Python语言格式框架01020403运算符与表达式基本输入输出模块的使用目

录模块的使用04目

录Python语言格式框架0102运算符与表达式03基本输入输出import关键字turtle库模块:一个包含Python代码的文件包内有多个代码文件提供了定义好的变量、函数或类实现了一些特定的功能作用组织和管理代码可重用易维护2.4模块38内置模块time、math、os、sqlite3、……第三方模块numpy、matplotlib、scrapy、……模块“导入”才能使用关键字:import2.4模块38导入模块中所有的内容通过“模块名.”前缀使用其中的对象2.4模块38import模块名[as模块别名]importmathr=2.0print(r**2*math.pi)示例2-23别名的作

温馨提示

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

评论

0/150

提交评论