前言 Python程序设计基础人工智能如互联网浪潮一样,也必将创造一个全新的世界。Python作为最接近人工智能的语言,就好比一把进入人工智能编程之门的钥匙。如今Python是全球最流行的编程语言之一,被各大互联网公司广泛使用,涉及Web开发、数据分析以及人工智能等领域。 作为一种解释型高级语言,Python不但具备交互式、可移植、面向对象的特点且功能广泛适用于多种操作系统,而且有强大的标准库和丰富的工具包。相比其他编程语言而言,它简洁、高效且环保,应用范围越来越广泛。2016年,教育部发布了《大学计算机基础课程教学基本要求》,首次建议将Python语言作为首门程序设计课程,在其推动下,国内各高校逐步开设了Python语言,使之成为教学改革热点。Python代替VB进入教材,Python语言课程化也将成为学生学习的一种趋势。教育界把Python在众多编程语言中的地位提升一个新高度。Python语言作为一门发展了近30年的通用编程语言,语法简单,接近自然语言,是“复杂信息系统时代”最直观的表达工具。使学习者不需要了解计算机底层知识,从而更多关注应用计算机解决问题的思路和方法。 Python是一门简单的语言,是一门语法简单、风格简约且易读的语言,它注重的是如何解决问题而不是编程语言本身的语法和结构。Python语言丢掉了分号以及花括号这些仪式化的东西,使得语法结构更加简洁,代码的可读性显著提高。相较于C、C++和Java等编程语言,Python语言提高了开发者的开发效率,削减了C、C++以及Java语言中一些较为复杂的语法,降低了编程工作的复杂程度。实现相同功能,Python语言所包含的代码量最少,代码行数是其他语言的1/5到1/3。 Python是一种面向对象的语言,它作为一种新兴的编程语言,完全支持面向对象编程。面向对象的程序设计更加接近人类的思维方式,是对现实世界中客观实体进行结构和行为的模拟。Python语言完全支持继承、重载运算符、派生以及多继承,与C++和Java语言相比,它以一种非常强大而简单的方式实现面向对象的编程。 Python是一种跨平台的语言。Python语言具有开源性,它已经被移植到许多平台上。Python程序可以完全不修改直接在主流平台上运行。比如,在Linux和Windows之间移植Python代码,只需要简单地在机器之间复制代码即可。Python还提供了多种可选的独立程序,包括用户图形化界面、数据库接入、基于Web的系统等,甚至包括程序启动和文件夹处理等操作系统接口,不用考虑平台本身的差异性,可直接移植到其他平台上。 如果读者有其他程序设计语言的基础,那么在学习和使用Python的过程中,一定不要把其他语言的编程习惯和风格带到Python中来,因为这样可能会使代码变得冗长。读者应该思考从最简洁的角度出发,去解决问题,这样才更有利于学习Python语言。 Python程序设计基础前言本书内容结构 熟练掌握Python语言基础知识和基本数据结构是解决实际问题的基础。本书用了大量的篇幅介绍Python编程的基础知识,通过示例帮助读者更好地理解和掌握这门语言。每章配有本章小结和课程思政,在家国情怀教育的同时为有能力的读者提供更多的拓展类学习内容,多维度强化自身的学习;并通过计算机名家故事,将学科建设与培养专业人才的教学探索有机地统一起来。 全书共13章,在编写上遵循由易到难、循序渐进的原则,主要内容组织如下。 第1章讲解计算机硬件和程序的知识,初识Python语言,简单介绍了Python的功能,用chaos示例展示了Python语言的“魔法”,拓展了Python版本的选择和安装。 第2章讲解软件开发过程、程序要素、输出语句、赋值语句、循环等基础知识。 第3章讲解数值数据类型,如int型、float型,以及Python内置的数值操作、类型转换和舍入、math库函数使用。 第4章讲解简单的图形编程、图形对象的使用、如何绘制终值、交互式图形的处理,给出了graphics模块参考,该模块提供了类Point、Line、Circle、Oval、Rectangle、Polygon和Text等可绘制对象。 第5章讲解字符串的类型和处理,以及字符串编写编码、解码器,展示了日期转换的程序示例、文件的操作处理等。 第6章讲解函数的功能,加入函数的终值程序、返回值的函数、修改参数的函数。 第7章讲解两路判断和多路判断的实现、异常处理,用判断树、Python等策略来完成“三者最大”的算法设计。 第8章讲解不定循环、交互式循环、文件循环、嵌套循环、布尔值计算和其他常见结构,展示“事件循环”示例。 第9章开发一个短柄壁球比赛的简单模拟,学习一些重要的设计和实现策略,以及伪随机数模拟,介绍了自顶向下和自底向上设计的实现过程,还有其他的设计技术。 第10章展示“多面骰子”程序示例,讲解定义新类,用类处理数据,用projectile类的示例,介绍了几种方法的类,讲述了按钮的创建、骰子类创建。最后详细展示了如何给炮弹示例添加一个更好的界面,实现动画的效果。 第11章讲解列表和数组的操作,可以用列表进行统计,用列表和类来完成设计。通过分析Python计算器的案例,学会设计界面、处理按钮,最后介绍了字典的基础知识。 第12章讲解OOD的过程,包括七步;研究壁球模拟案例,如何开发GUI,讲解了构成面向对象开发的封装、多态和继承。 第13章讲解了错误的处理、调试、单元测试和文档测试。 本书特点 (1) 全面讲解。本书知识点紧凑、覆盖更全面、更深入。 (2) 示例丰富,贴近场景。本书提供了丰富的代码示例,这些示例大多选自工作中的各类场景,力求做到编程场景化,提高解决问题的能力,增加实战操作经验。 (3) 立体化教材的设计。每章都配有教案、PPT、自测题以及微课视频,提供多种教学资源,满足教师教学需要和学生学习需要。 (4) 知识拓展与课程思政。科学技术本身是冰冷的,是广大科学技术者的情感与梦想赋予其温度。“创新是民族的灵魂”,通过计算机名家故事,以社会主义核心价值观为引领,坚持理论与实践相结合,将学科建设与培养国家优秀人才的先进教学探索相统一,引领师生知行合一、扎根中国、放眼世界,积极投身科技强国伟业。 本书适用读者 (1) 零基础的编程爱好者。 (2) Python培训机构的教师和学生。 (3) 本科院校的教师和学生。 (4) 大中专院校或职业技术学校的教师和学生。 致教师 本书配有丰富的教学资源,包括PPT教案、习题、源代码、模拟试题,有需要的教师,请与381844463@qq.com联系。 编者2022年2月