《人工智能概论-面向通识课程》全套教学课件_第1页
《人工智能概论-面向通识课程》全套教学课件_第2页
《人工智能概论-面向通识课程》全套教学课件_第3页
《人工智能概论-面向通识课程》全套教学课件_第4页
《人工智能概论-面向通识课程》全套教学课件_第5页
已阅读5页,还剩487页未读, 继续免费阅读

下载本文档

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

文档简介

第1章

绪论第2章

经典人工智能及数学基础第3章

人工智能编程基础第4章

机器学习第5章

人工神经网络与深度学习第6章

人工智能应用第7章

新一代人工智能技术全套可编辑PPT课件

本课件是可编辑的正常PPT课件第1章绪论主讲人本课件是可编辑的正常PPT课件1.1人工智能的概念1.2人工智能的发展简史1.3人工智能发展方向1.4人工智能的研究内容和研究方法1.5本章小结本课件是可编辑的正常PPT课件Chapter1绪论Section1人工智能的概念本课件是可编辑的正常PPT课件迄今为止,人工智能尚无严格意义上的精确定义。它是计算机科学的一个分支,试图通过了解智能的本质,产生出新的与人类智能相似的智能机器。▶️“人工”的概念:本质指向人类的活动或创造。▶️“人工”的哲学维度:人类创造的本质(技术伦理:AI是工具还是主体?)人工智能的定义本课件是可编辑的正常PPT课件迄今为止,人工智能尚无严格意义上的精确定义。它是计算机科学的一个分支,试图通过了解智能的本质,产生出新的与人类智能相似的智能机器。▶️“智能”的概念:🔹关联到思维的运作、意识的觉醒以及自我的认知,构成智能的多维度本质。🔹智能是高等生物解决复杂问题的基础,是高等生命智慧的体现。🔹智能高低表现为理解力、想象力和感知力,其产生的基本要素包括记忆的存储、加工整理以及提取再现。▶️“智能”的多维性:思维(逻辑推理)➔意识(主观体验)➔自我认知(主体性)人工智能的定义本课件是可编辑的正常PPT课件🔑学习的本质:记忆与感知结合的过程。学习是对新的知识概念进行记忆,在感知的基础上去理解知识的含义,最后明白并记住了知识点。🔑思考的本质:想象力的扩展与运用。思考是对记忆信息的理解、分析、加工整理、整合创造过程。🔑人类智慧的形成:基于记忆功能储存基础信息,借助感知系统理解明白信息,通过想象分析处理信息并且整理创造信息。🔑机器学习的启示:让机器像人类一样学习和思考是一条可行之路。人类智能的核心要素:学习与思考本课件是可编辑的正常PPT课件科学定义:人工智能是研究和开发用于模拟、延伸和扩展人的智能的理论、方法、技术以及应用系统的一门跨领域跨学科的技术科学。跨学科性:强调从事人工智能工作的人必须懂得计算机知识、心理学和哲学,不同学科在人工智能研究中的交叉融合,如计算机科学中的算法设计、心理学中的认知模型、哲学中对意识和智能的思考等。人工智能的科学定义与范畴本课件是可编辑的正常PPT课件✅模拟/延伸人类智能的跨学科科学(计算机+心理+哲学)✅使机器胜任复杂任务(如决策、语言理解、视觉识别)✅共识与争议:▶️共识:AI是“类人智能”技术▶️争议:机器能否拥有意识?🔹你认为AI的“智能”与人类智能的本质区别是什么?学科定位本课件是可编辑的正常PPT课件Chapter1绪论Section2人工智能的发展简史本课件是可编辑的正常PPT课件图灵测试(1950):艾伦·图灵判断一台机器是否具有智能起源与奠基(1950-1960s)图1-1图灵的自问自答本课件是可编辑的正常PPT课件达特茅斯会议(1956):麦卡锡提出"AI"术语符号主义学派诞生(vs.维纳控制论)

