2016青岛科技大学脚本编程技术期末考试原题
D
(3)
(4)pervisord会帮你把它转成daemon程序,因此如果用supervisord来管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非daemon方式启动。
(5)Pyramid:Pyramid是一个通用、开源的 Python 网络应用程序开发框架。它主要的目的是让 Python 开发者更简单的创建网络应用程序。
Gunicorn:)是一个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.缓存系统。
(6)Celery:Celery(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列
的方式在分布的机器/进程/线程上执行任务调度。Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。
(7)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 对类型判别比较模糊,有很多陷阱,
(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 要方便一点。
(8)学习成本:PHP 和学习成本都不是很高。PHP 优势在于有比较完整的官方中文文档,而且 PHP 应用领域只有 Web, 所以需要学习的内容较少。Python 因为学习路线较多,不太容易到适合自己的教程和资料。
(9)社区:PHP 的资料遍地,但是高质量的中文社区较少,普遍对官方的新功能不是很关注。Python 则要好一点。
(10)应用领域:PHP 仅在 Web 后端方面被使用,Python 应用领域更广泛一点,如果需要将逻辑移植到其他平台(如桌面), Python 要方便一点。
2、请论述Python语言的特点。
(1)易用性:
易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
易于阅读:Python代码定义的更清晰。
perl语言学习易于维护: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程序更加易于移植。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论