Python
文章平均质量分 84
lxgwm2008
软件工程师 Engineer
展开
-
Python 私有函数
与大多数语言一样,Python 也有私有的概念:• 私有函数不可以从它们的模块外面被调用• 私有类方法不能够从它们的类外面被调用• 私有属性不能够从它们的类外面被访问与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字。如果一个 Python 函数,类方法,或属性的名字以两个下划线开始 (但不是结束),它是私有的;其它所有的都转载 2013-07-05 17:04:42 · 14724 阅读 · 0 评论 -
Python 类属性介绍
你已经知道了数据属性,它们是被一个特定的类实例所拥有的变量。Python 也支持类属性,它们是由类本身所拥有的。1. 类属性介绍class MP3FileInfo(FileInfo): "store ID3v1.0 MP3 tags" tagDataMap = {"title" : ( 3, 33, stripnulls),转载 2013-07-05 17:00:07 · 1068 阅读 · 0 评论 -
Python 异常处理
与许多面向对象语言一样,Python 具有异常处理,通过使用 try...except 块来实现。Note: Python v s. Java 的异常处理Python 使用 try...except 来处理异常,使用 raise 来引发异常。Java 和 C++ 使用 try...catch 来处理异常,使用 throw 来引发异常。异常在 Python 中无处不在转载 2013-07-05 17:34:37 · 3472 阅读 · 0 评论 -
Python 与文件对象共事
Python 有一个内置函数,open,用来打开在磁盘上的文件。open 返回一个文件对象,它拥有一些方法和属性,可以得到被打开文件的信息,以及对被打开文件进行操作。>>> f = open("/music/_singles/kairo.mp3", "rb") (1)>>> f (2)>>> f.mode转载 2013-07-05 17:42:17 · 1161 阅读 · 0 评论 -
Python for循环
与其它大多数语言一样,Python 也拥有 for 循环。你到现在还未曾看到它们的唯一原因就是,Python 在其它太多的方面表现出色,通常你不需要它们。其它大多数语言没有像 Python 一样的强大的 list 数据类型,所以你需要亲自做很多事情,指定开始,结束和步长,来定义一定范围的整数或字符或其它可重复的实体。但是在 Python 中,for 循环简单地在一个列表上循环,与 li转载 2013-07-05 17:58:28 · 7729 阅读 · 0 评论 -
Python 与目录共事
os.path 模块有几个操作文件和目录的函数。这里,我们看看如何操作路径名和列出一个目录的内容。1. 构造路径名>>> import os>>> os.path.join("c:\\music\\ap\\", "mahadeva.mp3") (1) (2)'c:\\music\\ap\\mahadeva.mp3'>>> os.path.join("c:\\music\\ap"转载 2013-07-05 22:06:25 · 871 阅读 · 0 评论 -
Python 探索 UserDict :一个封 装类
如你所见,FileInfo 是一个有着像字典一样的行为方式的类。为了进一步揭示这一点,让我们看一看在 UserDict 模块中的 UserDict 类,它是我们的 FileInfo 类的父类。它没有什么特别的,也是用 Python 写的,并且保存在一个 .py 文件里,就像我们其他的代码。特别之处在于,它保存在你的 Python 安装目录的 lib 目录下。1. 定义 UserDic转载 2013-07-05 16:21:08 · 4626 阅读 · 0 评论 -
Python 专用类方法
除了普通的类方法,Python 类还可以定义专用方法。专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用 (像普通的方法那样)。就像你在上一节所看到的,普通的方法对在类中封装字典很有帮助。但是只有普通方法是不够的,因为除了对字典调用方法之外,还有很多事情可以做的。例如,你可以通过一种没有包括明确方法调用的语法来获得和设置数据项。这就是专用方法产生的转载 2013-07-05 16:42:28 · 1663 阅读 · 0 评论 -
Python 高级专用类方法
除了 __getitem__ 和 __setitem__ 之外 Python 还有更多的专用函数。某些可以让你模拟出你甚至可能不知道的功能。下面的例子将展示 UserDict 一些其他专用方法。 def __repr__(self): return repr(self.data) (1) def __cmp__(self, dict):转载 2013-07-05 16:46:56 · 1162 阅读 · 0 评论 -
A simple echo client & server based on twisted framework
echoserver.pyfrom twisted.internet.protocol import Protocol, ServerFactoryfrom twisted.internet import reactor__author__ = 'xueleng'class Echo(Protocol): def dataReceived(self, data):原创 2013-07-31 15:59:25 · 1048 阅读 · 0 评论 -
python glob模块
glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:"*":匹配0个或多个字符"?":匹配单个字符"[]":匹配指定范围内的字符,如:[0-9]匹配数字。1.glob.glob 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹转载 2013-08-02 15:34:17 · 722 阅读 · 0 评论 -
python之super的问题
今天在用twisted框架时,遇到一个super的问题。示例代码如下:class A: def __init__(self): print "A"class B(A): def __init__(self): super(B, self).__init__() print "B"c = B()报TypeErro原创 2013-08-07 12:40:22 · 1356 阅读 · 0 评论 -
python对象的私有封装
python的实例非常灵活,在某些情况下,如果想实现隐藏和封装性时就需要一些小操作来提高python的准确性._attr真不靠谱_属性只是提供模块级别的隐藏,定义_属性,在实例中,仍然可以随意操作。 三个办法变得靠谱# 1.藏. 私有属性 __name , 达到隐藏的效果,但并不能保证属性被意外染指# 2.护 property函数 ,达到封装性,只有显示操作才能达到转载 2013-08-08 16:31:54 · 937 阅读 · 0 评论 -
Decorators and Functional Python
Decorators are one of Python’s great features. In addition to their intrinsic usefulness in the language, they also help us to think in an interesting way — afunctional way.I intend to explain how转载 2013-08-08 14:23:52 · 893 阅读 · 0 评论 -
Python标准库(1)——string
1 字符串部分1.1 string 包含常量及文字处理类1.1.1 函数capwords()函数将字符串中的每一个单词的首字母大写>>> print string.capwords('my name is lxg')My Name Is Lxg该函数的功能类似于调用字符串的split()函数,将每个单词首字母大写,然后调用join()方法将单词拼接起来>>> print ' '原创 2015-05-21 18:08:56 · 848 阅读 · 0 评论 -
Python标准库(2)——数据结构之Counter
2. 数据结构Python内置了基本的数据结构类型,如list,tuple,dict,set。除此之外,标准库还提供了很多功能强大的,且经过良好测试的数据结构collections模块包含了几种常见的数据结构。Deque是一个双端队列,可以快速地在队列两端插入和删除元素。defaultdict扩展了dict,当访问的key不存在时,返回一个默认值,而不是抛出异常。OrderedDict原创 2015-05-21 18:11:37 · 1459 阅读 · 0 评论 -
Python 类的实 例化
在 Python 中对类进行实例化很直接。要对类进行实例化,只要调用类 (就好像它是一个函数),传入定义在 __init__ 方法中的参数。返回值将是新创建的对象。1. 创建 Fi le Info 实例>>> import fileinfo>>> f = fileinfo.FileInfo("/music/_singles/kairo.mp3") (1)>>> f.__转载 2013-07-05 16:06:34 · 8980 阅读 · 0 评论 -
Python 映射 list
Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。1. List 解析介绍>>> li = [1, 9, 8, 4]>>> [elem*2 for elem in li] (1)[2, 18, 16, 8]>>> li转载 2013-07-05 14:05:31 · 4585 阅读 · 0 评论 -
Python and cryptography with pycrypto
Python and cryptography with pycryptoApril 22, 2011We are going to talk about the toolkit pycrypto and how it can help us speed up development when cryptography is involved.Hash functionsE转载 2013-07-10 09:34:05 · 3084 阅读 · 0 评论 -
Python 类的定 义
Python 是完全面向对象的:你可以定义自已的类,从自已的或内置的类继承,然后从你定义的类创建实例。在 Python 中定义类很简单。就像定义函数,没有单独的接口定义。只要定义类,然后就可以开始编码。Python 类以保留字 class 开始,后面跟着类名。从技术上讲,有这些就够了,因为一个类并非必须从其它类继承。1. 最简单的 Python 类class Loaf:转载 2013-07-05 15:55:38 · 3224 阅读 · 0 评论 -
python中List的sort方法(或者sorted内建函数)的用法
我们需要对List进行排序,Python提供了两个方法方法1.用List的成员函数sort进行排序方法2.用built-in函数sorted进行排序(从2.4开始)--------------------------------sorted--------------------------------------->>> help(sorted)Help on built转载 2013-07-11 10:29:12 · 3620 阅读 · 0 评论 -
Python egg学习笔记
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,它用来安装egg包。egg包是目前最流行的python应用打包部署方式。如何制作和安装egg包?下面我就简单的分析了一下。1.1转载 2013-07-12 13:24:26 · 975 阅读 · 0 评论 -
python入门
1.在交互模式下,特殊变量“_”表示上一条命令的执行结果(注:类似于shell下的$?)。该变量只在交互模式下生效,其他情况下无效。2.一种更优雅的print方式: print '%3d %0.2f' %(year, principal) => print format(year, '3d'), format(principal, '0.2f')3.strings原创 2013-07-04 10:27:45 · 6453 阅读 · 0 评论 -
AES encryption of files in Python with PyCrypto
转自:http://eli.thegreenplace.net/2010/06/25/aes-encryption-of-files-in-python-with-pycrypto/The PyCrypto module seems to provide all one needs for employing strong cryptography in a program. It wra转载 2013-07-04 17:34:37 · 2229 阅读 · 0 评论 -
Python自省(反射)指南
在笔者,也就是我的概念里,自省和反射是一回事,当然其实我并不十分确定一定以及肯定,所以如果这确实是两个不同的概念的话,还请多多指教 :) 转载请注明作者、出处并附上原文链接,多谢!update 2011-3-10: 更正函数的func_globals属性含义。 首先通过一个例子来看一下本文中可能用到的对象和相关概念。1234567转载 2013-07-05 13:23:58 · 608 阅读 · 0 评论 -
Python 使用 lambda 函数
Python 支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。1. lambda 函数介绍>>> def f(x):... return x*2... >>> f(3)6>>> g = lambda x: x*2 (1)>>> g(3)6>>> (lambda x:转载 2013-07-05 13:51:42 · 856 阅读 · 0 评论 -
python中的反射和自省
本文主要介绍python中的反射和自省,以及该机制的简单应用熟悉JAVA的程序员,一定经常和Class.forName打交道。即使不是经常亲自调用这个方法,但是在很多框架中(Spring,eclipse plugin机制)都依赖于JAVA的发射和自省能力。而在python中,也同样有着强大的反射和自省能力,本文将做简单的介绍。 首先看一下自省,介绍一下几个重要的函数:dir函数,传转载 2013-07-05 13:24:34 · 789 阅读 · 0 评论 -
Python 过滤列表
如你所知,Python 具有通过列表解析将列表映射到其它列表的强大能力。这种能力同过滤机制结合使用,使列表中的有些元素被映射的同时跳过另外一些元素。过滤列表语法:[mapping-expression for element in source-list if filter-expression]这是你所知所爱的列表解析的扩展。前三部分都是相同的;最后一部分,以 if 开头的是过滤器表转载 2013-07-05 14:12:04 · 11740 阅读 · 0 评论 -
一个古老的编程游戏:Python Challenge全通攻略
转自:http://www.cnblogs.com/jimnox/archive/2009/12/08/tips-to-python-challenge.html转载 2013-07-05 14:49:17 · 1035 阅读 · 0 评论 -
Python 使用 from module import 导入模 块
Python 有两种导入模块的方法。两种都有用,你应该知道什么时候使用哪一种方法。一种方法,import module。另一种方法完成同样的事情,但是它与第一种有着细微但重要的区别。下面是 from module import 的基本语法:from UserDict import UserDict它与你所熟知的 import module 语法很相似,但是有一个重要的区别:UserDi转载 2013-07-05 15:41:26 · 2232 阅读 · 0 评论 -
python 函数参数的传递(参数带星号的说明)
python中函数参数的传递是通过赋值来传递的。函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1, arg2, ...)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小转载 2013-07-04 22:23:37 · 676 阅读 · 0 评论 -
Python的函数参数传递:传值?引用?
我想,这个标题或许是很多初学者的问题。尤其是像我这样的对C/C++比较熟悉,刚刚进入python殿堂的朋友们。C/C++的函数参数的传递方式根深蒂固的影响这我们的思维--引用?传值?究竟是那种呢。呵呵,语言的特性决定了是使用的方法,那么,现在我们来探究一下python的函数参数传递方式。在开始之前,我们有必要分清一下python的一些基础概念。首先要说的是:变量 与 对象在py转载 2013-07-04 22:54:13 · 1133 阅读 · 0 评论 -
Python中and和or的特殊性质
在 Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样。但是它们并不返回布尔值,而是返回它们实际进行比较的值之一。1. and 介绍>>> 'a' and 'b' (1)'b'>>> '' and 'b' (2)''>>> 'a' and 'b' and 'c' (3)'c'(1) 使用 and 时,在布尔环转载 2013-07-05 13:36:07 · 981 阅读 · 0 评论 -
Python标准库(3)——数据结构之defaultdict
2.1.2 defaultdict 扩展自dict。在初始化时可以提供一个默认值,在访问不存在的key时返回。>>> def default_factory():... return 'default value'...>>> d = collections.defaultdict(default_factory, foo='bar')>>> print ddefa原创 2015-05-21 18:36:10 · 1355 阅读 · 0 评论