
python
文章平均质量分 60
gzxcyy
这个作者很懒,什么都没留下…
展开
-
Python 中的 exec 和 eval
Python 允许通过 exec 和 eval 执行以字符串形式表示的代码片段,这体现了动态语言的特性。利用这种特性,可以让代码变得更灵活。不过一直以来,我对这种"动态"的用法不太"适应",因为:让代码引入了某些不安定因素,这些代码片段执行后可能对全局造成影响。尤其是当使用全局名称空间时,它的作用范围难以控制。对执行的效率也有影响。Python 在执行代码之前也是要预编译的,比如 pyc转载 2013-04-02 22:56:33 · 867 阅读 · 0 评论 -
十个Python陷阱(4-7)
4. 类属性和实例属性这边至少有两个小陷阱。第一,新手习惯于把属性放在类里面(而不是实例中),他们当看到这些属性会在实例之间共享的时候会很惊讶:>>> class Foo:... bar = []... def __init__(self, x):... self.bar.append(x)... >>> f = Foo(42)>>> g翻译 2013-04-24 13:52:51 · 1022 阅读 · 0 评论 -
Python读取文件目录树——os.walk
os.walk是Python的内置函数用来遍历文件目录树。import osrootDir = 'd:\\assa'for dirName, subdirList, fileList in os.walk(rootDir): print('Folder: %s' % dirName) for fname in fileList: print('\t%s' % fname)目录结构原创 2013-04-23 14:54:18 · 4757 阅读 · 0 评论 -
十个Python陷阱(1-3)
这些陷阱不一定是语言的缺陷,然而,这些语言的副作用,常常会使新手绊倒,甚至是有经验的程序员也会中招。完全理解Python的一些核心行为,反而可能会使你陷入其中。这边文章类似于一个对Python初学者的指导,早点了解这些陷阱,总比在实际项目的deadline前遭遇他们要好吧 :-)这不是在批评Python语言,就像前面说的,大部分的陷阱并不是由于语言的缺陷。1. 不一致的缩进翻译 2013-04-23 10:43:54 · 1390 阅读 · 1 评论 -
Python Dictionary
1. test if a key exists in a dict.The lame version:dct.has_key(key) The Python way:key in dct 2. test if a key NOT exist in a dict.Do this you must not:not key in dict原创 2013-04-22 16:17:59 · 773 阅读 · 0 评论 -
Python中的try, finally, return
先来一段代码:def f(): try: return "123" finally: return "321"print(f())执行结果会是什么呢?答案是:prints:321可以看到如果在finally中使用return语句,则会屏蔽其他所有地方的return语句,始终被执行。再来一段:def f(): try: return "123" fina原创 2013-04-22 17:10:35 · 3884 阅读 · 0 评论 -
使用Python删除Windows中只读文件
在Windows中,删除只读文件有两种方法:1. 修改只读属性,再删除:os.chmod( filename, stat.S_IWRITE )os.remove(filename)2. 使用命令行:os.system("DEL filename /F")但是在Linux和Mac中,文件的权限分三种:Write,Read,Execution。只要包含这个文件的文件夹原创 2013-04-22 16:49:08 · 3866 阅读 · 0 评论 -
Python中的两个方法string.maketrans()和string.translate()
今天无意中发现了一个好玩的游戏www.pythonchallenge.com,可以练习python的编程,于是乎玩了几关,其中第一关需要用到str.maketrans()和str.translate()方法,查了一下,原来如此:顾名思义,str.maketrans()是创建一个字符翻译表,而str.translate()就是根据这个翻译表,翻译这个字符串。string.translate(原创 2013-03-21 22:09:15 · 1619 阅读 · 0 评论 -
Python的动态加载机制
众所周知import是用来加载Python模块的,其实import是调用内建函数__import__来工作的,这就使我们动态加载模块变成了可能。import glob, osmodules = []for module_file in glob.glob('*-plugin.py'): #glob.glob得到当前目录下匹配字符串的文件名 module_name, ext原创 2013-03-25 23:23:37 · 2376 阅读 · 0 评论 -
python语法[global与nonlocal比较]
python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量一 globalglobal关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。gcount = 0def global_test(): print (gcount) def global_转载 2013-04-24 13:55:06 · 713 阅读 · 0 评论