版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章
程序设计概述
导入人生三问:我是谁?来自哪里?去向何方?---------(柏拉图)编程三问:为什么要学编程?-------目的、意义、用途该怎么来学编程?-------基础、路径、方法该选择什么语言?-------C、Java、python主要内容程序设计基础知识计算思维算法与数据结构Python语言的特点Python的下载与安装Python的集成开发环境模块、包与库帮助系统Python的代码规范1.1程序设计基础知识计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个知道问题怎样解决的方法。它采用抽象和分解来完成复杂的任务或设计复杂的系统;它选择合适的方式去陈述一个问题,或者选择合适的方式对一个问题的相关方面建模使其易于处理。简而言之,计算思维主要包括了问题分解,模式识别,抽象,算法这4方面,而算法,是计算思维的核心。【例1-1】求解1+2+3+…+100=?【例1-2】求解12+22+32+…+1002=?【例1-3】求解11+22+33+…+100100=?1.1程序设计基础知识开始sum=0,i=1sum=sum+ii=i+1是否输出sum的值结束i≤100开始sum=0,i=1i≤100sum=sum+i2i=i+1是否输出sum的值结束开始sum=0,i=1i≤100sum=sum+iii=i+1是否输出sum的值结束1.1程序设计基础知识算法是做一件事的完整流程,包括解决思路、方法和步骤。广义的算法有菜谱、乐谱、拳谱等。在算法的设计流程上,遵循以下原则:(1)自顶向下:先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。(2)逐步求精:把复杂问题分解出简单的子问题,对子问题逐步细化。(3)模块化:对子问题进行设计,称为模块化设计。(4)结构化编程:在任何模块中均可由顺序、选择、循环三种基本结构构成。1.1程序设计基础知识【例1-4】百钱百鸡是北魏数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?算法一:穷举法百钱,公鸡最多买20只,母鸡最多买33只。设:公鸡x只,母鸡y只,小鸡z只,则0<x<20,0<y<33,z=100-x-y。利用循环语句对每一种情况进行枚举,得有符合条件的情况,则输出。1.1程序设计基础知识算法二:随机数法分析:百钱,公鸡最多买20只,母鸡最多买33只,小鸡最多买100只,设:公鸡x只,母鸡y只,小鸡z只。利用随机函数,使x、y、z在相应的区域中随机生成一个数,带入判断式,得有符合条件的情况,则输出。1.1程序设计基础知识常用算法1.1程序设计基础知识数据结构1.1程序设计基础知识常用编程语言1.2Python语言简介Python语言最初由荷兰人GuidovonRossum(吉多·范罗苏姆)创建。1982年,Guido获得数学和计算机硕士学位后加入CWI(CentrumvoorWiskundeenInformatica,国家数学和计算机科学研究院)。1989年Guido开始设计Python语言的编译/解释器,以实现一种易学易用、可拓展的通用程序设计语言。Python这个名字来自于Guido所挚爱的电视剧MontyPython'sFlyingCircus。1991年,第一个用C语言实现的Python编译器/解释器诞生。从诞生之时起,Python就具有类(class)、函数(function)、异常处理(exception)、列表(list)和字典(dictionary)等核心数据类型和处理方式,并允许在多个层次上进行扩展。最初的Python完全由Guido开发。随着Python得到Guido同事们的欢迎与使用,他们迅速地反馈使用意见,并参与到Python的改进。随后,Python拓展到CWI之外。Python语法简洁、清晰。一个结构良好的Python程序就像伪代码,类似于用普通的英语在描述一个事情的逻辑。因此Python程序设计语言也比较容易学习和掌握。Python是纯粹的自由软件,源代码和解释器遵循GPL(GNUGeneralPublicLicense)协议。用户不但可以自由地下载使用,还可以自由地发布这个软件的拷贝、阅读它的源代码、改动源代码、把它的一部分用于新的自由软件中。Python是一个高级程序设计语言,Python将许多机器层面上的实现细节隐藏,交给编译器处理。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的机器实现细节。这一特征使得Python开始流行,尤其是在非计算机专业领域得到更加广泛的关注。1.2Python语言简介Python具有良好的跨平台特性。可以运行于Windows、Unix、Linux、安卓等大部分操作系统平台。Python是一种解释性语言。开发工具首先把Python编写的源代码转换成字节码的中间形式。运行时,解释器再把字节码翻译成适合于特定环境的机器语言并运行。这使得Python程序更加易于移植。Python语言具有良好的可扩展性。例如,Python可以调用使用C、C++等语言编写的程序,可以调用R语言中专业的数据分析功能。Python标准库非常庞大,可以处理各种工作。而且,由于Python开源、免费的特征,不同社区的Python爱好者贡献了大量实用且高质量的扩展库,方便在程序设计时直接调用。Python采用强制空格缩进方式。1.2Python语言简介1.3Python的环境搭建Python的下载用户可以从/downloads/下载相应版本的Python源代码、安装程序和帮助文件等。用户根据所使用的操作系统,选择适合于不同操作系统的文件。例如,用户要安装到64位windows操作系统,可以下载名为python-3.7.0-amd64.exe的文件。如果是32位windows操作系统则选择python-3.7.0.exe。Python的安装以在windows10的64位操作系统上安装Python3.7.0版本为例,简要介绍Python开发环境的安装过程,步骤如下:(1)双击安装程序python-3.7.0-amd64.exe(2)中勾选AddPython3.7toPATH选项,然后单击Customizeinstallation1.3Python的环境搭建(3)单击Next按钮(4)选择Python的安装路径,然后单击Install按钮1.3Python的环境搭建(5)等待一会后,上图的界面自动消失,出现安装成功提示。(6)单击Close按钮,结束安装。1.3Python的环境搭建1.4初识Python交互方式代码文件方式代码风格交互方式1选择windows开始菜单,在“搜索程序和文件”框中输入CMD,按回车键,打开命令行控制台窗口。在命令行窗口中输入Python命令,按回车键,进入Python交互式解释器。此时用户可以在提示符>>>下输入命令或调用函数,以命令行的方式交互式地使用Python解释器在提示符>>>下输入:print("HelloWorld!"),紧接着在下一行会输出字符串“HelloWorld!”(注意:输出时没有双引号)。交互方式代码文件方式代码风格交互方式2也可以通过IDLE进入交互式的Python解释器。选择菜单IDLE(Python3.1064-bit),就进入使用界面。IDLE实际上是一个集成开发环境,既可以编辑和执行Python代码文件,也可以以交互的方式使用Python解释器。1.4初识Python代码文件方式在交互方式下输入Python代码虽然非常方便,但是这些语句没有被保存,无法重复执行或留作将来使用。可以利用记事本等编辑器编写程序代码,将其保存在一个源程序文件中,然后用命令执行文件中的语句。1.4初识Python代码文件方式也可以使用IDLE来编写代码。打开IDLE,选择File
NewFile菜单,打开如下窗口。在窗口中编写代码。编写完成,选择FileSave菜单保存代码后,按F5键或选择菜单中的Run
RunModule菜单运行程序,得到如下所示的执行结果:HelloWorld!欢迎使用Python!1.4初识Python代码风格代码的风格是指代码的样子。一个具有良好风格的程序不但能够提高程序的正确性,还能提高程序的可读性,便于交流和理解。对编写Python程序有比较重要影响的几个风格:代码缩进适当的空行适当的注释1.4初识Python适当的空行能够增加代码的可读性,方便交流和理解。例如,在一个函数的定义开始之前和结束之后使用空行、for语句功能模块之前和之后添加空行,能够极大提高程序可读性。程序中的注释内容是给人看的,不是为计算机写的。编译时,注释语句的内容将被忽略。程序中适当的注释有利于别人读懂程序、了解程序的用途,同时也有助于程序员本人整理思路、方便回忆。1.4初识Python1.5Python的集成开发环境前面已经提到IDLE集成开发环境(IDE)随着Python解释器一起安装。Python集成开发环境能够帮助开发者提高开发效率、加快开发的速度。高效的IDE一般会提供插件、工具等帮助开发者提高效率。本教材主要使用IDLE作为开发工具。本节简要介绍除IDLE外的集成开发环境:Eclipse中的PyDev插件、WingIDE和PyCharm。Eclipse中的PyDev插件Eclipse是一个开放源代码的、基于Java的可扩展集成开发环境,拥有庞大的开发社区和可自由定制的可用插件程序。2003年7月16日,FabioZadrozny等三人组成的开发小组在SourceForge上注册了一款新的项目PyDev。该项目实现了一个功能强大的Eclipse插件,用户可以利用Eclipse来进行Python应用程序的开发和调试。PyDev插件提供了语法错误提示、源代码编辑助手、运行、调试等功能,还能够利用Eclipse的很多优秀特性,方便了众多Python开发人员。WingIDEWingIDE是一个Python语言集成开发环境。它能够对大量语法标签进行高亮度显示,并能够自动进行语法提示。它既可以用于开发大型项目,也方便Python初学者进行单个Python文件的操作。WingIDE是一个商业软件,但WingIDEPersonal是一个免费版本,可满足Python学习的需要,也能满足项目开发的需要。下载、安装完WingIDEPersonal版本后,在开始菜单中打开。选择Project
ProjectProperties菜单选中Environment标签,在PythonExecutable项选中Custom单选按钮。单击下拉列表框可以看到本机已安装的Python编译与解析环境,包括随Anaconda安装的Python编译与解析器。选择其中一项需要的Python版本作为WingIDE的当前环境的编译与解析器。然后单击OK按钮。这样就设置好了开发环境所使用的Python版本。选择主窗口的File
new菜单,打开一个空白的编辑窗口,在窗口中可以编写程序了。在编写过程中,需要使用某模块的函数或对象的方法时,只需要在该模块名或对象名后面输入点(“.”)号,可用的子模块名、函数名或对象方法名就会自动列出,然后可通过鼠标选择相应的名字,自动将该名字填充到编辑器中。也可以通过键盘上下键在下拉列表中选中某个名字,然后使用Tab键自动填充到编辑器中。在函数名或方法名后输入左圆括号后,在WingIDE主窗口右上角会显示相关可用参数及其默认值。编写完代码后,保存程序源代码。在窗口菜单中选择DebugStart/Continue菜单运行、调试程序。也可以单击工具栏上的按钮或直接按F5键来运行、调试程序。可以通过菜单Edit-->Preferences打开Preferences设置对话框。在Preferences设置对话框中可以设置编辑器的字体、颜色等各种属性。PyCharmPyCharm是JetBrains打造的一款Python集成开发环境,提供了收费的Professional版和免费的Community版。PyCharm带有一整套可以帮助用户提高开发效率的工具,如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。使用Pycharm进行开发时,需要先创建一个Project,然后创建源代码程序。1.6模块、包与库模块及其导入方式模块是一种程序的组织形式。它将彼此具有特定关系的一组Python可执行代码、函数、类或变量组织到一个独立文件中,可以供其他程序使用。程序员一旦创建了一个Python源文件,其不带后缀.py的文件名就是模块名。除了系统内置的函数等对象,使用其他对象之前均需要先导入相应的模块,然后才能使用该模块中的类、函数和变量等对象。模块导入有三种方式。importmoduleName1[,moduleName2[…]]这种方法一次可以导入多个模块。但在使用模块中的类、方法、函数、变量等内容时,需要在它们前面加上模块名。>>>importmath>>>math.sqrt(25)5.0>>>math.pi3.141592653589793>>>
在上述代码中,要使用sqrt(x)函数来求x的平方根,需要先导入math模块,使用时须添加模块名为前缀,如math.sqrt(25)。同样道理,如果要使用math模块中的pi值,需要通过math.pi来引用。1.6模块、包与库frommoduleNameimport*这种方法一次导入一个模块中的所有内容。使用时不需要添加模块名为前缀,但程序的可读性较差。>>>>>>frommathimport*>>>sqrt(25)5.0>>>pi3.141592653589793>>>
上述代码中,利用frommathimport*导入math模块中的所有内容后,可以调用这个模块里定义的所有函数等内容,不需要添加模块名为前缀。1.6模块、包与库frommoduleNameimportobject1[,object2[…]]这种方法一次导入一个模块中指定的内容,如某个函数。调用时不需要添加模块名为前缀。使用这种方法的程序可读性介于前两者。>>>frommathimportsqrt,e>>>e2.718281828459045>>>sqrt(25)5.0>>>piTraceback(mostrecentcalllast):File"<pyshell#8>",line1,in<module>piNameError:name'pi'isnotdefined>>>
上述程序中,frommathimportsqrt,e表示导入模块math中的sqrt函数和常量e,程序中只可以使用sqrt函数和e的值,不能使用该模块中的其他内容。1.6模块、包与库包及其定义为了方便管理,通常将程序文件(模块)以特定目录的形式进行打包。作为包的目录中必须至少包含一个名为__init__.py的文件,也可以包含一些模块文件和作为子包的子目录。作为子包的子目录中同样至少包含一个名为__init__.py的文件。文件__init__.py的内容可以为空。__init__.py文件的主要作用为:作为python中包与普通目录的区别标识;编写代码,定义类、函数、变量等对象;定义__all__变量来确定采用frommoduleNameimport*时导入的模块名称。1.6模块、包与库
库及其安装库是为实现某一功能的模块和包的集合。将模块和包封装为库进行发布,方便安装和管理。根据库是否已经包含在Python的官方安装包中,通常将其区分为标准库:安装好Python后,本身就带有的库被称为标准库。标准库中的模块被称为标准模块。第三方库:没有随官方发行版本安装的库;非标准库中的模块称为第三方模块。1.6模块、包与库部分常用标准库库名称简要说明time时间戳,表示从1970年1月1日00:00:00开始按秒计算的偏移量;格式化的时间字符串;结构化的时间(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)datetime获取当前时间,获取之前和之后的时间,时间的替换copycopy是一个运行时的模块库,提供对复合(compound)对象(list,tuple,dict,customclass等)进行浅拷贝和深拷贝的功能os提供与操作系统交互的接口syssys是一个运行时的模块库,提供了很多跟Python解释器和环境相关的变量和函数mathmath是一个数学模块库,定义了标准的数学方法(例如cos(x),sin(x)等)和数值(如pi)randomrandom是一个数学模块库,提供了各种产生随机数的方法re处理正则表达式pickle提供了一个简单的持久化模块库,可以将对象以文件的形式存储在磁盘里第三方库Python的优势之一在于其广泛的用户群和众多的社区志愿者,他们提供了很多实用的模块库。一些库已经被吸收为Python的标准库,随着Python解释器一起安装,可以直接通过import语句引用其中的模块。但是更多的库并不是Python的标准库。使用import语句导入非标准库中的模块之前必须提前安装相应的库到开发环境中。这种库被称为第三方库,其包含的相应模块被称为第三方模块。Python的官网()中除了可以下载不同的IDLE外,还可以查阅文档,在文档中,可以查阅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南邵阳市邵东市市直事业单位引进博士研究生15人备考题库及完整答案详解一套
- 2026浙江宁波海发渔业科技有限公司招聘1人备考题库及参考答案详解一套
- 2026年档案数字化管理规范操作课
- 2026年信创生态产品选型指南
- 2026西安经开第十四小学音乐教师招聘备考题库完整答案详解
- 2026福建厦门市人工智能创新中心招聘42人备考题库及完整答案详解1套
- 2026甘肃天水锂离子电池厂招聘备考题库及答案详解1套
- 来料部门年终总结(3篇)
- 职业发展导向的虚拟仿真学习路径规划
- 职业健康干预的成本效益优化
- DB21-T 4279-2025 黑果腺肋花楸农业气象服务技术规程
- 2026广东广州市海珠区住房和建设局招聘雇员7人考试参考试题及答案解析
- 2026新疆伊犁州新源县总工会面向社会招聘工会社会工作者3人考试备考题库及答案解析
- 广东省汕头市2025-2026学年高三上学期期末语文试题(含答案)(含解析)
- 2026年上海高考英语真题试卷+解析及答案
- JTG F40-2004 公路沥青路面施工技术规范
- 三片饮料罐培训
- 副园长个人发展规划
- 第九届、第十届大唐杯本科AB组考试真总题库(含答案)
- 统编部编版九年级下册历史全册教案
- 商业地产策划方案+商业地产策划方案基本流程及-商业市场调查报告(购物中心)
评论
0/150
提交评论