有关Python源代码编制技巧说明

开发 后端
本文向大家介绍Python源代码,可能好多人还不了解Python源代码,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

下面进行详细说明Python源代码的编程技巧,以及Python源代码的相关拼写规则,首先先让大家了解下什么是Python语言,所谓的Python:是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言。

在这部分开始之前我也想聊聊之前我们一直在讲,而且将来还一直会讲下去的一个话题――状态。 之前我们一直在讨论。把用户的状态保存在一个集中的地方,尤其是大规模集群部署的情况下,同样,对于django来说亦是如此,可以说这条金科玉律不只是针对某种针对某个语言。

某个框架,它应该是更高层次的一种理念。那么我们可以把状态放到什么地方呢,目前一些流行的选择是DB(内存表,或实体表),memcached,或者cookie。但这几种选择并不是可以随便互换的,比如业务数据较多的情况下,放在Python源代码中不是很合适,因为有可能超出cookie大小的限制。

那么放在memcached中,很遗憾,memcached(使用slab的情况下)中也有它自己的限制,如果状态数据大小跨度较大,那么丢数据的情况有可能发生,ahuaxuan很久之前在测试环境下就碰到过这种情况。由于线上memcached开得较大,所以没有出现这种情况,关于这种事件发生得内部原因在ahuaxuan的另外一篇文章中已经有了非常详细的描述。

那么放在DB上呢,显然,DB的压力也是我们需要考虑的问题之一。当然除了这些主流的选择之外,我们其他选择还有很多,比如memcachedb,或者timesten,或者其他等等。但是对于状态这种东西,尤其状态数据比较重要的情况下,我们一定要深入研究并理解状态数据的存储技术,否则可能会遇到我们异想不到的情况。

比如很久之前我想破头也不会想到memcached是LRU是针对某个slab的(而且我还要插一句,LRU的时候其实并不是遍历slab中的chunk链表,而且只遍历最开始的50个数据而已,这样做纯粹是为了速度)。 目前对django来说基本上有两种部署策略, ***种是利用mod_python将django运行在apache进程中,还有一种是webserver+fastcgi。

这两种方式各有优缺点,在mod_python模式中,我们的webserver必须使用apache,apache在webserver这一领域已经独占鳌头很多年了。市场占有率也是远远的超过其他的webserver,不过近几年来,又崛起了几个其他的webserver,其中比较出名的是ligttpd和nginx。

它们都以高性能和低内存消耗对apache发出了挑战,而mod_python是apache的插件,使用这种方式就把我们的webserver限定在apache上了,不过还好apache+mod_python也是非常的稳定的方案了。 第二种就是webserver+fastcgi,这里的webserver就可以随意选择了,大多数的webserver对提供了对fastcgi的支持。

比如我们耳熟能详的lighttpd和nginx,而且据称在很多情况下,FastCGI能够提供比mod_python更为优越的安全性和效能。针对小型站点,相对于Apache来说FastCGI更为轻量级。据称qq的个人空间就是c++加fastcgi实现的,哦,这样做的优势在哪里呢,c++的处理速度将会非常的快。

也就是说每个fastcgi处理一个请求将会非常快速,比如使用python需要50毫秒,c++处理这个请求有可能只需要20毫秒(这个例子未必准确,只是为了说明fastcgi的特性)。虽然在开发上c++比较麻烦一点,不过在性能上,c++肯定是no1了,从这个例子上我们可以看到,使用fastcgi速度取决于处理一次请求的速度(废话,哪个不是这样)。

Tkinter是一个和Tk接口的Python源代码,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言。

用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。

Python Imaging Library(PIL)————Python源代码提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。

Pmw(Python megawidgets)Python超级GUI组件集————一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。 

【编辑推荐】

  1. 漫谈Python 源代码编制技巧
  2. 简单易于操作的Python 工具详解
  3. 有关Python应用领域进行说明介绍
  4. PythonAndroid面向对象的编程——Python应用程序
  5. 如何使用Python模块解析配置文件 ?
责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-02-23 10:14:29

Python 源代码

2010-02-26 16:05:19

Python 源代码

2010-02-26 10:24:43

Python源代码

2010-02-04 10:58:29

Android 源代码

2010-01-13 16:44:03

C++

2010-01-11 16:59:50

C++源代码

2010-02-02 14:54:28

Python语法

2010-02-23 14:41:28

Python模块

2010-02-01 17:11:45

Python 解释器

2010-02-24 17:22:59

Python项目

2010-02-22 14:42:19

Python 控制语句

2010-02-03 13:27:17

Python 特性

2010-01-11 15:55:51

C++语言

2010-01-13 13:27:00

C++优化

2010-02-02 13:05:58

Python代码

2010-02-26 11:20:53

Python应用

2010-02-22 13:20:58

Python中文问题

2010-02-01 16:32:49

Python脚本

2010-02-22 16:26:21

Python编辑

2010-03-12 14:28:45

Python if语句
点赞
收藏

51CTO技术栈公众号