怎么样在元组和列表间转换?
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, smtplib fromaddr = 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 send server = smtplib.SMTP('localhost') server.sendmail(fromaddr, toaddrs, msg) server.quit()
python中生成随机数的函数?
import random random.random() random.randint()