Python 嵌套函数 与 变量作用域
a=1
print id(a)
a=2
print id(a)
a=a+1
print id(a)
-------------------------------------------------------------------------------------------------------------------------
t=6
def tt():
global t
t=t+1
print t
print t
tt()
结果为:
6
7
-------------------------------------------------------------------------------------------------------------------------
t=6
def tt():
t=t+1
print t
print t
tt()
结果:出错 exceptions.UnboundLocalError: local variable 't' referenced before assignment
-------------------------------------------------------------------------------------------------------------------------
def f1(n):
m=n
def f2(i):
print m,i
return f2
a=f1(2)
b=f1(3)
a(1)
b(2)
结果:
2 1
3 2
-------------------------------------------------------------------------------------------------------------------------
m=999
def f1(n):
m=n
def f2(i):
global m
print m,i
return f2
a=f1(2)
b=f1(3)
a(1)
b(2)
结果为:
999 1
999 2
相关文档:
昨天试了下用HTMLParser类来解析网页,可发现结果并不理想。不管怎么说,先写下过程,希望后来人能在此基础上解决我所遇到的问题。
写了2套解决方案,当然这2套只能对特定网站有效。我这里主要说明下对BBC主页www.bbc.co.uk和对网易www.163.com的解析。
对于BBC:
这套要简单得多,可能是该网页的编码比较标准吧
import ......
继前篇《Import Module》(http://blog.csdn.net/xiadasong007/archive/2009/09/02/4512797.aspx),继续分析嵌入部分基础知识。这次不多说,有什么问题记得多查英文资料,国内的这方面知识少
还是来看代码,写完我就睡觉了~
#include "python/python.h"
#include <iostream>
using namespace std;
int ......
client:
import socket, sys
if __name__ == '__main__':
#处理参数
argv = sys.argv
if (len(argv)!=3) or (len(argv)==2 and argv[1]=='/?'):
print '>>>Useage:', argv[0], '<address> < ......
Python中可以使用装饰器对函数进行装饰(或说包装),利用这个特性,可以很方便、简洁地解决一些问题,比如获得函数执行时间的问题。
首先,我们定义一个函数,如下:
def exeTime(func):
def newFunc(*args, **args2):
t0 = time.time()
print "@%s, {%s} start" % (time.strftime("%X", time.local ......