python程序设计及上机实验教程 课件 杨薇 第1-5章Python入门概述 -Python序列结构_第1页
python程序设计及上机实验教程 课件 杨薇 第1-5章Python入门概述 -Python序列结构_第2页
python程序设计及上机实验教程 课件 杨薇 第1-5章Python入门概述 -Python序列结构_第3页
python程序设计及上机实验教程 课件 杨薇 第1-5章Python入门概述 -Python序列结构_第4页
python程序设计及上机实验教程 课件 杨薇 第1-5章Python入门概述 -Python序列结构_第5页
已阅读5页,还剩420页未读 继续免费阅读

下载本文档

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

文档简介

程序设计及上机实验主讲:杨薇

PythonPython入门概述 第1章1.1Python语言简介1.2Python环境的准备1.3课后作业Python语言的特点、应用前景常用的Python语言集成开发环境Python软件下载、安装及使用Python语言第三方库的安装管理本章重点Python语言简介1.11.1.1什么是Python语言Python翻译成中文是巨蟒的意思,它是一种编程语言,于1991年正式发布。它的创造者是GuidovanRossum(吉多·范罗苏姆,是一名荷兰计算机程序员),选中Python作为编程语言的名字,是因为他喜爱的一个电视节目中有Python这个单词。Python的定位是简单、明确、优雅,所以对初学者而言,Python简单易懂、便于学习,而且将来深入学习后,还可以编写一些非常复杂的程序。Python语言是少有的一种可以称得上既简单又功能强大的编程语言。Python编程的重点是解决问题,而不是语法与结构,非常适合完全没有编程经验的人学习。无论你是想进入数据分析、人工智能、网站开发等专业领域,还是仅仅希望掌握一门编程语言,都可以从Python开始。Python语言简介1.11.1.2Python语言的特点当我们因为C语言指针晕头转向时,Python的出现无疑让我们在编程时可以保持清醒的头脑,因为我们重点关注的不再是语法特性,而是程序所要实现的功能任务,Python语言的特点如下:1.简单易读Python没有开始、结束、分号等标记,代码简洁,循环语句简化,程序结构清晰,易于阅读和理解,其保留字也很少,目前只有35个,常见的保留字可以查看第二章的内容。Python语言简介1.11.1.2Python语言的特点2.跨平台可移植性强Python的源代码是开放的,基于这一特性Python可以被移植到其他平台。Python程序稍作修改甚至不修改便可在Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcornRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE、PocketPC等平台上运行。Python语言简介1.13.动态性Python与PHP、Ruby、ECMAScript(JavaScript)一样都属于动态语言。所谓动态语言就是在执行时能够改变其结构的语言,是高级程序设计语言的一个类别。Python灵活性高,不需要声明变量,直接赋值即可创建新变量。例如定义一个student(学生)类,初始属性有name(姓名)和age(年龄),代码如下:Python语言简介1.1学生属性除了name(姓名)和age(年龄)外,应该还有sex(性别),如果是动态语言,直接给S对象的sex属性赋值“male”就可以得到想要的结果,可如果是其他语言,这一步可能就会报错。 S.sex="male"运行上面的代码,输出S.sex的值,结果为male,这就是动态给实例绑定属性。所以动态语言可以在运行时引进新的函数、对象,甚至代码,还可以删除已有的函数等其他结构上的变化。classstudent():def__init__(self,name=None,age=None):=nameself.age=ageS=student("Jack","12")Python语言简介1.14.健全的异常处理机制Python的异常处理机制能捕获程序异常情况,并且堆栈跟踪对象能找到出错地方和出错原因,帮助我们调试程序。5.面向对象特性Python既支持面向过程的编程又支持面向对象的编程。Python执行面向对象编程的方式的特性既强大又简洁,简化了面向对象的实现,消除了保护类型、抽象类、接口等面向对象元素,使面向对象的概念更容易理解。Python语言简介1.16.可扩展性Python由C语言开发,可以使用C或C++完成新模块、新类的添加,而Python程序可以完全调用它们,同时还可以嵌入到C或C++的程序中。如果你需要一段运行很快的代码,或者想写一段不愿意公开的代码,那么你可以用C或者C++写这段代码,然后从Python程序中调用即可,可见Python的扩展性非常好。Python语言简介1.17.强大的库文件Python最大的优势之一是拥有丰富的库文件。Python有非常完善的基础代码库,覆盖了网络、数据库、GUI、文件、文本等大量内容,被形象地称作“内置电池(batteriesincluded)”。Python标准库很大,它能够帮助用户完成许多的工作,如文件传输协议(FileTransferProtocol,FTP)、数据库、正则表达式、单元测试、线程、网页浏览器、公共网关接口(CommonGatewayInterface,CGI)、电子邮件、可扩展标记语言(ExtensibleMarkupLanguage,XML)、图形用户界面(GraphicalUserInterface,GUI)等。除了这些基础代码库之外,Python还有大量高质量的第三方库,是别人编写贡献出来的,用户可以通过Python包索引找到它们。8.易于维护Python的成功在于它的源代码是相当容易维护的。Python语言简介1.11.1.3Python语言的应用Python具有广泛的应用范围,常用的应用场景如下:1.操作系统管理Python作为一种解释型的脚本语言,特别适合于编写操作系统管理脚本,使用Python编写的系统管理脚本在可读性、源代码重用度、扩展性等方面都优于普通的shell脚本。2.科学计算Python程序员可以使用numpy、scipy、matplotlib等模块编写科学计算程序,用sklearn等模块完成数据挖掘及机器学习等编程。众多开源的科学计算软件包均提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK等。Python语言简介1.11.1.3Python语言的应用3.Web应用Python经常被用于Web开发,例如通过mod_wsgi模块Apacha可以运行用Python编写的Web程序;基于Python的Web应用框架Django主要用来快速搭建高性能网站;许多大型的网站如YouTube、Dropbox、Douban等都是Python开发的。4.图形用户界面(GUI)开发Python支持GUI开发,使用Tkinter、wxPython或者PyQt库可以开发跨平台的桌面软件。Python语言简介1.15.云计算云计算最热的语言,典型的应用为OpenStack。6.金融在金融工程领域,Python不仅使用最多,而且其重要性逐年增加,如做定量交易、金融分析等都可以通过Python来完成。7.其他很多游戏使用C++编写图形显示等高性能模块,而使用Python编写游戏的逻辑。在国外Python有着广泛的应用范围,如谷歌的G、Google爬虫、Google广告和其他项目正在广泛使用Python;世界上最大的视频网站YouTube是用Python开发的;Facebook大量的基本库是通过Python实现的;在国内,Python同样有着广泛的应用范围,如中国最大的Q&A(问答)社区知乎,就是用Python开发,除此之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司正在使用Python来完成各种任务。Python语言简介1.11.1.4Python发展前景虽然Java有众多追随者,但是Python的语法特点使程序设计更轻松,编写的代码比Java可读性更强,其发展速度迅猛。2017年,国务院发布《新一代人工智能发展规划》,规划中指出支持开展形式多样的人工智能科普活动,在中小学设置人工智能相关课程,而python是人工智能与大数据分析的基础工具,各地、各市教育局将python列入小学、中学课程体系中。2017年年底山东省的小学信息技术六年级教材加入Python内容,小学生开始接触Python语言。从2018年起,浙江省信息技术教材不再使用晦涩难懂的VB语言,而是改用更简单易懂的Python语言。也就是说,Python将纳入高考内容。从2018年起,Python列入全国计算机等级考试范围。而2022年PYPL发布的编程语言指数榜显示,Python依然占据榜首,如图所示。PYPL编程语言指数榜Python语言简介1.11.1.5Python语言的版本到目前为止,Python已经诞生近30年,也经历了30多个版本的发展。2008年年底Python3.0版本发布,目前已更新至3.11版本,中间还发布了Python2.5、Python2.7等版本,本书使用Python3.7版本进行讲解。这些版本之间存在着一定的联系,也有差异。比如Python2.X和Python3.X就有明显的差异。Python3.X由于不想带入过多的累赘,所以没有考虑向下兼容的问题,因此Python3.0以下版本的程序都无法在Python3.0以上的版本中运行。为了解决这个问题,实现3.0以下版本的程序向Python3.X的迁移,中间又开发了几个版本作为过渡版本,其中Python2.7是比较经典的版本。如果你是初学者,建议直接安装Python3.0以上的版本。Python语言简介1.11.1.6Python语言的集成开发环境Python是一种跨平台的脚本语言,在不同平台上提供了众多的集成开发环境(IDE),常用的集成开发环境如下:1.IDLEPython内置的集成开发环境,在操作系统中安装好Python软件后就自动安装该编辑器。初学者一般建议使用IDLE,该编辑器简单容易上手,且具备语法高亮功能,同时可以运行程序。2.SpyderSpyder和其他PythonIDE相比有一个很大的特点,可以用表格的形式查看数据,其针对数据科学做了一定的优化。使用IDLE交互式命令行确实很方便,但是当代码越来越多或者越复杂时,就显得力不从心,这时选择一款适合的代码编辑器就显得很重要。Spyder是一款不错的编辑器,在安装好Anaconda后就会自动被安装好,启动运行即可。Python语言简介1.11.1.6Python语言的集成开发环境3.JupyterNotebookJupyterNotebook(此前被称为IPythonNotebook)是一个交互式笔记本,支持运行40多种编程语言。它本质上是一个支持实时代码、数学方程、可视化和Markdown的Web应用程序。在安装好Anaconda后就会自动被安装好,启动运行即可。4.PyCharmPyCharm是由JetBrains公司开发的商业PythonIDE,支持企业级的开发。PyCharm有一整套可以帮助开发人员提高开发效率的工具,如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制,不过,只有他的教育版是免费使用的,其他版本需要购买服务。Python语言简介1.15.Eclipse+Pydev插件在通用集成开发环境Eclipse上安装Pydev插件,可以实现Python集成开发环境,方便调试程序。6.PythonWinPythonWin是Python在Windows系统下的扩展包,使用PythonWin可以让Python使用Windows系统的特性。PythonWin官网为/projects/pywin32,下载对应的版本安装即可。7.VimVim(ViiMproved)是由BramMoolenaar编写的功能强大的文本编辑器。Vim和其他开源软件一样,具有良好的可移植性。Vim提供了强大的程序代码编辑功能,如自动缩进、代码折叠、语法高亮等。Vim需要单独下载安装,官网为/,下载对应的windows版本安装即可。Python语言简介1.18.EmacsEmacs被设计得“无所不能”,号称“世界上最强大的文本编辑器”,使用Emacs就像使用windows的记事本一样,但Wmacs比windows记事本的功能强大得多。9.SublimeTextSublimeText也比较适合Python新手使用,SublimeText支持跨平台,而且提供丰富的插件和主题。SublimeText具备各种语法高亮和代码补全功能,视觉感受更舒适。10.VisualStudio+PythonToolsforVisualStudio在VisualStudio基础上安装PythonToolsforVisualStudio,可以使用功能完善的VisualStudio开发Python程序。Python环境的准备1.21.2.1Python安装1.下载安装程序进入Python官网“/”,按以下步骤下载所需版本的Python安装程序。步骤01:在【Downloads】下拉列表中单击【Windows】选项,如图1-2所示。图1-2

