怎么样在元组和列表间转换?
list(tuple)tuple(list)
如何对一个序列进行反转?
#方法一:#如果是一个列表listdata = [1,3,4,5]listdata.reverse()#但是这方法有一个缺点就是直接修改了原来的list#可以先copy一个再反转copylist = listdata[:]copylist.reverse#方法二#如果不是列表的话sequence = "zhang"tmplist=list()for i in range(len(sequence)-1, -1, -1): tmplist.append(sequence[i])print ''.join(tmplist)#方法三listdata=[1,3,4]#python2.3以后才支持这种切片print listdata[::-1]#方法四class Rev(object): def __init__(self,seq): self.listdata = seq def __len__(self): return len(self.listdata) def __getitem__(self,i): return self.listdata[-(i+1)]for i in Rev([6,2,3,4,5]): print i怎么根据一个另外一个列表的值来对这个列表进行排序?
list1 = [6,4,5,2]list2 = ['e','b','c','a']#zip函数接受一切可迭代的参数,并将其打包成元组pairs = zip(list1,list2)#注意:sort默认是对第一个值进行排序#这里是安装list1的值来对list2进行排序pairs.sort()result = [ x[1] for x in pairs ]什么是委托?
是一种面向对象的设计模式,假如我想改变某个对象的一写方法的行为的话,可以创建一个类来实现对这个方法的委托,改变这个方法的一些行为。例子:改变文件对象的写入方法的行为class UpperOut: def __init__(self, outfile): self.__outfile = outfile def write(self, s): self.__outfile.write(s.upper()) def __getattr__(self, name): return getattr(self.__outfile, name)f = open('1.txt','a+')test = UpperOut(f)test.write('s')test.close()#通过类UpperOut重写了write实现了对文件对象的写方法的改变,#通过__getattr__来实现了对文件对象的其他属性的委托如何去调用超类(父类或者叫做基类)的方法?如果是经典类的话就直接使用父类名字.方法名(self,[par,...])如果是新式类的话就使用super(类名,self).父类方法经典类和新式类的区别就在于是否是继承与object元类的如何在python类中创建静态变量和静态方法?
#方式一:class C(object): count = 0 def __init__(self): C.count = C.count + 1 def getcount(): return C.count getcount = staticmethod(getcount)#其中count是静态变量,getcount是静态方法#方式二:class C(object): count = 0 def __init__(self): C.count = C.count + 1 def getcount(cls): return cls.count getcount = classmethod(getcount)怎么样删除一个文件?
os.remove(filename) os.unlink(filename)python怎么通过脚步来发送邮件?
#下面的代表只能在linux下运行,借助linux上自带的mail server来发信import sys, smtplibfromaddr = raw_input("From: ")toaddrs = raw_input("To: ").split(',')print "Enter message, end with ^D:"msg = ''while 1: line = sys.stdin.readline() if not line: break msg = msg + line# The actual mail sendserver = smtplib.SMTP('localhost')server.sendmail(fromaddr, toaddrs, msg)server.quit()python中生成随机数的函数?
import randomrandom.random()random.randint()