Python 入门实践

来源:互联网 发布:h3c交换机查看mac地址 编辑:程序博客网 时间:2024/06/10 15:52

Python 入门实践
# _*_ coding: utf-8_*_#识别中文"""多行注释""""""#Listc = ['nihao', 'Bib']print c[0]c.append(2)c.insert(0,0)print cc.pop(0)print c#tuple的使用(内容不变)t = (1,2,3,4)t2 = (1,)print t2#创建能改变内容的tuplett = (1,2,[1,2])ttt = tt[2]print ttt[0]#if判断age = 20if  age >= 18:    print 'your age is', age    print 'adult'elif age >= 7:print 'over'else:print 'finish'#循环L = ['a','b','c']for name in L:print nameN = 10x = 0while x < N:x = x + 1if x >5:continueprint x#两重循环for x in ['a','b','c']:for y in ['1','2','3']:print x + y#dict (key-value)key没有顺序且不可改变,查找速度快,但占用内存大,#相反,list查找速度随元素增加而逐渐下降,但占用内存小,元素有顺序d = {'Adam':96,'Lisa':85,'Bart':59}print len(d)#避免不存在key值出错if 'Adam' in d:print d['Adam']#get方法不存在时返回Noneprint d.get('Adam')print d.get('dh')for key in d:print key#set元素没有重复,而且无序,自动去掉重复的元素s = set(['A','B','C'])ss = set(['A','B','C','C'])print sprint ssprint len(ss)#判断元素是否在set中if 'A' in s:print 'True'else:print 'False'for name in s:print name#添加s.add('D')print s#删除,需判断,否则不存在会报错s.remove('D')print s#函数#绝对值print abs(-100)#比较,< -1, == 0, > 1print cmp(1,2)#转换成整数print int('123')#转换成字符串print str(1.23)#定义函数def my_abs(x):if x >= 0:return xelse:return -xprint my_abs(-2)#math包提供了很多数学函数import mathdef move(x,y,step, angle):nx = x + step * math.cos(angle)ny = y + step * math.sin(angle)return nx, ny #返回多值x, y = move(100,100,60, math.pi/6)print x,y#递归函数def fact(n):if n == 1:return 1return n * fact(n - 1)print fact(2)print fact(1)#定义默认参数print int('123')print int('123', 8)def power(x, n=2):s = 1while n > 0:n = n-1s = s * xreturn sprint power(3)#定义可变参数def fn(*args):print args#组装成一个tupleprint fn()print fn(1)print fn(1,2)print fn(1,2,3)#对list进行切片L = ['a','b','c','d','e']print L[0:2]print L[:2]#倒叙切片,倒数第一个元素的索引是-1,包含起始索引,不包含结束索引print L[-2:]print L[:-2]print L[-3:-1]print L[::2]#对字符串切片print 'ACDEFG'[:3]#字符串变大写字母print 'abc'.upper()#迭代L = ['a','b','c','d']#enumerate函数获取索引for index, name in enumerate(L):print index,'-', name#迭代dict的valued = {'Adam':96,'Lisa':85,'Bart':59}#values()会转换成list, itervalues()不会,节省了生成list所需的内存print d.values()for v in d.values():print vprint d.itervalues()for v in d.itervalues():print v#迭代dict的key和value#items函数会把dict对象转换成包含tuple的listprint d.items()#iteritems函数不转换成list,而是直接不断给出tupleprint d.iteritems()for v in d.iteritems():print v#生成列表L = range(1,11)print LL = []for x in range(1,11):L.append(x*x)print LL = [x * x for x in range(1,11)]print L#复杂表达式d = {'Adam':96,'Lisa':85,'Bart':59}tds = ['<tr><td>%s</td><td>%s</td></tr>'%(name,score) for name, score in d.iteritems()]#字符串通过%格式化,指定的参数代替%s,字符串的join()可以把一个list拼接成一个字符串print '<table>'print '<tr><th>Name</th><th>Score</th></tr>'print '\n'.join(tds)print '</table>'#条件过滤L = [x * x for x in range(1,11) if x % 2 == 0]print L#多层表达式L = [m + n for m in 'ABC' for n in '123']print  L"""