Python官网Python环境的准备1.2步骤02:打开Windows各版本下载页面,如图1-3所示。图1-3

Python的Windows各版本下载页面从图1-3中我们可以看出Python的版本非常多,目前最新的版本已经是3.11版本。步骤03:先确认自己的系统是32位还是64位,再选择相应的Python版本下载,在此我们选择Python-3.7.8-amd64版本为例,下载完成后便可以开始安装。Python环境的准备1.21.2.1Python安装2.安装Python软件下载好Python安装程序后,按以下步骤安装即可。步骤01:双击Python安装程序文件,打开【Python-3.7.8-amd64

Setup】安装窗口,单击【InstallNow】选项,选择快速模式安装,并勾选AddPython3.7toPATH选项,如图1-4所示。步骤02:系统开始自动安装,如图1-5所示。安装完成后单击【Close】按钮,关闭窗口,如图1-6所示。图1-4

Python安装模式选择图1-5

正在安装图1-6安装成功Python环境的准备1.21.2.1Python安装3.Python菜单命令功能说明执行【开始】→【所有程序】→【Python3.7】,即可看到已经安装好的Python程序,共包含4个命令,如图1-7所示,各命令功能的含义如下:图1-7Python3.7开始菜单(1)IDLE(Pythone3.764-bit)Python集成开发环境(2)Python3.7(64-bit)Python的命令提示窗口,和在cmd命令行下输入python一样(3)Python3.7Manuals(64-bit)Python的全部文档(4)Python3.7ManualsDocs(64-bit)Python系统中可用的所有已安装模块的文档Python环境的准备1.21.2.2使用交互式执行环境使用交互式执行环境,即运行Python解释器。用户在Windows操作系统中可以使用命令提示符窗口运行python.exe,也可以点击【开始】→【所有程序】→【Python3.7】→Python3.764-bit启动该命令,启动后的命令窗口如图1-8所示:图1-8Python命令行界面在Python命令提示符“>>>”后面输入各种Python代码,回车键后就会立即看到执行结果。Python环境的准备1.21.2.2使用交互式执行环境例1-1使用Python解释器进行数学运算,运算的式子为:12+36-78*56和(1+0.01)365。代码及结果如下:命令行中两个式子的代码及执行结果如图1-9所示。>>>12+36-78*56-4320>>>(1+0.01)**36537.78343433288728图1-9命令行中进行数学运算Python环境的准备1.21.2.3使用IDLE编写代码Python安装成功后,会自带一个集成式开发环境IDLE,它是一个PythonShell,程序开发人员可以利用PythonShell与Python交互。在Windows操作系统的开始菜单中找到“IDLE(Python3.764-bit)”,单击进入IDLE主窗口,如图1-10所示,窗口左侧会显示Python命令提示符“>>>”,在该提示符后面输入Python代码,回车键后就会立即执行并返回执行结果。图1-10IDLE主窗口图1-11IDLE的文件窗口Python环境的准备1.21.2.3使用IDLE编写代码如果要创建一个代码文件,可以在IDLE主窗口菜单栏中选择“File→NewFile”,然后就会弹出如图1-11所示的文件窗口,可以在文件里输入Python代码,然后在菜单栏中选择保存,并输入文件名即可。如果要运行该文件,在菜单栏中选择“Run→RunModule”(快捷键F5)即可。Python环境的准备1.2在实际开发中,可以使用IDLE提供的常用快捷键来提高程序开发效率。IDLE常用快捷键序号快捷键功能说明1F1打开Python帮助文档2F5运行Python代码文件3Ctrl+[取消缩进代码块4Ctrl+]缩进代码块5Ctrl+F6重新启动IDLEShell6Ctrl+Z撤销一步操作7Ctrl+Shift+Z恢复上一次撤销的操作8Ctrl+S保存文件9Alt+P浏览历史命令(上一条)10Alt+N浏览历史命令(下一条)11Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,可以连续按该快捷键,在多个单词中循环选择。12Alt+3注释代码块13Alt+4取消代码块注释Python环境的准备1.21.2.4我的第一个Python程序例1-2使用IDLE创建一个名为Myfirstpython.py文件,并在该文件中输入以下代码:print("helloworld!")print("这是我的第一个Pyhon程序")print("请多多指教!")程序运行结果如下:======RESTART:C:/Users/Administrator/Desktop/helloworld.py======helloworld!这是我的第一个Pyhon程序请多多指教!Python环境的准备1.21.2.5安装和管理Python第三方库Python语言有标准库和第三方库两类库,标准库随Python安装包一起发布,用户可以随时使用,第三方库需要安装后才能使用。由于Python语言经历了版本更迭过程,而且第三方库由全球开发者分布式维护,缺少统一的集中管理,因此Python的第三方库曾经一度制约了Python语言的普及和发展。随着pip工具的应用,Python第三方库的安装变得十分容易。Python的强大之处在于它拥有丰富的扩展包第三方库(扩展包),可以帮我们方便、快捷地实现网络爬虫、数据清洗、科学计算和可视化等功能。表1-2列出了大数据专业当前及后续课程常用的第三方库。Python环境的准备1.2常用第三方Python库序号库名用途pip安装指令1NumPy矩阵运算pipinstallnumpy2Matplotlib产品级2D图形绘制pipinstallmatplotlib3PIL图像处理pipinstallpillow4sklearn机器学习和数据挖掘pipinstallsklearn5RequestsHTTP协议访问pipinstallrequests6Jieba中文分词pipinstalljieba7BeautifulSoup或bs4HTML和XML解析pipinstallbeautifulsoup48WheelPython文件打包pipinstallwheel9pyinstaller打包Python源文件为可执行文件pipinstallpyinstaller10DjangoPython最流行的Web开发框架pipinstalldjango11Flask轻量级Web开发框架pipinstallflask12WeRoBot微信机器人开发框架pipinstallwerobot13Networkx复杂网络和图结构的建模和分析pipinstallnetworkx14SymPy数学符号计算pipinstallsympy15pandas高效数据分析pipinstallpandas16PyQt5基于Qt的专业级GUI开发框架pipinstallpyqt517PyOpenGL多平台OpenGL开发接口pipinstallpyopengl18PyPDF2PDF文件内容提取及处理pipinstallpypdf219docoptPython命令行解析pipinstalldocopt20PyGame简单小游戏开发框架pipinstallpygamePython环境的准备1.2为了便于安装和管理第三方库和软件,Python提供了一个扩展库管理工具pip,在安装Python时就已经默认安装好pip了,pip的常用命令如表1-3所示:常用pip命令序号pip命令说明1pipinstallPackageName安装PackageName第三方库2piplist列出当前已经安装的所有模块3pipshowPackageName列出某个已经安装库的详细信息4pipdownloadPackageName下载第三方库安装包,但并不安装5pipsearchkeywords联网搜索库名或关键字6pipinstall--upgradePackageName升级PackageName第三方库7pipuninstallPackageName卸载PackageName第三方库Python环境的准备1.2例1-3使用pip命令安装可视化模块Matplotlib。Matplotlib是著名的Python绘图库,它提供了一整套和matlab相似的应用程序编程接口,十分适合交互式制图,打开cmd窗口后,输入如下命令安装Matplotlib,如图1-12所示:>pipinstallmatplotlib图1-12pip安装示例Python环境的准备1.2>pipinstallD://matplotlib-3.5.0rc1-cp37-cp37m-win_amd64.whl用以上方法安装时比较依赖网络性能,且如果安装包比较大时经常会安装失败,所以建议到python官网的库管理网站/中及时下载对应软件包的轮式文件(whl文件),到本地磁盘中,比如在本案例中我们下载对应的软件包为matplotlib-3.5.0rc1-cp37-cp37m-win_amd64.whl,将该软件包存放在D盘下面,安装时就可以用以下命令来完成,安装过程非常快,如图1-13所示:图1-13pip安装已经下载好的whl文件安装成功后,使用如下命令就可以看到安装好的Matplotlib:>piplistPython环境的准备1.2例1-4pip批量安装Python库。importoslibs={"numpy","matplotlib","pillow","sklearn","requests","jieba"}try:forlibinlibs:os.system("pipinstall"+lib)print("Successful!")except:print("Failedsomehow")Successful!运行过程及结果Python环境的准备1.21.Anaconda介绍Anaconda是专注于数据分析的Python发行版本,包含了Conda、Python等一大批科学包及其依赖项。在安装Anaconda时预先集成了Numpy、SciPy、pandas、scikit-learn等数据分析常用包。在Anaconda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突,直接安装Python是体会不到这些优点的,Anaconda的优点包括如下:Python环境的准备1.2(1)省时省心普通Python环境中,经常会遇到安装工具包时出现关于版本或者依赖包的一些错误提示。但是在Anaconda中,这种问题极少存在。Anaconda通过管理工具包、开发环境、Python版本,大大简化了工作流程,不仅可以方便地安装、更新、卸载工具包,而且安装时还可以自动安装相应的依赖包。(2)分析利器Anaconda是适用于企业级大数据的Python工具,其包含了众多与数据科学相关的开源包,涉及数据可视化、机器学习、深度学习等多个方面。Python环境的准备1.22.Anaconda安装过程(1)Anaconda的安装步骤如下:图1-14Anacanda的IndividualEdition个人版本步骤02:Anaconda将根据本机器推荐合适的版本进行下载,如图1-15所示。步骤01:访问Anaconda官网,选择适合自己的版本下载,本文选择开源的个人版本如图1-14所示。步骤03:下载完成后即可根据安装提示进行软件的安装。图1-15网址推荐的Anaconda版本Python环境的准备1.2(2)Anaconda菜单命令功能说明Anaconda安装完成后,Python的开发环境就搭建好了,现在就可以使用Anaconda来开发程序了,执行【开始】→【所有程序】→【Anaconda3】,即可看到已经安装好的Anaconda3程序,共包含6个命令,如图1-16所示,各命令功能的含义如下:图1-16

