版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
零基础Python编程从入门到实战授课教师:xxxPython全课目录01走进Python编程世界02Python基础语法03流程控制语句04序列05字典和集合入门篇全课目录06函数07面向对象编程08文件操作09异常处理提高篇全课目录10游戏开发11网络爬虫12数据库编程13数据分析应用篇14数据可视化15机器学习全课目录16人机对战版五子棋游戏17二手房数据分析与房价预测实战篇走进Python编程世界第1章目录CONTENTSPython简介01Python开发工具02实战——搭建Python开发环境03本章小结04Python简介01课堂导入(1)谁能猜到这是用什么语言制作的?(2)你们知道现在最流行的编程语言排行吗?1.1.1Python的产生与发展1991年2000年10月2008年12月2011年1月2020年1月第一个Python编译器诞生。Python3.0版本发布。Python2.7正式终止支持,全面进入Python3.x时代。Python2.0版本发布。Python被TIOBE编程语言排行榜评为2010年度语言。1989年Python语言诞生1.1.2Python的特点(1)简单易学(2)免费开源(3)类库丰富(4)可扩展(5)解释性(6)可移植性(7)可嵌入性课堂讨论(1)为什么Python能成为「全球最受欢迎的第一门编程语言」?(2)如果只能用一句话描述Python,你会说什么?1.1.3Python之禅01Beautifulisbetterthanugly.优美胜于丑陋。(Python以编写优美的代码为目标)02Explicitisbetterthanimplicit.明了胜于晦涩。(优美的代码应当是明了的,命名规范,风格相似)03Simpleisbetterthancomplex.简洁胜于复杂。(优美的代码应当是简洁的,不要有复杂的内部实现)1.1.3Python之禅04Complexisbetterthancomplicated.复杂胜于凌乱。(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)05Flatisbetterthannested.扁平胜于嵌套。(优美的代码应当是扁平的,不能有太多的嵌套)06Sparseisbetterthandense.间隔胜于紧凑。(优美的代码应有适当的间隔,不要奢望一行代码解决问题)1.1.3Python之禅07Readabilitycounts.可读性很重要。(优美的代码是可读的)08Specialcasesaren’tspecialenoughtobreaktherules.Althoughpracticalitybeatspurity.即便假借特例的实用性之名,也不可违背这些规则。(这些规则至高无上)09Errorsshouldneverpasssilently.Unlessexplicitlysilenced.不要包容所有错误,除非你确定需要这样做。(精准地捕获异常,不写except:pass风格的代码)1.1.3Python之禅10Inthefaceofambiguity,refusethetemptationtoguess.当存在多种可能,不要尝试去猜测。11Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.而是尽量找一种,最好是唯一一种明显的解决方案。(如果不确定,就用穷举法)12Althoughthatwaymaynotbeobviousatfirstunlessyou’reDutch.虽然这并不容易,因为你不是Python之父。(这里的Dutch是指Guido)1.1.3Python之禅13Nowisbetterthannever.Althoughneverisoftenbetterthan*right*now.做也许好过不做,但不假思索就动手还不如不做。(动手之前要细思量)14Iftheimplementationishardtoexplain,it’sabadidea.Iftheimplementationiseasytoexplain,itmaybeagoodidea.如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然。(方案测评标准)15Namespacesareonehonkinggreatidea--let’sdomoreofthose!命名空间是一种绝妙的理念,我们应当多加利用。(倡导与号召)1.1.4Python的应用领域Web开发网络爬虫人工智能大数据分析自动化运维游戏开发办公自动化课堂讨论(1)哪些数据可以爬?哪些不可以爬?(2)如何判断一个网站是否禁止爬虫?课堂小结Python简介Python的产生与发展Python的特点Python之禅Python的应用领域Web开发网络爬虫人工智能大数据分析自动化运维游戏开发办公自动化Python开发工具02Python开发工具Python
代码编辑器Python集成开发环境(IDE)IDLEPython内置轻量级IDE,提供交互式与脚本编辑两种模式,适合基础开发。PyCharm专业级IDE,集成代码调试、智能提示、版本控制等全套开发工具,以易用性和强大功能著称。Spyder交互式科学计算IDE,支持跨平台使用,特色为类Matlab的数据工作空间功能。实战——搭建Python开发环境03实战——搭建Python开发环境搭建Python开发环境1.3.1安装Python1.安装步骤1
访问/downloads/windows/,在打开的下载页面中选择“StableReleases”→“Python3.10.10-Feb.8,2023”→“DownloadWindowsinstaller(64-bit)”选项,下载安装程序,如图所示。1.3.1安装Python1.安装步骤2双击下载好的python-3.10.10-amd64.exe文件,在打开的对话框中勾选“Addpython.exetoPATH”复选框(将安装路径添加到系统环境变量
Path
中),然后选择“Customizeinstallation”选项,如图所示。1.3.1安装Python1.安装步骤3显示“OptionalFeatures”界面,选择Python提供的工具包,一般保持默认的全部选中,然后单击“Next”按钮,如图所示。1.3.1安装Python1.安装步骤4显示“AdvancedOptions”界面,勾选“InstallPython3.10forallusers”复选框(为所有用户安装),在“Customizeinstalllocation”编辑框中设置安装路径(如D:\ProgramFiles\Python310,也可单击“Browse”按钮选择安装目录),然后单击“Install”按钮,如图所示。1.3.1安装Python1.安装步骤5显示“SetupProgress”界面,开始安装并显示安装进度,如需取消安装,可单击“Cancel”按钮,如图所示。安装成功后,单击“Close”按钮关闭对话框即可。1.3.1安装Python2.验证打开命令行(cmd)窗口,执行“python”命令。如果出现类似图
所示结果,说明Python安装成功。提示按“Win+R”快捷键,打开“运行”对话框,在该对话框中输入“cmd”命令后单击“确定”按钮,即可打开命令行窗口。1.3.2安装PyCharm1.安装步骤
1
访问/pycharm/download/#section=windows,在打开的下载页面中单击“PyCharmCommunityEdition”下的“Download”按钮,下载社区版,如图所示。1.3.2安装PyCharm1.安装步骤
2双击下载好的
pycharm-community-2022.3.3.exe
文件,根据安装提示进行操作即可完成安装。提示在“ChooseInstallLocation”界面中,选择安装路径时建议避开系统盘。在“InstallationOptions”界面中应勾选所有复选框,如图所示。1.3.2安装PyCharm2.设置步骤1
启动PyCharm,打开“ImportPyCharmSettings”对话框,勾选“Donotimportsettings”单选按钮,然后单击“OK”按钮,如图所示。1.3.2安装PyCharm2.设置步骤2
打开“WelcometoPyCharm”对话框,在左侧选择“Customize”选项,在右侧“Colortheme”的下拉列表中选择“IntelliJLight”选项,如左图所示。“IntelliJLight”主题的用户界面如右图所示。1.3.2安装PyCharm2.设置步骤
3
在界面左侧选择“Plugins”选项,在搜索框中输入“Chinese”,然后在下面列表中选择“Chinese(Simplified)LanguagePack/中文语言包”选项,单击“Install”按钮,如图所示。1.3.2安装PyCharm2.设置步骤
4安装完成后,单击“RestartIDE”按钮,在打开的对话框中单击“Restart”按钮,如图所示。1.3.2安装PyCharm2.设置步骤5
重启后,便可进入PyCharm中文界面,如图所示。1.3.3Python初体验“猜数字”小游戏下面以“猜数字”小游戏为例,介绍使用PyCharm编写和运行Python程序的方法。要求,猜测计算机设置好的数字,并得到猜测的结果。步骤1
打开PyCharm,在“欢迎访问PyCharm”对话框中选择“新建项目”选项,如图所示。1.3.3Python初体验“猜数字”小游戏步骤
2显示“新建项目”界面,在“位置”编辑框中设置项目保存的路径并将项目命名为“Chapter1”;在“使用此工具新建环境”下拉列表中选择默认的“Virtualenv”选项;在“基础解释器”中选择Python安装目录下的python.exe;取消勾选“创建main.py欢迎脚本”复选框,然后单击“创建”按钮,如图所示。1.3.3Python初体验“猜数字”小游戏提示Virtualenv是一个虚拟环境管理器,它可以创建多个虚拟环境,为不同项目提供独立的Python
运行环境,以解决不同项目间多版本的冲突问题。在不继承全局安装包的情况下,在Virtualenv环境中安装所需包时,会自动安装到该虚拟环境下,不会对其他项目环境有所影响。1.3.3Python初体验“猜数字”小游戏步骤3
打开PyCharm工作窗口,在左侧显示创建的“Chapter1”项目,同时打开“每日小技巧”对话框,单击“关闭”按钮关闭该对话框,如图所示。提示每天第一次启动PyCharm时会显示“每日小技巧”对话框,内容为PyCharm的快捷操作说明。如果不想显示该对话框,可勾选“启动时不显示小技巧”复选框,然后单击“关闭”按钮(见右图)。1.3.3Python初体验“猜数字”小游戏步骤
4右击项目名称“Chapter1”,在弹出的快捷菜单中选择“新建”→“Python文件”选项,新建一个Python文件,如图所示。1.3.3Python初体验“猜数字”小游戏步骤5
打开“新建Python文件”对话框,将文件命名为“item010101.py”,然后双击“Python文件”选项,如图所示。提示Python程序的源文件扩展名为“.py”。1.3.3Python初体验“猜数字”小游戏步骤
6进入“item010101.py”代码编辑界面,在代码编辑区输入代码,如图所示。1.3.3Python初体验“猜数字”小游戏步骤
7
在菜单中选择“运行”→“运行”选项,打开“运行”对话框,然后选择“item010101”选项,运行程序,如图所示。1.3.3Python初体验“猜数字”小游戏步骤
8打开程序运行窗口,输入猜测的数字“5”后按“Enter”键,程序返回运行结果,如图所示。课堂小结实战——搭建Python开发环境安装Python安装验证安装PyCharm安装设置Python初体验本章小结04本章小结本章主要介绍了
Python
的产生与发展、特点、应用领域、开发工具和开发流程。重点掌握内容:Python
具有简单易学、免费开源、类库丰富、可扩展、解释性、可移植性和可嵌入性等特点。01Python
之禅,体现了
Python
语言的设计哲学,对于日常的编程有很大的指导意义。02使用PyCharm开发Python程序的一般过程为:新建项目→新建Python
文件→编写代码→运行程序。03谢谢!授课教师:xxxPython零基础Python编程从入门到实战授课教师:xxxPythonPython基础语法第2章目录CONTENTSPython编码规范01变
量02运算符03输入和输出04实战05本章小结06Python编码规范01课堂导入同学们,你们认为编程语言最大的价值是什么?为什么选择Python作为入门语言?2.1.1注释1.单行注释代码注解该实例是在代码的右侧,使用注释标记出本行代码的功能。以“#”开始,以换行符(回车)结束。这种注释可单独占一行,也可标记在代码的右侧。print('你真是太厉害了,一次就猜中了!') #输出猜对了单行注释的使用实例实例位置:Chapter2\example010201.py2.1.1注释2.多行注释代码注解该实例通过使用三重引号进行多行注释,注释内容介绍了本程序的主题、编写者、编写时间,以及一些需要强调说明的信息。以三重引号(单引号或双引号)开始,同样以三重引号结束。这种注释一般放在程序的开始,用于说明该程序的一些重要信息。"""猜数字游戏
编写者:凌蓝
游戏规则:输入一个数字"""'''如果要修改此部分代码,请添加如下注释
修改者:
游戏规则:'''多行注释的使用实例实例位置:Chapter2\example010202.py2.1.2缩进代码注解(1)在Python中使用缩进时不提倡使用“Tab”键,更不要“Tab”键和空格混用。(2)缩进具有语法效能,所以如果缩进出现错误,那么程序在运行时就会报错。缩进在
Python
程序中是具备语法效能的,代码块的缩进可以体现代码之间的逻辑关系。在Python中一般使用
4
个空格进行悬挂式缩进,且同一级别的代码块的缩进量必须相同。a=1 #a赋值为1b=2 #b赋值为2ifa>b: #如果a大于bprint(a) #输出a的值else: #如果a小于或等于bprint(b) #输出b的值缩进的使用实例实例位置:Chapter2\example010203.py课堂讨论(1)在Python中使用缩进时的注意事项?(2)缩进错误会导致什么问题?2.1.3语句换行在程序中,太长的代码可能需要拖动横向滚动条才能看全整行代码的内容,这给代码的阅读增添了不必要的麻烦。message='你真是太厉害了,一次就猜中了!再猜一次,我不相信你还能猜到我在想什么。'print(message)长代码实例实例位置:Chapter2\example010204.pyPython建议每行代码的长度不要超过120个字符。对于过长的代码,建议换行。2.1.3语句换行1.续行符“\”在行尾使用续行符“\”,表示下面紧接的一行仍属于当前语句。message='你真是太厉害了,一次就猜中了!'\'再猜一次,我不相信你还能猜到我在想什么。'print(message)续行符的使用实例实例位置:Chapter2\example010205.py2.1.3语句换行2.圆括号Python会将圆括号中的行隐式连接起来,故可使用圆括号进行语句换行。message=('你真是太厉害了,一次就猜中了!''再猜一次,我不相信你还能猜到我在想什么。')print(message)使用圆括号进行语句换行实例实例位置:Chapter2\example010206.py代码注解(1)这里的语句换行指的是编写代码时,将太长的代码换行,这对于程序运行的结果没有影响。(2)在[]和{}中的语句,Python也会自动将多行的内容进行连接,无须再使用圆括号。2.1.4空格与空行a=1#a赋值为1b=2#b赋值为2ifa>b:#如果a大于bprint(a)#输出a的值else:#如果a小于或等于bprint(b)#输出b的值#给变量赋值a=1 #a赋值为1b=2 #b赋值为2
#判断大小ifa>b: #如果a大于bprint(a) #输出a的值else: #如果a小于或等于bprint(b) #输出b的值第一种:不添加空格和空行。第二种:适当添加空格和空行。以下两种代码中,你觉得哪种看上去更加美观呢?提问课堂小结Python编码规范注释单行注释多行注释缩进语句换行续行符“\”圆括号空格与空行变
量022.2.1变量的命名合法字符仅限字母、数字、下划线(如
name、_name1、name_2)首字符限制必须以字母或下划线开头,不可为数字(如
1name
非法)禁止特殊符号禁止特殊符号:如
&、%、连字符
-
等(如
&123、%name
非法)区分大小写Name
与
name
视为不同变量提示不合法的变量名会导致程序运行时报错。2.2.1变量的命名1.命名方式(1)小驼峰式命名。第一个单词首字母小写,之后的单词首字母大写,如myName、myFriendName等。(2)大驼峰式命名。每个单词首字母都大写,如MyName、MyFriendName等。(3)下划线连接命名。用下划线“_”连接每个单词,如my_name、my_friend_name等。提示(1)Python的变量名区分英文字母大小写,如score和Score是两个不同的变量。(2)Python的关键字不能作为变量名使用。2.2.1变量的命名2.关键字Python本身定义的一些具有特定功能的标识符称为关键字。可在PyCharm中编写如下代码查看关键字,执行结果如图所示。2.2.1变量的命名2.关键字importkeyword #导入keyword模块print(keyword.kwlist) #查看所有关键字查看关键字实例实例位置:Chapter2\example010207.py提示PyCharm显示的程序运行结果是不会自动换行的,当运行结果较长时,看起来很不方便。此时,可以在运行结果窗口的左侧单击“自动换行”按钮,运行结果即可根据窗口大小自动换行。课堂讨论为什么Python变量名不能以数字开头?如何通过命名规范提升代码可读性?2.2.2变量的赋值赋值运算符“=”用于为变量赋值,其左侧是变量名,而右侧是变量指向的数据值。变量名
=数据值格式如下:说明PyCharm显示的程序运行结果是不会自动换行的,当运行结果较长时,看起来很不方便。此时,可以在运行结果窗口的左侧单击“自动换行”按钮,运行结果即可根据窗口大小自动换行。2.2.2变量的赋值a=1b=1.2c='小红'print(a,b,c)给变量赋值实例实例位置:Chapter2\example010208.pya=b=c=1#同时将1赋值给变量a、b和c'''相当于:a=1b=1c=1'''print(a,b,c)同时给多个变量赋相同的值实例实例位置:Chapter2\example010209.py2.2.2变量的赋值a,b,c=1,2,"hello"#将1、2和“hello”分别赋值给变量a、b和c'''相当于:a=1b=2c="hello"'''print(a,b,c)同时给多个变量赋不同的值实例实例位置:Chapter2\example010210.py2.2.3变量的数据类型多样的数据数字布尔类型列表字典字符串元组集合2.2.3变量的数据类型1.数字01int(整型)数值通常称为整数。Python
可以处理任意大小的整数,当然包括负整数。整数在程序中的表示方法和数学上的写法一致,如18、−175。int(整型)说明在Python中,整数也可以用八进制或十六进制表示。Python
中八进制数以数字
0
开头,用数字
0~7
组合表达。例如,0154
表示八进制数154,其对应的十进制数为1×82+5×81+4×80=108。十六进制数以0x开头,用数字0~9及字母A~F(或a~f)组合表达。其中,A代表数值
10,B代表数值
11,依此类推,F
代表数值
15。例如,0x15F
表示十六进制数
15F,其对应的十进制数为1×162+5×161+15×160=351。2.2.3变量的数据类型1.数字02f
loat(浮点型)数值也称为浮点数,由整数和小数组成。Python
中浮点数只能用十进制形式表示,但其表示方法有以下两种。①小数表示法,由整数部分和小数部分组成,如0.0013、−1482.5。②科学表示法,通常用来表示一些比较大或比较小的数值,表示方法是在小数后加“E”或“e”及指数部分,其中,“E”或“e”表示十次方,指数部分为整数,可正可负。f
loat(浮点型)03complex(复数型)数值由实数部分和虚数部分组成,一般形式为a+bj,其中,a
是复数的实数部分,b
是复数的虚数部分,这里的
a
和
b
是整数或浮点数,如
2.14j、2+12.1j。complex(复数型)2.2.3变量的数据类型1.数字age=18 #给变量age赋整数值price=1.68 #给变量price赋浮点数值num=2+12.1j #给变量num赋复数值print('年龄是',age,'类型是',type(age)) #输出age的值和类型print('价格是',price,'类型是',type(price)) #输出price的值和类型print('复数是',num,'类型是',type(num)) #输出num的值和类型给变量赋数字类型值实例实例位置:Chapter2\example010211.py代码注解分别给变量age、price、num赋值18、1.68、2+12.1j,输出变量的值和类型,其中,type()函数的作用是返回对象的类型。程序运行结果如下图所示。2.2.3变量的数据类型2.布尔类型布尔(bool)类型是一种比较特殊的类型,它只有“True”(真)和“False”(假)两种值。print(10<30) #判断10是否小于30,然后输出判断结果print(10>20) #判断10是否大于20,然后输出判断结果判断两个数的大小实例实例位置:Chapter2\example010212.py程序运行结果如图所示。说明True和False是关键字,但其本质是数字1和0,它们可以和数字进行算术运算。2.2.3变量的数据类型3.字符串字符串(str)是以单引号或双引号括起来的任意文本,如'abc'、"xyz"等。#字符串中含有单引号print("I'mOK!")#字符串中含有双引号print('Itoldmyfriend,"Pythonismyfavoritelanguage!"')字符串中含有单引号或双引号实例实例位置:Chapter2\example010213.py程序运行结果如图所示。2.2.3变量的数据类型3.字符串print('I\'m\"OK\"!')字符串中含有单引号或双引号实例实例位置:Chapter2\example010214.py程序运行结果如图所示。如果字符串内部既包含单引号又包含双引号,则可以用转义字符“\”来标识。说明转义字符以“\”开头,后跟一个字符,通常用来表示一些控制代码和功能定义。Python中常用的转义字符如表所示。此外,Python允许在引号前加r来表示引号内部的字符串默认不转义。转义字符说明转义字符说明\n回车换行\'单引号符(')\b退格\"双引号符(")\r回车\a鸣铃\t水平制表\f换页符\v垂直制表\\反斜线符(\)常用的转义字符课堂讨论字符串和列表在存储"苹果"时有何本质区别?为什么Python不支持"字符串+数字"直接运算?课堂小结变
量变量的命名命名方式关键字变量的赋值变量的数据类型数字布尔类型字符串运算符03课堂导入同学们,在我们的日常生活中,经常会遇到各种各样的计算和比较情况。比如说,我们要计算两个数的和、比较两个数的大小等。那在编程世界里,我们是如何让计算机帮我们完成这些操作的呢?大家想一想,在之前的编程学习或者生活经验中,有没有遇到过类似需要计算或者比较的情况呢?2.3.1算术运算符运算符名称示例说明+加法运算a+b返回a与b的和-减法运算a-b返回a与b的差*乘法运算a*b返回a与b的积/除法运算a/b返回a与b的商%取模运算a%b返回a除以b的余数**幂(乘方运算)a**b返回a的b次幂//整除a//b返回a除以b所得商的整数部分(向下取整)。如果其中一个操作数为负数,则结果为负数。例如,3//4=0,4//3=1,-3//4=−1,4//-3=−2算术运算符2.3.2赋值运算符a=2 #给变量a赋值a+=1 #相当于a=a+1print(a) #输出变量a,结果为3复合赋值实例实例位置:Chapter2\example010215.pya+=b #相当于a=a+ba*=b #相当于a=a*ba%=b #相当于a=a%ba//=b #相当于a=a//ba-=b #相当于a=a-ba/=b #相当于a=a/ba**=b #相当于a=a**b格式如下:提示如果b是包含若干项的表达式,则相当于它有括号,例如:a*=b-3 #相当于a=a*(b-3)2.3.3关系运算符运算符名称示例说明==等于a==b判断a和b的值是否相等,如果相等则结果为True,否则为False!=不等于a!=b判断a和b的值是否相等,如果不相等则结果为True,否则为False>
大于a>b判断a的值是否大于b的值,如果成立则结果为True,否则为False<
小于a<b判断a的值是否小于b的值,如果成立则结果为True,否则为False>=大于等于a>=b判断a的值是否大于或等于b的值,如果成立则结果为True,否则为False<=小于等于a<=b判断a的值是否小于或等于b的值,如果成立则结果为True,否则为False关系运算符2.3.3关系运算符注意(1)等于、不等于、大于等于、小于等于运算符(==、!=、>=、<=)的表示方法与数学中的表示方法不同(=、≠、≥、≤)。(2)关系运算符两侧的值可以是数值、字符串等数据类型,但应为同一类型。(3)字符串数据进行比较运算时,不是比较字符串长短,而是按照其内容的ASCII码值进行比较。在比较两个字符串时,先比较第一个字符,其中
ASCII
码值较大的字符所在字符串较大,如果第一个字符相同,再比较第二个字符……例如,'abce'>'abcdef'为True,是因为逐个比较前3个字符,其ASCII码值相同,在比较第4个字符时,“e”的ASCII码值大于“d”的ASCII码值,因此,该表达式的值为True。课堂讨论在什么情况下我们会用到逻辑运算符呢?比如我们要判断一个学生是否既及格又优秀,该怎么用运算符来表示呢?2.3.4逻辑运算符运算符名称示例说明and与aandb如果a的值为False,无须计算b的值,返回a的值;否则返回b的值or或aorb如果a的值为True,无须计算b的值,返回a的值;否则返回b的值not非nota如果a的值为True,返回值为False;如果a的值为False,返回值为True注意在Python中,当参与逻辑运算的数值为0时,则将它看作逻辑“假”,而将所有非0的数值都看作逻辑“真”。逻辑、成员和身份运算符逻辑运算符2.3.4逻辑运算符a=5 #定义变量a,赋值为5b=6 #定义变量b,赋值为6#输出逻辑表达式的值print('a=',a,',b=',b)print('a-5andb<3=',a-5andb<3)print('a<6andb+3=',a<6andb+3)print('a-5orb<3=',a-5orb<3)print('a<6orb+3=',a<6orb+3)print('nota=',nota)关系运算符和逻辑运算符的使用实例实例位置:Chapter2\example010216.py2.3.4逻辑运算符代码注解首先给变量a、b分别赋值,然后计算表达式。计算“a-5andb<3”表达式时,先计算“a-5”得到的值为0,即为False,因此无须计算“b<3”的值,表达式的值即为0。计算“a<6andb+3”表达式时,先计算“a<6”得到的值为True,因此,须计算表达式“b+3”的值,且整个表达式的值为“b+3”的值,即为9。计算“a-5orb<3”表达式时,先计算“a-5”得到的值为0,即为False,因此,须计算“b<3”的值,且整个表达式的值为“b<3”的值,即为False。计算“a<6orb+3”表达式时,先计算“a<6”得到的值为True,无须计算“b+3”的值,表达式的值为True。计算“nota”表达式时,由于a的值为5,即为True,因此,表达式的值为False。“关系运算符和逻辑运算符的使用”程序运行结果2.3.5成员运算符运算符示例说明inainb如果a在序列b中,则返回True,否则返回Falsenotinanotinb如果a不在序列b中,则返回True,否则返回Falsesnack1='薯片' #定义零食变量snack1,赋值为“薯片”snack2='棒棒糖' #定义零食变量snack2,赋值为“棒棒糖”#定义购物清单列表snackListsnackList=['可乐','苹果','薯片','奥利奥','鸡腿']#判断薯片是否在购物清单中print('薯片在购物清单中?',snack1insnackList)#判断棒棒糖是否在购物清单中print('棒棒糖在购物清单中?',snack2insnackList)print('棒棒糖不在购物清单中?',snack2notinsnackList)判断指定零食是否在购物清单中实例实例位置:Chapter2\example010217.py成员运算符2.3.5成员运算符代码注解首先定义两个变量snack1、snack2,分别赋值为字符串“薯片”“棒棒糖”,再定义一个购物清单列表snackList,然后判断snack1、snack2是否在购物清单列表中,程序运行结果如图所示。2.3.6身份运算符运算符示例说明isaisb如果a和b引用的是同一个对象则返回True,否则返回Falseisnotaisnotb如果a和b引用的不是同一个对象则返回True,否则返回Falseint1=500 #定义变量int1,赋值为500int2=500 #定义变量int2,赋值为500int3=520 #定义变量int3,赋值为520print('int1和int2引用的是同一对象?',int1isint2)print('int1和int3引用的是同一对象?',int1isint3)print('int1的内存地址:',id(int1),'\nint2的内存地址:',id(int2),'\nint3的内存地址:',id(int3))int1=520 #修改int1的值为520print('修改值后的int1和int3引用的是同一对象?',int1isint3)print('修改值后的int1内存地址:',id(int1))身份运算符的使用实例实例位置:Chapter2\example010218.py身份运算符2.3.6身份运算符代码注解定义
3
个变量
int1、int2、int3
并分别赋值,然后判断
int1
和
int2
是否引用同一个对象,判断
int1
和
int3
是否引用同一个对象,输出
3
个变量的内存地址。修改int1的值,再判断int1和int3是否引用同一对象,输出修改后的int1的内存地址。程序运行结果如图所示。2.3.7位运算符运算符名称示例说明&按位与a&ba和b对应的两个二进制位均为1时,结果才为1,否则为0|按位或a|ba和b对应的两个二进制位有一个为1时,结果就为1,否则为0^按位异或a^ba和b对应的两个二进制位不同时,结果为1,否则为0~按位取反~a将a对应的二进制位1修改为0,0修改为1<<
左移a<<ba的二进制位全部左移b位,移出位删掉,移进的位补零>>
右移a>>ba的二进制位全部右移b位,移出位删掉,移进的位补零位运算符2.3.7位运算符假设变量a=10,b=23,即二进制形式a=00001010,b=00010111。用变量a和b执行位运算,结果如图所示。2.3.7位运算符提示(1)Python中操作数按位取反的结果是−(a+1),其中a为操作数。例如,10按位取反为−11,−10按位取反为9。(2)在计算机系统中,为了便于对数值进行处理,数值一律是用补码表示(存储)的。其中,正数的补码与原码相同,符号位为
0;负数的补码的符号位为
1,其余位为该数绝对值的原码按位取反加1。例如,+10的补码为00001010;对于−10来说,其符号位为
1,由于+10的原码为0001010(7位),则该数取反后为1110101,然后再加1,结果为1110110,即−10的补码为11110110。2.3.8运算符的优先级优先级顺序运算符优先级顺序运算符1**3*、/、%、//2~、+(正号)、-(负号)4+(加法)、-(减法)5<<、>>10in、notin6&11not7^、|12and8>、<、>=、<=、==、!=13or9is、isnot14=、+=、-=、*=、/=、%=、**=、//=运算符优先级2.3.8运算符的优先级2+3*4 #结果为14(2+3)*4 #使用圆括号后,结果为20使用圆括号改变运算符优先级实例实例位置:Chapter2\example010219.py提示不用刻意去记运算符的优先级,我们学习编程的目的是能够运用它们解决问题,因此建议读者不要去编写晦涩难懂的计算,而是多用“()”来达成自己的运算目的。课堂讨论为什么3+5*2的结果是13而不是16?如何通过括号改变运算顺序?课堂小结运算符算术运算符赋值运算符关系运算符逻辑运算符成员运算符身份运算符位运算符运算符的优先级输入和输出04课堂讨论在一个简单的计算器程序中,我们需要输入两个数字,然后让计算机帮我们计算它们的和。那在Python中,我们要怎么获取用户输入的数据呢?2.4.1输入Python提供了input()函数用于获取用户从键盘输入的字符串,其语法格式如下:input([prompt])说明prompt表示输入提示,是一个字符串,[]表示可选。运行程序时,input()函数会让程序暂停,等待用户输入数据,用户输入完毕后按“Enter”键,程序返回一个字符串(不包含末尾的换行符)并继续运行。与外界对话2.4.1输入name=input('请输入名字:') #name为字符串输入名字实例实例位置:Chapter2\example010220.py提示input()函数的返回值为字符串,当想要输入数值时,可使用int()函数将字符串转换为整型数据,也可使用f
loat()函数将字符串转换为浮点型数据。a=int(input('请输入一个整数:')) #a为整数b=float(input('请输入一个浮点数:')) #b为浮点数将输入值转为数值类型实例实例位置:Chapter2\example010221.py2.4.2输出print('字符串') #输出字符串a=10print(a) #输出变量print(a,'字符串') #输出变量和字符串不同的输出方式实例实例位置:Chapter2\example010222.py在Python中使用print()函数进行输出,应遵循以下几个原则。(1)输出字符串时须用单引号或双引号括起来。(2)输出变量时,不加引号。
(3)变量与字符串同时输出或多个变量同时输出时,须用“,”隔开。程序运行结果如图所示。课堂小结输入和输出输入输出实战052.5.1输出个人简介1.需求分析个人简介一般包括姓名、性别、年龄、身高和爱好等信息,不同类型的信息须使用不同数据类型的变量来保存。本实战需要编写Python程序,输出个人简介。输入的个人信息建议定义为变量,同时最终能够输出一串连贯的个人简介。2.程序设计步骤1
定义字符串变量name(姓名)、sex(性别)和hobby(爱好),整型变量age(年龄),浮点型变量height(身高),并进行赋值。步骤2使用print()函数输出变量和字符串,组成一串完整的个人简介。实战位置:Chapter2\item010201.py初次见面,和大家简单打个招呼吧。通过Python编程输出你的个人简介,来向大家介绍一下你自己。2.5.1输出个人简介3.代码实现name='小蓝' #定义姓名变量name,赋值为“小蓝”sex='女生' #定义性别变量sex,赋值为“女生”age=10 #定义年龄变量age,赋值为10height=1.4 #定义身高变量height,赋值为1.4hobby='唱歌、游泳' #定义爱好变量hobby,赋值为“唱歌、游泳”#输出个人简介print('大家好,我叫',name,',\n是一个开朗的',sex,',\n今年',
age,'岁,\n我已经',height,'米了哦,\n我喜欢',hobby,',\n很高兴认识大家。')4.运行结果程序运行结果如图所示。2.5.2数据的加密和解密1.需求分析数据加密是通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。本实战需要编写Python程序,通过对数据进行运算实现简单的加密和解密。首先定义一个数字,通过一系列运算,实现加密,并输出加密后的结果;然后通过一系列运算,实现解密,并输出解密后的结果。实战位置:Chapter2\item010202.py你用过带密码锁的日记本吗?使用之前可以设置好自己的密码,写完日记便将号码拨乱,锁上密码锁,下次使用时,再重新把拨乱的号码拨回。类似上面的情景,你能用Python来实现数据的加密和解密吗?2.5.2数据的加密和解密2.程序设计步骤1定义变量a、b并进行赋值,其中a为密码。步骤2使用print()函数输出a。步骤3加密运算,a左移b位,再加上b,最后乘以b。步骤4
使用print()函数输出加密后的变量a。步骤5解密运算,a整除b,再减去b,最后a右移b位。步骤6使用print()函数输出解密后的变量a。2.5.2数据的加密和解密3.代码实现a=2048 #定义变量a,并赋值为2048b=5 #定义变量b,并赋值为5print('a的原始值:',a) #输出aa<<=b #将a左移b位,并赋给aa+=b #将a加b,并赋给aa*=b #将a乘以b,并赋给aprint('a加密后的值:',a) #输出aa=a//b #将a整除b,并赋给aa-=b #将a减b,并赋给aa>>=b #将a右移b位,并赋给aprint('a解密后的值:',a) #输出a4.运行结果程序运行结果如图所示。2.5.3“你问我答”游戏1.需求分析“你问我答”游戏想要实现的功能是用户回答计算机提出的问题,并判断对错。此程序的关键是用户与计算机的交互,即输入与输出。本实战需要编写Python程序,提前设计好问题并输出,用户输入答案,计算机进行判断并输出结果。2.程序设计步骤1使用print()函数输出问题。步骤2
使用input()函数输入答案。步骤3使用“==”或“in”运算符判断用户输入的答案是否正确,并输出判断结果。步骤
4依此类推,可多次设置自己想问的问题让计算机输出,用户输入答案,计算机进行判断并输出判断结果。实战位置:Chapter2\item010203.py编写一个“你问我答”游戏,能够让用户回答问题并知道自己的答案是否正确。2.5.3“你问我答”游戏3.代码实现print('问:“白日依山尽”的下一句是什么?') #输出问题answer=input('答:') #输入答案,并赋给answer#使用“==”判断答案是否正确,并输出判断结果print('结果:',answer=='黄河入海流')print('问:4*5//3=?') #输出问题answer=int(input('答:')) #输入答案,并转换为整型赋给answer#使用“==”判断答案是否正确,并输出判断结果print('结果:',answer==(4*5//3))……(详见教材)4.运行结果程序运行结果如图所示。课堂小结实战输出个人简介需求分析程序设计代码实现运行结果数据的加密和解密需求分析程序设计代码实现运行结果“你问我答”游戏需求分析程序设计代码实现运行结果本章小结06本章小结本章主要介绍了Python的基础语法。重点掌握内容:Python常用的注释方式包括单行注释和多行注释两种。01Python依靠代码块的缩进来体现代码之间的逻辑关系,最好使用4个空格进行悬挂式缩进,并且同一级别的代码块的缩进量必须相同。02变量名只能包括字母、数字和下划线,且第一个字符必须是字母或下划线,不能是数字。03本章小结重点掌握内容:Python中变量在使用前必须先赋值,因为变量指向的内存对象只有在赋值后才会被创建。04Python的数字类型包括int(整型)、f
loat(浮点型)和complex(复数型)3种;布尔类型只有“True”和“False”两种值;字符串是以单引号或双引号括起来的任意文本。05Python常用的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符、成员运算符、身份运算符和位运算符。06input()函数用于获取用户从键盘上输入的字符,print()函数用于输出数据。070102030405新建班级新建作业成绩统计布置作业学生扫码做小提示:生成的班级二维码,放在下一页ppt中即可。放入二维码后,记得取消“隐藏幻灯片”哦~扫码布置本课作业↑↑↑扫码布置作业wenjingketang扫码填写问卷定制更实用的教学资源对课件有修改、优化建议平台使用遇到问题想免费使用平台、免费建课扫码加小旌好友为您提供专属服务哦谢谢!授课教师:xxxPython零基础Python编程从入门到实战授课教师:xxxPython流程控制语句第3章目录CONTENTS分支语句01循环语句02实战03本章小结04分支语句01课堂导入程序都是一条一条语句顺序执行的。但当我们遇到需要根据某个条件是否满足来决定是否执行指定操作时,我们应该怎么办呢?分支语句选择不同的道路过山车入口处会有这样的提示“1.2米以下的儿童禁止乘坐”,同时会有一条横线作为标记,身高超过该横线的儿童,均可以乘坐过山车,反之,则不能乘坐。判断儿童是否可以乘坐过山车流程3.1.1简单的if语句if判断条件:
语句块if语句允许程序通过判断条件是否成立而选择是否执行指定的语句。if语句的基本语法格式如下:说明判断条件可以是任意数据或表达式;语句块必须缩进,可以是一条语句,也可以是多条语句。当有多条语句时,要保持每条语句的缩进相同。执行过程:如果判断条件为True,则执行语句块,否则直接执行if语句后的语句。3.1.1简单的if语句weather='晴' #创建变量weather,用于表示天气,赋值为“晴”ifweather=='晴': #如果天气为晴print('去公园玩') #输出“去公园玩”简单if语句实例实例位置:Chapter3\example010301.py代码注解上述代码中,weather的值为“晴”,满足if判断条件,执行语句块。程序运行结果如图所示。3.1.2if-else语句if判断条件:
语句块1else:
语句块2if语句只允许在条件为True时执行指定的语句,而if-else语句还允许在条件为False时执行指定的语句,其基本语法格式如下:说明执行过程:当判断条件为True时,执行语句块1,否则执行语句块2。3.1.2if-else语句weather=input('请输入天气情况:') #输入变量weather的值ifweather=='晴'orweather=='多云': #如果天气为晴或多云print('去公园玩') #输出“去公园玩”else: #如果不是print('在家玩') #输出“在家玩”根据天气判断是否出门游玩实例实例位置:Chapter3\example010302.py代码注解程序使用if-else语句进行条件判断,输入天气情况,如果输入“晴”或“多云”,则输出“去公园玩”,否则输出“在家玩”。程序运行结果如图所示。3.1.3if-elif-else语句if判断条件1:
语句块1elif判断条件2:
语句块2……elif判断条件n:
语句块nelse:
语句块n+1编程时常常需要判断一系列的条件,一旦其中某一个条件为True就立刻停止。此时,可采用if-elif-else语句(elif是elseif的简写),其基本语法格式如下:说明执行过程:依次判断条件,当满足某个条件时,执行其对应的语句块,然后跳到整个if语句外继续执行程序。如果所有条件都不满足,则执行最后一个else对应的语句块,然后继续执行后续程序。3.1.3if-elif-else语句不同温度下的穿衣建议实例实例位置:Chapter3\example010303.py根据输入的温度值temperature给出穿衣建议,温度和穿衣建议对照关系如表所示。温度(℃)穿衣建议温度(℃)穿衣建议temperature28.0轻棉织物制作的短衣、短裙、短裤等15.0temperature<18.0风衣、外套、毛衣等24.0temperature<28.0棉麻面料的衬衫、薄长裙、薄T恤等11.0temperature<15.0毛衣、风衣、大衣等21.0temperature<24.0单层棉麻面料的T恤衫、长裤、薄牛仔裤等6.0temperature<11.0棉衣、冬大衣、薄羽绒服等18.0temperature<21.0薄外套、风衣、薄毛衣等temperature<6.0羽绒服、厚棉衣、冬大衣等温度和穿衣建议对照关系3.1.3if-elif-else语句#输入温度temperature的值并将其转换为浮点数temperature=float(input('请输入温度(℃):'))iftemperature>=28.0: #如果温度大于或等于28.0℃print('穿衣建议:轻棉织物制作的短衣、短裙、短裤等') #输出穿衣建议eliftemperature>=24.0: #如果温度大于或等于24.0℃小于28.0℃print('穿衣建议:棉麻面料的衬衫、薄长裙、薄T恤等') #输出穿衣建议eliftemperature>=21.0: #如果温度大于或等于21.0℃小于24.0℃print('穿衣建议:单层棉麻面料的T恤衫、长裤、薄牛仔裤等')#输出穿衣建议
……(详见教材)代码注解每个elif本身都隐含了一个条件,如第1个elif实质上表示条件24.0temperature<28.0成立,此隐含条件与对应的if所给出的条件完全相反。在编程时要善于利用隐含条件,使程序代码清晰简洁。程序运行结果如图所示。课堂讨论在日常生活中,我们会遇到多种选择,多种可能的情况,所以单层判断语句就无法解决我们的问题,遇到这种情况,我们应该如何处理呢?3.1.4嵌套的if语句在if语句中又包含一个或多个if语句时,称为if语句的嵌套,其基本语法格式如下:说明内嵌if语句可以是简单的if语句,也可以是if-else语句,还可以是if-elif-else语句。但一定要注意if嵌套语句的逐层缩进,保持同级缩进相同。if判断条件1:if判断条件2:
语句块1else:
语句块2else:if判断条件3:
语句块3else:
语句块4内嵌if语句内嵌if语句3.1.4嵌套的if语句判断是否为酒后驾车实例实例位置:Chapter3\example010304.py根据输入的酒精含量值判断是否为酒后驾车。alcohol=int(input("请输入酒精含量(每100毫升血液):"))ifalcohol<20: #酒精含量小于20毫克,不构成饮酒行为print("不构成饮酒行为,可以开车,请注意安全。")
……(详见教材)代码注解使用嵌套的
if
语句,根据不同的条件,判断酒驾行为。首先输入
100
毫升血液中的酒精含量,然后进行判断,如果酒精含量小于20毫克,则不构成饮酒行为,否则进一步判断酒驾或醉驾。如果酒精含量小于
80
毫克,则达到酒驾标准;如果酒精含量大于或等于
80
毫克,则达到醉驾标准。程序运行结果如图所示。3.1.4嵌套的if语句分配任务实例实例位置:Chapter3\example010305.py在社会实践活动中有
3
项任务,分别是种树、采茶和打扫街道。依据小组人数及男生、女生人数决定小组的任务,人数小于
5
的小组负责打扫街道,人数大于或等于
5
且男生多于女生的小组负责种树,人数大于或等于
5
且男生不多于女生的小组负责采茶。输入小组男生、女生人数,输出小组接受的任务。本实例可使用嵌套的if语句实现,程序流程如图所示。3.1.4嵌套的if语句boy=int(input('请输入男生人数:')) #输入男生人数并转换为整数girl=int(input('请输入女生人数:')) #输入女生人数并转换为整数total=boy+girl #计算总人数iftotal<5: #如果总人数小于5print('打扫街道') #输出“打扫街道”else: #如果总人数大于或等于5ifboy>girl: #如果男生人数大于女生人数print('种树') #输出“种树”else: #如果男生人数小于或等于女生人数print('采茶') #输出“采茶”程序运行结果如图所示。课堂小结分支语句简单的if语句if-else语句if-elif-else语句嵌套的if语句循环语句02课堂导入在解决实际问题时,经常会遇到需要重复执行某些操作的情况,这时就可以利用循环结构程序设计思路来解决问题。同学们在日常生活中有没有遇到使用循环结构的设计思路来解决问题的案例呢?循环语句使用计算器求1~100的累加和,你会如何计算?可按照1+2+3+···+100一个一个相加,具体流程如图所示。摆脱重复的任务3.2.1while语句while判断条件:
语句块 #循环体while语句的基本语法格式如下:说明执行过程:当判断条件为
True
时,执行循环体;接着再次判断条件,如果为
True,继续执行循环体;如此反复,直到判断条件为False时结束循环,执行while语句后的语句。while
语句是“先判断,后执行”。如果刚进入循环时判断条件就不满足,则循环体一次也不执行。还需要注意的是,循环体中一定要有语句修改判断条件,使其有为False的时候,否则将出现“死循环”。3.2.1while语句n=int(input('请输入一个整数:')) #输入n的值,并转换为整数i=1 #创建变量i,赋值为1S=0 #创建变量S,赋值为0whilei<=n: #循环,当i>n时结束S+=i #求和,将结果赋给Si+=1 #变量i加1print('S=1+2+3+…+n=',S) #输出S的值求1~n的累加和实例实例位置:Chapter3\example010306.py3.2.1while语句代码注解输入n的值,初始化变量i和S,进入循环,判断i是否小于或等于n,如果是,将i累加至S,i增加1;继续判断i是否小于或等于n,如果是,继续循环,直到循环条件不满足,结束循环,输出S的值。程序运行结果如图所示。使用while循环时需要注意以下两点。(1)变量初始化描述要完整、准确。该实例中,在while语句前要对变量i和S进行初始化。(2)循环体中应有使循环趋于结束的语句。在该实例中循环结束的条件是“i>n”。因此,循环体中应有使i增大并最终大于n的语句,这里用“i+=1”语句来达到此目的。如果没有这条语句,则i的值始终不变,就会形成“死循环”。课堂讨论编写程序,求S=1+2+3+…+n的值3.2.2for语句for变量in序列:
语句块 #循环体for语句的基本语法格式如下:说明执行过程:如果序列中包含表达式,则先进行求值计算;然后,将序列中的第一个元素赋给变量,执行循环体;接着将序列中的第二个元素赋给变量,执行循环体;依此类推,直到序列中最后一个元素赋给变量,执行循环体后for循环结束,执行for语句后的语句。Python中的for循环常用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年咨询合同步骤二篇
- 2027年咖啡合同劳务店二篇
- 做账实操-建筑工程成本计算公式及会计处理实例 SOP
- 合规转利润:降本增效全指南(2026)《GBT 36226-2018不锈钢 锰、镍、铬、钼、铜和钛含量的测定 手持式能量色散X射线荧光光谱法(半定量法)》
- 合规转利润:降本增效全指南(2026)《GBT 36055-2018林业生物质原料分析方法 含水率测定》
- 假牙清洁剂制造工冲突管理竞赛考核试卷含答案
- 铸管精整工持续改进模拟考核试卷含答案
- 灌区管理工操作水平评优考核试卷含答案
- 工程应急救援员改进测试考核试卷含答案
- 多维地理信息采集员岗中质量综合考核试卷含答案
- 2025年劳动人事争议仲裁员培训考试试题及答案
- 八年级上学期语文阅读计划
- JC-T1083-2024水泥与减水剂相容性试验方法
- T∕CSTM 00251-2020 碳纤维轴向平均线膨胀系数试验方法 顶杆示差法
- 架空输电线路缺陷管理办法
- 2025年成都航空职业技术学院单招职业技能考试题库完美版
- 人工智能导论 课件 7.人工智能+旅游
- 主通风机单机运行安全技术措施
- 建筑地基基础检测规范DBJ-T 15-60-2019
- STEM教育与跨学科整合
- TB-T 3356-2021铁路隧道锚杆-PDF解密
评论
0/150
提交评论