起源与奠基(1950-1960s)图1-21958年McCathy和他的小伙伴们在达特茅斯学院本课件是可编辑的正常PPT课件技术里程碑:奥利弗·萨尔夫瑞德研制出第一个字符识别程序(1956年)阿瑟·萨缪尔研制具有学习功能的跳棋程序(1959)詹姆斯·斯拉格发表SAINT符号积分系统(1963)起源与奠基(1950-1960s)本课件是可编辑的正常PPT课件技术瓶颈计算机性能不足程序通用性差缺乏大规模数据莱特希尔报告(1973):批评AI目标不切实际第一次低谷与反思(1970s)本课件是可编辑的正常PPT课件关键技术Shakey机器人(1968)专家系统XCON(1980s)问题暴露应用领域狭窄知识获取困难缺乏常识性知识应用突破与第二次寒冬(1980s-1990s)本课件是可编辑的正常PPT课件神经网络技术逐步发展:反向传播算法(1974)卷积神经网络(1980)支持向量机网络(1995)长短期记忆网络(1997)“深蓝”战胜国际象棋世界冠军卡斯帕罗夫(1997)平稳发展与关键里程碑(1990s-2000s)本课件是可编辑的正常PPT课件深度学习突破:Hinton的深度学习算法(2006)AlphaGo战胜李世石(2016)AlphaGoZero自学成才(2017)技术驱动云计算、大数据、物联网GPU和AI芯片算力提升深度学习与爆发式增长(2010s至今)本课件是可编辑的正常PPT课件政策支持:2017年入选“中国媒体十大流行语”2021年《新一代人工智能伦理规范》发布企业布局百度、阿里、腾讯等互联网企业未来趋势自然语言处理(NLP)爆发式增长大语言模型时代中国AI发展与未来展望本课件是可编辑的正常PPT课件Chapter1绪论Section3人工智能发展方向本课件是可编辑的正常PPT课件人工智能领域研究的重点是深度学习、计算机视觉、自然语言处理、跨媒体分析推理、自适应学习、群体智能、自主无人系统、智能芯片和脑机接口等关键技术。人工智能的产业链条分为三个层次,即基础层、技术层、应用层。基础层包括:芯片、大数据、算法系统、网络等多项基础设施,为人工智能产业奠定网络、算法、硬件铺设、数据获取等基础。技术层包括:计算机视觉、语音语义识别、机器学习、知识图谱等。应用层包括:金融、安防、智能家居、医疗、机器人、智能驾驶、新零售等。人工智能发展方向本课件是可编辑的正常PPT课件人工智能发展方向人工智能的产业链条应用层技术层基础层金融安防智能家居医疗智能机器人智能驾驶新零售计算机视觉语音语义识别机器学习知识图谱芯片大数据算法系统网络通用技术领域技术产品服务无人机场景应用本课件是可编辑的正常PPT课件Chapter1绪论Section4人工智能的研究内容和研究方法本课件是可编辑的正常PPT课件人工智能已构成信息技术领域的一个重要学科。研究的是如何使计算机具有智能或利用计算机实现智能的理论、方法和技术。属于计算机科学技术、信息处理和自动化技术的前沿领域。涉及智能科学、认知科学、心理科学、人脑及神经科学、生命科学、语言学、逻辑学、行为科学、教育科学、系统科学、数理科学、控制论、哲学、统计学乃至经济学等众多学科领域,是一门综合性的交叉学科和边缘学科。1.人工智能的学科范畴本课件是可编辑的正常PPT课件弱人工智能:让机器看起来像是人所表现的智能,或模拟人的各种能力的智能。当前研究的主要内容绝大部分均属于弱人工智能。(1)模拟人的感知能力,主要研究内容为计算机视觉(ComputerVision,CV)、自动语音识别(AutomaticSpeechRecognition,ASR)等等;(2)模拟人的学习能力,主要内容包括监督学习(SupervisedLearning)、弱监督学习(Weakly-SupervisedLearning)、无监督学习(UnsupervisedLearning)和强化学习(ReinforcementLearning)等;(3)模拟人的认知能力,主要内容涵盖自然语言处理(NationalLanguageProcessing,NLP)、知识表示(KnowledgePresentation)、知识获取(KnowledgeAcquisition)、知识推理、专家系统、规划以及决策等。2.人工智能的分类及研究内容本课件是可编辑的正常PPT课件强人工智能:上个世纪八十年代由约翰·罗杰斯·希尔勒提出。认为计算机本身就是有思维的。强人工智能分两类:▶️类人的人工智能:机器的思考和推理就像人的思维一样。▶️非类人的人工智能:机器产生了和人完全不一样的知觉和意识,使用和人完全不一样的推理方式。强人工智能要解决的问题是“人工智能完备”或“人工智能困境”。2.人工智能的分类及研究内容本课件是可编辑的正常PPT课件人工智能学科的研究策略是先部分或某种程度地实现机器的智能,并运用智能技术解决各种实际问题特别是工程问题,逐步扩展和不断延伸人的智能,逐步实现智能化。心理模拟,符号推演:以智能行为的心理模型为依据,将问题或知识表示成某种逻辑网络。采用符号推演的方法,模拟人脑的逻辑思维过程,实现人工智能。形成了符号主义学派。生理模拟,神经计算:从人脑的生理层面,从工作机理和微观结构入手。采用数值计算的方法,以智能行为的生理模型为依据,模拟脑神经的工作过程,实现人工智能。形成了以人工神经网络(ArtificialNeuralNetwork,ANN)为特征的连接主义学派(又称仿生学派、生理学派)。3. 人工智能的研究方法和策略本课件是可编辑的正常PPT课件(3)行为模拟,控制进化:基于感知-行为模型的研究途径和方法。模拟人和动物在与环境的交互、控制过程中的智能活动和行为特性来研究和实现人工智能。强调智能系统与环境的交互,智能行为可以不需要知识,即无表示无推理的智能,而通过与环境交互实现进化。是行为主义流派的特征。(4)群体模拟,仿生计算:模拟生物群落的群体智能行为而实现人工智能的方法。模拟生物种群有性繁殖、自然选择现象的遗传算法,发展为进化计算。模拟蚂蚁群体觅食活动过程的蚁群算法。模拟鸟类飞翔的粒群算法等。统称为仿生计算方法,成果可直接付诸应用,解决工程中的实际问题。3. 人工智能的研究方法和策略本课件是可编辑的正常PPT课件(5)自然计算:模拟自然智能的方法,如“模拟退火算法”。还有量子聚类算法、DNA分子计算方法等。是传统计算的扩展,也是自然科学和计算科学交叉产生的研究领域。(6)原理分析,数学建模:通过对智能本质和原理的分析,直接使用某种数学方法来建立智能行为模型的方法。如概率统计原理(尤其如贝叶斯定理)处理不确定性信息和知识,建立统计模式识别、统计机器学习和不确定性推理的一系列原理方法。又如采用数学中距离、空间、函数、变换等概念和方法实现几何分类、支持向量机等模式识别和机器学习的原理和方法。3. 人工智能的研究方法和策略本课件是可编辑的正常PPT课件Chapter1绪论Section5本章小结本课件是可编辑的正常PPT课件总结从人工智能的概念出发,按照时间线索,分段回顾了人工智能跌宕起伏的发展沿革和演进历程。阐述了人工智能目前研究方向的重点为深度学习、计算机视觉、自然语言处理、跨媒体分析推理、自适应学习、群体智能、自主无人系统、智能芯片和脑机接口简要介绍了细分领域,说明了人工智能产业链条在基础层、技术层和应用层三个层次下的内容。通过弱人工智能和强人工智能的分类,引出了人工智能研究的基本内容。简要介绍了符号主义学派、连接主义学派、行为主义学派及其他研究方法的特点。本课件是可编辑的正常PPT课件THEEND!本课件是可编辑的正常PPT课件第2章经典人工智能及数学基础主讲人本课件是可编辑的正常PPT课件2.1经典人工智能的研究内容2.2经典人工智能的研究目标与研究路径2.3数学基础2.4本章小结本课件是可编辑的正常PPT课件Chapter2经典人工智能及数学基础Section1经典人工智能的研究内容本课件是可编辑的正常PPT课件▶️早期探索:从最初的问题求解程序起步,开启了人工智能的探索之旅。▶️范式转变:经历了从人工神经网络和人工生命的研究,到符号计算、神经计算和进化计算的倡导与实施。▶️范式竞争:符号主义、联结主义、行为主义三大工作范式相互竞争与转换,根源在于“智能的本质就是计算”这一基石受到挑战。▶️思维与计算:思维即计算,探究、解释、理解智能的过程,通过认知模型到算法再到程序的转化,实现机器的智能行为。人工智能的发展脉络本课件是可编辑的正常PPT课件经典人工智能与现代人工智能对比对比维度经典人工智能现代人工智能学习方式基于知识的演绎学习(如归结原理、谓词演算、启发式搜索),由上而下推理;基于案例的归纳学习(利用人工神经网络模型,如深度学习、强化学习),由下向上完成分类、识别等传承学习、自主学习、有监督学习、无监督学习等,与环境交互认知习得知识主要分支无明确主要分支,聚焦于解决问题求解、博弈和谓词逻辑等问题机器学习、深度学习、遗传算法和强化学习,解决分类、回归、聚类、关联和生成等问题技术特点基于符号推理、白盒推理、小样本学习多种学习范式结合,依赖大量数据和算力知识注入方式一次性设计,强制集中性注入专门领域的计算智能通过与环境交互逐步习得知识本课件是可编辑的正常PPT课件▶️基于知识的演绎学习:🔹归结原理:一种重要的定理证明方法,通过将前提和结论转化为子句集,利用归结策略进行推理,最终得出结论。🔹谓词演算:一种形式化的逻辑语言,用于描述和推理关于对象及其属性的知识,是经典人工智能中知识表示和推理的重要工具。🔹启发式搜索:在搜索过程中利用启发式信息来引导搜索方向,提高搜索效率,常用于解决复杂的问题求解任务。🔹应用场景:符号问题求解、定理证明和数值计算等。经典人工智能的核心研究内容本课件是可编辑的正常PPT课件▶️基于案例的归纳学习:🔹人工神经网络模型:模拟人脑神经元网络的结构和功能,通过调整神经元之间的连接权重来实现学习和推理。🔹深度学习:利用多层神经网络对数据进行特征提取和转换,实现对复杂模式和关系的识别。🔹强化学习:智能体通过与环境进行交互,根据获得的奖励信号来调整自身的行为策略,以最大化长期累积奖励。🔹特点:带有不确定性,需要大量的人工标注数据和算力支持。经典人工智能的核心研究内容本课件是可编辑的正常PPT课件🔑算法成熟高效算法优势:经典人工智能的算法经过长期的发展和完善,比较成熟、可靠并有效。成本对比:相对于现代人工智能方法的复杂且成本高昂,经典人工智能算法在处理某些问题时更为高效。实例说明:在资源受限的环境下,经典人工智能算法能够快速给出解决方案。经典人工智能的重要性本课件是可编辑的正常PPT课件🔑现代人工智能的基础AlphaGo案例:AlphaGo的基础部分依然是博弈算法,这体现了经典人工智能在现代人工智能发展中的重要地位。技术传承:现代人工智能的许多技术和方法都是在经典人工智能的基础上发展而来的,经典人工智能为现代人工智能的研究提供了重要的理论基础和实践经验。🔑白盒推理的优势可解释性:白盒推理能使得学习者知其然更知其所以然,能够清晰地理解推理过程和决策依据。应用价值:在一些对决策过程要求透明、可解释的领域,如医疗诊断、金融风险评估等,白盒推理具有重要的应用价值。经典人工智能的重要性本课件是可编辑的正常PPT课件Chapter2经典人工智能及数学基础Section2经典人工智能的研究目标与研究路径本课件是可编辑的正常PPT课件▶️概念组成:概念名、内涵表示、外延表示▶️数理逻辑:使用人工语言和数学方法,将逻辑应用到数学领域▶️模糊集合论:用于表达经典集合论不能表达的概念内涵