Anacanda的开始菜单Python环境的准备1.2【1】AnacondanavigatorAnaconda导航器,用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在Navigator中手工实现。【2】Anacondaprompt和Anacondapowershellprompt他们都属于Anaconda的命令窗口,输入命令就可以控制和配置Python,最常用的就是conda命令,它与Python中的pip命令一样。【3】JupyterNotebook集成的IDE,基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。【4】Spyder集成的IDE,一个使用Python语言、跨平台的、科学运算集成开发环境,它最大优点就是模仿MATLAB的“工作空间”。【5】ResetSpyderSetting该命令主要对Spyder恢复默认设置。Python环境的准备1.21.2.7使用Spider编写第一个程序Spider是Anaconda自带的IDE,功能十分强大,界面非常友好,适用于刚开始接触Python的人。Spider既可以直接创建一个Python文件,也可以创建一个Python项目。Python环境的准备1.21.2.7使用Spider编写第一个程序例1-5启动Spider建立一个名为Myfirstprogram.py的Python文件,并输入代码:print(“Helloworld”)print(“Hellopython”)方法为:步骤一:执行【开始】→【所有程序】→【Anaconda】启动Spider(anaconda3),默认已经创建了一个名为未命名0.py的文件;步骤二:将该文件另存为Myfirstprogram.py;步骤三:在代码区域输入代码;步骤四:执行运行即可看到结果;Python环境的准备1.21.2.8使用JupyterNotebook编写第一个程序启动JupyterNotebook会启动一个控制台服务窗口并自动启动浏览器打开一个网页,把控制台服务窗口最小化,然后在浏览器中该页面右上角单击菜单“New”,然后选择“Python3”打开一个新窗口,如图1-16所示,在该窗口中即可编写和运行Python代码。页面上每一个单元格称为一个cell,每个cell的运行结果会影响后面的cell,也就是前面cell中定义的变量在后面的cell中任然可以访问。另外,还可以通过菜单“File”→“Downloadas”把当前代码以及运行结果保存为“.py”、“.ipynb”或者其他形式的文件,方便日后学习和演示。Python环境的准备1.2例1-6根据本金b、年利率r和年数n计算最终收益v提示v=b(1+r)n方法为:步骤一:执行【开始】→【所有程序】→【Anaconda】启动JupyterNotebook(anaconda3),步骤二:选择Files选项卡,然后单击右上角的New按钮,选择Python3即可进入Python的编辑窗口。步骤三:在代码区域输入代码,其输入界面如图1-17所示,代码如下:b=10000#本金1万元r=0.05#年利率为0.05n=5#时间为5年v=b*((1+r)**n)print(v)执行结果为:12762.815625000003Python环境的准备1.21.2.9Anaconda中安装和管理第三方库PyPI是获得第三方Python软件包以补充标准库的一个站点。我们可以在PyPI网站上查找需要的各种不同版本不同功能的包,很多的Python开发人员都会去PyPI网站查找自己想要使用的包,然后下载安装。Python环境中有很多成熟的包,我们可以安装和管理这些包来扩展我们的程序,这样就避免了重复造轮子。在Anaconda环境下,用来安装和管理包主要有以下两种方式:Python环境的准备1.21.pip命令安装pip是目前最流行的Python包管理工具,主要用于安装PyPI上的软件包。Python3版本自带了pip,不需要而外的安装。在cmd中键入pip指令,就可以正常安装软件包了,但是这样安装比较依赖网络速度,经常会下载到一半时就提示安装失败了,这个时候就需要多安装几次直到安装成功为止。使用pip安装库的命令如下:pipinstall包名。Python环境的准备1.22.conda命令安装conda是一个开源的软件包管理器(软件包管理器是自动进行软件安装、更新、卸载的一种工具)和环境管理器,适用于Linux、Mac和Windows系统,最初的设计是用来管理任何语言的包,是一个通用的包管理器。conda的核心功能是包管理与环境管理,其中包管理与pip的功能类似,环境管理则允许用户方便地创建不同的Python环境,并可以在不同的环境之间进行快速的切换。conda和pip并不是直接的竞争关系,conda和pip目标并不相同。pip可以运行在任何环境中安装Python包,而conda运行在conda环境中安装任何语言包(包括C、Java或者Python)。即使仅仅考虑Python包的安装这一方面的功能,conda和pip也是针对不同的用户和不同的目标的:如果要在已有的系统快速管理Python包,则应该选择pip,因为pip鼓励在任何环境中使用,而conda应该在conda环境中使用。如果让很多依赖包一起很好地工作(比如数据分析中的NumPy、SciPy、Matplotlib等),那么就应该使用conda,因为conda可以很好的整合包之间的互相依赖。安装时的命令为:condainstall包名。课后习题1.11.Python3.X版本是否兼容Python2.X?A.兼容B.不兼容2.

