智能网联汽车计算平台部署与测试 课件 5.2 Python的认知_第1页
智能网联汽车计算平台部署与测试 课件 5.2 Python的认知_第2页
智能网联汽车计算平台部署与测试 课件 5.2 Python的认知_第3页
智能网联汽车计算平台部署与测试 课件 5.2 Python的认知_第4页
智能网联汽车计算平台部署与测试 课件 5.2 Python的认知_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

智能网联汽车

计算平台部署与测试项目五ROS的安装与使用目录01.C++的认知02.Python的认知03.ROS的认知04.ROS的安装05.ROS文件系统的构建06.ROS通信系统的构建02.Python的认知易于学习且功能强大的编程语言从键盘输入三个数字,用Python程序将最大值找出,并输出结果。任务描述(1)掌握Python程序的结构、函数的结构和程序开发过程(2)掌握算法的特性和程序的三种基本结构,能够使用流程图或N-S图来描述算法(3)熟练使用顺序结构、选择结构和循环结构编写程序,解决实际问题(4)能够熟练的使用函数编写程序,掌握函数的定义、声明、调用及参数的传递方式(5)掌握面向对象的程序设计、类属性与实例属性、类方法与实例方法、构造函数与析(6)能够用Python表达式表达实际问题,具有解决简单应用问题程序设计能力(7)具有解决综合应用问题程序设计能力、程序阅读能力和程序调试能力,建立结构化程序设计与面向对象程序设计的思想(8)养成善于思考、深入研究的良好自主学习的习惯和创新精神(9)培养结构化程序设计思想和良好的编码规范(10)培养细致缜密的工作态度、团结协作的良好品质、沟通交流和书面表达能力(11)养成爱岗敬业、遵守职业道德规范、诚实、守信的高尚品质。任务目标任务准备防护装备常规实训着装01教学设备计算机平台02教学工具IDLE、Anaconda303一、概述(一)什么是PythonPython是一种直译式,面向对象,解释式的脚本语言,是极少数能兼具简单和功能强大的编程语言。Python是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能够简单且有效地实现面向对象的编程。Python以其简洁的语言和动态输入的特性,加上解释性语言的本质,使其成为一种在多领域与绝大多数平台都能进行脚本编写和快速应用开发的理想语言。Python语言在系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等领域得到广泛的应用。一、概述(二)Python发展简史版本发布年份主要新特性Python1.01994第一个正式版本,仅支持最基本的编程功能Python2.02000引入了广泛的改进,包括内存管理的改进和新的类型Python2.52006增加了@装饰器语法、全面的with语句支持Python2.62008引入了xrange,在大数据集上性能有明显改进Python2.72010支持with语句的重要补充,以及其他小改进和bug修复Python3.02008不完全向后兼容Python2的新版本,主要改进了类型安全和错误处理Python3.12008增加了super()函数和os.urandom()Python3.22011增加了collections模块中的Counter和OrderedDict类型Python3.32012引入了@装饰器的函数形式,以及hash()的一致性Python3.42014引入了venv模块,用于虚拟环境Python3.52015增加了@装饰器的复合表达式,以及PEP465和PEP466Python3.62016增加了typing模块,以及PEP523(**kwargs在函数注解中的应用)Python3.72018增加了数据类,并发性改进,以及PEP572(运行时变量注解)Python3.82019增加了assignmentexpression(:=)(三)Python语言的主要特点一、概述01.简单02.易学03.免费、开源04.高层语言05.可移植性06.解释性07.面向对象08.可扩展性09.丰富的库10.规范的代码(四)Python的开发环境由JetBrains打造的一款PythonIDE。PyCharm还提供了一些很好的功能用于Django开发,同时支持GoogleAppEngine。PyCharm是一个跨平台的编辑器。具有漂亮的用户界面和强大的功能。使用SublimeTExt的插件扩展功能,可以轻松地打造一款不错的PythonIDE。SublimeTExt可以为多种语言提供集成开发环境。PyDev项目实现了一个功能强大的Eclipse插件,能够将Eclipse当作PythonIDE。EclipsewithPydev一、概述由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。使用MonacoEditor作为其底层的代码编辑器。VSCode二、Python基本概念和语法(一)Python程序的运行交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。在Ubuntu终端上输入Python命令即可启动交互式编程。提示窗口如图所示:在python提示符“>>>”后面输入语句print(“Hello,Python!”),然后按下Enter键,就可以在屏幕上看到该语句的运行结果,如图所示。二、Python基本概念和语法(一)Python程序的运行脚本编程通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。以一个最简单的Python脚本程序为例。将如图所示的源代码拷贝至test.py文件中,注意所有的Python文件都是以.py为扩展名的。然后在Ubuntu终端上执行如下命令:pythontest.py,在屏幕上同样能看到该程序的运行结果,如图所示。二、Python基本概念和语法(二)Python的基础语法标识符Python的标识符由字母、数字、下划线组成。标识符可以包括英文、数字以及下划线(_)的任何组合,但不能以数字开头。Python的标识符是区分大小写的。以下划线开头的标识符具有特殊意义。以单下划线开头_foo的标识符代表不能直接访问的类属性,需通过类提供的接口进行访问,并且不能用fromxxximport*来导入。以双下划线开头的__foo代表类的私有成员。以双下划线开头和结尾的__foo__是Python中特殊方法的专用标识,如__init__()代表类的构造函数。二、Python基本概念和语法(二)Python的基础语法缩进缩进的空白字符数是可变的,但是所有代码块语句必须包含相同的缩进空白字符数(空格或Tab),这个必须严格执行,否则会发生如下错误:IndentationError:unindentdoesnotmatchanyouterind