2.2.1概念表示组成部分描述概念名词语,属于符号世界或认知世界内涵表示通过命题表达,反映概念的本质属性外延表示概念的具体实例,由满足内涵的对象构成本课件是可编辑的正常PPT课件人类的智能活动主要是获取并运用知识,作为智能的基础,常见的知识表示方法有:2.2.2知识表示方法描述命题逻辑使用谓词逻辑表达对象关系语义网络通过节点和边表示实体关系框架表示使用框架表示概念属性和关系本体表示形式化知识表示方法,描述领域概念、属性和关系规则表示使用条件-动作对表示知识决策树通过树状结构表示决策过程贝叶斯网络利用概率图模型表示变量概率关系神经网络通过结构和权重隐式表示知识图表示将知识表示为图结构知识图谱结构化语义知识库,存储实体、概念和关系本课件是可编辑的正常PPT课件知识工程(KnowledgeEngineering)是经典人工智能的一个分支,是人工智能的原理和方法,对那些需要专家知识才能解决的应用难题提供求解的手段。▶️定义:涉及知识获取、表示、组织、管理和应用▶️目标:创建模拟人类专家决策和解决问题能力的智能系统▶️发展历程:从理论转向应用,从基于推理转向基于知识2.2.3知识工程本课件是可编辑的正常PPT课件知识图谱(KnowledgeGraph)是一种结构化的语义知识库,它通过图的形式存储和表示实体(Entities)、概念(Concepts)、属性(Attributes)以及它们之间的关系(Relationships)。知识图谱的构建步骤:(1)数据收集:收集相关领域的数据,包括文本、数据库、API等;(2)实体识别:从数据中识别出实体,并进行标准化;(3)关系抽取:确定实体之间的语义关系;(4)属性分配:为实体分配相应的属性;(5)本体构建:设计和构建本体,定义概念、属性和关系的框架;(6)知识融合:整合来自不同数据源的知识;(7)知识推理:利用逻辑和推理规则发现新的知识;(8)知识更新和维护:定期更新知识图谱,修复错误和过时的信息;(9)可视化和查询:提供可视化工具和查询接口,使用户能够探索和检索知识图谱。2.2.4知识图谱本课件是可编辑的正常PPT课件搜索技术是解决问题和做出决策的关键工具。常用的搜索技术如下:2.2.5搜索技术技术描述深度优先搜索沿一条路径尽可能深地搜索广度优先搜索探索所有相邻节点,然后是下一个层次的节点启发式搜索使用启发式函数估计距离,引导搜索A*搜索算法结合实际代价和启发式估计遗传算法通过模拟自然选择的过程来解决优化问题局部搜索从当前解开始,在邻域内搜索更优的解......本课件是可编辑的正常PPT课件群智能算法(SwarmIntelligence,SI)是一类受自然界中动物群体行为启发的算法,这些算法模拟了如蚂蚁、蜜蜂、鱼群和鸟群等生物的集体行为。群智能算法通常具有分布式、自组织和适应性的特点,被广泛应用于优化问题和搜索任务。2.2.6群智能算法方法描述粒子群优化模拟鸟群觅食行为,通过个体(粒子)在搜索空间中的运动来寻找最优解蚁群优化模拟蚂蚁寻找食物的路径选择行为,通过信息素的沉积和挥发来引导搜索过程人工蜂群算法模拟蜜蜂觅食行为,用于解决优化问题鱼群算法模拟鱼群的社会互动来搜索解空间细菌觅食算法模拟细菌在营养梯度中的运动,通过趋化、游走和繁殖等行为来搜索最优解社交蜘蛛算法模拟蜘蛛在构建蜘蛛网时的社会行为,通过合作和竞争来优化问题火烈鸟优化算法通过火烈鸟群体的协作来寻找最优解群体觅食算法模拟不同种类动物的觅食行为,通过群体合作来搜索解空间人工免疫算法模拟人体免疫系统的识别和响应机制,用于模式识别和优化问题......本课件是可编辑的正常PPT课件专家系统是符号主义学派的典型代表,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。▶️定义:具有专门知识和经验的计算机智能程序系统▶️发展历程:初创期(1971年前)成熟期(1971-1977年)黄金期(1978年到20世纪90年代中期)▶️分类:基于规则、基于框架、基于案例、基于模型、基于Web的专家系统2.2.7专家系统本课件是可编辑的正常PPT课件专家系统的构成:2.2.7专家系统组成部分描述人机交互界面用户与专家系统进行交互的接口,负责接收用户输入并显示系统输出知识库存储专家系统的知识,包括事实、规则、案例等推理机根据知识库中的知识,通过推理策略进行推理,得出结论解释器对推理过程和结果进行解释,使用户理解系统是如何得出结论的综合数据库存储系统运行过程中的中间数据和结果知识获取负责从专家或其他来源获取知识,并将其转化为系统可用的形式本课件是可编辑的正常PPT课件专家系统的分类:2.2.7专家系统类型描述基于规则的专家系统使用规则来表示知识,通过规则匹配进行推理基于框架的专家系统使用框架来表示知识,框架之间可以嵌套和继承基于案例的专家系统使用案例来表示知识,通过案例匹配和相似度计算进行推理基于模型的专家系统使用数学模型或物理模型来表示知识,通过模型求解进行推理基于Web的专家系统利用Web技术实现专家系统的在线访问和交互本课件是可编辑的正常PPT课件人工智能规划起源于状态空间搜索、定理证明和控制理论的研究,以及机器人技术、调度和其它领域的实际需要。▶️定义:在人工智能领域,规划是指使用算法生成一个逐步的计划或序列,以实现特定目标或一系列目标。▶️重要性:规划是解决问题和决策制定过程中的一个重要环节,特别是在需要考虑多个步骤和长期目标的场景中。▶️起源:20世纪60年代▶️研究基础:状态空间搜索、定理证明、控制理论的研究,以及机器人技术、调度和其它领域的实际需要。2.2.8规划技术本课件是可编辑的正常PPT课件🔑研究任务:问题描述:如何方便、紧凑地表示规划问题问题求解:如何高效地求解规划问题,实际等价于一个搜索问题🔑规划方法:领域限定:针对具体领域专门设计的特定规划方法领域无关:不针对具体领域的通用规划方法可配置规划 :结合领域限定与领域无关特性的规划方法2.2.8规划技术本课件是可编辑的正常PPT课件🔑应用领域:路径规划:如地图寻路导航航空航天:行轨迹规划、任务调度等机器人控制:机器人动作序列规划后勤调度: 物流、运输等资源的优化调度游戏角色设计:游戏角色行为规划系统建模:复杂系统的行为预测与规划军事应用:现代军事实战中的战术规划2.2.8规划技术本课件是可编辑的正常PPT课件Chapter2经典人工智能及数学基础Section3数学基础本课件是可编辑的正常PPT课件数学与人工智能的关系:人工智能三大流派(符号主义、连接主义、行为主义)均依赖数学基础。数学是众多入门及研究人工智能从业者需跨越的门槛,让许多其他行业有志者望而却步。2.3.1人工智能必备的数学基础本课件是可编辑的正常PPT课件2.3.1人工智能必备的数学基础数学领域