IDLE是Python的一个集成开发环境?A.是B.不是3.IDLE常用快捷键中,运行Python代码文件的快捷键是?A.F5B.F1C.F6D.F24.IDLE常用快捷键中,打开Python帮助文档的快捷键是?A.F5B.F1C.F6D.F25.IDLE常用快捷键中,缩进代码块的快捷键是?A.Ctrl+[B.Ctrl+]C.Ctrl+F6D.Ctrl+Z6.IDLE常用快捷键中,取消缩进代码块的快捷键是?A.Ctrl+[B.Ctrl+]C.Ctrl+F6D.Ctrl+Z7.IDLE常用快捷键中,撤销一步操作的快捷键是?A.Ctrl+[B.Ctrl+]C.Ctrl+F6D.Ctrl+Z课后习题1.18.IDLE常用快捷键中,恢复上一次撤销的操作的快捷键是?A.Ctrl+[B.Ctrl+]C.Ctrl+Shift+ZD.Ctrl+Z9.IDLE常用快捷键中,注释代码块的快捷键是?A.Alt+3B.Alt+4C.Ctrl+F6D.Ctrl+Z10.IDLE常用快捷键中,取消代码块注释的快捷键是?A.Alt+3B.Alt+4C.Ctrl+F6D.Ctrl+Z11.以下几个库中不属于第三方库(属于Python内置库)的是?A.NumPy

