PYTHON知识点汇总-.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《PYTHON知识点汇总-.pdf》由会员分享,可在线阅读,更多相关《PYTHON知识点汇总-.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、print 语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:print The quick brown fox,jumps over,the lazy dog 在 Python 中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。如果字符串本身包含怎么办?比如我们要表示字符串 Im OK,这时,可以用 括起来表示。类似的,如果字符串包含,我们就可以用 括起来表示:如果字符串既包含又包含 怎么办?
2、这个时候,就需要对字符串的某些特殊字符进行“转义”,Python字符串用进行转义。n 表示换行t 表示一个制表符 表示 字符本身如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r,表示这是一个 raw 字符串,里面的字符就不需要转义了。如,r(_)/(_)/。如果要表示多行字符串,可以用.表示如果中文字符串在Python环境下遇到UnicodeDecodeError,这是因为.py 文件保存的格式有问题。可以在第一行添加注释#-*-coding:utf-8-*-print u 中文 在 Python 中,布尔类型还可以与其他
3、数据类型做and、or 和 not 运算直接用 把 list 的所有元素都括起来,就是一个list 对象。通常,我们会把list 赋值给一个变量,这样,就可以通过变量来引用list 索引从0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。因此,要打印第一名同学的名字,用L0 添加 list 的 append()方法或者insert()方法定位删除L.pop()对 list 中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list 包含的元素个数保持不变。缩进请严格按照Python的习惯写法:4 个空格,不要使用Tab,更不要混合Tab 和空格,否则很容易造成因
4、为缩进引起的语法错误。if age=18:要避免嵌套结构的if.else.,我们可以用 if.多个 elif.else.的结构,一次写完所有的规则奇数加和for a in L:sum+=a x+=2 偶数不要if x%2=0:Continue dict 的第一个特点是查找速度快,无论dict 有 10 个元素还是10 万个元素,查找速度都一样。而 list 的查找速度随着元素增加而逐渐下降。d=d.get(x)可以取到d 中 key 后面的 value 个数len(s)s=set(Adam,95),(Lisa,85),(Bart,59)for name,score in s:print nam
5、e,:,score s.remove():s.add()比较函数cmp(x,y)如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:def fn(*args):print args 可变参数的名字前面有个*号,我们可以传入0 个、1 个或多个参数给可变参数r.append(Li)向 r 添加对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python 提供了切片(Slice)操作符,能大大简化这种操作。对应上面的问题,取前3 个元素,用一行代码就可以完成切片:L0:3 Adam,Lisa,Bart 只用一个 :,表示从头到尾:L:切片操作还可以指定第三个参数:L:2 Adam,
6、Bart 第三个参数表示每N 个取一个,上面的L:2 会每两个元素取出一个来,也就是隔一个取一个。print L4:5-10:先获得 5 的倍数,再取后10 个首字母大写def firstCharUpper(s):return s:1.upper()+s1:range(1,101)方法是使用enumerate()函数:L=Adam,Lisa,Bart,Paul for index,name in enumerate(L):.print index,-,name.0-Adam 1-Lisa 2-Bart 3-Paul dict 对象有一个values()方法,这个方法把dict 转换成一个包含所
7、有value 的 list,这样,我们迭代的就是dict 的每一个value:d=Adam:95,Lisa:85,Bart:59 print d.values()#85,95,59 for v in d.(iter)values():print v#85#95#59 items()方法把 dict 对象转换成了包含tuple 的 list,我们对这个list 进行迭代,可以同时获得key 和 value d=Adam:95,Lisa:85,Bart:59,Paul:74 n=0 sum=0.0 for k,v in d.iteritems():sum=sum+v n+=1 print k,:,
8、v print average,:,sum/n x*x for x in range(1,11)变量可以指向函数f=abs 根号import math def add(x,y,f):return f(x)+f(y)print add(25,9,math.sqrt)map()是 Python 内置的高阶函数,它接收一个函数f 和一个list,并通过把函数f 依次作用在list 的每个元素上,得到一个新的list 并返回。def format_name(s):return s:1.upper()+s1:.lower()print map(format_name,adam,LISA,barT)red
9、uce()函数也是 Python 内置的一个高阶函数。reduce()函数接收的参数和map()类似,一个函数f,一个 list,但行为和map()不同,reduce()传入的函数f 必须接收两个参数,reduce()对 list 的每个元素反复调用函数f,并返回最终结果值。reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:reduce(f,1,3,5,7,9,100)结果将变为 125,因为第一轮计算是:计算初始值和第一个元素:f(100,1),结果为 101。filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一
10、个 函数 f 和一个 list,这个函数 f 的作用是对每个元素进行判断,返回True 或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。利用 filter(),可以完成很多有用的功能,例如,删除None 或者空字符串:def is_not_empty(s):return s and len(s.strip()0 filter(is_not_empty,test,None,str,END)根为整数def is_sqr(x):return math.sqrt(x)%1=0 升序 def cmp_ignore_case(s1,s2):if
11、s1.lower()s2.lower():return 1 elif s1.lower()0,test,None,str,END)装饰器 new fn def performance(f):def print_time(*args,*kw):print call+f._name_+()in+time.strftime(%Y-%m-%d,time.localtime(time.time()return f(*args,*kw)return print_time 装饰器有decorator的情况下,再打印函数名:def log(f):def wrapper(*args,*kw):print cal
12、l.return f(*args,*kw)return wrapper log def f2(x):pass print f2._name_ def performance(unit):def fn(f):functools.wraps(f)def wrapper(*args,*kw):t0=time.time()back=f(*args,*kw)t1=time.time()t=(t1-t0)if unit=s else(t1-t0)*1000 print call%s()in%s%s%(f._name_,t,unit)return back return wrapper return fn
13、int()函数还提供额外的base 参数,默认值为10。如果传入base 参数,就可以做 N 进制的转换:int(12345,base=8)5349 int(12345,16)74565 假设要转换大量的二进制字符串,每次都传入int(x,base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把 base=2传进去:def int2(x,base=2):return int(x,base)functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:import functools int2
14、=functools.partial(int,base=2)import functools sorted_ignore_case=functools.partial(sorted,cmp=lambda a,b:cmp(a.lower(),b.lower()print sorted_ignore_case(bob,about,Zoo,Credit)math.pow(2,0.5)from math import log 利用 ImportError错误,我们经常在Python 中动态导入模块:try:from cStringIO import StringIO except ImportErro
15、r:from StringIO import StringIO Python 3.x 已经改进了整数的除法运算,“/”除将得到浮点数,“/”除才仍是整数:10/3 3.3333333333333335 10/3 3 要在 Python 2.7中引入 3.x 的除法规则,导入 _future_ 的 division:from _future_ import division print 10/3 3.3333333333333335 class A(object)pass a1=A()a2=A()1.判断某个对象是否是类的实例isinstance(a1,A)2.判断两个对象是否是否完全一致(意思
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PYTHON 知识点 汇总
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内