2016青岛科技大学脚本编程技术期末测验原题.docx
《2016青岛科技大学脚本编程技术期末测验原题.docx》由会员分享,可在线阅读,更多相关《2016青岛科技大学脚本编程技术期末测验原题.docx(7页珍藏版)》请在咨信网上搜索。
2016青岛科技大学脚本编程技术期末测验原题 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 个人收集整理,勿做商业用途 一、判断题(每题2分,共10分) 二、名词解释(考5题,每题4分) (1)PyPI:PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。 (2)easy_install:easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。 setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。 (3) egg:python的egg文件有点像java中的jar文件,把一系列的python源码文件、元数据文件、其他资源文件 zip 压缩,重新命名为.egg 文件,目的是作为一个整体进行发布,便于安装部署。在理想情况中,egg 是一个使用 zip 压缩的文件,其中包括了所有需要的包文件。但是在某些情况下,setuptools 会决定(或被开关告知)包不应该是 zip 压缩的。在这些情况下,egg 只是一个简单的未曾压缩的子目录,但是里面的内容是相同的。使用单一的版本可以方便地进行转换,并可以节省一点磁盘空间,但是 egg 目录从功能和组织结构上来说都是相同的。 (4) Pip:pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品。pip 一般用来解决项目依赖问题。将项目所有依赖的第三方库写在一个requirements.txt 中用pip 批量安装。一般和virtualenv 配合使用,将所有包安装在virtualenv 的环境中。 (5) 动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。Python通过virtualenv工具管理虚拟环境。Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter。虚拟环境的好处是避免了不同Python程序间的互相影响。 (6) Fabric:Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志输出等功能。Fabric在Paramiko的基础上做了更高一层的封装,操作起来会更加简单。 (7) supervisord:Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit,都可以对进程进行监控。monit和supervisord的一个比较大的差异是supervisord管理的进程必须由supervisord来启动,monit可以管理已经在运行的程序;supervisord还要求管理的程序是非daemon程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord来管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非daemon方式启动。 (8) Pyramid:Pyramid是一个通用、开源的 Python 网络应用程序开发框架。它主要的目的是让 Python 开发者更简单的创建网络应用程序。 Gunicorn:Gunicorn(gunicorn.org)是一个Python WSGI UNIX 的HTTP服务器,是基于”pre-fork worker”模型,是从rails的部署工具(Unicorn)移植过来的。但是它使用的协议是 WSGI,全称是Python Web Server Gateway Interface,部署比较简单。 Django:Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。Django 框架的核心组件有:1.用于创建模型的对象关系映射2.为最终用户设计的完美管理界面3.一流的 URL 设计4.设计者友好的模板语言5.缓存系统。 (9) Celery:Celery(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。 (10) Traversal(遍历):指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。 三、 分析题(每题10分,共30分) 四、 论述题(考两个,每题20分) 1、请论述web应用开发是Python与PHP的异同。 相同点:都是动态类型的解释型高级脚本语言。 不同点: (1) 语法:PHP 的语法看起来就像没有经过精心设计一样,很随意。有的语法看似很方便(用点来连接字符串), 但是却为之后扩展造成了很多麻烦(点没法用于访问对象的成员), 再比如比较蛋疼的命名空间的语法。Python 相比之下要好一点,但是 Python2 和 Python3 直接存在着一些不兼容的语法变动。 (2)编写 HTML 模版:PHP 可以非常方便地直接用来编写 HTML 模版,Python 需要借助其他的语言或库来实现。 (3)包管理器:PHP 的包管理器(PEAR)和扩展管理器(PECL)恐怕根本没人用,这导致引入一个新依赖的成本很高,于是很多人倾向于自己造轮子而不是引入现成的库。Python 有统一的包管理器,虽然也有问题,但要比 PHP 好得多,引入库之后的命名空间管理也要比 PHP 好。 (4)扩展和库:PHP 和 Python 都可以用 C 来编写扩展。相比之下 Python 可用的库要更多一点。 (5)运行方式:PHP 运行方式比较单一(php-fpm, mod_php), Python 则可以以 fastCGI 运行,也可以自行监听端口来处理请求。 (6)性能:因为 PHP 运行方式单一,opcode 缓存方案也比较成熟(APC, opcache),缓存 opcode 之后运行速度很快。Python 则可能需要更多地自行优化性能。 (7)类型系统:PHP 和 Python 都是动态类型。PHP 对类型判别比较模糊,有很多陷阱,Python 则严格一些。 (8)学习成本:PHP 和学习成本都不是很高。PHP 优势在于有比较完整的官方中文文档,而且 PHP 应用领域只有 Web, 所以需要学习的内容较少。Python 因为学习路线较多,不太容易找到适合自己的教程和资料。 (9)社区:PHP 的资料遍地,但是高质量的中文社区较少,普遍对官方的新功能不是很关注。Python 则要好一点。 (10)应用领域:PHP 仅在 Web 后端方面被使用,Python 应用领域更广泛一点,如果需要将逻辑移植到其他平台(如桌面), Python 要方便一点。 2、 请论述Python语言的特点。 (1) 易用性: 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。 易于阅读:Python代码定义的更清晰。 易于维护:Python的成功在于它的源代码是相当容易维护的。 (2) 扩展性: 如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。 (3) 可移植性: 基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。 (4)面向对象: 使用面向对象的方式。Python即支持面向过程的编程,也支持面向对象的编程。在 面向过程 的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在 面向对象 的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。 (5)丰富的库: Python 标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、 FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。 只要安装了 Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。 除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted 、Pygame和 Python图像库 等等。 (6) 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。 (7) 互动模式: 互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。 (8) 数据库: Python提供所有主要的商业数据库的接口。 (9)GUI编程: Python支持GUI可以创建和移植到许多系统调用。 (10)解释性: 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候, 连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心 如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它 就可以工作了,这也使得你的Python程序更加易于移植。 3、 请论述Python语言与C语言的异同。 相同点: 不同点: C语言属于编译性语言。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。由于执行速度快,同等条件下对系统要求较低,常用于开发操作系统、大型应用程序、数据库系统等。 Python是一种脚本语言。脚本语言是解释性语言。脚本语言一般都有相应的脚本引擎来解释执行。它们一般需要解释器才能运行。所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本语言是一种解释性的语言,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在。通常应用于一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序。 C 是静态类型语言。一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的 Python是动态类型语言。一种在运行期间才去确定数据类型的语言,与静态类型相反。它确定一个变量的类型是在第一次给它赋值的时候。 C语言使用面向过程的方式。面向过程是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 Python即支持面向过程的编程,也支持面向对象的编程。在 面向过程 的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在 面向对象 的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。 4、 请论述Python的发展史。 Python 是由吉多·范罗苏姆 (Guido van Rossum)在1989年为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。在荷兰国家数学和计算机科学研究所设计出来的。 Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。 现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。 Python 2.0于2000年10月16日发布,主要是实现了完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社区对开发进程的影响逐渐扩大。 2001年, Python的核心开发团队移师Digital Creations公司,该公司是Zope(一个用Python编写的web应用服务器)的创始者。 2008年12月3发布,经过长时间的测试,Python 3.0发布。它不完全兼容之前的Python代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2016 青岛 科技大学 脚本 编程 技术 期末 测验
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文