B.Matplotlib

C.mathD.PIL12.

Python语言是一种解释型、面向

的计算机程序设计语言。13.Python单行注释以符号

来完成。14.Python多行注释以符号

或者

来完成。15.Python安装第三方库主要使用

命令。谢谢THANKYOU程序设计及上机实验PythonPython语言基础 第2章2.1Python程序概述2.2Python规范2.3数据类型2.4变量2.5表达式和运算符2.6基本输入输出2.7常用函数2.8案例实战2.9课后作业Python语言规范,包括语句规则、缩进规则、注释规则等Python保留字、内置函数、常用模块函数Python变量Python表达式和运算符Python输入输出语句本章重点Python中对象的概念字符串的算术运算符、逻辑运算符、成员运算符、身份运算符、位运算符和赋值运算符的应用本章难点Python程序概述2.12.1.1引例例2-1圆面积的计算(area.py)分析:圆的面积计算公式为:面积=πR2,代码如下importmathradius=20pi=math.pi

#通过体系标准库math的属性来获取π的值print(pi)area=pi*radius*radius

#圆的面积print(area)执行结果为:=========RESTART:J:/2-1.py==========3.1415926535897931256.6370614359173Python语言简介2.12.1.2Python程序的构成Python程序可以分解为模块、语句、表达式和对象。从概念上理解,其对应关系如下:(1)Python程序由模块组成,模块对应的扩展名为.py的源文件。一个Python程序由一个或者多个模块组成。例2-1程序由模块area.py和内置模块math组成。(2)模块有语句组成。模块即Python源文件,在运行Python程序时按顺序依次执行模块中的语句。在例2-1程序中,importmath为导入模块语句;print(area)为调用函数表达式语句;其余的为赋值语句。Python语言简介2.12.1.2Python程序的构成(3)语句是Python程序的过程构造块,用于创建对象、变量赋值、调用函数、控制分支、创建循环、增加注释等。语句包含表达式。在例2-1中,语句importmath用来导入math模块,并依次执行其中的语句;在语句radius=20中,字面20创建一个值为20的int型对象,并绑定到变量radius;在语句area=pi*radius*radius中,算术表达式pi*radius*radius的运算结果为一个新的int型对象,并绑定到变量area;#引导注释语句;在语句print(area)中,调用内置函数print(),输出对象area的值。(4)表达式用于创建和处理对象。在例2-1程序的语句area=pi*radius*radius中,表达式pi*radius*radius的运算结果为一个新的float型对象,math.pi调用模块math中的pi属性来获取π的值,并参与运算。Python规范2.22.2.1.物理行和逻辑行

