第一种是实现上下文管理器协议,即魔法方法__enter__和__exit__. class Foo: def __enter__(self): print 'in' def __exit__(self, type, value, trace): print 'out' 定义了之后,就可以这样来使用 with Foo(): print 'do something' 输出: in do something out 第二种是使用contextlib模块 from contextlib import c
在python中,实现多维数组或矩阵,有两种常用方法: 内置列表方法和numpy 科学计算包方法. 下面以创建10*10矩阵或多维数组为例,并初始化为0,程序如下: # Method 1: list arr1 = [[0]*10 for i in range(10)] arr1[0][0] = 1 print "Method 1:\n", arr1 arr2 = [[0 for i in range(10)] for i in range(10)] arr2[0][0] = 1 pri
python中有两种类型的列表:其中一种是用[]创建的列表,这种列表具有伸缩性,可以动态改变,而另外一种列表是用()创建,成为元组,元组一旦创建,在任何状况下都不能再改变,是一种常量列表. movies=['.....]#具有伸缩性的动态列表 for each in data: (role,lines)=each.split(':',1)#声明一个元组,元组内的标识符role指向一个字符串,每次循环指向一个新的字符串.自动将分割的两部分字符串赋给role和lines.1表示只按照分割字符:将字符