简要说明

高等数学(微积分)

研究函数、极限、导数、积分等,为人工智能算法提供理论基础

线性代数

研究向量、矩阵、线性方程组等,在机器学习模型中广泛应用

形式逻辑

研究推理规则和逻辑结构,用于构建人工智能的推理系统

概率论与数理统计

研究随机现象和数据的统计规律,在机器学习的不确定性处理中关键

最优化理论

研究如何找到最优解,是机器学习模型训练的核心问题

组合数学

研究离散对象的组合与排列,在算法设计和分析中有重要作用

矩阵分析

深入研究矩阵的性质和运算,对理解机器学习中的矩阵操作重要

信息论

研究信息的度量、传输和存储,在数据压缩和通信领域应用广泛

博弈论

研究决策主体的行为相互作用,在多智能体系统中有应用离散数学计算机科学和人工智能技术中最基础的数学学科之一,为算法和技术提供模型和解析本课件是可编辑的正常PPT课件▶️高等数学:微积分是机器学习训练模型的基础,通过求导(计算梯度)和积分寻找最优参数。梯度下降算法利用微积分计算损失函数的梯度,更新参数以优化模型,如图所示。应用领域:人工神经网络(ANN)算法优化等。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️线性代数:提供方法将复杂数据结构转换为简单数学形式,用多种概念建立模型。主要用于图像处理、自然语言处理等领域,处理回归、语音识别和机器翻译等问题。向量与矩阵:向量表示数据特征,矩阵用于数据存储和运算。特征值与特征向量:在降维(如PCA)和机器学习模型中重要。线性变换:理解数据在空间中的转换,如图像处理中的旋转、缩放。2.3.2数学学科在人工智能中的功用图像的矩阵表示图像矩阵转化为向量线性变换本课件是可编辑的正常PPT课件▶️矩阵理论:神经网络中矩阵表示输入层、隐藏层和输出层之间的权重和偏置。通过矩阵运算和乘法实现神经网络的训练和预测,根据运算结果对神经网络分类。矩阵分解对处理大规模矩阵和高维数据具有重要意义,可简化计算和存储。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️微积分导数:用于理解函数的变化率,在机器学习中用于梯度下降等优化算法。积分:计算面积、体积等,在概率密度函数和期望计算中有应用。偏导数:处理多元函数,在神经网络等复杂模型中关键。在生物医学领域,微积分数学模型模拟人类健康和疾病的复杂生物学过程。硅模型中使用微分数学方程检验新的力学假设和评估治疗靶点2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️统计学:统计学和概率是数据驱动的基石,为人工智能算法提供基础。论通过数据收集、清洗、分析和建模,发现数据中的隐藏规律,实现预测、分类、聚类等任务。应用领域:数据建模、数据挖掘、机器学习等。▶️概率论:提供理解和处理不确定性和随机性的工具,通过概率概念分析事件发生频率。在人工智能的多个分支中发挥重要作用,如决策树、贝叶斯网络等领域。例如在机器人导航和移动中,使用离散随机变量、连续随机变量和贝叶斯公式等概念。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️信息论:对信息数据中的不确定性、噪声和冗余进行处理,优化传输和存储。应用领域:压缩算法、编码解码算法等。▶️图论:研究节点和边组成的网络结构,为处理和分析复杂关系和数据结构提供工具。应用领域:社交网络分析、路径规划、知识图谱、推荐系统等。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️最优化理论:提高算法效率、优化资源配置、增强机器学习模型表现等。通过设计和应用高效的最优化算法,提高机器学习模型训练的速度和质量。应用领域:线性与非线性规划等。▶️离散数学:研究离散对象及其关系,为人工智能算法和技术提供数学模型和算法解析。常用领域:图论、组合优化等。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️形式逻辑:理想的人工智能需要抽象意义的学习、推理和归纳能力,形式逻辑是其基础。作为知识表示的方法之一,与数据结构和处理算法共同构成完整的知识表示体系。提供从已有知识获取新知识的推理工具,成为人工智能最合适的逻辑工具。▶️数理统计:着重研究未知分布的随机变量,是逆向的概率论。对于人工智能而言,能够研究分析未知分布的随机变量非常重要。2.3.2数学学科在人工智能中的功用本课件是可编辑的正常PPT课件▶️理论基础和方法论指导:人工智能问题分为搜索问题和表示问题,遵循这两类问题的是相互关联的模型和工具,非常数学化。数学为人工智能提供数学工具和思维框架,实现智能决策和推断能力。用数学各个分支的思想和策略构建人工智能模型。2.3.3数学在人工智能中的支撑作用本课件是可编辑的正常PPT课件▶️算法和计算方法:着重研究未知分布的随机变量,是逆向的概率论。对于人工智能而言,能够研究分析未知分布的随机变量非常重要。▶️推理和决策的基础:数学中的逻辑学和推理理论为人工智能提供思维模型和推断方法,实现智能决策和推断能力。数学的推理方法为人工智能中的自动推理和证明提供理论基础和算法支持。2.3.3数学在人工智能中的支撑作用本课件是可编辑的正常PPT课件▶️具体应用:在图像和语音识别中,提供信号处理和模式识别的方法,提取有用信息。在自然语言处理中,提供语言模型和文本分析方法。在机器人技术中,提供运动规划和控制的方法,实现灵活和高效的运动能力。2.3.3数学在人工智能中的支撑作用本课件是可编辑的正常PPT课件Chapter2经典人工智能及数学基础Section4本章小结本课件是可编辑的正常PPT课件数学对人工智能技术发展的作用至关重要,没有数学的支持,人工智能技术无法取得现在的成就和发展。线性代数、微积分、概率论等是人工智能蓬勃发展的主要数学分支。数学为人工智能提供了理论基础、方法论指导、算法和计算方法、推理和决策基础,以及具体应用中的数学工具。随着数学理论的不断深入和发展,人工智能技术也将不断地发展和完善。深入学习数学知识,为人工智能的发展贡献自己的力量。总结与展望本课件是可编辑的正常PPT课件THEEND!本课件是可编辑的正常PPT课件第3章人工智能编程基础主讲人本课件是可编辑的正常PPT课件3.1人工智能编程环境3.2Anaconda环境的搭建3.3Python语法基础3.4Python模块与包本课件是可编辑的正常PPT课件Chapter3人工智能编程基础Section1人工智能编程环境本课件是可编辑的正常PPT课件Python代码编辑环境主流工具:Anaconda、PyCharm、VSCode、SublimeText工具特点:Anaconda:科学计算和数据科学一站式平台PyCharm:专业PythonIDE,提供丰富的编码辅助和项目管理工具VSCode:轻量级、高度可定制,丰富的插件生态SublimeText:轻量、快速启动,强大的文本处理能力本课件是可编辑的正常PPT课件Chapter3人工智能编程基础Section2Anaconda