Python程序由若干逻辑行组成。物理行是在编写程序时所看见的,而逻辑行是Python解释器看见的单行语句。一个逻辑行可以包含多个物理行。Python中语句不能跨逻辑行。在遇到较长的语句时,可以使用语句续行符号,将一条语句写在多行之中,这时一个逻辑行就包含多个物理行。、Python中有两种续行方式,一种是使用“\”符号,应注意在“\”符号后不能有任何其他符号,包括空格和注释。另外一种特殊的续行方式是在使用括号(包括()、[]和{})时,括号中的内容可以分成多行书写,括号中的空白和换行符都会被忽略,通常使用空白行来分隔不同的函数和类。Python规范2.22.2.2语句规则1.Python语句语句是Python程序的过程构造块,用于定义函数、定义类、创建对象、变量赋值、调用函数、控制分支、创建循环等。Python语句分为简单语句和复合语句。简单语句包括表达式语句、赋值语句、assert语句、pass语句、del语句、return语句、yield语句、raise语句、break语句、continue语句、import语句、golbal语句、nonlocal语句等。复合语句包括if语句、while语句、for语句、try语句、with语句、函数定义、类定义等。Python规范2.22.Python语句的书写规则Python语句的书写规则如下:(1)使用换行符分隔,在一般情况下一行一条语句;(2)从第一列开始,前面不能有任何空格,否则会产生语法错误,但是注释语句可以从任意位置开始,复合语句构造体必须缩进。(3)反斜杠(\)用于一个代码跨域多行的情况。如果语句太长,可以使用续行符(\)。三引号定义的字符串、元组、列表、字典可以放在多行,而不必使用续行符(\),因为他们可以清晰地表示定义的开始和结束。例如:>>>print("如果语句太长,可以使用(\),\续行内容。")(4)分号(;)用于在一行书写多条语句。例如:>>>a=0;b=0;c=0>>>s="abc";print(s)Python规范2.23.复合语句及其缩进书写规则由多行代码组成的语句称为复合语句。复合语句由头部语句和构造体语句块组成。构造体语句块由一条或者多条语句组成。复合语句和构造体语句块的缩进书写规则如下:>>>sum=0>>>foriinrange(1,11):

sum=sum+i

print(i,end="")12345678910

#输出12345678910>>>print(sum)55

#输出55(1)头部语句由相应的关键字开始,构造体语句块则为下一行开始的一行或多行缩进代码。例如:Python规范2.2(2)通常缩进都是相对头部语句缩进2-4个空格,也可以是任意空格,但是同一构造体代码块的多条语句缩进的空格必须一致。如果语句不缩进,或缩进不一致,将导致编译错误。Python是强制缩进的,以保证源代码的规范性和可读性。>>>foriinrange(1,11):print(i,end="")(3)如何条件语句、循环语句、函数语句和类定义比较短,可以放在同一行。例如:Python规范2.24.注释语句Python的注释语句以符号“#”开始,到行末结束。Python注释语句可以出现在任何位置。Python解释器将忽略所有的注释语句,注释语句不会影响程序的执行结果。良好的注释可以帮助用户阅读和理解程序。在后面一小节中我们还要进一步探讨注释。5.空语句如果要表示一个空的代码块,可以使用pass语句,其主要在定义一个空函数的时候用到。Python规范2.2例2-2定义一个打印信息的空函数。分析:空函数一般用于快速的定义一个没有任何功能的函数,该函数只具有一个格式,通常用于在主程序中需要把程序功能分成若干个模块,每个模块不能及时完成时,为了保持主程序能正常运行,就可以先定义一些空函数,代码如下:defprint_infomation():passPython规范2.22.2.3代码缩进Python和其他编程语言(如C和Java)很不一样的地方在于,Python采用代码缩进和冒号来区分代码之间的层次。而C和Java则采用大括号来分割代码块。如果我们有其他语言(如C和Java)的编程经验,那么Python的强制缩进一开始会让我们很不习惯。但是,如果习惯了Python的缩进语法,就会觉得它的结构非常清晰和优美。缩进可以使用空格或者Tab键来实现,建议用空格来实现。当使用空格实现缩进时,建议用2个或者4个空格作为一个缩进量,本书的代码基本都是采用4个空格的缩进量。Python规范2.22.2.3代码缩进例2-3