entationlevelIndentationError:unexpectedindentPython对格式要求非常严格。在Python的代码块中必须使用相同数目的行首缩进空白字符。建议在每个缩进层次使用单个制表符或两个空格或四个空格,切记不能混用。注释Python注释分为单行注释和多行注释。单行注释采用#开头。注释可以在语句或表达式行末。多行注释使用三个单引号'''或三个双引号"""。二、Python基本概念和语法(三)变量变量是存储在内存中的值,基于变量的数据类型,解释器会为它分配指定的内存,并决定什么数据可以被存储在该内存区域中。因此,变量可以分为不同的数据类型,可以是整数,小数或字符等。与C++等语言不同,Python的变量在赋值时创建,不需要事先进行类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。等号”=“用来给变量赋值,等号的左边是一个变量名,等号的右边则是存储在该变量中的值,例如:二、Python基本概念和语法(三)变量Numbers(数字)是表示数值的数据类型。支持四种不同的数字类型。01String(字符串)由数字、字母、下划线组成的一串字符。是表示文本的数据类型。02List(列表)是使用最频繁的数据类型。可以完成大多数集合类的数据结构实现。03Tuple(元组)类似于List,用()标识。内部元素之间用逗号隔开。不能二次赋值,相当于只读列表。04Dictionary(字典)是Python语言除List以外最灵活的内置数据结构类型。05二、Python基本概念和语法(四)运算符运算符是一种告诉解释器执行特定的数学或逻辑操作的符号。Python内置了丰富的运算符,并提供了以下类型的运算符:1)算术运算符:+(加)、—(减)、*(乘)、/(除)、%(模)、**(幂)、//(取整除)2)比较运算符:=(等于)、!=(不等于)、>(大于)、<(小于)、>=(大等于)、<=(小等于)3)赋值运算符:=(简单赋值)、+=(加且赋值)、-=(减且赋值)、*=(乘且赋值)、/=(除且赋值)、%/(模且赋值)、**=(幂且赋值)、//=(取整除且赋值)4)位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(二进制左移)、>>(二进制右移)5)逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)6)成员运算符:in(如果在指定的序列中找到值返回True,否则返回False)、notin(如果在指定的序列中没有找到值返回True,否则返回False)7)身份运算符:is(判断两个标识符是不是引用自同一个对象)、isnot(是判断两个标识符是不是引用自不同对象)二、Python基本概念和语法(五)控制语句条件语句if语句循环语句for循环while循环循环控制语句二、Python基本概念和语法(五)控制语句条件语句if语句if语句用于条件语句的判断和执行:if判断条件:执行语句……else:执行语句……当需要判断多种情况时,可以使用以下形式:if判断条件1:执行语句1……elif判断条件2:执行语句2……elif判断条件3:执行语句3……else:174执行语句4……其中“判断条件”成立时,则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。当“判断条件”不成立时,执行else后面的执行语句。由于python并不支持switch语句,所以多个条件判断,只能用elif来实现。如果需要多个条件同时判断时,可以使用逻辑运算符进行条件组合判断。二、Python基本概念和语法(五)控制语句for循环可以遍历任何序列的项目,如一个列表或者一个字符串:foriterating_varinsequence:statements(s)以下是示例代码片段:forletterin'Python':print("当前字母:%s"%letter)该代码片段将逐行输出字符串Python的每一个字符。while语句用于循环执行程序,即在满足某种条件时,循环执行某段代码:while判断条件(condition):执行语句(statements)……执行语句可以是单个语句或语句块,当判断条件为False时,循环结束。count=0while(count<9):print'Thecountis:',countcount=count+1该代码片段将逐行输出0到8这几个数。循环控制语句可以更改循环体语句执行的顺序:break:在语句块执行过程中终止循环,并且跳出整个循环。continue:在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。pass:空语句,目的是为了保持程序结构的完整性。循环语句for循环while循环循环控制语句二、Python基本概念和语法(六)输入输出01标准输出函数print是最简单的标准输出函数,可以接受零个或多个用逗号隔开的表达式作为参数。该函数把参数转换成一个字符串表达式,并将结果写到标准输出如:Print“你好,Python”