环境的搭建

本课件是可编辑的正常PPT课件3.2.1Windows下Anaconda环境的搭建本课件是可编辑的正常PPT课件Windows

下Anaconda

环境的搭建下载页面Anaconda安装窗口本课件是可编辑的正常PPT课件Windows

下Anaconda

环境的搭建Anaconda权限窗口Anaconda安装路径本课件是可编辑的正常PPT课件Windows

下Anaconda

环境的搭建安装进度安装完成本课件是可编辑的正常PPT课件3.2.2macOS下Anaconda环境的搭建本课件是可编辑的正常PPT课件下载Anaconda:访问Anaconda官方网站。选择macOS版本(文件扩展名为pkg)。单击“安装”按钮开始下载。macOS下Anaconda环境的搭建本课件是可编辑的正常PPT课件遇到问题:安装时提示“无法打开,因为它不是从AppStore下载的”。解决方案:打开“系统设置”。选择“隐私与安全性”。将“允许从以下位置下载的应用”改为“AppStore和被认可的开发者”。重新尝试安装Anaconda,按照默认安装引导器指引完成安装。macOS下Anaconda环境的搭建本课件是可编辑的正常PPT课件配置环境变量步骤:打开终端(Terminal)。输入命令:nano~/.bash_profile把conda的安装路径加到代码里面,安装时如果没有更改安装路径,则Anaconda安装在用户目录下。

更改完成,保存之后,激活环境变量命令:source~/.bash_profile测试环境是否安装成功的命令:

condalistmacOS下Anaconda环境的搭建修改环境变量本课件是可编辑的正常PPT课件3.2.3Linux下Anaconda环境的搭建本课件是可编辑的正常PPT课件Linux下Anaconda环境的搭建使用sh命令安装Anaconda

本课件是可编辑的正常PPT课件Linux下Anaconda环境的搭建阅读License之后按回车键确认安装路径的安装过程

Python命令行

本课件是可编辑的正常PPT课件Chapter3人工智能编程基础Section3Python语法基础

本课件是可编辑的正常PPT课件3.3.1Python语言的特点本课件是可编辑的正常PPT课件自由开放:源代码与社区理念高级语言:专注于问题解决跨平台性:一次编写,到处运行解释性:无需编译,直接运行面向对象:强大且易理解的编程范式可扩展性:胶水语言,融合多语言优势可嵌入性:为C/C++程序添加脚本功能丰富的库:庞大的标准库外,还有很多高质量的库。Python语言特点本课件是可编辑的正常PPT课件3.3.2编程第一步本课件是可编辑的正常PPT课件

如何在Python中运行一个传统的“HelloPythonWorld”的程序呢?

编程第一步本课件是可编辑的正常PPT课件3.3.3Python基本语法本课件是可编辑的正常PPT课件

Python语言通常一行一条语句。

顶格书写,前面不能有多余空格,因为Python是通过缩进来组织代码的。

当复合语句的第一行以冒号结尾时,其后面行的内容要缩进一个制表符(Tab键,表示4个空格)。

如果语句太长,可以使用反斜杠(\)来换行。

分号(;)可以用于一行书写多条语句,但不建议使用,因为不便于程序的阅读。

Python基本语法:语句书写规则本课件是可编辑的正常PPT课件注释一种辅助性文字,用于对程序工作过程的说明,在程序运行时会被自动忽略。

单行注释:使用‘#’表示单行注释。

多行注释:可以使用三引号对(单、双引号都可以,但不能混用)。Python基本语法:注释本课件是可编辑的正常PPT课件Python基本语法:注释多行注释示例:defpowered(x,y):"""计算并返回a的b次幂,其中a和b都是正整数。三引号实现多行注释"""returnx**y本课件是可编辑的正常PPT课件Python基本语法:标识符标识符是用来为常量、变量、函数、类、模块等对象命名的一种自定义名称。命名规则如下:

标识符可以由字母、数字、汉字和下画线组成,但不能用数字开头命名,如ab、ab123、ab_123等都是合法的Python标识符,2ab、$abc