Python的缩进语法,已知一个矩形的长和宽,计算该矩形的面积,如果该面积大于15,则输出文字“这是一个大矩形”。分析:矩形的面积=长×宽,当判断面积是否大于15时需要用到if语句,里面的子语句就要使用缩进,具体代码如下:length=10width=20area=length*widthifarea>15:print("这是一个大矩形")Python规范2.22.2.4注释规则为代码添加注释是一个良好的编程习惯,因为添加注释有利于代码的维护和阅读。在Python中,通常有3种类型的注释,分别是单行注释、多行注释和编码规则注释。1.单行注释Python中使用“#”表示单行注释。单行注释可以作为单独的一行放在被注释代码行之上,也可以放在语句或表达式之后。Python规范2.2例2-4单行注释作为单独的一行放在被注释代码行之上。已知球的半径,计算球的表面积。分析:球的表面积=4πr2,程序代码如下:#定义一个变量pi用来表示圆周率π的值pi=3.14#定义一个变量r用来表示球的半径r=4#使用球的表公式求出球的表面积area=4*pi*r*rprint("球的表面积为:",area)=======RESTART:J:/2-4.py=======球的表面积为:200.96运行结果为:Python规范2.2例2-5单行注释放在语句或表达式之后,将上面的注释部分改在表达式之后,则代码变为:pi=3.14#定义一个变量pi用来表示圆周率π的值r=4#定义一个变量r用来表示球的半径area=4*pi*r*r#使用球的表公式求出球的表面积print("球的表面积为:",area)Python规范2.22.多行注释当注释内容过多,导致一行无法显示时,就可以使用多行注释。Python中使用三个单引号或者三个双引号表示多行注释。Python规范2.2例2-6使用三个单引号的多行注释,将2-5的例子继续添加注释,在注释里说明该程序的名字、创建日期、创建人、程序的用途等,代码如下:'''文件名:2-5.py用途:用于求解球的表面积创建日期:2022年10月26日创建人:YW'''pi=3.14#定义一个变量pi用来表示圆周率π的值r=4#定义一个变量r用来表示球的半径area=4*pi*r*r#使用球的表公式求出球的表面积print("球的表面积为:",area)Python规范2.2例2-7使用三个双引号的多行注释,将2-6的多行注释部分改成三个双引号的注释,代码如下:"""文件名:2-5.py用途:用于求解球的表面积创建日期:2022年10月26日创建人:YW"""pi=3.14#定义一个变量pi用来表示圆周率π的值r=4#定义一个变量r用来表示球的半径area=4*pi*r*r#使用球的表公式求出球的表面积print("球的表面积为:",area)Python规范2.23.编码规则注释编码规则注释主要是为了解决Python2.x中不支持直接写中文的问题,虽然该问题在Python3.x中已经不存在,但是,为了方便他人了解代码文件所使用的编码,建议在文件开始位置加上编码注释规则。Python规范2.2例2-8在例2-7程序的文件开始位置添加编码规则注释。#-*-coding:utf-8-*-"""文件名:2-5.py用途:用于求解球的表面积创建日期:2022年10月26日创建人:YW"""pi=3.14#定义一个变量pi用来表示圆周率π的值r=4#定义一个变量r用来表示球的半径area=4*pi*r*r#使用球的表公式求出球的表面积print("球的表面积为:",area)Python规范2.22.2.5标识符及其命名规则Python语句中的类名、对象名、方法名和变量名等,统称为标识符1.标准命名规则为了提高程序的可读性,在定义标识符时,要尽量遵循见其名知其意的原则Python标识符的具体命名规则如下:(1)一个标识符可以由几个单词连接而成,以表明他们的意思。(2)建议使用有意义的名字作为标识符,能够体现其用途。(3)标识符由一个或多个字母、数字、下划线(_)构成,并且第一个字符不能是数字,换句话说标识符的第一个字符必须是字母或者下划线。(4)标识符没有长度限制,建议标识符不宜太长,否则不利于程序的编写。(5)标识符不能是关键字。(6)标识符中的字母是严格区分大小写的。(7)标识符不能包含空格、@、%和$等特殊符号。(8)应该避免标识符的开头和结尾都使用下划线的情况,因为Python中大量采用这种名字定义了各种特殊方法和变量。Python规范2.2例2-11判断以下哪些标识符的定义是合法的,哪些是非法定义?a_int、student、teacher1、func2、_a、_a5、_、4dean、for、$book、@qq合法:a_int、student、teacher1、func2、_a、_a5、_非法:4dean、for、$book、@qqPython规范2.22.不合理命名规则不合理命名规则指定义的标识符系统不会报错,但是在实际使用时会产生歧义或存在重大隐患的标识符命名,具体包括以下两种类型:(1)使用系统内置的模块名、类型名或函数名,以及已导入的模块名及其成员名作为变量名,在程序运行时不会报错,但这将会改变原有的类型和含义,一旦定义成这些名字后,就不能继续保留其原有特性了,在使用过程中可以通过dir(__builtins__)语句查看所有内置模块、类型和函数。Python规范2.2例2-9定义标识符时为了避免与系统内置的变量和函数重名,请编写代码查看系统内置的变量和函数,并统计一下当前Python版本中共包含多少个内置变量和函数?importbuiltinsprint("Pyhon的内置变量和函数为:")print(dir(builtins))print("当前Pyhon版本的内置变量和函数共有",len(dir(builtins)),"个")分析:要查看系统内置的变量及函数,除了可以使用上面的dir(__builtins__)语句外,我们还可以导入builtins模块,builtins是Python中的一个内置模块,该模块提供对Python的所有“内置”标识符的直接访问,dir()是Python的一个内置函数,主要用来返回对应模块的所有方法及属性,代码如下:Python规范2.2(2)定义以下划线开始或者结束的标识符时,需要谨慎使用。下划线在定义类的特殊成员时有其特殊的含义,一般情况如下:__*__(双下划线)表示系统定义的特殊成员,如__name__;_*(单下划线)表示类的保护成员,不能使用“frommoduleimport*”导入,只有类对象和子类对象才能访问这些成员;__*(双下划线)表示类的私有成员,只有类对象自己能够访问。Python规范2.23.标识符命名习惯下面介绍一些常用的命名规则。(1)变量名、常量名很多开发人员对变量名的命名很随意,常用j、i、k等单个字母命名,可读性差。变量名的命名也有一定的规范,变量名应全部小写,用下划线连接各个单词,比如:school_name。私有类成员变量使用单一下划线前缀标识,如:_name。常量名的所有字母都要大写,可用下划线连接各个单词,如:MAX_OVERFLOW、TOTAL。(2)函数名函数名通常小写,可以用下划线或单词首字母大写增加可读性,导入的函数以模块名为前缀。如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线。如:myfunction可写作my_example_function。Python规范2.2(3)类名、对象名、属性名、方法名类名首字母要大写,私有类可用一个下划线开头,其他字母小写。对象名全采用小写字母。类的属性和方法名以对象作为前缀,对象通过“.”访问属性和方法。方法名首字母小写,其他单词首字母大写,使用“self”作为实例方法的第一个参数。具体参考实例如下:classStudent:#类名Student首字母大写...def__init__(self,name):#使用“self”作为实例方法的第一个参数...defgetName(def):#方法名getName首字母小写,其他单词首字母大写...student=Student("delphi")#对象名student小写printstudent.getName()#对象通过“.”访问方法Python规范2.2(4)包名、模块名包名和模块名应简短,尽量使用小写命名,不要用下划线,如果词量大可以加入下划线增强可读性,如“mymodule”这样的命名就是允许的,而“Mymodule”这样的命名方式则不推荐。Python规范2.22.2.6关键字关键字即预定义保留标识符,在Python语言中定义了一些专有词汇,统称为关键字,他们都有特定的含义,只能用于特定的位置,表2-1列出了Python语言中的所有关键字及其说明。Python规范2.2序号保留字说