屏幕上将会显示“你好,Python”。02键盘输入函数Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。(1)raw_input(2)input03文件读写(1)打开文件:在访问文件前,必须使用open()函数打开该文件,创建一个file对象,然后才能进行后续的文件访问操作。(2)关闭文件:完成所有的文件访问操作后,调用close()函数关闭该文件是个很好的习惯。close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。(3)读文件:read()方法从一个打开的文件中读取一个字符串。需要注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。(4)写文件:write()方法可将任何字符串写入一个打开的文件。需要注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。(5)文件定位:tell()方法返回文件当前的读写位置,seek(offset[,from])方法改变当前文件的读写位置异常是Python对象,表示一个错误事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,Python无法正常处理程序时就会抛出一个异常。当Python脚本发生异常时,我们需要捕获并处理它,否则程序会终止执行。在Python中,可以使用try/except语句来捕获并处理异常。二、Python基本概念和语法(七)异常处理try:<语句块>#运行正常代码except<异常1>:<语句块1>#如果在try部分引发了异常1except<异常2>:<语句块2>#如果引发了异常2else:<语句块3>#如果没有异常发生二、Python基本概念和语法(七)异常处理以下是示例代码片段:try: fh=open("testfile","w") fh.write("这是一个测试文件,用于测试异常")exceptIOError: print"错误:没有找到文件或写文件失败“else: print"内容写入文件成功" fh.close()如果文件访问过程中出现错误,系统将捕获该异常,并在屏幕上显示"错误:没有找到文件或写文件失败"提示信息。如果文件访问成功,系统将会在屏幕上显示"内容写入文件成功"提示信息。二、Python基本概念和语法(七)异常处理BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception常规错误的基类StopIteration迭代器没有更多的值GeneratorExit生成器(generator)发生异常来通知退出StandardError所有的内建标准异常的基类ArithmeticError所有数值计算错误的基类FloatingPointError浮点计算错误OverflowError数值运算超出最大限制ZeroDivisionError除(或取模)零(所有数据类型)AssertionError断言语句失败AttributeError对象没有这个属性EOFError没有内建输入,到达EOF标记EnvironmentError操作系统错误的基类IOError输入/输出操作失败OSError操作系统错误WindowsError系统调用失败ImportError导入模块/对象失败LookupError无效数据查询的基类二、Python基本概念和语法(七)异常处理IndexError序列中没有此索引(index)KeyError映射中没有这个键MemoryError内存溢出错误(对于Python解释器不是致命的)NameError未声明/初始化对象(没有属性)UnboundLoca

温馨提示

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

评论

0/150

提交评论