摘要:
一 闭包来自wiki:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。在一些语言中,在函数中定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。闭包的用途:因为闭包只有在被调用时才执行操作,所以它可以被用来定义控制结构。多个函数可以使用一个相同的环境,这使得它们可以通过改 阅读全文
摘要:
一 装饰器decoratordecorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能。其实也就是其他语言中的AOP的概念,将对象或函数的真正功能也其他辅助的功能的分离。二Python中的decoratorpython中的decorator通常为输入一个函数,经过装饰后返回另一个函数。 比较常用的功能一般使用decorator来实现,例如python自带的staticmethod和classmethod。装饰器有两种形式:@Adeffoo():pass相当于:deffoo():passfoo=A(foo)第二种为带参数的:@A(arg 阅读全文
摘要:
通常地我们要在不同平台间共享文件,samba,ftp,cifs,ntfs的设置都是有点复杂的, 我们可以使用python提供的httpserver来提供基于http方式跨平台的文件共享。一 命令行启动简单的httpserver进入到web或要共享文件的根目录,然后执行(貌似在python32中此module不存在了):python -m SimpleHTTPServer 8000然后你就可以使用http://你的IP地址:8000/来访问web页面或共享文件了。二 代码启动httpserversimplehttpservertest.pyimportsysimportlocaleimporth 阅读全文
摘要:
python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量一 globalglobal关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。gcount=0defglobal_test():print(gcount)defglobal_counter():globalgcountgcount+=1returngcountdefglobal_counter_test():print(global_counter())print(global_counter())print(g 阅读全文