明1False假2None空3True真4and用于表达式运算,逻辑与操作5as用于类型转换6assert断言,用于判断变量或条件表达式的值是否为真7async用来声明一个函数为异步函数8await用来声明程序挂起9break中断循环语句的执行10class用于定义类11continue继续执行下一次循环12def用于定义函数或方法13del删除变量或者序列的值14elif条件语句,与ifelse结合使用15else条件语句,与if、elif结合使用,也可以用于异常和循环16except包括捕获异常后的操作代码,与try、finally结合使用17for循环语句18finally用于异常语句,出现异常后,始终要执行finally包含的代码块。与try、except结合使用19from用于导入模块,与import结合使用20global定义全局变量21if条件语句,与else、elif结合使用22import用于导入模块,与from结合使用23in判断变量是否存在于序列中24is判断变量是否为某个类的实例25lambda定义匿名函数26not用于表达式运算,逻辑非操作27nonlocal在函数或者其他作用域中使用外层(非全局)变量28or用于表达式运算,逻辑或操作29pass空的类、函数、方法的占位符30raise异常抛出操作31return用于从函数返回计算结果32try包含可能会出现异常的语句,与except、finally结合使用33while循环语句34with简化Python的语句35yield用于从函数依次返回值Python规范2.2例2-10写出查找python中的关键字的程序importkeywordprint(keyword.kwlist)分析:keyword是python中的一个标准库,主要用来判断和输出系统关键字,不用pip下载安装直接就可以使用,导入该库,然后使用该库中的属性kwlist就可以显示系统关键字['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']程序代码如下:运行结果如下:Python规范2.2(3)类名、对象名、属性名、方法名类名首字母要大写,私有类可用一个下划线开头,其他字母小写。对象名全采用小写字母。类的属性和方法名以对象作为前缀,对象通过“.”访问属性和方法。方法名首字母小写,其他单词首字母大写,使用“self”作为实例方法的第一个参数。具体参考实例如下:classStudent:#类名Student首字母大写...def__init__(self,name):#使用“self”作为实例方法的第一个参数...defgetName(def):#方法名getName首字母小写,其他单词首字母大写...student=Student("delphi")#对象名student小写printstudent.getName()#对象通过“.”访问方法数据类型2.3计算机程序通常用于处理各种类型的数据,不同的数据属于不同的数据类型,支持不同的运算操作。Python3.x中有6个标准的数据类型,分别是数字、字符串、列表、元组、字典和集合。这6个标准的数据类型又可以进一步划分为基本数据类型和组合数据类型,如表2-2所示,其中数字和字符串都是基本数据类型,这两个数据类型将放在第3章和第4章介绍;列表、元组、字典和集合是组合数据类型,将放在第5章讲。数据类型2.3数据类型分类数据类型中文名称数据类型英文名称示例基本数据类型数字整数int123浮点数float3.1415复数complex2+3.4j布尔数boolTrue、False字符串str'hello','12',"语文"组合数据类型列表list[1,3,5,7,100]元组tuple(2,4,8,12)字典dict{'name':"lucky","age":10,"sex":"男"}集合set{"b","a","c"}Python3.x中的6个标准数据类型在以上的6个标准数据类型中,根据数据的可变性,又可将他们分为不可变数据类型和可变数据类型,其中数字(整数、浮点数、复数、布尔数)、字符串和元组是属于不可变数据类型;列表、字典和集合属于可变数据类型。变量2.42.4.1对象对象是Python语言中最基本的概念,在Python中处理的一切都是对象。在Python程序设计中,所有的数据均表示为对象。对象本质上是一个内存,拥有特定的值,支持特定的运算操作。变量2.42.4.1对象对象是对数据的抽象,Python中所有的数据都被表示成对象,或者对象之间的关系,所有的数据以对

温馨提示

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

评论

0/150

提交评论