则不是合法的Python标识符。

标识符区分英文字母大小写。Python区分英文字母大小写(又称为英文字母大小写敏感),所以Hello和hello是不同的标识符,可以标识两个不同的量。

不能使用Python的关键字做标识符。本课件是可编辑的正常PPT课件Python基本语法:关键字关键字:具有特殊功能和含义的标识符。PythonShell查询

本课件是可编辑的正常PPT课件3.3.4基本数据类型本课件是可编辑的正常PPT课件

数字型(整型、浮点型、复数类型)

文本型(字符串)

布尔型

组合型(列表、元组、集合、字典)本课件是可编辑的正常PPT课件整型定义:用于表示整数的数据类型。进制表示:十进制:默认表示方式,如123。二进制:以0b开头,如0b1010。八进制:以0o开头,如0o407。十六进制:以0x开头,如0x4e。基本数据类型:整型(int)本课件是可编辑的正常PPT课件浮点型定义:用于表示带有小数部分的数字的数据类型。表示方法:小数表示:如24.0、3.14。科学记数法:如3e2(表示300)。注意:浮点数必须带有小数部分,即使小数部分为0。基本数据类型:浮点型(float)本课件是可编辑的正常PPT课件复数类型定义:用于表示复数的数据类型,由实数部分和虚数部分构成。表示方法:如4.2+3.6j,其中4.2是实数部分,3.6j是虚数部分。基本数据类型:复数类型(complex)本课件是可编辑的正常PPT课件基本数据类型:字符串(string)

字符串定义:一串字符的序列,可以包含英文字符、汉字等。

表示方法:单引号:如'我是单引号指定的字符串'。双引号:如"What'syourname?"或"双引号指定的字符串"。三引号:多用于多行字符串,大小写敏感:英文字符串区分大小写,如abc和Abc是两个不同的字符串。不可变性:字符串一旦创建,就不能再改变它,若要改变,就得重建。本课件是可编辑的正常PPT课件

布尔型定义:用于表示逻辑真假的类型,只有两个值:True和False。

首字母大写:注意True和False的首字母必须大写。

布尔表达式:以True和False为值的表达式称为布尔表达式,用于表示某种条件是否成立。

应用场景:在条件判断、选择和循环控制中必不可少。基本数据类型:布尔类型(bool)

本课件是可编辑的正常PPT课件3.3.5变量本课件是可编辑的正常PPT课件在Python中,变量是指可以改变的量。变量的名称只要见名知意即可,不需要提前说明它是什么数据类型,赋予它什么数据,它就是什么数据类型,因此Python又被称为动态语言。给变量赋值的符号为“=”,称为赋值运算符,每个变量在使用前都必须先赋值,其基本形式如下:变量=表达式变量本课件是可编辑的正常PPT课件

由于变量的值是可以变化的,因此变量的类型也就随着赋予不同的值而改变。在给变量赋值时,系统会自动为该变量分配内存空间,我们不需要关心它放在哪里。

id()函数:来显示内存地址。

type()函数:用于获取任何对象的数据类型。当将一个对象作为参数传递给type()函数时,它会返回该对象的类型。变量本课件是可编辑的正常PPT课件编写、保存和运行Python程序的标准步骤如下:(1)打开IDE环境(Pycharm或VScode或SublimeText或Spyder)。(2)根据给定的文件名创建新文件。(3)输入下面案例中给出的代码。(4)按Ctrl+S组合键保存(或在菜单中选择保存文件命令),菜单中选择“运行”命令来运行当前文件。也可以通过命令行,输入“python文件名.py”来运行程序。变量本课件是可编辑的正常PPT课件【例3-1】使用变量与字面常量。#文件名:my_var.pynum=5print(num)num=num+1print(num)s='''Thisisamulti-linestring.Thisisthesecondline.'''print(s)56Thisisamulti-linestring.Thisisthesecondline.输出结果如下所示:变量本课件是可编辑的正常PPT课件3.3.6运算符与表达式本课件是可编辑的正常PPT课件

大多数Python语句都包含表达式(Expression)。一个表达式的简单例子如5+6。表达式可以拆分成运算符(Operators)与操作数(Operands)。运算符是进行某种操作的符号,如加(+)、减(-)、乘(*)、除(/)等,其操作的对象是数据,这些数据就被称为操作数。在上面的例子中5和6就是加法操作符(+)的操作数。本课件是可编辑的正常PPT课件

Python中的算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。运算符与表达式:算术运算符算术运算符及其用法本课件是可编辑的正常PPT课件运算符与表达式:赋值运算符赋值运算符用于给变量赋值或更新变量的值。需要特别说明的是,除第一个“=”赋值运算符外,其他将运算符和赋值运算符结合起来的赋值语句称为复合赋值语句,复合赋值语句可以简化代码,提高书写代码的效率。必赋值运算符和复合赋值运算符本课件是可编辑的正常PPT课件运算符与表达式:逻辑运算符逻辑运算符用于组合条件语句,以便在满足一个或多个条件时执行代码块。逻辑运算真值表本课件是可编辑的正常PPT课件运算符与表达式:运算符优先级Python运算符的优先级决定了表达式中各个部分的执行顺序。当表达式包含多个运算符时,Python会按照预定的优先级从高到低的顺序进行计算。如果运算符具有相同的优先级,那么按照从左到右的顺序进行计算。运算符优先级本课件是可编辑的正常PPT课件3.3.7控制流本课件是可编辑的正常PPT课件if语句是Python中用于进行条件判断的一种流程控制结构。它用以检查条件:若条件为真(True),则执行一个语句块(称之为if块);若条件为假,则运行另一个语句块(称为else块)。控制流:条件语句ifif

语句执行流程本课件是可编辑的正常PPT课件控制流:条件语句ifif判断条件:

语句块一else:

语句块二当判断条件为True,执行语句块一;反之,执行语句块二这里语句块一和语句块二均有一级缩进,表示隶属于前一条以冒号结尾的语句。同一层次的语句必须要有相同的缩进。本课件是可编辑的正常PPT课件控制流:条件语句if【例3-3】判断用户输入的整数是偶数还是奇数。x=int(input("请输入一个整数给x:"))ifx%2==0:print("x为偶数。")else:print("x为奇数。")输出结果如下:请输入一个整数给x:15x为奇数本课件是可编辑的正常PPT课件控制流:条件语句ifif判断条件一:

语句块一elif判断条件二:

语句块二elif判断条件三:

语句块三...else:语句块四注意:Python中所有出现冒号的地方,表示接下来会有语句块,因此就会缩进。所有的缩进应符合“缩进一致”的原则。本课件是可编辑的正常PPT课件控制流:条件语句if【例3-4】判断数字为正数、负数还是零。x=int(input("请输入一个整数:"))ifx>0:print("您输入的是正数。")elifx<0:print("您输入的是负数。")else:print("您输入的是零。")请输入一个整数:0您输入的是零。输出结果如下:本课件是可编辑的正常PPT课件控制流:循环语句whilewhile循环是在条件为真的前提下重复执行某语句块,直到条件为假才结束执行。while循环语句是循环语句的一种,其同样可以拥有else子句作为可选项。while循环的基本语法如下:while循环条件:

语句块else:

语句块循环语句执行流程本课件是可编辑的正常PPT课件控制流:循环语句while【例3-6】使用while循环语句计算从2到10(包括2和10)之间所有偶数的和。sum=0i=2whilei<=10:sum=sum+ii=i+2print("2到10偶数的和为:",sum)2到10偶数的和为:30输出结果如下:本课件是可编辑的正常PPT课件控制流:循环语句forfor…in语句,其特点是会在一系列对象上进行迭代(Iterates),意思是它会遍历序列中的每一项(在后面的序列Sequences章节中了解其更多内容)。你可以理解所谓的序列就是一系列元素的有序集合,for循环会依次访问序列中的每个元素,并对每个元素执行相应的操作。其语法格式如下:for变量in可迭代对象:

语句块else:

语句块for循环的else部分是可选的。当它存在时,总会在for循环结束后开始执行,除非程序遇到了break语句。本课件是可编辑的正常PPT课件控制流:循环语句for【例3-8】打印整数1~4。foriinrange(1,5):print(i)else:print('Theforloopisover')123输出结果如下:本课件是可编辑的正常PPT课件控制流:循环语句forrange()函数的语法格式如下:range([start,]Stop[,step])range()函数的三个参数分别为:start(起始值,默认为0)、stop(结束值但不生成该值、step(步长,默认为1)。step为可选参数,不给此参数时,默认为1。

本课件是可编辑的正常PPT课件控制流:循环语句(for)【例3-9】使用for语句实现1到10的累加。sum=0foriinrange(1,11):sum=sum+iprint("1到10的累加和为:",sum)输出结果如下。1到10的累加和为:55本课件是可编辑的正常PPT课件控制流:break和continue

break

语句:用以立即中断并终止循环语句的执行,并且跳出到循环体外,即使循环条件仍然成立。有一点尤其需要注意,如果中断了一个for或while循环,任何相应循环中的else块都将不会被执行。

continue

语句:跳过当前循环块中的剩余语句,并继续该循环的下一次迭代。本课件是可编辑的正常PPT课件控制流:break和continuei=0whilei<10:i=i+1ifi==6:#检查i是否等于6,若是则跳过本轮循环体的后面代码continueprint("i=",i)print("Done")i=1i=2i=3i=4i=5i=7i=8i=9i=10Done输出结果如下:【例3-11】用continue语句控制循环的实例。本课件是可编辑的正常PPT课件3.3.8数据结构本课件是可编辑的正常PPT课件

数据结构(DataStructure)是一种将数据组织、存储并聚合起来的结构,即用来存储一系列相关数据的集合。

组合数据类型是由基本数据类型或其他组合数据类型组合而成的复杂数据结构。可以应用于表示一组数据的场合。其中序列对象包括字符串、元组和列表。除序列外的组合数据类型有无序集合和字典类型。本课件是可编辑的正常PPT课件数据结构:列表列表定义:列表是一种用于保存一系列有序项目的集合,由一系列按特定顺序排列的元素组成。你可以创建包含任意元素的列表,例如字母表中的字母、数字0~9、家庭成员姓名,或者任何其他数据。列表特性:一旦创建了一个列表,就可以添加、移除或搜索列表中的元素,因此列表是一种内容可变(Mutable)的数据。创建列表:使用方括号[],并用逗号分隔元素。创建列表:使用方括号

[],并用逗号分隔元素。本课件是可编辑的正常PPT课件数据结构:列表

方法描述添加元素L.append(x)将元素x添加到列表的末尾L.extend(iterable)将可迭代对象(如另一个列表)中的所有元素添加到列表的末尾。L.insert(i,x)在列表的指定位置i插入元素x删除元素L.remove(x)删除列表中第一个值为x的元素L.pop([i])删除索引号为i的元素,默认最后一个L.clear()删除列表中的所有元素,使其变为空列表计数和查找L.count(x)统计x元素在列表中出现的次数L.index(x,start,[stop]])找出列表中x元素第一次出现的索引位置。如果指定了start和stop参数,则只在指定的切片内搜索排序和反转L.sort()对列表中的元素按升序排序L.reverse()将列表中的元素就地反转复制列表L.copy()返回L复制的新列表列表对象常用方法本课件是可编辑的正常PPT课件数据结构:列表【例3-12】列表示例。#这是我的购物列表shoplist=['apple','mango','carrot','banana']print('我有',len(shoplist),'种水果要购买。')print('这几种水果是:',end='')foriteminshoplist:print(item,end='')print('\n我还要买大米。')shoplist.append('rice')print('我的购物清单现在变成了这样:',shoplist)print('把购物清单排序。')shoplist.sort()print('升序排序后的清单:',shoplist)print('第一项要买的物品是:',shoplist[0])olditem=shoplist[0]delshoplist[0]print('我买好了:',olditem)print('我的购物清单现在变成了:',shoplist)我有4种水果要购买。这几种水果是:applemangocarrotbanana我还要买大米。我的购物清单现在变成了这样:['apple','mango','carrot','banana','rice']把购物清单排序。升序排序后的清单:['apple','banana','carrot','mango','rice']第一项要买的物品是:apple我买好了:apple我的购物清单现在变成了:['banana','carrot','mango','rice']输出结果如下:本课件是可编辑的正常PPT课件数据结构:元组

元组定义:元组是一种特殊的列表,用于保存一系列有序项目的集合。

元组特性:不可变性:定义后不能修改其元素。有序性:元素按特定顺序排列。多样性:元素可以是任何数据类型,且元素之间可以没有关系。

