Python入门
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则返回b
list:
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 -1s = 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,'-',name
zip(x,y)将x,y合并为一个list
L =['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]
浙公网安备 33010602011771号