self在区分全局变量/函数和对象中的成员变量/函数十分有用。例如,它提供了一种作用域机制,我个人认为比Ruby的@和@@清晰多了,这可能是习惯使然吧,但它确实和C++、Java中的this很相似。然而,self总是有令我困扰的地方,我以前在这里说过—我曾幻想能在Python3中这些能得以改进,然后通常会引发一轮热议并最终以人们所说的“显胜于隐”告终。我在巴西的时候曾和LucianoRamalho(巴西Python组织的主席)有过一次交谈。他让我明白并非无处不在的self让我困扰不已,而是参数列表中的self,我想也称为非pythonic(un-pythonic)。它是如何使用的下面是一些简单...
http://www.jb51.net//article/16672.htm
但GAE、Django并没有直接将pyExcelerator导出为Excel的方法。我的思路是先用把数据导入到Workbook和Worksheet中,如果存为文件可以直接调用Workbook的save方法,但GAE不支持本地文件操作,即使图片也只能存放在DataStore中,但我们可以类似于返回图片的方法,直接将Excel的二进制流返回给浏览器。这就需要修改一下Workbook的代码,加入返回二进制流的方法,我给他取的名字是savestream,在savestream中再次调用CompoundDoc.XlsDoc的savestream方法,也是自己增加的。代码如下:Workbook的saves...
http://www.jb51.net//article/16583.htm
[code]classAccount(object):"一个简单的类"account_type="Basic"def__init__(self,name,balance):"初始化一个新的Account实例"self.name=nameself.balance=balancedefdeposit(self,amt):"存款"self.balance=self.balance+amtdefwithdraw(self,amt):"取款"self.balance=self.balance-amtdefinquiry(self):"返回当前余额"returnself.balance[/code]其中,...
http://www.jb51.net//article/16582.htm
功能:为连连看游戏提供连接算法说明:模块中包含一个Point类,该类是游戏的基本单元“点”,该类包含属性:x,y,value。其中x,y代表了该点的坐标,value代表该点的特征:0代表没有被填充,1-8代表被填充为游戏图案,9代表被填充为墙壁模块中还包含一个名为points的Point列表,其中保存着整个游戏界面中的每个点使用模块的时候应首先调用createPoints方法,初始化游戏界面中每个点,然后可通过points访问到每个点,继而初始化界面模块中核心的方法是link,通过提供源点和终点,可尝试连接两点,如果可以连接则返回保存路径的path列表,否则返回False[code]#-*-c...
http://www.jb51.net//article/16570.htm
UnicodeEncodeError:'latin-1'codeccan'tencodecharactersinposition;找了一天终于搞明白了,默认情况下,mysql连接的编码是latin-1,你需要指定使用什么编码方式:connectionForURI(mysql://user:password@localhost:3306/eflow?use_unicode=1&charset=utf8)...
http://www.jb51.net//article/16474.htm
比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作s.decode(’gbk’).encode(’utf-8′)可是,在实际开发中,我发现,这种办法经常会出现异常:UnicodeDecodeError:‘gbk’codeccan’tdecodebytesinposition30664-30665:illegalmultibytesequence这是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,这些字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是\xa1...
http://www.jb51.net//article/16104.htm
局部名字静态检测Python探测局部作用域的时候:是在python编译代码时检测,而不是通过他们在运行时的赋值。正常的情况下,没在函数中复制的名字将在包含它的模块中查找:>>>x=99>>>defselector():...printx...>>>selector()99但是:>>>defselector():...printx...x=100...>>>selector()Traceback(mostrecentcalllast):File"<stdin>",line1,in?File"&l...
http://www.jb51.net//article/16103.htm
比如用print','.join(datelist)就可以将datelist列表里面的所有项目并成一个字符串,当然这个表达式会在每一个项目中间插入一个逗号,这种方式比用循环的方式更简洁。日期的操作必须使用time或datetime库importtime>>>s="2006-1-2">>>time.strptime(s,"%Y-%m-%d)这是将字符串格式的日期及时间转成日期对象转义符对应意义如下%a本地简化星期名称%A本地完整星期名称%b本地简化的月份名称%B本地完整的月份名称%c本地相应的日期表示和时间表示%d月内中的一天(0-31)%H24小时制小时数(...
http://www.jb51.net//article/16102.htm
这篇文章是关于wxPython,但wxPython实际是两件事物的组合体:Python脚本语言和GUI功能的wxWindows库(关于wxWindows的介绍,请参阅 developerWorks上的 “细述wxWindows” )。wxWindows库是为了最大可移植性的C/C++库,而抽取GUI功能。所以wxWindows应用程序与生俱来地可以运行在Windows、带X、KDE或Gnome的UNIX或者wxWindows已移植到的平台上(很不幸,还不包括Macintosh)。当然Python,作为脚本引擎,具有很强的移植性( 可以 运行在M...
http://www.jb51.net//article/16101.htm
根据本人的学习经验,我总结了以下十点和大家分享:1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本。我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等。2)下载完毕后,就可以开始学习了。学习过程中,我建议可以下载一些python的学习文档,比如《diveintopython》,《OReilly-LearningPython》等等。通过学习语法,掌握python中的关键字语法,函数语法,数学表达式等等3)学完了基本语法后,就可以进行互动式学习了。python具备很好的交互学习模式,对于书本上的例子我们可以通过交互平台进行操...
http://www.jb51.net//article/16100.htm
Rsync在Windows上的实现有好几个包装好的工具,比如DeltaCopy、Unison等。经过比较还是觉得cxRsync最好用.cwRsync的优点:1)配置简单。已经包装了crgwin库文件,下载安装就能直接调用命令进行同步。2)命令行即可操作.与Unix上基本一样(DeltaCopy则是图形化的,Unison还需要熟悉后才可以)。基本操作步骤:1)下载,安装cwRsync.2)(可选,Dreamhost的安全都这样糟了,还不如直接用密码登录安全呢,嘿)创建Key,进入命令行模式,调用ssh-keygen命令创建Key.公钥和私钥存储的位置就放在默认的位置即可。完成后将公钥串存入~/....
http://www.jb51.net//article/15873.htm