创建元组:使用圆括号(),并用逗号分隔元素。本课件是可编辑的正常PPT课件数据结构:元组注意:当给元组dimensions的第一个元素赋值为200时,程序报错。这是因为元组是不可变的,不能通过这种访问单个元素赋值的方式来改变元组。如要改变元组,必须整体改变,重新完整赋值。>>>dimensions=(100,50)#将(100,50)一个二元组赋值给dimensions>>>dimensions[0]#访问dimensions这个二元组的第一个元素100>>>dimensions[1]#访问第二个元素50>>>dimensions[0]=200#更改dimensions元组的第一个元素为200Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'tuple'objectdoesnotsupportitemassignment本课件是可编辑的正常PPT课件数据结构:元组方法描述t.count(x)统计x元素在元组中出现的次数。t.index(x,[start,[stop]])查找元组中x元素首次出现的位置。如果指定了start和stop参数,则只在指定的切片内搜索。元组的常用方法本课件是可编辑的正常PPT课件数据结构:元组【例3-13】元组示例。#圆括号用来指明元组的开始与结束#Python提倡:明了胜过晦涩,显式优于隐式。zoo=('python','elephant','penguin')print('动物园里的动物种类有:',len(zoo))new_zoo='monkey','camel',zooprint('新动物园里的笼子个数:',len(new_zoo))print('新动物园里的所有动物:',new_zoo)print('来自旧动物园的动物:',new_zoo[2])print('旧动物园里的最后一个动物是:',new_zoo[2][2])print('新动物园里的动物个数:',len(new_zoo)-1+len(new_zoo[2]))动物园里的动物种类有:3新动物园里的笼子个数:3新动物园里的所有动物:('monkey','camel',('python','elephant','penguin'))来自旧动物园的动物:('python','elephant','penguin')旧动物园的最后一个动物是:penguin新动物园的动物个数:5输出结果如下:本课件是可编辑的正常PPT课件数据结构:字典

字典定义:字典是一种通过键来查找值的数据组织形式,类似于地址信息簿。

字典特性:键值对:每个元素由键和值组成。唯一性:键必须是唯一的,以确保能准确找到对应的值。无序性:字典不关心元素的顺序。

创建字典:每个元素均由键值对组成,键和值之间用冒号分隔,元素之间以逗号分隔。d={key1:value1,key2:value2,key3:value3...}本课件是可编辑的正常PPT课件数据结构:字典方法描述d.clear()清除字典中所有的键值对d.copy()创建一个具有相同键值对的新字典d.get(key[,default])返回指定键的值,如果键不存在于字典中,返回None,如果提供默认值,则返回默认值d.keys()返回一个可迭代对象,其中包含了字典中所有的键d.values()返回一个可迭代对象,其中包含了字典中所有的值d.items()返回一个可迭代对象,其中包含了字典中所有的键值对。每个键值对都以元组的形式存在d.pop(key)删除指定的键值对,返回指定键对应的值d.update([other])使用另一个字典的键值对来更新当前字典。如果键已经存在,则对应的值会被替换;如果键不存在,则会在当前字典中添加该键值对字典常用方法本课件是可编辑的正常PPT课件数据结构:字典【例3-14】字典示例。#花括号用来指明字典的开始与结束#"ab"是地址(Address)簿(Book)的缩写ab={'Charles':'charles@','Larry':'larry@','Watson':'watz@','Holmes':'holmes@'}print("Charles's邮件地址为:",ab['Charles'])#删除一个键值对delab['Larry']print('\n现在邮件地址簿里有{}个联系方式\n'.format(len(ab)))forname,addressinab.items():print('联系{}AT{}'.format(name,address))#添加一个键值对ab['Guido']='guido@'if'Guido'inab:print("\nGuido's邮件地址为:",ab['Guido'])Charles's邮件地址为:charles@现在邮件地址簿里有3个联系方式联系CharlesATcharles@联系WatsonATwatz@联系HolmesATholmes@Guido's邮件地址为:guido@输出结果如下:本课件是可编辑的正常PPT课件数据结构:序列

序列定义:序列是Python中一种有序的数据集合,包括列表、元组和字符串。

序列特性:有序性:元素按特定顺序排列。可索引:通过索引访问元素。可切片:通过切片获取序列的一部分。

成员测试:使用in和notin表达式检查元素是否在序列中。本课件是可编辑的正常PPT课件数据结构:集合

集合定义:集合是没有顺序的简单对象的聚集,与数学上的集合含义一致。

集合特性:无序性:集合不关心元素的顺序。唯一性:集合中的元素不允许重复。可变性:集合是可变的,可以添加或删除元素。

创建集合:

使用花括号{}。

使用set()函数。本课件是可编辑的正常PPT课件数据结构:集合>>>myset={1,2,3,4,5}#使用花括号产生一个集合>>>secondset=set(['brazil','russia','india'])#使用set()函数>>>'india'insecondsetTrue>>>'usa'insecondsetFalse>>>oneset=secondset.copy()>>>oneset.add('china')>>>oneset.issuperset(secondset)#判断oneset是secondset超集True>>>secondset.remove('russia')#删除secondset中的元素>>>oneset&secondset#或者ersection(oneset){'brazil','india'}本课件是可编辑的正常PPT课件数据结构:字符串

字符串定义:字符串是Python中用于表示和存储文本信息的数据类型。

字符串特性:不可变性:一旦创建,不能更改里面的字符。有序性:字符串是字符的有序序列。多样性:可以包含字母、数字、符号等任意字符。本课件是可编辑的正常PPT课件数据结构:字符串的创建在Python中使用一对单引号(')、一对双引号(")或一对三引号(''')来创建字符串。单引号和双引号标识字符串的用法完全相同,三引号适合多行字符串。另外,如果字符串本身包含表示字符串边界的引号,可以使用不同类型的引号来避免冲突,或者在其前面添加转义字符(\)。本课件是可编辑的正常PPT课件数据结构:字符串的创建>>>s1='HelloPython!'#使用单引号创建字符串>>>s1'HelloPython!'>>>s2="Helloworld!"#使用双引号创建字符串>>>s2'Helloworld!'>>>s3='Shesaid,"Yes"'>>>s3'Shesaid,"Yes"'>>>s4='It\'sfine!'#使用转义字符创建字符串>>>s4"It'sfine!"本课件是可编辑的正常PPT课件数据结构:字符串基本操作操

作描

述s1+s2连接字符串

s1和

s2s*n返回重复

n

次

s

后的字符串s[n]获取字符串

s

中索引号为

n

的字符s[m:n]截取字符串

s

中索引号从

m

到

n−1

的子串s1

in

s判断

s

中是否存在

s1

元素字符串的基本操作本课件是可编辑的正常PPT课件数据结构:字符串基本操作连接和重复使用“+”连接两个字符串,使用“*”重复字符串指定次数。示例如下:>>>s1='Hello'>>>s2='world'>>>s1+s2#连接字符串s1和s2'Helloworld'>>>s='Hello'>>>s*3#字符串s重复3次'HelloHelloHello'本课件是可编辑的正常PPT课件数据结构:字符串基本操作②子串是否在字符串中存在Python中的in运算符(成员运算符)用于判断一个子字符串是否存在于指定字符串中。如果存在则返回True,否则返回False。示例如下:>>>s='python'>>>'on'insTrue本课件是可编辑的正常PPT课件数据结构:字符串基本操作③索引字符串的索引是一种访问字符串中单个字符的方式。字符串是一个序列对象,每个字符都有相应的索引号。Python支持正索引和负索引两种方式,与列表、元组的索引方式一致。正索引:从0开始,即第

温馨提示

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

评论

0/150

提交评论