Python入门,,2015.7.31慕


2015.7.31

慕课网 python 安装配置安装之后配置环境变量(最后加入安装的python位置如:D:\Python),后在命令提示符中输入python进入python交互式环境,也可以用Notepad编写python文件代码(.py),使用cd进入该文件路径,输入python hello.py(文件名)进行执行调用。
慕课网 python入门python是注重大小写的使用缩进控制代码体(代替其他语言的大括号)函数放在调用之前全局变量(global)在函数体重调用外面的变量转义字符\ 如:s=‘hello \‘word\‘print s多行字符串:r‘‘‘str‘‘‘用法:其中str可以有任意字符不需要转义逻辑运算(短路运算):在计算a and b时:如果a为false则返回结果必定是false返回a,若a为true则返回b在计算a or b 时:若a为true则返回结果必定是true返回a,若a为false则返回blist:L=[1,2,3]print L[0]tuple:T=(1,2,3)print T[0]tuple元组是不可更改的指向不可变,但当tuple中有元素为list,list的值是可变的,若要使其也为不可变的需要将list改为tuple当tuple只有一个元素时后面多加个“,”dict(键值对):D={‘a‘:1,‘b‘:2}print D[‘a‘]dict查找速度快,占内存大,dict中的key是不可变的set:s = set([(‘Adam‘,95),(‘Lisa‘,85),(‘Bart‘,59)])for x in s:print x[0],‘:‘,x[1]set中不含有重复值,且set中的值是不可变的for循环:L =[75,92,59,68]sum =0.0for score in L: sum=sum+scoreprint sum /4函数:def add(x,y)return x+yprint ff(4,5)返回多值的函数import mathdef move(x, y, step, angle): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle)return nx, nyx,y=move(100,100,60,math.pi/6)print x,y递归函数:def fact(n):if n==1:return1return n * fact(n -1)print fact(20)默认参数函数:def power(x, n=2): s =1while n >0: n = n -1 s = s * xreturn sprint power(5)可变参数函数:def average(*args): sum =0.0if len(args)==0:return sumfor x in args: sum = sum + xreturn sum / len(args)print average()print average(1,2)print average(1,2,2,3,4)切片(以下用list作为例子,tuple同样的做法):L=[1,2,3,4,5,6,7,8,9,0];print L[x:n]#从第L[x]取到L[n-1]print L[x:n:y]#从L[x]取到L[n-1]每隔y位取一个print L[:n]#从起始位取到L[n-1]upper()将字符串转为大写,lower()将字符串转为小写字符串拼接用+号对字符串进行切片:#将每个字符串的首字母变为大写def firstCharUpper(s): a=s[:1].upper()+s[1:]return aprint firstCharUpper(‘hello‘)print firstCharUpper(‘sunday‘)print firstCharUpper(‘september‘)range(x,y,n)生成从x到y-1的数组,每隔n个取一个range(x,y)创建x到y-1的数组迭代:enumerate(L)给L创建索引L =[‘Adam‘,‘Lisa‘,‘Bart‘,‘Paul‘]for index,name in enumerate(L):print index,‘-‘,namezip(x,y)将x,y合并为一个listL =[‘Adam‘,‘Lisa‘,‘Bart‘,‘Paul‘]for index, name in zip(range(1,len(L)+1),L):print index,‘-‘, name迭代dict的value:dict.values()和dict.itervalues()都能得到dict的values值dict.items()和dict.iteritems()都能得到dict的键值相对而言使用itervalues()和iteritems()d ={‘Adam‘:95,‘Lisa‘:85,‘Bart‘:59,‘Paul‘:74}sum =0.0for k, v in d.items(): sum = sum + vprint k,‘:‘,vprint‘average‘,‘:‘,sum/4生成列表:print[x*(x+1)for x in range(1,100,2)]复杂表达式:d ={‘Adam‘:95,‘Lisa‘:85,‘Bart‘:59}def generate_tr(name, score):if score<60:return‘<tr><td>%s</td><td style="color:red">%s</td></tr>‘%(name, score)return‘<tr><td>%s</td><td>%s</td></tr>‘%(name, score)tds =[generate_tr(name,score)for name, score in d.iteritems()]print‘<table border="1">‘print‘<tr><th>Name</th><th>Score</th><tr>‘print‘\n‘.join(tds)print‘</table>‘字符串可以通过%进行格式化,用指定的参数代替%s,字符串的join()方法可以将一个list拼接成一个字符串条件过滤:def toUppers(L):return[x.upper()for x in L if isinstance(x,str)]print toUppers([‘Hello‘,‘world‘,101])isintance(x,str)判断x是否是字符串多层表达式:利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。print[m*100+n*10+x for m in range(1,10)for n in range(10)for x in range(10)if m==x]

Python入门

评论关闭